一级倒立摆的课程设计Word格式.docx
《一级倒立摆的课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《一级倒立摆的课程设计Word格式.docx(23页珍藏版)》请在冰点文库上搜索。
倒立摆的控制算法多种多样,各种方法都有其各自的领域及重点,通过算法的比较,可以看出它们彼此之间的一些优缺点。
本课程设计的被控对象采用固高公司生产的GIP-100-L型一阶倒立摆系统,选取稳定控制算法中的状态反馈极点配置设计,在分析了倒立摆的受力情况后,建立理论模型,由此推倒出系统的状态方程,并且对系统的性能进行定量、定性分析。
配制出理想极点,设计状态反馈控制器,使得当在小车上施加1N的脉冲信号时,闭环系统的响应满足性能指标要求。
对设计的系统进行仿真研究、校验与分析,设计状态观测器,讨论带有状态观测器的状态反馈系统的性能。
1.6系统内部各相关参数为:
小车质量0.5Kg;
摆杆质量0.2Kg;
小车摩擦系数0.1N/m/sec;
摆杆转动轴心到杆质心的长度0.3m;
摆杆惯量0.006kg*m*m;
采样时间0.005秒。
2.一阶倒立摆数学模型的建立
2.1概述
倒立摆系统其本身是自不稳定系统,实验建模存在一些问题和困难,在忽略掉一些次要的因素后,倒立摆系统是一个典型的运动的刚体系统,可以再惯性坐标系中运用经典力学对它进行分析,来建立系统动力学方程。
在忽略掉了空气阻力和各种摩擦力之后,可以讲一阶倒立摆系统抽象成小车和均匀杆组成的系统,一阶倒立摆系统的结构示意图如下:
图2一阶倒立摆系统的结构示意图
定义的参数为:
小车质量
摆杆质量
小车摩擦系数
摆杆惯量
加在小车上的力
小车位置
摆杆与垂直向上方向的夹角
摆杆转动轴心到杆质心的长度
摆杆与垂直向下方向的夹角(摆杆初始位置为竖直向下)
得到小车和摆杆的受力图:
图3小车和摆杆的受力图
2.2数学模型的建立
运用牛顿定理分析受力得到下列方程:
(2-1)
由摆杆水平方向的受力进行分析可以得到下面等式:
(2-2)
求导得到:
(2-3)
代入第一个方程得到:
(2-4)
在摆杆垂直方向上的合力进行分析得到方程:
(2-5)
即:
(2-6)
力矩平衡方程:
(2-7)
又因为
为摆杆与垂直向下方向的夹角(摆杆初始位置为竖直向下),
为摆杆与垂直向上方向的夹角,由
和
关系得
合并这两个方程,约去P和N,得到第二个运动方程:
(2-8)
微分方程的建立:
因为
,假设φ<
<
1弧度,则可以进行近似处理:
来实现线性化。
用上述近似进行线性化得直线一阶倒立摆的微分方程为:
(2-9)
一阶倒立摆的传递函数模型:
对上式进行拉普拉斯变换,得:
(2-10)
推导传递函数时假设初始条件为0。
由于输出为角度φ,求解方程组的第一个方程,可得:
(2-11)
或
(2-12)
如果令
,则有:
(2-13)
把上式代入方程组(2-1)的第二个方程,得:
(2-14)
整理后得到传递函数:
(2-15)
其中
。
2.3一阶倒立摆的状态空间模型:
设系统状态空间方程为:
(2-16)
方程组(2-9)对
解代数方程,得到解如下:
(2-17)
整理后得到系统状态空间方程:
(2-18)
(2-19)
2.4实际参数代入:
GIP-100-L型一阶倒立摆系统,系统内部各相关参数为:
将上述参数代入得实际模型:
摆杆角度和小车位移的传递函数:
(2-20)
摆杆角度和小车所受外界作用力的传递函数:
(2-21)
以外界作用力作为输入的系统状态方程:
(2-22)
3.定量、定性分析系统的性能
3.1,对系统的稳定性进行分析
在MATLAB中运行以下程序:
A=[0100;
0-0.1818182.6727270;
0001;
0-0.45454531.1818180];
B=[01.81818204.545455]'
;
C=[1000;
0010];
D=[00]'
[z,p,k]=ss2zp(A,B,C,D)
z=
-4.94970.0000+0.0000i
4.94970.0000-0.0000i
p=
0
-5.6041
-0.1428
5.5651
k=
1.8182
4.5455
>
impulse(A,B,C,D)
图4系统脉冲响应
由图可得,系统在单位脉冲的输入作用下,小车的位移和摆杆的角度都是发散的,同时,由以上程序的零极点得极点有一个大于零,因此系统不稳定。
3.2对系统的稳定性进行分析:
Qc=ctrb(A,B);
Qo=obsv(A,C);
rank(Qc)
ans=
4
rank(Qo)
因此系统为完全能观测和完全能控的。
4.状态反馈控制器的设计
4.1反馈控制结构
设系统为
,其中x,u,y分别为n维状态变量,m维输入向量和p维输出向量;
A,B,C分别为n*n,n*m,p*n矩阵
当将系统的控制量u取成状态变量的线性函数u=v+Kx
称之为线性直接状态反馈,其中v为m维参考输入向量,K为m*n矩阵,成为反馈增益矩阵。
得到采用状态反馈后闭环系统的状态空间方程为:
得出结论引入状态反馈后系统的输出方程没有变化,状态反馈将开环系统方程式中的系数矩阵A,变成了闭环系统状态方程中的(A+BK),特征方程从
变为了
,可以看出状态反馈后闭环系统的系统特征跟不仅与系统本身的结构参数有关,而且与状态反馈增益矩阵K有关,正是利用这一点进行配置。
4.2单输入极点配置
控制系统的品质很大程度上取决于系统的闭环极点在复平面上的位置,因此在对系统进行综合讨论是,往往给出一组期望的极点,或根据时域指标提出一组期望的极点,所谓极点配置问题就是通过对反馈增益矩阵的设计,使闭环系统的极点处于复平面所期望的位置,以获得理想的动态特性。
由于用状态反馈对系统进行极点配置只涉及系统的状态方程,与输出方程无关,因此设系统的状态方程为
其中,
是由n个复数组成的集合,如果A中的复数总是共轭成对出现,则称A为对称复数集合,对于任意对称复数集合,如果存在状态反馈
U=kx+v
其中,k为1*n常数阵,再次反馈作用下,闭环系统为
的极点集合为A,即
责成系统用状态反馈能任意配置极点,k称为反馈增益阵
设计状态反馈控制器
设计要求:
当在小车上施加1N的脉冲信号时,闭环系统的响应指标为:
(1)稳定时间小于5秒
(2)稳态时摆杆与垂直方向的夹角变化小于0.1弧度
由
得,
.又因为
所以得到
,
又因为配置极点
所以得到期望的闭环极点为:
因此特征方程为:
由系统的特征方程:
求变换阵T,因为
得到
于是根据公式有
所以得到变换矩阵T
所以求得状态反馈增益为
K=[-2.5401-4.301233.92336.0805]
因此所求的状态反馈为
U=kx+v=[-2.54-4.3033.926.08]x+v
4.3利用MATLAB编写程序
A=[0100;
J=[-9000;
0-900;
00-1+0.63i0;
000-1-0.63i];
pa=poly(A);
pj=poly(J);
Qc=[BA*BA^2*BA^3*B];
F=[pa(4)pa(3)pa
(2)1;
pa(3)pa
(2)10;
pa
(2)100;
1000];
T=Qc*F
K=[pj(5)-pa(5)pj(4)-pa(4)pj(3)-pa(3)pj
(2)-pa
(2)]*inv(T)
Ac=[(A-B*K)];
Bc=B;
Cc=C;
Dc=D;
sys=ss(Ac,Bc,Cc,Dc);
Tc=0:
0.005:
5;
[y,Tc,X]=impulse(sys,Tc);
plot(Tc,X(:
1),'
--'
);
holdon;
2),'
-.'
3),'
:
'
4),'
-'
)
legend('
小车位置曲线'
'
小车速度曲线'
摆杆角度曲线'
摆杆速度曲线'
T=
-44.5455-0.00001.81820
-0.0000-44.5455-0.00001.8182
-0.0000-0.00004.54550
-0.0000-0.0000-0.00004.5455
K=
-2.5401-4.301233.92336.0805
图5系统脉冲响应曲线
由上图可以看出,小车位置曲线在4S内可以很好的回到平衡位置,在脉冲干扰的情况下,小车的摆杆角度变化小于0.1弧度,满足设计要求。
5.系统的仿真研究,校验与分析
5.1使用Matlab中的SIMULINK仿真
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。
对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。
. 构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。
Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。
图6状态反馈控制器仿真图
图7摆杆角度变化曲线
图8小车位置曲线
图9小车速度曲线
图10摆杆速度曲线
采用状态反馈控制器后,系统的性能达到了设计的要求。
系统能够在4S内达到稳定,摆杆摆动的角度也小于0.1弧度。
6.设计状态观测器,讨论带有状态观测器的状态反馈系统的性能。
6.1观测器的设计思路:
状态观测器实质上是一个状态估计器,它是利用被控对象的输入变量U和输出Y对系统的状态x进行估计,从而解决某些状态变量不能直接测量的难题。
考虑线性定常系统:
构造的状态观测器,输入是输出Y和输入U的综合。
其输出为Z使
,则Z可以作为X的估计值,从而实现状态重构。
为了得到估计值Z,一个很自然的想法是用模拟部件去再实现系统式,构造系统式的模拟系统:
由于上式是构造的,所以Z都是可测量的信息,若以Z去做为X的估计值,则其估计误差为
,则误差满足方程:
如果上式不稳定,则当
,有
z不能作为x的估计值,因此上式不能作为一个观测器。
因此采取措施利用输出估计的误差Cz-y作为反馈,此时构造的动态系统:
其中Kz反馈增益阵
的估计误差ez方程为:
如果选择合适的Kz,使得上式稳定,则有
,因此Z可以用为X的估值,因此
可以作为线性定常系统的一个观测器。
6.2利用MATLAB进行编程
b1=[1000]'
b2=[0010]'
E=[0000];
Ac=A'
Cc=B'
Bc=C'
Dc=0;
J=[-2;
-2;
-3;
-3];
[Z,P,K]=ss2zp(Ac,b2,Cc,Dc);
[num,den]=ss2tf(Ac,b2,Cc,Dc);
[num,denf]=zp2tf(Z,J,K);
Q=[b1,Ac*b1,b2,Ac*b2];
S=[0000;
0100];
K1=S*inv(Q);
T=[0001]*inv(Q);
K11=den(:
5)-denf(:
5);
K12=den(:
4)-denf(:
4);
K13=den(:
3)-denf(:
3);
K14=den(:
2)-denf(:
2);
Ky=[K11K12K13K14];
A1=Ac+Bc*K1;
Tc=[T;
T*A1;
T*A1^2;
T*A1^3];
K=Ky*Tc;
Kc=K1+[K;
E];
Kz=-Kc'
Az=A-Kz*C
Kz=
1.0e+003*
0.03610
0.2439-0.0010
0.37060
2.14560
Az=
-0.03610.001000
-0.2439-0.00020.00370
-0.3706000.0010
-2.1456-0.00050.03120
6.3状态观测器的仿真
图11全维状态观测器系统仿真图
图12摆杆角度曲线
图13小车位置曲线
图14状态观测器摆杆曲线
图15小车位置曲线
如上图所示,所设计的状态观测器的小车位置曲线和摆杆曲线几乎一样,所以状态观测器的观测性能达到要求,因此可以利用状态观测器来观测系统性能。
小结
本次课程设计我们完成了一级倒立摆系统的状态反馈极点配置设计。
通过对一级倒立摆系统的建模,实现了系统的传递函数和状态空间方程,并且对系统的稳定性,能控能观性进行了分析。
再设计状态反馈控制器使得当在小车上施加1N的脉冲信号时,闭环系统的响应满足性能指标要求并完成仿真,设计状态观测器。
这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,使我学习了团队合作与独立完成的精神。
课程设计是我们专业课程知识综合应用的实践训练,这是我们迈向社会,从事职业工作前一个必不少的过程综合。
运用本专业所学课程的理论和生产实际知识来独立完成本次课程设计。
参考文献:
【1】现代控制理论基础北京大学出版社
【2】自动控制原理清华大学出版社
【3】MATLAB程序设计与应用(第二版)
【4】现代控制理论及其MATAB实践