一阶倒立摆控制系统设计.docx

上传人:牧羊曲112 文档编号:4929608 上传时间:2023-05-24 格式:DOCX 页数:32 大小:313.07KB
返回 下载 相关 举报
一阶倒立摆控制系统设计.docx_第1页
第1页 / 共32页
一阶倒立摆控制系统设计.docx_第2页
第2页 / 共32页
一阶倒立摆控制系统设计.docx_第3页
第3页 / 共32页
一阶倒立摆控制系统设计.docx_第4页
第4页 / 共32页
一阶倒立摆控制系统设计.docx_第5页
第5页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一阶倒立摆控制系统设计.docx》由会员分享,可在线阅读,更多相关《一阶倒立摆控制系统设计.docx(32页珍藏版)》请在三一办公上搜索。

1、课程名称设计题目院班设计学系 级 者 号课程设计说明书控制系统课程设计一阶倒立摆控制器设计信息与电气工程学院指导教师设计时间2013年2月25日到2013年3月8号课程设计(论文)任务书专 业自动化班级0902101学生指导教师题 目一阶倒立摆课程设计子 题设计时间2013年 2月25日 至 2013 年3月8日 共 2 周设计要求设计(论文)的任务和基本要求,包括设计任务、查阅文献、方案设 计、说明书(计算、图纸、撰写内容及规范等)、工作量等内容.1. 建立一阶倒立摆数学模型2. 做模型仿真试验(1)给出Matlab仿真程序.(2)给出仿真结果和响应曲线。3. 倒立摆系统的PID控制算法设计

2、设计PID控制器,使得当在小车上施加1N的脉冲信号时,闭环系统的 响应指标为:(1)稳定时间小于5秒(2)稳态时摆杆与垂直方向的夹角变化小于0.1弧度并作PID控制算法的MATLAB仿真4. 倒立摆系统的最优控制算法设计用状态空间法设计控制器,使得当在小车上施加0.2m的阶跃信号时, 闭环系统的响应指标为:(1) 摆杆角度和小车位移X的稳定时间小于5秒(2) X的上升时间小于1秒(3) 的超调量小于20度(0。35弧度)(4) 稳态误差小于2%。指导教师签字:系(教研室)主任签字:2013年 3月 5日目录一、建立一阶倒立摆数学模型41. 一阶倒立摆的微分方程模型42. 一阶倒立摆的传递函数模

3、型63. 一阶倒立摆的状态空间模型7二 一阶倒立摆matlab仿真9三、倒立摆系统的PID控制算法设计13四、倒立摆系统的最优控制算法设计23五、总结错误!未定义书签。六 参考文献28一、建立一阶倒立摆数学模型首先建立一阶倒立摆的物理模型.在忽略空气阻力和各种摩擦之后,可将直线 一级倒立摆系统抽象成小车和匀质杆组成的系统,如图1所示。系统内部各相关参数定义如下:M小车质量m 摆杆质量b小车摩擦系数l摆杆转动轴心到杆质心的长度I摆杆惯量F加在小车上的力x小车位置6摆杆与垂直向上方向的夹角。摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)1. 一阶倒立摆的微分方程模型对一阶倒立摆系统中的小

4、车和摆杆进行受力分析,其中,N和P为小车与摆 杆相互作用力的水平和垂直方向的分量.pT图12小车及摆杆受力图分析小车水平方向所受的合力,可以得到以下方程:一史二 FT一 (I)由摆杆水平方向的受力进行分析可以得到下面等式:N - m -(工 + / sin 3)(1-2)即:N = mxm!3cos0- ml3 sm0 ,、(1-3)把这个等式代入式(1-1)中,就得到系统的第一个运动方程:I”江 1 以二 F (1-4)为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析, 可以得到下面方程:P - mg - m - (/cos 0)(15)即: 2尸斗g =(1-6)力矩平衡方

