《线性二次型最优一阶倒立摆控制器系统设计(共35页).doc》由会员分享,可在线阅读,更多相关《线性二次型最优一阶倒立摆控制器系统设计(共35页).doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目录摘要从理论和实践上对直线一级倒立摆作了深入的研究。用牛顿欧拉方法建立了倒立摆的数学模型,在此基础上采用线性二次型最优控制方法设计了倒立摆的控制器。通过固高公司GL IP2003倒立摆系统验证了设计结果,并达到较好的控制效果。 倒立摆系统是一个非线性、强耦合、多变量和自然不稳定的系统,倒立摆系统通常用来检验控制策略的效果,是控制理论研究中较为理想的实验装置。又因其与火箭飞行器及单足机器人有很大的相似之处,引起国内外学者的广泛关注。其控制方法在军工、航天、机器人领域和一般工业过程中都有着广泛的用途。如机器人行走过程中的平衡控制,火箭发射中的垂直度控制和卫星飞行中的姿态
2、控制等均涉及到倒置问题,对倒立摆系统的研究在理论和方法论上均有着深远意义。倒立摆系统是自动控制理论中比较典型的控制对象,许多抽象的控制理论概念如系统稳定性、可控性和系统抗干扰能力等,都可以通过倒立摆系统直观地表现出来,因此它成为了自动控制理论研究的一个较为普遍的研究对象。倒立摆系统作为一个被控对象,是快速、多变量、开环不稳定、非线性的高阶系统,必须施加十分有力的控制手段才能使之稳定。事实上,人们一直在试图寻找不同的控制方法来实现对倒立摆的控制,以便检查或说明该方法对严重非线性和绝对不稳定系统的控制能力。MATLAB是美国Math Works软件公司于1984年推出的一种用于科学计算的高性能语言
3、,它集数值计算、图形图像显示以及编程于一体,是常用的控制系统分析与设计工具。1990年,Math Works软件公司为MATLAB设计了新的控制系统图形化模型输入与仿真工具Simulink。这是MATLAB软件的一个扩展软件模块。该模块提供了一个建模、分析与仿真等多种物理与数学问题的软件环境,并为图形用户界面提供了动态系统的结构方块图模型,从而使用户可以既快又方便地对系统进行建模、仿真而不必书写任何代码程序。对倒立摆的研究在现实中也有一定的指导意义,一直以来,很多种控制方法已经应用到倒立摆的控制当中。1直线一级倒立摆系统数学建模1.1 微分方程的推导对于倒立摆系统,经过小心假设忽略掉一些次要因
4、素后,倒立摆系统就是一个典型的刚体运动系统,可以在惯性坐标系统内应用景点力学理论建立系统的动力学方程。微分方程的推导:在忽略了空气阻力,各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如下图1所示.图1 小车和匀质杆组成的系统做如下假设:M 小车质量m 摆杆质量b 小车摩擦系数L 摆杆转动轴心到杆质心的长度I 摆杆惯量F 加在小车上的力x 小车位置 摆杆与垂直向上方向的夹角 摆杆与垂直向下方向的夹角(考虑带摆杆初始位置为竖直向下)图2 小车和摆杆的受力分析图图2是系统中小车和摆杆的受力分析图。其中,N和P为小车和摆杆的相互作用力的水平和垂直方向的分量。在实际倒立摆系统中检测和
5、执行装置的正负方向已经完全确定,所以矢量方向定义如图2所示,图示方向为矢量的正方向。分析小车水平方向所受合力,可以得到方程: 式(1)由摆杆水平方向的受力进行分析可以得到下面等式: 式(2)N= 式(3)将式3代入式1可得系统第一个运动方程: 式(4)为了推出系统第二个运动方程,对摆杆垂直向上的合力进行分析可得方程: 式(5)P= 式(6)力矩平衡方程如下: 式(7)式中:合并式6、式7得第二个运动方程: 式(8)综上述方程,可以得出: 式(9)式中J为摆杆的转动惯量:为便于设计计算,并考虑到系统实际工作在平衡位置附近,可先对系统的精确模型进行必要的简化处理。若只考虑在其工作点附近0=0附近(
6、)的细微变化,则可以近似认为: 式(10)经过拉氏变换可得出系统的传递函数模型: 式(11)1.2 状态空间方程 设系统状态空间方程为: 式(12)方程组 对解代 数方程,得到解如下: 式(13)整理后得到系统状态空间方程: 式(14)1.3 实际系统模型假定系统物理参数设计如下:M 小车质量 0.5Kgm 摆杆质量 0.2Kgb 小车摩擦系数 0.1N/m/secl 摆杆转动轴心到杆质心的长度 0.3mI 摆杆惯量 0.006Kg*m*mT 采样时间 0.005秒将上述参数代入,可以得到以外界作用力作为输入的系统状态方程: 式(15) 2 对象的性能分析2.1 分析系统的单位阶跃响应 A=0
7、 1 0 0 ;0 -0.18 2.67 0;0 0 0 1;0 -0.45 31.18 0; B=0;1.82;0;4.55; C=1 0 0 0;0 0 1 0; D=0;0;利用传递函数得到如下响应曲线 num,den=ss2tf(A,B,C,D)num = 0 -0.0000 1.8200 0.0000 -44.5991 0 0.0000 4.5500 -0.0000 0den = 1.0000 0.1800 -31.1800 -4.4109 0 step(num,den)图3 系统输出响应图从图3可知其阶跃响应不稳定。2.2 分析系统的极点 A=0 1 0 0 ;0 -0.18 2.
8、67 0;0 0 0 1;0 -0.45 31.18 0; B=0;1.82;0;4.55; C=1 0 0 0;0 0 1 0; D=0;0; p=eig(A)p = 0 -5.6037 -0.1414 5.5651可见4个极点有一个位于右半平面,故该系统不稳定。2.3 分析系统能控性 A=0 1 0 0 ;0 -0.18 2.67 0;0 0 0 1;0 -0.45 31.18 0; B=0;1.82;0;4.55; C=1 0 0 0;0 0 1 0; D=0;0; uc=ctrb(A,B) rank(uc)ans = 4系统完全可控。3 模型分析原系统线性化之前: 式(16)代入数据,
9、则有: 式(17)线性化之后: 式(18)代入数据,则有: 式(19)模型仿真图: 图4 系统模型对比图Fon=(0.0024*u1+0.00144*sin(u3)*power(u2,2)-0.03528*sin(u3)*cos(u3)/(0.0168-0.0036*power(cos(u3),2) 式(20)Fon1=(0.06*cos(u3)*u1+0.0036*sin(u3)*cos(u3)*power(u2,2)-0.4116*sin(u3)/(0.0036*power(cos(u3),2)-0.0168) 式(21)Fon2=1.818*u1-2.673*u3 式(22)Fon3=3
10、1.182*u3-4.545*u1 式(23)仿真结果如下: 图 5 系统响应 由上图可知系统在t=0.8s时线性前和线性后是很接近的,故该模型可以应用于该系统。4 直线一级倒立摆LQR控制器设计及仿真4.1 LQR控制器原理令系统的状态方程为: 式(24)和二次型性能指标函数: 式(25) 其中:加权矩阵Q 和R是用来平衡状态变量和输入向量的权重, Q 是半正定矩阵, R 是正定矩阵。X 是n维状态变量, U 是r维输入变量, Y为m 维输出向量, A, B, C, D 分别是n n, n r, m n, m r维常数矩阵。如果该系统受到外界干扰而偏离零状态,应施加怎样的控制U*, 才能使得
11、系统回到零状态附近并同时满足J达到最小,那么这时的U*就称之为最优控制。由最优控制理论可知, 使式(16)取得最小值的最优控制律为: 式(26)式中, P就是Riccati方程的解, K是线性最优反馈增益矩阵。这时求解Riccati代数方程: 式(27)就可获得P值以及最优反馈增益矩阵K值。 式(28) MATLAB函数 (1)Step函数 求系统的单位阶跃响应曲线 (2)lqr函数lqr函数用来设计连续系统的LQ调节器,调用格式为k,P,E=lqr(A,B,Q,R),可计算连续时间系统的最优反馈增益矩阵K。 (3)lsim函数SYS=ss(A,B,C,D)(ss:state space mo
12、del)用来求出lsim函数所需的系统参数“SYS”其调用格式为lsim(SYS,U,T). 4.2 LQR控制器设计 对于倒立摆这样典型的M ISO系统,需要设计一个对倒立摆本体和小车位移同时进行控制的控制器。4.2.1 Q、R的选择原则 由原理知,要求出最优控制作用u,除求解ARE方程外,加权矩阵的选择也是至关重要的。而Q,R选择无一般规律可循,一般取决于设计者的经验,常用的所谓试行错误法,即选择不同的Q、R代入计算比较结果而确定。这里仅提供几个选择的一般原则: 1)Q,R都应是对称矩阵,Q为正半定矩阵,R为正定矩阵。 2)通常选用Q和R为对角线矩阵,实际应用中,通常将R值固定,然后改变Q
13、的数值,最优控制的确定通常在经过仿真或实际比较后得到。当控制输入只有一个时,R成为一个标量数(一般可直接选R=1)。 3)Q的选择不唯一。这表明当得到的控制器相同时,可以有多种Q值的选择,其中总有一个对角线形式的Q。(1)A=0 1 0 0 ;0 -0.18 2.67 0;0 0 0 1;0 -0.45 31.18 0。B=0;1.82;0;4.55;C=1 0 0 0;0 0 1 0;D=0;0;x=1;y=1;Q=x 0 0 0;0 0 0 0;0 0 y 0;0 0 0 0;R=1;%求解线性二次型最优状态K=lqr(A,B,Q,R)%求解系统闭环状态方程Ac=(A-B*K);Bc=B;
14、Cc=C;Dc=D;%输出系统阶跃仿真T=0:0.02:5;U=ones(size(T); %阶跃信号Y,X=lsim(Ac,Bc,Cc,Dc,U,T);plot(T,Y(:,1),.-,T,Y(:,2); %绘制两条输出曲线title(Inverted Pendulum LQ Step Response);xlabel(Time(sec);ylabel(Response);grid;legend(Cart,Pendulum)K = -1.0000 -1.6548 18.6690 3.4564图6随机加权阶跃响应曲线(2) A=0 1 0 0 ;0 -0.18 2.67 0;0 0 0 1;0
15、 -0.45 31.18 0; B=0;1.82;0;4.55; C=1 0 0 0;0 0 1 0; D=0;0; x=1; y=1; Q=x 0 0 0;0 0 0 0;0 0 y 0;0 0 0 0; R=100; K=lqr(A,B,Q,R)%求解系统闭环状态方程Ac=(A-B*K);Bc=B;Cc=C;Dc=D;%输出系统阶跃仿真T=0:0.02:5;U=ones(size(T); %阶跃信号Y,X=lsim(Ac,Bc,Cc,Dc,U,T);plot(T,Y(:,1),.-,T,Y(:,2); %绘制两条输出曲线title(Inverted Pendulum LQ Step Res
16、ponse);xlabel(Time(sec);ylabel(Response);grid;legend(Cart,Pendulum)K = -0.1000 -0.5218 15.1375 2.7455图7随机加权阶跃响应曲线由MATLAB语句为K = lqr (A, B, Q, R) ,求得K= - 1. 0000 - 1. 6548 18. 6690 3. 4564 。LQR控制的阶跃响应如图4所示。从图中可以看出,响应的超调量很小,但稳定时间和上升时间偏大,小车的位置没有跟踪输入,而是向相反方向移动。当缩短稳定时间和上升时间,可以发现:在Q 矩阵中,增加Q使稳定时间和上升时间变短, 并且
17、使摆杆的角度变化减小。在R矩阵中,增加R使稳定时间和上升时间变长, 并且使摆杆的角度变化增大。因此,R不变且为1,依次增大Q.x1050100200500500100100030003000y1050100200500100500100500100 图8 随机加权阶跃响应曲线 通过多次修改数据后仿真,当x=5000,y=100时效果比较理想。此时状态反馈阵K = -70.7107 -37.8258 105.5030 20.9169 图9 最佳加权阶跃响应曲线从图三可知,系统响应的快速性得到了明显改善,上升时间和过渡过程时间都满足最初设计要求。综上所述,基于最小值原理的线性二次型最优控制,通过求
18、解代数Riccati方程,得到的状态反馈矩阵K,可以使系统的各状态获得渐进稳定特性。它的不足之处在于,加权矩阵Q、R的值与系统响应性能之间的关系是定性的,往往不能一次得到满意的结果,需要多次调整它们的值得到满意的系统响应性能。4.2.2simulink仿真Simulink仿真分析如下: 图10 带有状态反馈的系统图运行结果如下:图11 小车位移图 图12 小车速度图图13 杆的角度图 图14 杆的角速度图 由仿真结果可以看出小车速度,摆杆的角度和角速度最终都趋于零,系统稳定,可以实现性能指标要求设计最优控制器,使得当在小车上施加0.2N的阶跃信号时,闭环系统的响应指标为:(1)摆杆角度和小车位
19、移的稳定时间小于5秒(2)的上升时间小于1秒(3)的超调量小于20度(0.35弧度)(4)稳态误差小于2%。加了最优调节器后系统的动态响应有了明显的改善。5 全维观测器的设计 配置极点离原点越远, 虽然需要相对大的控制力,但是系统达到稳定的时间越短, 即控制动作就越迅速, 灵敏度高。设状态观测器的希望闭环极点为p=-5 -6 -5 -4.5;得到G =10.6238 -0.4367;27.1065 0.5652 ;-1.0359 9.6962; -7.7103 54.8577用全维状态观测器及实现状态反馈的单级倒立摆系统结构。下图为带观测器的状态反馈图。5.1 状态观测器实现状态反馈及其仿真
20、设计状态观测器矩阵,使得特征值的实部均为负,且其绝对值要大于状态反馈所配置极点的绝对值。这样才能保证使用状态观测器有足够快的收敛速度,才能保证使用状态观测器所观测到的状态与原系统的状态充分接近。输入以下命令 A=0 1 0 0 ;0 -0.18 2.67 0;0 0 0 1;0 -0.45 31.18 0; A1=A; C=1 0 0 0;0 0 1 0; C1=C; p=-5 -6 -5 -4.5; G1=place(A1,C1,p); G=G1G =10.6238 -0.4367 27.1065 0.5652 -1.0359 9.6962 -7.7103 54.8577具有状态观测器的单级
21、倒立摆状态反馈控制系统的仿真模型,如下图所示。图15 具有状态观测器的单级倒立摆状态反馈控制系统运行结果如下: 图 16 小车位移图 图17 小车速度 图 18 杆角度 图19 杆角速度综上,这次设计中各项性能指标达到了系统的要求,摆杆角度和小车位移的稳定时间小于5秒的上升时间小于1秒,的超调量小于20度(0.35弧度),稳态误差小于2%。加上观测器更好的可以观测出响应。6 二次型最优控制与极点配置的比较6.1 极点配置MATLAB仿真:A= 0 1 0 0; 0 -0. 2. 0; 0 0 0 1; 0 -0. 31. 0;B= 0 1. 0 4.;C= 1 0 0 0; 0 0 1 0;D
22、= 0 0 ;p=eig(A)P= -8; -8; -1.6-1.2i;-1.6+1.2i;K=acker(A,B,P)disp(配置后系统的极点为)p=eig(A-B*K)disp(极点配置后的闭环系统为)Ac = (A-B*K);Bc = B; Cc = C; Dc = D;T=0:0.005:5;U=0.2*ones(size(T);Cn=1 0 0 0;Y,X=lsim(Ac,Bc,Cc,Dc,U,T);plot(T,X(:,1),-); hold on;plot(T,X(:,2),-.); hold on;plot(T,X(:,3),-); hold on;plot(T,X(:,4)
23、,-)legend(CartPos,CartSpd,PendAng,PendSpd)p = 0 -5.6041 -0.1428 5.5651K = -5.7469 -6.1343 35.3828 6.6377配置后系统的极点为p = -8.0000 -8.0000 -1.6000 - 1.2000i -1.6000 + 1.2000i极点配置后的闭环系统为: 图20结构框图如下: 图21 极点配置后的系统图 图21 小车速度 图22 小车位移图23 摆杆角度 图24 摆杆角速度区别:(1) 、二次型最优的控制比极点配置时的稳定时间短;(2) 极点配置比二次型最优控制目的性强,它根据系统特点配置
24、极点而二次型是通过改变Q、R的值试凑性找结果,但操作简单。(3) 二次型最优比极点配置的控制效果好,系统响应好,稳定误差小。 7 实验小结 该文应用牛顿欧拉方法建立了直线一级倒立摆的数学模型,并设计了LQR控制器。用MATLAB语言实现了控制系统的仿真,得到了直线一级倒立摆各状态变量及控制量的响应曲线,通过仿真,说明所设计控制器的有效性;利用固高倒立摆系统和计算机实现了直线一级倒立摆的实物系统的控制,给出了直线一级倒立摆稳定时和受干扰时各状态变量的响应曲线和控制量曲线,在系统受到干扰时,小车能迅速调整,使整个系统在很短的时间内恢复平衡,表明设计的LQR控制器能够对直线一级倒立摆系。统进行有效的
25、实时控制。 1、本实验,从数学建模到仿真系统的搭建,再到加进控制环节进行实时控制,最后得出结果的过程中,参考了大量的资料,通过对比整合,设计出了适合自己的一套实验方法:倒立摆数学模型推导部分:首先用牛顿欧拉方法建立数学模型,接着用动态系统空间状态方程法导出状态方程系数矩阵,然后用MATLAB对数学模型进行从状态空间到传递函数的变换,得到系统的传递函数模型。接着根据数学建模得出的传递函数进行系统模型的搭建,在Simulink软件上进行系统仿真,采用二次型最优控制,对Q,R参数开始反复试凑,直至获得,满意的控制效果。此实验中,系统的控制非常稳定,性能较好。 2、由实验中可知,倒立摆系统是一个非线性
26、的较复杂的不稳定系统,故要满足稳定性要求,就得对系统进行线性化近似和稳定控制。本实验中,在做了线性化和加进控制调整后,系统达到了良好的稳定状态。当然,这只是一个理想模型,在实际应用中情况会更加复杂,稳定性也更难获得。不过,通过实验,我们至少掌握了简单控制的基本方法,并得到了预期的实验效果。 3、通过本实验,掌握了倒立摆仿真的整个过程,熟悉了MATLAB的仿真软件Simulink的使用,也对系统控制有了较好的理解。作为本次实验的组长,自己更是从中掌握了合作实验开展中的一般步骤,对小组进行分工,掌握实验的主体线路。此次实验中,自始至终发挥了组长的作用,从建模到最后的仿真调试,都秉着认真负责的态度完
27、成了倒立摆仿真研究。4、此外,通过仿真,再次认识到了自动控制在改善系统性能方面的重要性,激发了良好的关于系统控制方面的学习兴趣,在此基础上,相信对以后的进一步研究将会有较大帮助。参考文献1. 侯媛彬,稽启春,张建军.现代控制理论基础.北京:北京大学出版社,20062. 2. 曾志新 倒立摆系统的建模与仿真 华南理工大学,20053. 吴忠强 控制系统仿真及MATLAB语言电子工业出版社 20094. 王建辉 顾树生 自动控制原理 北京大学出版社西安建筑科技大学课程设计(论文)任务书专业班级: 学生姓名: 指导教师(签名): 一、课程设计(论文)题目一级倒立摆系统的线性二次型最优控制器设计二、本
28、次课程设计(论文)应达到的目的1、 复习、巩固和加深所学专业基础课和专业课的理论知识,综合运用经典控制理论与现代控制理论的知识,弄清楚其相互关系,使理论知识系统化、实用化。2、 增强学生的工程意识,联系实际问题设计,使理论与实践相结合。3、 掌握基于状态空间分析法进行控制系统分析与综合的方法。4、 训练利用计算机进行控制系统辅助分析与仿真的能力。5、 掌握参数变化对系统性能影响的规律,培养灵活运用所学理论解决控制系统中各种实际问题的能力。6、 培养分析问题、解决问题的独立工作能力,学习实验数据的分析与处理方法,学习撰写设计说明书 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术
29、参数、设计要求等)系统参数:本课程设计的被控对象采用固高公司生产的GIP-100-L型一阶倒立摆系统,系统内部各相关参数为:小车质量 0.5 Kg ;摆杆质量0.2 Kg ;小车摩擦系数0.1 N/m/sec ; 摆杆转动轴心到杆质心的长度0.3 m ;摆杆惯量0.006 kg*m*m ;采样时间0.005秒。设计要求:设计最优控制器,使得当在小车上施加0.2m的阶跃信号时,闭环系统的响应指标为:(1)摆杆角度和小车位移的稳定时间小于5秒(2)的上升时间小于1秒(3)的超调量小于20度(0.35弧度)(4)稳态误差小于2%。设计主要内容:(1) 参照相关资料,推导出系统的传递函数和状态空间方程。(2) 定量、定性分析系统的性能。(3) 设计最优控制器,使得闭环系统的响应满足性能指标要求。(4) 对设计的系统进行仿真研究、校验与分析。成果要求:书写课程设计说明书一份(600010000字)。内容应包括数学模型建立,控制器设计,系统仿真过程、结果分析及结论。四、应收集的资料及主要参考文献: 1、现代控制理论基础类书籍 2、自动控制理论教材 3、控制系统MATLAB设计、仿真类书籍五、审核批准意见教研室主任(签字) 专心-专注-专业
限制150内