
二级倒立摆的建模与MATLAB仿真-毕业论文.doc
7页第 1 页 共 7 页二级倒立摆的建模与MATLAB仿真 二级倒立摆的建模与MATLAB仿真 摘要:本文根据牛顿力学原理,使用机理建模法对二级倒立摆系统进行了建模与仿真研究利用最优化控制理论,研究了线性二次型最优控制器对倒立摆系统进行了有效控制基于MATLAB程序的设计、仿真的运行,结果表明,二级倒立摆的数学建模法是切实可行的,而且十分可靠,同时利用LQR控制器实现了对系统的控制,可以达到系统所需要的稳定性,鲁棒性 关键词:二次型最优控制;二级倒立摆;MATLAB1 引言 倒立摆系统是一个常用的、简单的、典型的可进行控制理论研究的实验平台,很多难以用常规实验研究的控制理论问题,都可以通过倒立摆系统来进行研究从而使这些抽象的控制理论问题,通过该系统可以直观的鲜明的显示出来所以倒立摆系统一直是控制领域的热点,并且在这些年来在不断的发展进步对控制理论的研究起到了重要作用 倒立摆系统是一个典型的不稳定系统,具有多变量、强耦合、非线性等特点同时也是仿人类行走机器人和火箭发射飞行的过程调整和直升机飞行等实际运用控制对象的最简模型。
本文建立在牛顿力学定律的基础上,研究对象设置为二级倒立摆,对其进行数学建模,再使用二次型最优控制器(linear quadratic regulator,LQR)可以得到一个最优状态反馈的矩阵K,然后在通过对Q和R两个加权矩阵的严谨选取从而实现对二级倒立摆系统良好的自动控制2 二级倒立摆模型建立 一个典型的二级倒立摆系统主要由机械部分和电气装置两部分组成机械装置的结构主要由小车、摆杆1、摆杆2及连接轴等组成,电气装置的主要结构是功率放大器、电动机、驱动电路、保护电路等其系统的结构如图1所示 实验假设如下:(1) 小车、摆杆1、摆杆2的材料性质都是刚体的2) 小车的驱动力和放大器的输出直接的,无滞后的作用于小车上3) 忽略实验中过程中出现的不可避免的各种摩擦力如库伦摩擦力等图1 二级倒立摆控制系统的结构二级倒立摆的参数设定如表1表1 二级倒立摆的参数设定M 小车质量1.328 kg 摆杆2中心到杆心距离0.222 m 摆杆1质量0.21 kgF 作用在系统上的外力22.916 摆杆2质量0.186 kgg 重力加速度9.8 m/s2 质量块质量0.206 kg 摆杆1中心到杆心距离0.312 m通过拉格朗日定律的利用,建立相应的系统模型: 可设小车的总动能为,摆杆1的动能为 ,摆杆二的动能为 ,质量块的动能为 ,可得出系统的总动能为: (1) 由(1)可得系统的总动能为: +-2+ (2)系统的势能为: = (3) 由(2)可得系统的势能为: (4)拉格朗日算子: (5)因为在广义坐标上可忽略外力的作用,那么即可建立以下的模型方程: , (6)因为 (7) (8) (9) (10) 根据泰勒公式,在平衡处展开,并利用线性化对方程进行计算可得到以下方程组: (11) 将公式(6)代入(11)可得: (12)将公式(7)(8) (9) (10)代入(12)可解出: (13)设变量,,,,,,加速度为,代入,可得输出方程:=+ (14) + (15) 3 LQR算法 我们运用线性二次型最优控制器(linear quadratic regulator-LQR)对系统进行控制。
LQR是能以控制和状态变量为指标的动态系统最优控制方法,在现代控制理论中有非常重要的意义 (1)若给定系统的状态方程为, (16) (2)用表示系统的期望输出 (3)定义为系统的向量误差则指标函数为: (17)在倒立摆系统中,,所以,而且倒立摆的控制是趋向于无穷大时系统的状态问题,所以指标函数为: (18) 其中是系统的反馈控制,其中是系统方程的唯一正定解 因为在二级倒立摆的系统中,小车的主要被控量是小车的位移和它上下摆的角度,是状态变量的影响力,是对的加权在试验中我们可选取,运用MATLAB结果分析可证明二级单摆系统是能控,能观的,将表一带入公式(13)可得出系统的状态反馈矩阵为:(31.6228 136.1926 193.4166 44.8083 -127.8892 -17.8342)4 仿真分析根据上述分析的二级倒立摆控制系统数学模型和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 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; 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]; 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的仿真,我们可以得到小车位移与上下摆角之间的关系图如图2所示。
图2 小车位移及上下摆角 通过图2可以看出小车在受到一个恒定的外力作用时小车的位移变化是一个阶跃的变化然后趋于稳定上下摆的运动是一种是上摆杆整体相对位移是比较较小的,小车在运动时带动下摆杆的运动,下摆杆的整体的摆动幅度较大的,于是可以看出在上下两个摆杆之间连接点处下摆杆有明显的相对转动,然后上下摆杆基本一致趋于稳定 我们可以发现用数学模型的建立可以得到一个良好的控制数值,在进行MATLAB分析选取对系统进行控制,系统可以很好的稳定,在给倒立摆干扰后大概在六秒钟的时候系统趋于稳定恢复到平衡点的位置,由图像可以明显的看到在给定输入后系统剧烈的变化上摆角和下摆角成阶跃式变化在一秒的时候达到最大值然后快速衰减在四秒的时候基本趋于稳定,在六秒的时候系统到达平衡点位置,说明用数学模型和LQR算法还是可以很好的控制系统的5 结论 实验结果表明:本文从二级倒立摆的实际运用出发对系统的组成结构,工作原理进行分析,希望用机理建模法在牛顿力学的基础之上运用最优控制理论对系统进行良好的控制,经过数学模型的建立运算在利用LQR算法,使用MATLAB软件对系统进行仿真和运算,找到最优的系统控制,使得系统在给一个阶跃输入后系统可以很快的稳定下来,结果证明此次的实验是成功的完成了系统的控制性能好,稳定性高,具有较强的鲁棒性的要求。
可见运用线性二次型最优控制器对系统进行控制有很好的效果,证明二级倒立摆系统可以对非线性的,。












