1、二级倒立摆的建模与 MATLAB 仿真 第 1 页 共 7 页二级倒立摆的建模与 MATLAB 仿真摘要:本文根据牛顿力学原理,使用机理建模法对二级倒立摆系统进行了建模与仿真研究。利用最优化控制理论,研究了线性二次型最优控制器对倒立摆系统进行了有效控制。基于 MATLAB 程序的设计、仿真的运行,结果表明,二级倒立摆的数学建模法是切实可行的,而且十分可靠,同时利用LQR 控制器实现了对系统的控制,可以达到系统所需要的稳定性,鲁棒性。关键词:二次型最优控制;二级倒立摆;MATLAB1 引言 倒立摆系统是一个常用的、简单的、典型的可进行控制理论研究的实验平台,很多难以用常规实验研究的控制理论问题,
2、都可以通过倒立摆系统来进行研究从而使这些抽象的控制理论问题,通过该系统可以直观的鲜明的显示出来。所以倒立摆系统一直是控制领域的热点,并且在这些年来在不断的发展进步对控制理论的研究起到了重要作用。倒立摆系统是一个典型的不稳定系统,具有多变量、强耦合、非线性等特点。同时也是仿人类行走机器人和火箭发射飞行的过程调整和直升机飞行等实际运用控制对象的最简模型。本文建立在牛顿力学定律的基础上,研究对象设置为二级倒立摆,对其进行数学建模,再使用二次型最优控制器(linear quadratic regulator,LQR)可以得到一个最优状态反馈的矩阵K,然后在通过对Q和R两个加权矩阵的严谨选取从而实现对二
3、级倒立摆系统良好的自动控制。2 二级倒立摆模型建立一个典型的二级倒立摆系统主要由机械部分和电气装置两部分组成。机械装置的结构主要由小车、摆杆1、摆杆2及连接轴等组成,电气装置的主要结构是功率放大器、电动机、驱动电路、保护电路等。其系统的结构如图1所示。实验假设如下:(1) 小车、摆杆1、摆杆2的材料性质都是刚体的。(2) 小车的驱动力和放大器的输出直接的,无滞后的作用于小车上。(3) 忽略实验中过程中出现的不可避免的各种摩擦力如库伦摩擦力等。二级倒立摆的建模与 MATLAB 仿真 第 2 页 共 7 页图 1 二级倒立摆控制系统的结构二级倒立摆的参数设定如表 1。表 1 二级倒立摆的参数设定M
4、 小车质量 1.328 kg 摆杆 2 中心到杆心距离l 0.222 m摆杆 1 质量1m0.21 kg F 作用在系统上的外力 22.916 1/sN摆杆 2 质量2 0.186 kg g 重力加速度 9.8 m/s2质量块质量3 0.206 kg摆杆 1 中心到杆心距离1l 0.312 m通过拉格朗日定律的利用,建立相应的系统模型:可设小车的总动能为 ,摆杆 1 的动能为 ,摆杆二的动能为 ,质量块的动能为 ,mT1mT2mT3mT可得出系统的总动能为:(1) 321mm由(1)可得系统的总动能为: 0coscs(32cos21 221221121 llxxlxlmxMT+ 2 + (2)
5、 )(434212121lll 3113l13l系统的势能为:= (3) V321mm二级倒立摆的建模与 MATLAB 仿真 第 3 页 共 7 页由(2)可得系统的势能为:(4)V )cos2(cos2cos 211311 llgmglglm拉格朗日算子: (5)VTL因为在广义坐标上 可忽略外力的作用,那么即可建立以下的模型方程:21, (6)21MN2因为(7)(cos91242 212311 mmlM(8)(s4)(96 21ll 21213121212 2112231 cos)cs(coscoscos)sin(4 )in(6inini3 xmxxxl lgggN (9)cossin(
6、)(23)sin(6)cos(32 3i6si)(39 1131212211 22123 xgmlmlmlgl (10) 根据泰勒公式,在平衡处展开,并利用线性化对方程进行计算可得到以下方程组:(11) xK27231211将公式(6)代入(11)可得:(12)xKMN27231211将公式(7)(8) (9) (10)代入(12)可解出:132112 )4(43lmggK 9/)(316423222 lmlmgK二级倒立摆的建模与 MATLAB 仿真 第 4 页 共 7 页132113 )4(9lmgK 9/)(3164232223 lmlgK(13)132117 )(4l /)(34)(2
7、321227 llm设变量 , , , , , ,加速度为 ,代入x2xx456xxu, 可得输出方程:BUAXDCY= + 654321xx 09635.20458.12.680 18.7.5.39105.02973.601.0 654321xx209.74.0(14)+ (15) Y321x10000654321xx00u3 LQR 算法我们运用线性二次型最优控制器(linear quadratic regulator-LQR)对系统进行控制。LQR 是能以控制和状态变量为指标的动态系统最优控制方法,在现代控制理论中有非常重要的意义。(1)若给定系统的状态方程为 , 。 (16)BUAXD
8、CY(2)用 表示系统的期望输出。ry(3)定义 为系统的向量误差。)()(tyter则指标函数为:(17)dtUtRtQetSeJTfffT )()(21)(210在倒立摆系统中 , ,所以 ,而且倒立摆的控制是 趋向于无穷IC0ry(tXYf二级倒立摆的建模与 MATLAB 仿真 第 5 页 共 7 页大时系统的状态问题,所以指标函数为:(18) dtRUQXJTT)(0其中 是系统的反馈控制, 其中 是系统方程的唯一正定解。KXuBK1P因为在二级倒立摆的系统中,小车的主要被控量是小车的位移和它上下摆的角度, 是状态变量Q的影响力, 是对 的加权在试验中我们可选取 ,运用 MATLAB
9、结果分析可证明二级单摆系统RUR是能控,能观的,将表一带入公式(13)可得出系统的状态反馈矩阵为:(31.6228 136.1926 193.4166 44.8083 -127.8892 -17.8342)K4 仿真分析根据上述分析的二级倒立摆控制系统数学模型和 LQR 算法,运用 MATLAB 仿真软件,该系统的控制仿真程序如下:K =31.6228 136.1926 193.4166 44.8083 -127.8892 -17.8342;A=0 1 0 0 0 0; 0 -16.6601 -1.2973 0 0.0857 0; 0 0 0 1 0 0; 0 39.0555 18.0514
10、0 -7.8603 0; 0 0 0 0 0 1; 0 -68.5120 -14.4458 0 25.9635 0;B=0; 0.7270; 0; -1.7044; 0; 0.2069;C=1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 1 0 0 0; 0 0 0 1 0 0; 0 0 0 0 1 0; 0 0 0 0 0 1;D=0; 0; 0; 0; 0; 0;p=eig(A);num,den=ss2tf(A,B,C,D,1);printsys(num,den)Q=1000 0 0 0 0 0; 0 0 0 0 0 0; 0 0 10 0 0 0; 0 0 0 0 0 0;
11、0 0 0 0 10 0; 0 0 0 0 0 0;Tc=ctrb(A,B);rank(Tc)To=obsv(A,C);rank(To)R=1;K=lqr(A,B,Q,R);Ac=(A-B*K);Bc=B;Cc=C;二级倒立摆的建模与 MATLAB 仿真 第 6 页 共 7 页Dc=D;T=0:0.005:20;U=0.2*ones(size(T);Y,X=lsim(Ac,Bc,Cc,Dc,U,T);plot(T,Y(:,1),:,T,Y(:,2),-,T,Y(:,3),-)legend(小车位移 , 下摆角 ,上摆角)Grid通过 MATLAB 的仿真,我们可以得到小车位移与上下摆角之间的关
12、系图如图 2 所示。图 2 小车位移及上下摆角通过图 2 可以看出小车在受到一个恒定的外力作用时小车的位移变化是一个阶跃的变化然后趋于稳定。上下摆的运动是一种是上摆杆整体相对位移是比较较小的,小车在运动时带动下摆杆的运动,下摆杆的整体的摆动幅度较大的,于是可以看出在上下两个摆杆之间连接点处下摆杆有明显的相对转动,然后上下摆杆基本一致趋于稳定。二级倒立摆的建模与 MATLAB 仿真 第 7 页 共 7 页我们可以发现用数学模型的建立可以得到一个良好的控制数值,在进行 MATLAB 分析选取对系统进行控制,系统可以很好的稳定,在给倒立摆干扰后大概在六秒钟的时候系统趋于稳定恢复到平衡点的位置,由图像
13、可以明显的看到在给定输入后系统剧烈的变化上摆角和下摆角成阶跃式变化在一秒的时候达到最大值然后快速衰减在四秒的时候基本趋于稳定,在六秒的时候系统到达平衡点位置,说明用数学模型和 LQR 算法还是可以很好的控制系统的。5 结论实验结果表明:本文从二级倒立摆的实际运用出发对系统的组成结构,工作原理进行分析,希望用机理建模法在牛顿力学的基础之上运用最优控制理论对系统进行良好的控制,经过数学模型的建立运算在利用 LQR 算法,使用 MATLAB 软件对系统进行仿真和运算,找到最优的系统控制,使得系统在给一个阶跃输入后系统可以很快的稳定下来,结果证明此次的实验是成功的完成了系统的控制性能好,稳定性高,具有
14、较强的鲁棒性的要求。可见运用线性二次型最优控制器对系统进行控制有很好的效果,证明二级倒立摆系统可以对非线性的,抽象的问题在此实验平台上进行研究对未来的实验打下良好基础。参考文献1 王海英,袁立英,吴勃,控制系统的 MATLAB 仿真与设计M,北京:高等教育出版社,2009。2 李 俊,倒立摆系统的线性二次型状态反馈控制J ,自动测量与控制, 2007,26(3): 56-58。3 黄忠霖,周向明,控制系统 MATLAB 计算及仿真实训M,北京:国防工业出版社 ,2006。4 黄孝平,牛秦洲,线性二次型最优控制在倒立摆系统中的实现J,计算机测量与控制,2006,14(12):1641-1642。
15、5 楼顺天, 于卫,基于 MATLAB 的系统分析与设计M ,西安:西安电子科技大学出版社, 1998。6 郑大钟,线性系统理论第二版M ,北京: 清华大学出版社,2002。7 王孝莉,倒立摆智能控制系统的研究D,山东:山东大学,2007。8 K.J. Astrom,K. Furuta,Swinging up a pendulum by energy control, Automatica, 2000, 36 (2): 287295.9 Q. Wu,N. Sepehri,S. He, Base-excited inverted pendulums, Journal of Intelligent & Fuzzy Systems, 2002, 12(2):119131.