直线二级倒立摆文档
一、直线二级倒立摆的特点
直线二级倒立摆是一个典型的非线性、高阶次、多变量、强耦合的不稳定系统。首先我们通过二级倒立摆的机械结构来推导其数学模型,然后进行模型的线性化,最后得到系统的线性状态空间模型。直线二级倒立摆是一个开环不稳定的系统,因此我们需要设计控制器来控制小车运动从而使两级摆杆都保持与地面垂直状态。在控制直线二级倒立摆的过程中能够有效地反映控制中的许多关键问题,如系统的非线性、鲁棒性等,因此对倒立摆的研究一直是控制领域中经久不衰的课题。对于直线二级倒立摆常用的经典控制方法有LMI控制和PID控制,现代控制方法有LQR控制和极点配置法,还有H无穷控制、模糊控制等等。
二、直线二级倒立摆的结构和工作原理
图. 1
直线二级倒立摆系统主要由以下几部分组成,如图 1所示。其机械本体主要包括底座(导轨)、小车、驱动小车的交流伺服电机、同步皮带、一级摆杆、二级摆杆、限位开关及光电码盘等。通过控制交流伺服电机,带动皮带转动,在皮带的带动下小车可以在导轨上运动从而控制两级摆杆的运动状态。交流伺服电机带有光电式脉冲编码盘,根据脉冲数目可得出工作轴的回转角度,由传动比换算出小车直线位移。在小车的运动导轨上有用于检测小车位置的传感器,小车位置的信号被传送给控制系统,通过控制算法计算出控制量控制电机,从而控制小车的位置,使两级摆杆垂直于水平面。我们的目的是设计一个控制器,通过控制电机的转动,使两级摆杆稳定在垂直于水平面的位置。
三、直线二级倒立摆的数学模型
若忽略空气阻力和各种摩擦力之后,可将直线一级倒立摆系统抽象成小车和质量均匀的摆杆组成的系统,如图. 2所示。
我们做如下假设: M —— 小车质量
m1 —— 一级摆杆质量 m2 —— 二级摆杆质量
θ1 —— 一级摆杆与垂直向上方向的夹角(摆杆初始位置为垂直向下) θ2 —— 二级摆杆与垂直向上方向的夹角(摆杆初始位置为垂直向下) x —— 小车的位移
L —— 一级摆杆和二级摆杆转轴之间的距离 l1 —— 一级摆杆转动轴心到一级摆杆质心的长度 l2 —— 二级摆杆转动轴心到二级摆杆质心的长度 F —— 加在小车水平方向上的外力 b —— 小车与导轨间滑动摩擦系数 b1 —— O1转动摩擦阻力矩系数 b2 —— O2转动摩擦阻力矩系数 I1 —— 一级摆杆对其质心的转动惯量 I2 —— 二级摆杆对其质心的转动惯量
图. 2
由于Lagrange方程是以能量观点建立起来的运动方程式,列出系统的运动方程式只需从两个方面去分析,一个是表征系统运动的动力学量,系统的动能,另一个是表征主动力作用的动力学量,广义力。故对于复杂系统的数学建模常采用Lagrange方程来求解系统的动力学方程,其具有概念清晰、具有一般性和可以简化建模过程等优点。
对于同时受到保守力和损耗力作用的直线二级倒立摆系统的Lagrange方程为:
dTTVD
Fqi (1) iqiqiqidtq
其中,qi为广义坐标,此处为小车的位移x和各级摆杆的角度θ1、θ2;Fqi为作用在系统上的广义力,当q0=x时,Fqi=F;当q0=θ1,θ2时,Fqi=0;即:
dTTVD
F (2)
xxxdtx
dTTVD (3)
0dt1111dTTVD0 (4) dt2222
T、V、D分别是系统的动能、势能和损耗能,表达式分别为:
TTi , VVi , DDi (5)
i0
i0
i0
nnn
n为倒立摆的级数(此处n=2);Ti为小车和各级倒立摆的动能;Vi为小车和各级倒立摆的势能,Di为小车和各级倒立摆的损耗能。 小车动能:
T0
一级摆杆动能:
1
2 (6) Mx2
22
121dd
T1I11m1xl1sin1l1cos1 (7)
22dtdt
二级摆杆动能:
22
121dd
T2I22m2xLsin1l2sin2Lcos1l2cos2 (8)
22dtdt
小车势能:
V00 (9)
一级摆杆势能:
V1m1gl1cos1 (10)
二级摆杆势能:
2
V2m2gLcos1l2cos2 (11)
小车损耗能:
12
(12) D0bx2
一级摆杆损耗能:
12
D1b11 (13)
2
二级摆杆损耗能:
12 (14) D2b2212
对于直线二级倒立摆,由式(5)得系统的总动能:
TT0T1T2
1121Iml22 (15) 2I1m1l12m2L2Mm1m2x12222222
m2Ll2sin2112m1l1m2Lxcos11m2l2xcos22
系统的总势能:
VV0V1V
系统的总损耗能:
2
m1gl1cos1m2gLcos1l2cos2
(16)
DD0D1D2
(17) 121212b11b2bx21
222
故,对于小车,将式(15)、(16)和(17)带入式(2)得
mlcosm1l1m2Lcos1Mm1m2x12222
(18)
2m1l1m2Lsin11m2l2sin22Fbx
对于一级摆杆,将式(15)、(16)和(17)带入式(3)得
mlLcosI1m1l12m2L2m1l1m2Lcos1x122212
(19)
b1b21b2m2l2Lsin2122m1l1m2Lgsin1
对于一级摆杆,将式(15)、(16)和(17)带入式(4)得
Iml2m2l2Lcos21m2l2cos2x12222
(20)
mlLsinbbmglsin
222112
122222
写成矩阵向量的乘积形式:
x
Q,,,P1,2112122
x
GF,, (21)
121
2
其中
Mm1m2
P1,2m1l1m2Lcos1
m2l2cos2
m1l1m2Lcos1
m2l2Lcos21I1m1l12m2L2
m2l2cos2
m2l2Lcos21 (22)
2
I2m2l2
bm1l1m2Lsin11
,0Q1,2,b1b212
b0m2l2Lsin2112
m2l2sin22
b (23) m2l2Lsin2122
b2
F
(24)
GF,1,2mlmLgsin1121m2gl2sin2
从式(21)可以看出,直线二级倒立摆是一个多变量、复杂的非线性系统。为了便于控制策略的研究,对模型在平衡点附近进行线性化处理。选取平衡点为:
0 1212
则有:
sin11 , sin22 , cos11 , cos21
sin2121 , cos211
P(θ1,θ2)是对称阵,对于实际问题,P(θ1,θ2)还应该是正定的,因此,P-1(θ1,θ2)存在。若忽略二阶以上的高次项,用u代表被控对象的输入力F,则式(21)、(22)、(23)和(24)变为
xxQ0,0,0,0Gu,0,0 (25) P0,01122
其中
Mm1m2
m1l1m2L
m2l2P0,0m1l1m2L
I1m1l22
1m2Lm2l2L
m2l2m2lI2 2L
2m2l2
b
00
Q0,0,0,00b1b2
b2 0b2
b2
u00
0x1Gu,0,0m1l1m2Lg10m1l1m2Lg
0
m2gl220
10u m2gl220
若设
0
0N0,00
m1l1m2Lg
00
m2gl2
则
x1GF,0,0N0,0
10u
20
故式(21)可变为
xx
1P10,0Q0,0,0,0P10,0Gu,0,0122
xx1 P10,0Q0,0,0,01P10,0N(0,0)P10,00u1220
若设定如下状态:
x1x,x21,x32,x4x,x51,x62
其中
x1 —— 小车相对于初始位置的位移
(26)
(27) (28)
(29)
x2 —— 一级摆杆(下摆杆)的转角 x3 —— 二级摆杆(上摆杆)的转角 x4 —— 小车的速度
x5 —— 一级摆杆(下摆杆)的角速度 x6 —— 二级摆杆(上摆杆)的角速度 根据式(21)建立系统的非线性状态空间方程
x
1x4x2x5
3x6x5m2l2cosx3x6mlm2Lcosx2xbx4411x
Mm1m2Mm1m2Mm1m2
22m1l1m2Lsinx2x5m2l2sinx3x6u
Mm1m2Mm1m2Mm1m2
64m2l2Lcosx3x2xb1b2x5mlm2Lcosx2xx511
I1m1l12m2L2I1m1l12m2L2I1m1l12m2L2
m2l2Lsinx3x2x6b2x6m1l1m2Lgsinx2I1m1l12m2L2I1m1l12m2L2
4m2l2Lcosx3x2x5m2l2cosx3xb2x6
x2226
I2m2l2I2m2l2I2m2l2
m2l2Lsinx3x2x5b2x5m2gl2sinx3
22I2m2l2I2m2l2
则根据式(25)可得到如下的状态空间方程:
AXBuX
YCX
其中
Xx1
x2x3x4x5
x6
T
033A
A21I33
A22
A21P10,0N(0,0) A22P10,0Q0,0,0,0 BP10,0100
T
CI66
若其中参数取如下值
M0.52kgm10.33kgm20.42kgL0.36ml10.18ml20.18mb12.5Ns/mb10.0075Ns/mb20.0027Ns/mI10.003564kgm2I20.004536kgm2
则参数矩阵为
001000
000010000001A
1.282120.29450.06240.02011.689
0114.845244.356270.79480.72920.31190123.5638102.025521.63170.98250.5335B0001.62365.66361.7305
T
四、演示算法:LQR控制方法
在Command Window中输入
A=[0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1;0 -11.689 1.2821 -20.2945 0.0624 -0.02;0 114.8452
-44.3562 70.7948 -0.7292 0.3119;0 -123.5638 102.0255 -21.6317 0.9825 -0.5335];
B=[0;0;0;1.6236;-5.6636;1.7305];
Q=[10 0 0 0 0 0;0 10 0 0 0 0;0 0 10 0 0 0;0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1]; R=0.2;
K=lqr(A,B,Q,R) 得反馈矩阵 K = 7.0711 -185.9545 276.7819 5.1163 4.0862 30.1920
设定摆杆初始位置为导轨的中点,导轨长度为1.4m,设定小车的期望平衡位置为50cm处,建立如图 3的Simulink控制框图,其中模型部分根据直线一级倒立摆非线性模型由S函数编写,控制模块根据LQR控制方法建立。得到如图 4的输出曲线(小车位置)、如图 5的输出曲线(一级摆杆角度)和如图 6的输出曲线(二级摆杆角度)。
图3 直线二级摆的Simulink框图
图4 小车位置图
图5 一级摆杆与垂直方向角度图
图6 一级摆杆与垂直方向角度图
参考硕士学位论文《二级倒立摆系统的模糊控制研究》,作者陈泽望,东北大学。