毕业论文-基于matlab的倒立摆控制系统仿真内容摘要:

s sXs s   (321) 摆杆角度和小车加速度之间的传递函数为:    20 . 0 2 7 2 50 . 0 1 0 2 1 2 5 0 . 2 6 7 0 5sVs s   (322) 摆杆角度和小车所受外界作用力的传递函数: 32( ) 2 . 3 5 6 5 5() 0 . 0 8 8 3 1 6 7 2 7 . 9 1 6 9 2 . 3 0 9 4 2ssUs s s s     (323) 以外界作用力作为输入的系统状态方程: 基于 MATLAB 的倒立摆控制系统仿真 10 0 1 0 0 00 0 . 0 8 8 3 1 6 7 0 . 6 2 9 3 1 7 0 0 . 8 8 3 1 6 70 0 0 1 00 0 . 2 3 5 6 5 5 2 7 . 8 2 8 5 0 2 . 3 5 6 5 5x xx xu                            1 0 0 0 00 0 1 0 0xxxyu                  (324) 以小车加速度作为输入的系统状态方程: 0 1 0 0 00 0 0 0 10 0 0 1 00 0 2 9 . 4 0 3x xx xu                             1 0 0 0 00 0 1 0 0xxxyu                   (325) 需要说明的是,在 本文 的控制器设计和程序中,采用的都是以小车的加速度作为系统的输入,如果需要采用力矩控制的方法,可以参考以上把外界作用力作为输入的各式。 系统阶跃响应分析 上面已经得到系统的状态方程,先对其进行阶跃响应分析,在 MATLAB 中键入以下命令: clear。 A=[0 1 0 0。 0 0 0 0。 0 0 0 1。 0 0 0]。 B=[0 1 0 3]39。 C=[1 0 0 0。 0 1 0 0]。 D=[0 0]39。 step(A,B,C,D)。 基于 MATLAB 的倒立摆控制系统仿真 11 得到如下计算结果: 图 33 直线一级倒立摆单位阶跃响应仿真 可以看出,在单位阶跃响应作用下,小车位置和摆杆角度都是发散的。 倒立摆状态方程及开环阶跃响应也可以采用编写 M文件的仿真,仿真程序如下: M =。 m =。 b =。 I =。 g =。 l =。 p = I*(M+m)+M*m*l^2。 A = [0 1 0 0。 0 (I+m*l^2)*b/p (m^2*g*l^2)/p 0。 0 0 0 1。 0 (m*l*b)/p m*g*l*(M+m)/p 0] B = [ 0。 (I+m*l^2)/p。 0。 m*l/p] 基于 MATLAB 的倒立摆控制系统仿真 12 C = [1 0 0 0。 0 0 1 0] D = [0。 0]。 T = 0::5。 U = *ones(size(T))。 [Y,X] = lsim(A,B,C,D,U,T)。 plot(T,Y)。 axis([0 2 0 100])。 grid。 运行后得到如图的仿真结果: 图 34 倒立摆状态方程及开环阶跃响应仿真结果 倒立摆传递函数、开环极点及开环脉冲响应也可 采用编写 M文件的仿真,仿真程序如下: M =。 m =。 b =。 基于 MATLAB 的倒立摆控制系统仿真 13 I =。 g =。 l =。 q = (M+m)*(I+m*l^2)(m*l)^2。 num = [m*l/q 0 0]。 den = [1 b*(I+m*l^2)/q (M+m)*m*g*l/q b*m*g*l/q 0]。 [r,p,k] = residue(num,den)。 s = p。 t=0::5。 impulse(num,den,t)。 axis([0 1 0 60])。 grid。 运行后得到如图的仿真结果: 图 35 倒立摆传递函数、开环极点及开环脉冲响应仿真结果 基于 MATLAB 的倒立摆控制系统仿真 14 4 直线一级倒立摆 PID 控制器设计 PID 控制分析 在 模拟控制系统中,控制器最常用的控制规律是 PID 控制。 常规 PID 控制系统原理框图如图 41 所示。 系统由模拟 PID 控制器 KD(S)和被控对象 G(S)组成。 图 41 常规 PID 控制系统图 PID 控制器是一种线性控制器,它根据给定值 )(tr 与实际输出值 ()yt 构成控制偏差 )(te : ( ) ( ) ( )e t r t y t 将偏差的比例 (P)、积分 (I)和微分 (D)通过线性组合构成控制量,对被控对象进行控制,故称 PID 控制器。 其控制规律为:    dt tdeTdtteTteKtu DtIP)()(1)()(0 或写成传递函数的形式 :   sTsTKsE sUsG DIP 11)( )()( 式中: PK ——比例系数; IT ——积分时间常数; DT ——微分时间常数。 在控制系统设计和仿真中,也将传递函数写成 : 基于 MATLAB 的倒立摆控制系统仿真 15 sKsKKsE sUsG DIP  )( )()( 式中: PK ——比例系数; IK ——积分系数; DK ——微分系数。 简单说来, PID 控制器各校正环节的作用如下: ( 1)比例环节:成比例地反映控制系统的偏差信号 )(te ,偏差一旦产生,控制器立即产生控制作用,以减少偏差。 ( 2)积分环节:主要用于消除稳态误差,提高系统的型别。 积分作用的强弱取决于积分时间常数 IT , IT 越大,积分作用越弱,反之则越强。 ( 3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。 PID 校正兼顾了系统稳态性能和动态性能的改善,因此在要求较多的场合,较多采用 PID 校正。 由于 PID 校正使系统在低频段相位后移,而在中频段相位前移,因此又称它为相位滞后 超前校正。 这个控制问题和我们以前遇到的标准控制问题有些不同,在这里输出量为摆杆的位置,它的初始位置为垂直向上,我们给系统施加一个扰动,观察摆杆的响应。 系统框图如图 42 所示。 图 42 直线一级倒立摆闭环系统图 图中 )(sKD 是控制器传递函数, )(sG 是被控对象传递函数。 考虑到输入 0)( sr ,结构图可以很容易地变换成 如图 43 的系统简化图。 基于 MATLAB 的倒立摆控制系统仿真 16 图 43 直线一级倒立摆闭环系统简化图 该系统的输出为 : )())(())(()()())(())((1)()()(1)()(sFnumn u m P I Dd e nd e n P I Dd e n P I DnumsFd e nd e n P I Dnumn u m P I Dd e nnumsFsGsKDsGsy 其中: num ——被控对象传递函数的分子项 den ——被控对象传递函数的分母项 numPID ——PID 控制器传递函数的分子项 denPID ——PID 控制器传递函数的分母项 通过分析上式就可以得到系统的各项性能。 由 式子 (313)可以得到摆杆角度和小车加速度的传递函数:     22s mlVsI ml s mgl  PID 控制器的传递函数为: d e n P I Dn u m PI Ds KsKsKsKKsKsKD IPDIPD 2)( 只需调节 PID 控制器的参数,就可以得到满意的控制效果。 前面的讨论只考虑了摆杆角度,那么,在控制的过程中,小车位置如何变化呢。 小车位置输出为:    2X s s V s 通过对控制量 v 双重积分即可以得到小车位置。 基于 MATLAB 的倒立摆控制系统仿真 17 PID 控制参数设定及 MATLAB 仿真 对于 PID 控制参数,我们采用以下的方法进行设定。 由实际系统的物理模型:   20 . 0 2 7 2 50 . 0 1 0 2 1 2 5 0 . 2 6 7 0 5sVs s   在 Simulink 中建立如图 44 所示的直线一级倒立摆模型: 图 44 直线一级倒立摆 PID 控制 MATLAB 仿真模型 先设置 PID 控制器为 P 控制器,令 9KP , 0IK , 0DK ,得到图 45 仿真结果。 图 45 P控制仿真结果图( 9KP ) 从图 45中可以看出,控制曲线不收敛,因此增大控制量,令 40PK , 0IK , 0DK ,得到如图 46 仿真结果。 基于 MATLAB 的倒立摆控制系统仿真 18 图 46 P 控制仿真结果图( 40PK ) 从图 46 中可以看出,闭环控制系统持续振荡,周期约为。 为消除系统的振荡,增加微分控制参数 DK ,令: 0IK , 4DK ,得到图 47 仿真结果。 图 47 PD 控制仿真结果图( 40PK  , 4DK ) 从图 47 中可以看出,系统稳定时间过长,大约为 4 秒,且在两个振荡周期后才能稳定,因此再增加微分控制参数 DK ,令: 40PK , 0IK , 10DK ,仿真得到图48 仿真 结果。 基于 MATLAB 的倒立摆控制系统仿真 19 图 48 PD 控制( 40PK , 10DK ) 从图 48 可以看出,系统在 秒后达到平衡,但是存在一定的稳态误差。 为消除稳态误差,我们增加积分参数 IK ,令: 40PK , 20IK , 10DK ,得到图 49 仿真结果。 图 49 PID 控制( 40PK , 20IK , 10DK ) 从上面仿真结果可以看出,系统可以较好的稳定,但由于积分因素的影响,稳定时间明显增大。 基于 MATLAB 的倒立摆控制系统仿真 20 双击 “Scope1”,得到小车的位置输出曲线如图 410 所示。 图 410 PD控制(小车位置曲线) 可以看出,由于 PID 控制器为单输入单输出系统,所以只能控制摆杆的角度,并不能控制小车的位置,所以小车会往一个方向运动。 5 直线一级倒立摆状态空间极点配置控制器设计 经典控制理论的研究对象主要是单输入单输出系统,现代控制理论将其概念扩展到多输入多输出系统。 现代控制理论是一种“时域法”,它引入了“状态”的概念,用“状态变量”及“状态方程”描述系统,从而理论上解决了系统的可控性、可观测性及许多复杂问题的控制问题。 极点配置法通过设计状态反馈控制器将多变量系统的闭环系统极点配置在期望的位置上,从而使系统满足瞬态和稳态性能指标。 由经典控制理论可知,闭环系统性能与闭环极点密切相关,用调整开环增益及引入串并、联校正装置来配置闭环极点,以改善系统性能。 但 由于经典控制是用传递函数来描述的,它只能用输出量作为反馈量。 而现代控制理论由于采用系统内部的状态变 量来描述系统的物理特性,因而除了输出反馈外,还经常采用状态反馈 ,因为它能提供更多的校正信息和可供选择的自由度,因而。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。