摘要
倒立摆系统是一个复杂的、高度非线性的、不稳定的高阶系统,是学习和研究现代控制理论最合适的实验装置。倒立摆的控制是控制理论应用的一个典型范例,一个稳定的倒立摆系统对于证实状态空间理论的实用性是非常有用的。
本文主要研究的是二级倒立摆的极点配置方法,首先用Lagrange方程建立了二级倒立摆的数学模型,然后对二级倒立摆系统的稳定性进行了分析和研究,并给出了系统能控能观性的判别。基于现代控制理论中的极点配置理论,根据超调量和调整时间来配置极点,求出反馈矩阵并利用Simulink对其进行仿真,得到二级倒立摆的变化曲线,实现了对闭环系统的稳定控制。
关键词:二级倒立摆;极点配置;Simulink
目录
1.绪论.........................................................
2 数学模型的建立和分析......................................... 数学建模的方法................................................ 二级倒立摆的结构和工作原理.................................... 拉格朗日运动方程.............................................. 推导建立数学模型...............................................
3 二级倒立摆系统性能分析.......................................
稳定性分析..................................................
能控性能观性分析............................................
4 状态反馈极点配置.............................................
二级倒立摆的最优极点配置1 ..................................
二级倒立摆最优极点配置2 ......................................
5. 二级倒立摆matlab仿真....................................... Simulink搭建开环系统......................................... 开环系统Simulink仿真结果..................................... Simulink搭建极点配置后的闭环系统............................. 极点配置Simulink仿真结果...................................... 第一组极点配置仿真结果........................................ 第二组极点配置仿真结果........................................
6.结论.........................................................
7.参考文献..................................................... 附录一.........................................................
1.绪论
倒立摆最初诞生于麻省理工学院,仅有一级摆杆,另一端铰接于可以在直线导轨上自由滑动的小车上。后来在此基础上,人们又进行拓展,设计出了直线二级倒立摆、环型倒立摆、平面倒立摆、柔性连接倒立摆、多级倒立摆等实验设备。
在控制理论的发展过程中,为验证某一理论在实际应用中的可行性需要按其理论设计的控制器去控制一个典型对象来验证。倒立摆系统作为一个实验装置,形象直观,结构简单,成本低廉;作为一个控制对象,他又相当复杂,同时就其本身而言,是一个高阶次、不稳定、多变量、非线性、强耦合系统,只有采取行之有效的控制方法才能使之稳定,因此倒立摆装置被公认为是自动控制理论中的典型实验设备。
综合文献资料,倒立摆控制的方法主要有:PID控制,状态反馈,利用云模型,神经网络控制,遗传算法,自适应控制,模糊控制,变论域自适应模糊控制理论,智能控制等多种算法来实现倒立摆的控制。
本文主要构建二级倒立摆的数学模型的建立与分析,对倒立摆系统进行控制方法的研究。本文就以下几个问题进行了论述。
1.二级倒立摆的数学模型的建立与分析。
在建模部分,首先采用拉格朗日方程推导数学模型,并对系统的可控性可观性进行分析,并分析倒立摆系统控制的难易程度。
2.二级倒立摆的控制原理及方法的研究。
本文主要采用状态反馈极点配置的方法对二级倒立摆进行研究。
3.采用Matlab语言进行数字仿真,分析仿真结果。
2 数学模型的建立和分析
数学建模的方法
所谓系统的数学模型就是利用数学结构来反映系统内部之间、内部与外部某些因素之间的精确的定量的表示。它是分析、设计、预报和控制一个系统的基础,所以要对一个系统进行研究,首先要建立它的数学模型。
建立倒立摆系统的模型时,一般采用牛顿运动规律,结果要解算大量的微分方程组,而且考虑到质点组受到的约束条件,建模问题将更加复杂,
为此本文采用分析力学方法中的Lagrange方程推导倒立摆的系统模型。Lagrange方程有如下特点:
1.它是以广义坐标表达的任意完整系统的运动方程式,方程式的数目和系统的自由度是一致的。
2.理想约束反力不出现在方程组中,因此在建立运动方程式时,只需分析已知的主动力,而不必分析未知的约束反力。
方程是以能量观点建立起来的运动方程,为了列出系统的运动方程,只需要从两个方面去分析,一个是表征系统运动的动力学量-系统的动能,另一个是表征主动力作用的动力学量-广义力。
因此用Lagrange方程来求解系统的动力学方程可以大大简化建模过程。
二级倒立摆的结构和工作原理
如图,系统包括计算机、运动控制卡、伺服机构、倒立摆本体(小车,上摆,下摆,皮带轮等)和光电码盘几大部分,组成了一个闭环系统。光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,下面一节摆杆(和小车相连)的角度、角速度信号由光电码盘2反馈回控制卡和伺服驱动器,上面一节摆杆的角度和角速度信号则由光电码盘3反馈。计算机从运动控制卡中读取实时数据,确定控制决策(小车向哪个方向移动、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相
应的控制量,使电机转动,带动小车运动,保持两节摆杆的平衡。
图系统结构和工作原理图
拉格朗日运动方程
拉格朗日提出了用能量的方法推导物理系统的数学模型,首先我们引入广义坐标,拉格朗日方程。
广义坐标:系统的广义坐标是描述系统运动必需的一组独立坐标,广义坐标数等同于系统自由度数。如果系统的运动用n维广义坐标q1,q2,…q n 来表示,我们可以把这n维广义坐标看成是n维空间的n位坐标系中的坐标。对于任一系统可由n维空间中的一点来表征。系统在n维空间中运动形成的若干系统点连成一条曲线,此曲线表示系统点的轨迹。
拉格朗日方程:
L (L ,L )=L (L ,L )?L (L ,L )
式中,L —— 拉格朗日算子,
q —— 系统的广义坐标,
T —— 系统的动能,
V —— 系统的势能。
拉格朗日方程由广义坐标i q 和L 表示为:
d ?L ?L L ??L
?L L
=L L
式中,n i 3,2,1=,i f ——系统沿该广义坐标方向上的外力,在本系统中,设系统的三个广义坐标分别是21,,θθx 。 推导建立数学模型
在推导数学模型之前,我们需要几点必要的假设: 1.上摆、下摆及小车均是刚体;
2.皮带轮与传动带之间无相对滑动;传动皮带无伸长现象;
3.小车运动时所受的摩擦力正比于小车的速度;
4.小车的驱动力与直流放大器的输入成正比,且无滞后,忽略电机电枢绕组中的电感;
5.下摆转动时所受到的摩擦力矩正比于下摆的转动速度;
6.上摆运动时所受到的摩擦力矩正比于上摆对下摆的相对角速度; 二级倒立摆的运动分析示意图如图
图 二级倒立摆运动分析示意图
倒立摆系统参数如下: 小车系统的等效质量M = 摆杆1 质量1m = 摆杆1 转动中心到杆质心距离1l = 摆杆2 质量m 2= 摆杆2 转动中心到杆质心距离l 2=
质量块质量3m =
作用在系统上的外力F 摆杆1 与垂直向上方向的夹角1θ 摆杆2 与垂直向上方向的夹角
2θ
首先,计算系统的动能:
321m m m M T T T T T +++=
M T 小车动能:
L L =1
2LL 2
1m T 摆杆1动能:
111m m m T T T ''+'=
式中,L m1′--摆杆1质心平东动能
L m1′′--摆杆1绕质心转动动能
22
'11111
1(sin )(cos )12m d x l d l T m dt dt θθ??-????=+= ? ? ? ???????222
1111111111cos 22m x m l x m l θθθ-+
2
12112121121'
'161312121θθω l m l m J T p m =???
? ??==
则
21
211111121'
'1'113
2cos 21θθθ l m x l m x m T T T m m m +-=
+=
2m T 摆杆2动能:
222m m
m T T T ''+'=
式中,L m2′--摆杆1质心平东动能
L m2′′--摆杆1绕质心转动动能
()
()
2
2
211122*********
1
2cos cos 2sin sin 2
2
m x l l m l l θθθθθθθθ=
--+
+
2222222222222'
'261312121θωω l m l m J T m =??
? ??==
()??
?
??-+++122121222221212cos 434421θθθθθθ l l l l m
3m T 质量块动能:
2223311131112cos 22
m x m l x m l θθθ=-+
因此,可以得到系统总动能:
21
2131113232cos 22
1θθθ l m x l m x m +-+
系统的势能为:
()11131121122cos 2cos 2cos cos m gl m gl m g l l θθθθ=+++
至此得到拉格朗日算子L :
()22112113cos cos 2cos 2θθθl l g m gl m +--
由于因为在广义坐标21,θθ上均无外力作用,有以下等式成立:
01
1=??-???? ????θθL
L dt d
02
2=??-???? ????θθL L dt d
展开、式,分别得到、式 0))cos sin ))((2(11321=++++θθx
g m m m
22111222112123sin 6sin()46cos()3cos 0g l l l x θθθθθθθθθ---++--=
将、式对2
1,θθ 求解代数方程,得到以下两式 )))(cos 912124(2(212
23211θθ-+---m m m m l
))(cos 4))(3(9
16(2122
2212222213212θθ-+++-
l l m l l m m m m
表示成以下形式: ),,,,,,(212111x x x f θθθθθ=
),,,,,,(212122x x x f θθθθθ=
取平衡位置时各变量的初值为零,
1212(,,,,,,)(0,0,0,0,0,0,0)0A x x x θθθθ===
将式在平衡位置进行泰勒级数展开,并线性化,令
1
110
0A f K x
=?=
=?
1231120
11231
3(244)
2(4312)A gm gm gm f K m m m l θ=---?=
=?---
12130
2
1231
92(4312)A f m g
K m m m l θ=?=
=
?---
1140
0A f K x
=?=
=?
1150
10A f K θ=?==?
1160
2
0A f K θ=?==?
1231170
1231
3(24)
2(4312)A m m m f K x
m m m l =---?=
=
?---
得到线性化之后的公式
x K K K 172131121++=θθθ
将),,,,,,(212122x x x f θθθθθ=在平衡位置进行泰勒级数展开,并线性化,令
2
210
0A f K x
=?==?
1232
220
1
221232
2(2())16
4(3())9A g m m m f K m l m m m l θ=++?=
=
?-++
1232
230
2
2212324(3())16
3(4(3()))
9A g m m m f K m l m m m l θ=++?==-
?-++
2240
0A f K x
=?=
=?
2250
10A f K θ=?==?
2260
2
0A f K θ=?=
=?
1231232270
221232
4
2(2())(3()
316
4(3())9
A m m m m m m f K x
m l m m m l =++-++?=
=
?-++
得到 x K K K 272231222++=θθθ
即:
x K K K 172131121++=θθθ
x K K K 272231222++=θθθ
现在得到了两个线性微分方程,由于我们采用加速度作为输入,因此
还需加上一个方程:
x
u =
取状态变量如下:
???????????======2
6
1
542
31
21θθθθ x x x x x x x x
则状态空间方程如下:
u K K x x x x x x K K K K x x x x x x
?
?
?
???
?
???
??????????+???????????????????????????????????
?????=???????????????????
?271765432123
221312654321100000000000000000100000010000001000
将以下参数代入 ???????????=======27
.009.08.9208.0132.004
.032.12
13
2
1l l g m m m M 求出各个K 值:
得到状态方程各个参数矩阵: 3 二级倒立摆系统性能分析 稳定性分析
二级倒立摆的特征方程为:
det()0I A λ-=
Matlab 中,用函数eig(A )来计算系统矩阵的特征值,经过计算,系统的特征值为:
[]9.5972 4.77259.5972 4.772500λ=-- 开环系统有两个开环极点位于S 平面右半平面上,所以系统是不稳定的。
同时,根据前面的状态空间表达式,在matlab 中,用step(A,B,C,D)函数对系统的阶跃响应进行分析:
图1 开环系统单位阶跃响应
从上图可以看出,在阶跃响应的作用下,系统是发散的。 能控性能观性分析 对于线形状态方程
X AX BU
Y CX
=+=
其能控性矩阵为:
23450[,,,,,]T B AB A B A B A B A B =
求0T 的秩
0()6rank T =
所以系统是完全能控的。 其能观性矩阵为:
L 0=[L ,LL ,LL 2,LL 3,LL 4,LL 5]L
求0C 的秩
0rank()=6C
所以系统是完全能观的。(代码见附录)
由上述计算结果可知,二级倒立摆系统是开环不稳定系统,但它的状
态是完全能控且完全能观测的。因此,可以对其实现闭环最优控制。 4 状态反馈极点配置
二级倒立摆的最优极点配置1
在式中,A 为6*6阵;B 为6*1阵;C 为3*6阵。是一个单输入系统,且完全能控、能观测。因此,可按照最优控制系统的极点配置方法进行设计。
对于一般控制系统,闭环主导极点的选取应使0.4≤ε≤0.8。但二级倒立摆是一个特殊的高阶系统,稳定性是主要矛盾,因此可适当增加ε,即适当降低响应速度,来弥补系统稳定性要求。相应在选择性能指标时,应适当减小系统的超调量。
对于二阶倒立摆系统,主要针对如下两个主要的性能指标进行设计:超调量:σ≤0.005
调节时间:L L≤2.5L
σ=L ?
√2
L
L L=4?LL√1?L2
LL L
这里,误差范围取为2%,将上述性能指标代入式和式得到二级倒立摆系统的2个性能指标满足ε≥0.826,L L≥2.17,取ε=0.826,L L=2.17将得到的阻尼比与自然角频率代入下式:
L1,L2=?L L L±LL L√1?L2
得到二级倒立摆系统的2个主导极点为:
L1=?1.87+1.11L,L2=?1.87?1.11L
对于其他四个非主导极点,不妨设为四重极点,且距主导极点10倍以上,即满足下式:
||L3||=||L4||=||L5||=||L6||≥10?2.17=21.7
所以,另外四个非主导极点取为:L3=L4=L5=L6=?22
到此,二级倒立摆的6个极点都已确定。
P=[+ -22 -22 -22 -22] ()
在matlab中输入K=acker(A,B,P)可求得:
K =
+03 *
至此,完成了二级倒立摆控制器的设计。接下来在matlab中仿真得到:
图2 极点配置后单位阶跃响应1
二级倒立摆最优极点配置2
在上述基础上,继续调整超调量和调整时间,使二级倒立摆达到稳定。第二次取:
超调量:σ≤0.05
调节时间:L L≤2.5L
这里,误差范围仍取为2%,代入式和式得到二级倒立摆系统的2个性能指标满足ε≥0.69,L L≥2.51,取ε=0.69,L L=2.51将得到的阻尼比与自然角频率式得到第二组主导极点:
L1=?1.73+1.81L,L2=?1.73?1.81L
对于其他四个非主导极点,不妨设为四重极点,且距主导极点10倍以上,即满足下式:
||L3||=||L4||=||L5||=||L6||≥12?2.5=30
所以,另外四个非主导极点取为:L3=L4=L5=L6=?30
因此,第二组极点P2=[+ -30 -30 -30 -30]
在matlab中输入K2=acker(A,B,P2)可求得:
K2 =
+03 *
接下来绘制极点配置后系统的单位阶跃响应图:
图3极点配置后单位阶跃响应2
5. 二级倒立摆matlab仿真
Simulink搭建开环系统
图4 开环系统仿真图
开环系统Simulink仿真结果
图5 开环系统matlab仿真结果图
由上图可知,在Simulink中搭建的开环系统是发散的,与理论计算的结果吻合。
Simulink搭建极点配置后的闭环系统
图6 极点配置优化后的系统结构图
极点配置Simulink仿真结果
第一组极点配置仿真结果
图7 极点配置优化后的结果图
图8 小车位移曲线
图9 一级倒立摆角度曲线
图10 二级倒立摆角度曲线
从以上的图片可以看出,系统在给定输入的情况下,1秒左右恢复到平衡点的位置附近,系统较好的快速性、稳定性和精确性都非常理想,且无超调量,符合要求。
第二组极点配置仿真结果
图11 极点配置优化后的结果图
图12 小车位移曲线
图13 一级倒立摆角度曲线
图14 二级倒立摆角度曲线
与第一组极点相比,超调量略有增加,但调整时间有所下降,且都达到稳定状态符合要求。
6.结论
倒立摆系统就其本身而言,是一个多变量、快速、严重非线性和绝对不稳定系统,必需采用有效的控制法使之稳定,对倒立摆系统的研究在理论上和方法论上均有着深远的意义。
本文借助拉格朗日方程,建立了二级倒立摆的数学模型,并通过线性化,得到了二级倒立摆系统的状态空间模型。应用现代控制理论,分析了倒立摆的稳定性、能控性、能观性。随后采用二次型最优控制理论研究了倒立摆控制问题,并且运用状态反馈极点配置的方法得到较好的控制效果。最后进行了Matlab仿真,通过优化前后优化后的响应曲线可以看出经过
极点配置算法优化后的系统响应的速度加快,超调量明显减少,稳定时间和上升时间有所减少,系统的动态性能和静态性能要比没有优化的控制效果好了很多。
7.参考文献
[1]刘豹唐万生现代控制理论(第三版)机械工业出版社
[2]夏德钤翁贻方自动控制理论(第4版)机械工业出版社
[3]李国勇程永强计算机仿真技术与CAD—基于matlab的控制系统(第三版)电子工业出版社
[4] 基于LQR的二级倒立摆控制系统研究 [本科毕业论文]
[5]汤唯基于直线二级倒立摆控制系统的研究 [硕士学位论文]
[6]基于极点配置的倒立摆控制器设计 [硕士学位论文]
附录一
%-------------------------阶跃响应下系统的稳定性
------------------
A=[0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1;0 0 0 0 0 0;
0 0 0 0;0 0 0 0];
B=[0;0;0;1;;];
C=[1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];
D=[0;0;0];
step(A,B,C,D) %绘制阶跃响应
%--------------------------能控能观性判断
-------------------------
A=[0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1;0 0 0 0 0 0;
0 0 0 0;0 0 0 0];
B=[0;0;0;1;;];
C=[1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];
D=[0;0;0];
Uc=ctrb(A,B) %求能控矩阵
rank(Uc) %求能控阵的秩
Vo=obsv(A,C) %求能观矩阵
rank(Vo) %求能观矩阵的秩
%---------------------------极点配置----------------A=[0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
0 0 0 0 0 0;
0 0 0 0;
0 0 0 0];
B=[0;0;0;1;;];
C=[1 0 0 0 0 0;
0 1 0 0 0 0;
0 0 1 0 0 0];
P=[+ -22 -22 -22 -22]; %
K=acker(A,B,P); %就反馈矩阵
A1= A1=A-B*K;
step(A1,B,C,D)
%---------------------------极点配置
2---------------------------
A=[0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
0 0 0 0 0 0;
0 0 0 0;
0 0 0 0];
B=[0;0;0;1;;];
C=[1 0 0 0 0 0;
0 1 0 0 0 0;
0 0 1 0 0 0];
D=0;
P2=[+ -30 -30 -30 -30]; %
K2=acker(A,B,P2) %求反馈矩阵A2=A-B*K2;
step(A2,B,C,D)