5、程如下:Bn 0 - /0 n 7)(1-7)由于。二 EK”二一5 n wi二-1 e.所以等式前 面有负号。合并这两个方程,约去P和N,得到第二个运动方程: 仃一 EL 刁一 项侦二一.小*。3(18)设”二二,(6是摆杆与垂直向上方向之间的夹角),假设6 1孤度,则可以进行近似处理:cos。=-1,sin。=-巾,(史)2 = 0.用u代表被控对象的 dt输入力F,利用上述近似进行线性化得直线一阶倒立摆的微分方程为:(/ 十 mi mix (M + m)x + hx ml(/)= u(1-9)2. 一阶倒立摆的传递函数模型对式(1-9)进行拉普拉斯变换,得:(/ + nil2 - mlX

6、(s)s2(M + bX(s)s -= U(s)注意:推导传递函数时假设初始条件为0。(2-1)由于输出为角度6,求解方程组的第一个方程,可得:B 匕,(/ + 加尸)g f j 、X(s) = 七-中()mi s或H(s) _ mis2x() U+彻尸)尸-顽如果令丁 =二,则有:&(s) _ mlV(s) (/ + mgl把上式代入方程组(2-1)的第二个方程,得:(2-2)(2-3)/J . I -) T / X i T (/十引S T / 1 T 、 、_ r/ .(M + m) ()一厂 +8 1-(1)任) 一湖(1)(玖厂 =L(5)ml sml 5、整理后得到传递函数:ml ,

7、s顼(2-6)U(s) 4 b(l + ml) 3 (xU + m)mgi 2 b您/S HS5S0q q其中0 =W + 用)(/ 十风尸)-()?.3. 一阶倒立摆的状态空间模型设系统状态空间方程为:(3-1)X = AX + Bu yCX Du方程组(2-9)对X解代数方程,得到解如下:. 一 / 忧厂)8.或-U十用)X =r X +r m H1(M +也)十Mm厂 /(M十m) + M由尸I(Af十时十Mm尸0 = (3-1):- ndb 一, mglM +ai)ml I(M + m) + MmP + I(M -m) + MmP IM - m) + Mml1 址整理后得到系统状态空间

8、方程:1010o-0X0T+ m尸)b心尸0XI + mlX1(财*时+血/(Af+ m) + ArfmZ3X+ ) + Mini$00010JL0-m/bmgK.M +】)0一1ml_。_I(M + )+jWfjj/2中州偈尸_彼_HM +m)+Adml(3-2) 1. . 、 _一 .摆杆的为/ = 3诚2,代入(1-9)的弟一个万程为(/ + ml2-mix得:mg/ = mix化简得:7 3g3 .(3-4) = q妇工4/4/设 x = xxM ,U=X 则有:(3-5)4.实际系统的传递函数与状态方程实际系统的模型参数如下:M小车质量0.5 Kgm摆杆质量0.2 Kgb小车摩擦系数

9、0 。 1N/m/secl摆杆转动轴心到杆质心的长度0。3mI 摆杆惯量0.006 kg*m*m代入上述参数可得系统的实际模型。摆杆角度和小车位移的传递函数:X(5)O.OZ4s2-O.50S摆杆角度和小车加速度之间的传递函数为:(可_0.06V(sJ 0,024s2-0,588摆杆角度和小车所受外界作用力的传递函数:U(s) s3+0.181fllfisz-31.18181B5-4.454545以外界作用力作为输入的系统状态方程:(4-1)(4-2)(4-3)乂 0甲-0网o1-0.1818180-0.45454502.672727031.181818=rxi1 o o1Io o 100-一

10、 EX(4-4)(P一。一以小车加速度为输入的系统状态方程:X 0 中-0(4-5)U。10+XI,XIpl, A = 0100;0 - (I+m*LA2)*b/p(mA2大g*LA2) /p 0;0001;0 -(m*L*b)/p m*g*L* (M+m)/p000001.0000一0。 0883 0 -0.235700。 629301。27.828500000 B=0;(I+m*LA2)/p;0;m* L/p00.883202。3566C=1 0 0 0;0 0 1 0D= 0;0C =10000010matlab仿真的开环阶跃响应曲线如下图所示,系统并不稳定。图2.2系统开环阶跃响应曲线

11、三、倒立摆系统的PID控制算法设计1. 实验要求与目的要求:设计PID控制器,使得当在小车上施加1N的脉冲信号时,闭环系统的响应指 标为:(1)稳定时间小于5秒(2)稳态时摆杆与垂直方向的夹角变化小于0.1孤度并作PID控制算法的MATLAB仿真目的:进一步熟悉PID控制器的设计方法,步骤,以及P、I、D三参数的调 节方法。2。理论分析 PID控制原理在模拟控制系统中,控制器最常用的控制规律是PID控制.常规PID控制系统原理框图如下图所示。系统由模拟PID控制器KD(S)和被控对象G(S)组成。PID控制器是一种线性控制器,它根据给定值r(t)与实际输出值y(t)构成控制偏差e(t) e(t

12、) = r(t) - y(t)将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制, 故称PID控制器。其控制规律为de(t)D dt1 tu (t) = K e(t) + 1 e(t) dt + T或写成传递函数的形式G (睥冬E (s)pr i =K 1 + L T sT s D1 !S 7式中:KP比例系数;厂-积分时间常数;Td 微分时间常数。在控制系统设计和仿真中,也将传递函数写成G (s) = KE (s)p式中:*比例系数;K -积分系数;* 微分系数.简单说来,PID控制器各校正环 节的作用如下:(1) 比例环节:成比例地反映控制系统的偏差信号e

13、(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。(2) 积分环节:主要用于消除稳态误差,提高系统的型别.积分作用的强弱取决于积分时 间常数1, I,越大,积分作用越弱,反之则越强。(3) 微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之 前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。摆杆角度控制 这个控制问题和我们以前遇到的标准控制问题有些不同,在这里输出量为摆杆的位置,它的初始位置为垂直向上,我们给系统施加一个扰动,观察摆杆的响应。系统框图如下:图中KD(s)是控制器传递函数,G(s)是被控对象传递函数。考虑到输入r (s)

14、= 0,结构图可以很容易地变换成该系统的输出为numy (s)=丝2 F (s) =%F (s)1 + KD(s)G(s)i * (num PID)(num)(denPID )(den)num(denPID)F (s) (denPID)(den) + (num PID)(num)其中:num 被控对象传递函数的分子项den -被控对象传递函数的分母项numPID PID控制器传递函数的分子项denPID -PID控制器传递函数的分母项被控对象的传递函数是mls 2qb( I + ml 2)(M + m)mglbmgls 4 +s 3s 2sqqqnumden其中q = (M + m)(I +

15、ml2)- (ml)2PID控制器的传递函数为KKD (s)=腭 +、+一KDs2 + Kg + K _ numPIDsdenPID只需调节PID控制器的参数,就可以得到满意的控制效果.小车位置控制小车位置作为输出时,系统框图如下:其中,Gi(.)是摆杆传递函数,G2(s)是小车传递函数。由于输入信号r (s) = 0,所以可以把结构图转换成:其中,反馈环代表我们前面设计的摆杆的控制器。从此框图我们可以看出此处只对摆杆角度进行了控制,并没有对小车位置进行控制。小车位置输出为:X( s)=Gs)1 + KD( s)G( s)F (s)=num2-den一;r F (s)1 * (numPID)(

16、num )(denPID)(den )iF (s)(num )(denPID)(den )(denPID)(den )(den ) + (numPID)(num )(den )1212其中,num,den,num,den分别代表被控对象1和被控对象2传递函数的分子 1122和分母。numPID和denPID代表PID控制器传递函数的分子和分母。下面我们来求G2(s),根据前面实验二的推导,有X (s) = (I + ml 2)-旦中(s)ml s 2可以推出小车位置的传递函数为(I + ml2) 2 mglX(s)q qG (s)=2U (s)+ b( I + ml 2)(M + m)mglb

17、mglqqq其中 q = (M + m)(I + ml2) - (ml)2可以看出,den1 = den2 = den,小车的算式可以简化成:X( s)=F (s)(num )(denPID)(denPID)(den ) + k(numPID)(num )13。PID控制算法的MATLAB仿真实际系统参数如下:M 小车质量1 096 Kgm摆杆质量0.109 Kgb小车摩擦系数0。1N/m/secl摆杆转动轴心到杆质心的长度0。25mI摆杆惯量 0。0034 kg*m*mF加在小车上的力x小车位置T采样时间摆杆的matlab仿真程序代码如下:M=0.5;m=0。 2;b=0。 1;I=0.00

18、6;g=9。8 ;L=0.3;q= (M+m)大(I+m*L八2)- (m*L)八2;num1= m大 L/q 0 0;den1= 1 b大(I+m大L八2)/q (M+m)大m*g*L/q -b*m大g*L/q 0;Kp=1;Ki=1;Kd=1;numPID= Kd Kp Ki;denPID= 1 0;num=conv (num1,denPID);den=polyadd(conv (denPID, den1),conv(numPID,num1);r, p, k =residue(num,den); s=pt=0: 0。005:5; impulse(num, den, t)axis(0 2 0

19、 10)运行程序得到:s =-6。 41613。 96930.00190 0并得到仿真图像如下:Impulse Response0 00.20.40.60.811.21.41.61.82Time (sec) 图3。1 kp=ki=kd= 1时的仿真响应图可见此时系统并不稳定,此时应该首先调整kp,观察其响应的变化:讲kp设置为150,得到并观察响应图如下:s =1。2224 +18.0044i1。2224 -18.0044i-0.00000。0000-0。0000图3-2, kp=150系统仿真图可见此时系统两个闭环极点均在S平面做平面,系统稳定,系统稳定时间约 为4秒,满足要求。此时系统有极

20、小的静态误差,根据系统对于精度的要求可 酌情考虑是否添加积分控制,本文添加积分控制。将积分参数设为5,得到并观察闭环响应图。在笔者经过多次尝试之后,发现积分控制对于系统响应的调节作用极小,笔者 给出当积分参数分别设为10和50的响应图如下:eglrornA-0.200.511.522.533.544.55Time (sec)Impulse Response5 1 5 0 5 1 5 .1 0. .0 .0 0. .1-图3-3, ki=10的响应51 .1 0 00 5 1.0 0 0-QqJT-JTA-0.15-0.2 00.511.522.533.544.55Time (sec)图34,k

21、i=50系统的响应积分作用通常是用来调整系统的静态误差,使之达到需要的范围,但是此处明 显积分作用对系统的影响不大,并了解到被控对象的特性属于变化快的类型, 应该考虑改变微分控制,虽然微分控制在实际系统中运用并不多见.笔者将微分作用参数设置为10,20,50观察其效果图。Impulse Response0.20.150.1Time (sec)图 3-5,kp=150,ki=50,kd=10 的仿真图像o .2 0-0.511.522.533.544.55Time (sec)250 .105 .0005 15图 36, kp=150,ki=50,kd=20 的仿真图像Impulse Respon

22、se15016 0 .0 .05 .0000.511.522.533.544.55Time (sec)图 37,kp=150, ki=50, kd=50 的仿真图像当微分效果加上去的时候,系统闭环仿真图像结果得到了质的改善,瞬间取 代了超调,不稳定,响应时间也迅速降到了 0。5秒,稳定时间在1秒,完美地完成了任务。其效果已经不能简单的用好来形容,但是微分作用并非如此普及, 并且每次都效果如此良好,要根据不同的对象来判断用什么作用.必须要说的 是,微分作用在物理实现中是并不容易的,如果只有比例调节和积分调节就能 达到预想的效果,那就不要使用微分调节.4.小车位置控制算法仿真pid2.m是仿真小车

23、位置变化的m文件,文件如下:%小车位置PID控制% 输入倒立摆传递函数 G1(s) =num1/den1,G2 (s) =num2/den2M = 1。096; m = 0。109;b = 0.1; I = 0.0034;g = 9。8;l= 0。25;q = (M+m)* (I+m*lA2) (m*l) A2;num1 = m*l/q 0 0;den1 = 1 b*(I+m*lA2) /q (M+m)*m*g*l/q -b*m*g*l/q 0;num2 = (I+m 大 lA2)/q 0 m * g * l/q;den2 = den1;%输入控制器PID数学模型Gc (s)=numPID/d

24、enPIDKp = 150; Ki = 50; Kd = 50;numPID = Kd Kp Ki;denPID = 1 0;%计算闭环系统传递函数G(s)=num/den%多项式相乘num = conv ( num2,denPID );%多项式相加den = polyadd(conv (denPID,den2),conv(numPID,num1 );%求闭环系统极点r,p,k = residue(num,den);%显示闭环系统极点s = p%求取多项式传函的脉冲响应t=0:0。005:5;impulse(num,den, t)%显示范围:横坐标0-5,纵坐标0-10,此条语句参数可根据仿真

25、输出曲线调 整 axis(0 5 0.10。5)grid此时系统取Kp=150,Ki=50,Kd=50,阶跃响应仿真曲线如下图所示:s =115.0953-2.4030-0.417700Impulse Response0.421.008FQFA-0.1 00.511.522.533.544.55Time (sec)图3-8,小车位置仿真由仿真结果能够看出,当摆杆角度处于很好的闭环控制下时,小车位置虽然处 于失控状态,但是上升速度不快。四、倒立摆系统的最优控制算法设计1. 设计目的与要求现代控制理论的最突出特点就是将控制对象用状态空间表达式的形式表示出 来,这样便于对多输入多输出系统进行分析和设

26、计。线性二次型最优控制算法(妙)是现代控制理论中一种重要的、基本的方法,LQR算法的目的是在一 定的性能指标下,使系统的控制效果最佳,即利用最少的控制能量,来达到最小的 状态误差。本章主要利用最优控制算法实现对一阶倒立摆系统的摆杆角度和小 车位置的同时控制.设计目的:学习如何使用状态空间法设计系统的控制算法。设计要求:用状态空间法设计控制器,使得当在小车上施加0。2N的阶跃信号时,闭环系统的响应指标为:(1) 摆杆角度0和小车位移x的稳定时间小于5秒(2) x的上升时间小于1秒(3) 0的超调量小于20度(0。35弧度)(4) 稳态误差小于2%。2. 最优控制器的设计在PID调节中,我们的输入

27、是脉冲量,并且在设计控制器时,只对摆 杆角度进行控制,而不考虑小车的位移。然而,对一个倒立摆系统来说,把 它作为单输出系统是不符合实际的,如果把系统当作多输出系统的话,用状 态空间法分析要相对简单一些,在这一章我们将设计一个对摆杆位置和小 车位移都进行控制的控制器.系统状态方程为X = AX + BuY = CX + Du在倒立摆相关参数为:M小车质量1。096Kgm 摆杆质量0.2109Kgb 小车摩擦系数 0。1 N/m/secl摆杆转动轴心到杆质心的长度0.25 mI摆杆惯量0。0034 kg*m*mT采样时间0。005秒的条件下,状态方程系数矩阵如下:P100 一-0 -00.0883

28、01.00000.8832A=0001.0000;B =00-0.235727.82850 _2.3566_,10 0 00 0 10最优控制的前提条件是系统是能控的,下面来判断一下系统的能控能观性。Mat lab仿真程序如下:A=0 1 0 0;0 -(I+m*L2)*b/p (m2*g*L2) /p 0; 0 0 0 1;0 -(m*L*b)/pm*g*L*(m+M) /p 0B= 0;(I+m*L2)/p; 0;(m*L) /pC=1 0 0 0; 0 0 1 0D=0; 0Qc=ctrb (A,B) ; /判断能控性K=rank (Qc)Qo=obsv(A, C) ; /判断能观性I=

29、rank(Qo)1. Matlab仿真结果为:K =4即:系统的能控矩阵的秩rankB AB A2B A3B = 4。系统的能观矩阵的秩rankC CA CA2 CA3 = 4。故系统是能控能观的。因此可以给系统加上最优控制器使得系统闭环稳定,且 满足暂态性能指标。在运用线性二次型最优控制算法进行控制器设计时,主要 的目的就是获得反馈向量K的值。由上一小节的推导知道,设计系统状态反馈 控制器时,一个关键的问题就是二次型性能指标泛函中加权矩阵Q和人的选取。为了使问题简化及加权矩阵具有比较明确的物理意义,我们将Q取为对角阵。假 设000Q44 IQ 00110 Q 000 Q33000这样得到的性

30、能指标泛函为J = j Q x 2 + Q x 2 + Q x 2 + Q x 2 + ru 2 t 11 122 233 344 40由上式可以看出,Q是对尤的平方的加权,Q的相对增加就意味着对x的要iiiiii求相对其它状态变量严格,在性能指标中的比重大,气的偏差状态相对减小。r 是对控制量u的平方加权,当尸相对较大时,意味着控制费用增加,使得控制能 量较小,反馈减弱,而,取值较小时,系统控制费用减小,反馈增加,系统动态 响应迅速。考虑到一阶倒立摆系统在运行过程中,主要的被控量为系统的输出量X和8,因此在选取加权对角阵Q的各元素值时,由于Q11代表小车位置的权重,而Q33是 摆杆角度的权重

31、,所以只选取Q11、Q33,而Q22 = Q44=0 .选取Q和R时需要注 意的几个方面:(1)由于我们采用的系统模型是线性化的结果,为使系统个状态量能够在线性 范围工作,要求各状态量不应过大。(2)闭环系统最好能有一对共轭复数极点,这样有利于克服系统的非线性摩擦, 但系统主导极点的模不应太大以免系统频带过宽,使得系统对噪声太敏感,以 致系统不能正常工作。(3)加权矩阵R的减小,会导致大的控制能量,应注意控制u的大小,不要超过系 统执行机构的能力,使得放大器处于饱和状态。控制系统如下图所示,图中R是施加在小车上的阶跃输入,四个状态量x、X、 8和8分别代表小车位移、小车速度、摆杆位置和摆杆角速

32、度,输出y = L,8】包 括小车位置和摆杆角度.我们要设计一个控制器,使得当给系统施加一个阶跃输 入时,摆杆会摆动,然后仍然回到垂直位置,小车到达新的命令位置。2)系统仿真M = 0。5;m = 0.2; b = 0。1; I = 0.006; g = 9.8;l = 0.3;p = I* (M+m)+M*mlA2;A = 0100 ;0 (I+m*l人2)*b/p(mA2*glA2) /p 0;0001;0 (m*l*b)/pm*g*l*(M+m) /p 0;B = 0; (I+m*lA2) /p; 0;m*l/p ;C = 1 0 0 0;0 0 1 0 ; D = 0; 0; p =

33、eig (A);%求向量Kx=5000; y=100;Q = x 0 0 0;0 0 0 0;00y00 0 0 0;R = 1; K = lqr (A, B,Q, R)%计算LQR控制矩阵Ac = (AB*K) ;Bc = B; Cc = C ;Dc = D;%计算增益NbarCn = 1 0 0 0;Nbar = rscale(A, B, Cn, 0,K);Bcn = Nbar*B;%求阶跃响应并显示,小车位置为虚线,摆杆角度为实线T = 0: 0。005: 5;U = 0.2*ones (size (T);Y, X = Lsim (Ac,Bcn,Cc, Dc,U, T);plot(T,Y

34、 (:, 1), : ,T,Y (:, 2),)legend(Cart Position,Pendulum Angle)grid文件中用到求取输入输出匹配系数函数rscale,它不是Matlab工具,因此必 须把它拷贝到rscale。m文件中,并把该文件和源文件一起拷贝到MATLAB 工作区。rscale.m文件如下:%求取输入输出匹配系数function Nbar = rscale (A,B, C,D,K)s = size(A,1);Z = zeros(1, s) 1 ;N = inv (A,B; C, D)*Z;Nx = N (1: s);Nu = N (1+s);Nbar = Nu + K*Nx;用函数rscale来计算Nbar ,运行程序,得到:K =70.7107 -40。6531 125。770224.3770图41,系统仿真图即 Nbar = rscale(A,B,Cn,0,K) = 70.7107,可以看出,实际上 Nbar 和 K 向量中 与小车位置x对应的那一项相等。此时系统的响应曲线如下,小车位置跟踪输入信号;并且,摆杆超调足够小,稳态误差满足要求,上升时间和稳定时间也符合设计指标。五、参考文献倒立摆课程设计指导书 曲延滨2011年3月哈尔滨工业大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号