2
1
1
2
2
1
倒立摆系统的建模及 MA TL AB 仿真
华南理工大学机械工程学院 (510640) 曾志新 邹海明 李伟光 周建辉
【摘要】通过建立倒立摆系统的数学模型 ,应用状态反馈控制配置系统极点设计倒立摆系统的
控制器 ,实现其状态反馈 ,从而使倒立摆系统稳定工作 。之后通过 MA TL AB 软件中 Simulink
工具对倒立摆的运动进行计算机仿真 ,仿真结果表明 ,所设计方法可使系统稳定工作并具有良
好的动静态性能 。
关键词 倒立摆 建模 MA TL AB 仿真
The Model Building of Inverted Pendulum System and Simulation under the
MATLAB Enviroment
Abstract The mathematical model of inverted pendulum system is built , and a controller is designed based
on the pole placement method with f ull state feedback to make the inverted pendulum system work stably.
Then computer simulation for the movement of inverted pendulum is done by the Simulink tool of the MA T
L AB software . The result of simulation shows that this method can make the system work stably and have
good dynamic 、static qualities. Therefore , it is effective.
Keywords inverted pendulum , model building , simulation under the MA TL AB environment
中图分类号 : TP273 文献标识码 :A
倒立摆系统是 1 个经典的快速 、多变量 、非线
性 、绝对不稳定系统 ,是用来检验某种控制理论或方
法的典型方案 。倒立摆控制理论产生的方法和技术
在半导体及精密仪器加工 、机器人技术 、导弹拦截控
制系统和航空器对接控制技术等方面具有广阔的开
发利用前景 。因此研究倒立摆系统具有重要的实践
意义 ,一直受到国内外学者的广泛关注 。
本文就一级倒立摆系统进行分析和研究 ,建立
倒立摆系统的数学模型 ,采用状态反馈极点配置的
方法设计控制器 ,并应用 MA TL AB 软件进行仿真 。
1 一级倒立摆系统的建模
1. 1 系统的物理模型
如图 1 所示 ,在惯性参考系下 ,设小车的质量为
练样本 ,对系统进行重新训练 。实际加工中 ,上述学
习和决策过程均是在事前或加工间隙进行的 ,对其
算法的实时性 (快速性) 并未提出特别苛刻的要求 ,
所以上述思想是切实可行的 。图 3 是基于知识的曲
面磨削系统结构图[ 3 ] 。
究前景 。如何提高曲面的制造精度一直是行业研究
的重要课题 。将磨削过程的数值计算 、图形处理 、优
化设计 、误差分析和实践经验等知识结合起来 ,研究
曲面磨削中的定量计算和定性推理等计算制造问
题 ,为轮槽铣刀前 、后刀面的精密磨削和复杂刀具的
设计加工提供了保障 。对其他曲面的磨削及复杂曲
面的精密加工提供了借鉴经验 。
[参考文献 ]
[ 1 ] Lee Y. S. Manufacturing
drive geometric analysis and
prototyping : An investigation of comp utational manufactur
ing , Proc. of 1999 NSF Design and Manufacturing Grantees
Conference , 1999 :230.
[2 ] 王沉培 ,周艳红 ,周云飞. 复杂形状刀具磨削运动三维图
形仿真的研究. 中国机械工程 ,1998 ,10 (2) :123
[ 3 ] (美) 马尔金
北大学出版社 ,2002
S 著. 磨削技术理论与应用 [ M ]
126.
沈阳 :东
图 3 基于知识的曲面磨削系统结构图
3 结语
计算制造作为新兴的研究领域 ,具有广泛的研
责任编辑 吕 菁
·61·
《新技术新工艺》·数字技术与数字制造 2005 年 第 10 期
¾
¾
¾
¾
M ,摆杆的质量为 m ,
摆杆长度为 l ,在某一
瞬间时刻摆角 (即摆
杆与竖直线的夹角)
为θ,作用在小车上的
水平控制力为 f 。这
样 ,整个倒立摆系统
就受到重力 ,水平控
制力和摩擦力的 3 外
力的共同作用。
1. 2 系统的数学模型[ 1 ]
图 1 一级倒立摆物理模型
在系统数学模型中 ,本文首先假设 : (1) 摆杆为
刚体 。(2) 忽略摆杆与支点之间的摩擦 。(3) 忽略小
车与导轨之间的摩擦 。
然后根据牛顿第二运动定律 ,求得系统的运动
方程为 :
M
d2 x
dt2 + m
mlco sθ d2
d2
dt2 ( x + lsinθ) = f
dt2 ( x + lsinθ) = mgl sinθ
(1)
(2)
方程 (1) , (2) 是非线性方程 ,由于控制的目的是
保持倒立摆直立 ,在施加合适的外力条件下 ,假定θ
很小 ,接近于零是合理的 。则 sinθ≈θ,co sθ≈1 。在
以上假设条件下 ,对方程线性化处理后 ,得倒立摆系
统的数学模型 :
(3)
(4)
x 为状
( M + m) ¨x + ml¨θ = f
ml 2 ¨θ+ ml¨x = mglθ
1. 3 系统的状态方程
以摆角θ,角速度
θ,小车的位移 x ,速度
态变量 ,输出为 y 。即令 :
x =
x1
x2
x3
x4
=
θ
θ
x
θ
y =
y1
y2
y3
y4
=
x1
x2
x3
x4
则一级倒立摆系统的状态方程为 :
x1 = x2 ;
x2 =
M + m
M l
g x 1 -
1
Ml
f ;
x3 = x4 ;
x4
= -
m
M
g x 1 + 1
M
f
即
x1
x2
x3
x4
=
0
g
M + m
M l
0
m
M
-
g
1
0
0
0
0
0
0
0
0
0
1
0
x1
x2
x3
x4
+
0
-
0
1
M
1
Ml
f
¾
0
0
0
1
x1
x2
x3
x4
+ 0 ×f
y =
1
0
0
0
0
1
0
0
0
0
1
0
2 控制器设计及 MA TL AB 仿真
2. 1 极点配置状态反馈的基本原理
极点配置的方法就是通过一个适当的状态反馈
增益矩阵的状态反馈方法 ,将闭环系统的极点配置
到任意期望的位置 。考虑控制系统 :
(5)
x = A x + B u
其中 x 是状态向量 ( n 维向量) , u 是控制信号
(纯量) ,选取控制信号为 :
u = - K x
这 样 控 制 信 号
是由瞬时状态确定 ,
此方法称为极点配
置状态反馈法。图 2
为具有 u = - Kx 的
闭环控制系统。
将式 (6) 代入式
(6)
图 2 状态反馈闭环控制系统
(5) 得 :
x ( t) = ( A - B K) x ( t) ,该方程的解为 :
x ( t) = e( A - B K) t x (0)
式中 x (0) 是外部干扰引起的初始状态 。系统
的稳态响应和瞬态响应特性由矩阵 A - B K 的特征
决定 。如果矩阵 K 选取适当 , 则可使矩阵 A - B K
构成 1 个渐近稳定矩阵 ,并且对所有的 x (0) ≠0 ,当
t 趋于无穷时 ,都可使 x ( t) 趋于 0 。称矩阵 A - B K
的特征值为调节器极点 。如果这些调节器极点均位
于 s 的左半平面内 ,则当 t 趋于无穷时 , x ( t) 趋于 0 。
将闭环极点配置到所期望的位置 , 称为极点配置问
题 。因而极点配置状态反馈控制器的设计最主要就
是 K 值的计算 。
2. 2 极点配置状态反馈控制器的设计
一级倒立摆系统是一个不稳定的系统 。控制器
的目的是使倒立摆系统动态稳定 ,即保持倒立摆在
垂直的位置 ,使小车在外力作用下其位移以较小的
误差跟随输入的变化 。由于系统的动态响应主要是
由他的极点位置决定的 ,同时容易证明一级倒立摆
系统是一个能控而且能观的系统 。因此本文通过极
点配置状态反馈控制器来使系统保持稳定 。
状态反馈控制方程为 : f = - K x =
- [ K1 K2 K3 K4 ] x
闭环系统的方程为 :
选取所期望的闭环极点位置 :μ1 ,μ2 ,μ3 ,μ4
x = A x + B f = ( A - B K) x
《新技术新工艺》·数字技术与数字制造 2005 年 第 10 期
·71·
1
稳定在平衡状态 ,即所有的状态变量都可以稳定在
零状态 。这就意味着即使在初始状态或因存在外界
干扰时 ,摆杆稍有倾斜或小车偏离基准位置导轨中
心 ,依靠该状态反馈控制也可以使摆杆垂直竖立 ,并
使小车保持在基准位置 。相对平衡状态的偏移 ,得
到迅速修正的程度要依赖于指定的特征根的位置 。
一般来说 ,将指定的特征根配置在原点的左侧 ,
离原点越远 ,控制动作就越迅速 ,但相应地需要更大
的控制力和快速的灵敏度 。
图 4a、图 4b 分别是配置极点为 : u1 = - 2 -
j2
3 , u2 = - 2 + j2 3 , u3 = - 10 , u4 = - 10 和 u1 = - 1
- j 3 , u2 = - 1 + j 3 , u3 = - 10 , v4 = - 10 (其中 u1 ,
u2 是主导闭环极点) 一级倒立摆系统的仿真结果图 :
图 4 用极点配置控制的 一级倒立摆系统的仿真结果
从图 4a 和图 4b 比较可知 ,配置极点离原点越
远 ,虽然需要相对大的控制力 ,但是系统达到稳定的
时间越短 ,即控制动作就越迅速 ,灵敏度高 。
比较两图可知 ,配置极点为 : u1 = - 2 -
j2 3 ,
u2 = - 2 + j2 3 , u3 = - 10 , u4 = - 10 的仿真图 ,倒
立摆系统的动静态性能较好 。系统大约在 2 s 内即
可达到稳定 ,过渡过程时间较短 ,超调量也不大 ,各
控制量的大小都比较合理 。
3 结语
本文以倒立摆为研究对象 ,讨论了将极点配置
在期望的区域内的状态反馈控制方法 。从仿真结果
可以看出 ,该方法可以保证系统具有一定的动态和
稳态性能 ,不仅满足闭环系统的内部动态特性要求 ,
也兼顾了抑制外部扰动对系统的影响 。由此可知 ,
极点配置控制方法可以实现摆杆的倒立平衡控制 。
从本文的研究结果还可看出 ,倒立摆系统是研究各
种控制理论的一个理想实验装置 。
[参考文献 ]
现代控制工程. 卢伯英等译. 北
[ 1 ] (美) Kat suhio Ogata 著
京 :电子工业出版社 ,2000.
[ 2 ] 唐新宇. 倒摆问题的研究及控制器设计. 微计算机信息 ,
2003 ,19.
责任编辑 吕 菁
根据如下 MA TL AB 程序可求得状态反馈增益
K(假设小车的质量为 3 kg ,摆杆的质量为 0. 1 kg ,
摆杆的长度为 0. 5 m) ,程序如下 :
g ;
g ;
M = 3 ; m = 0. 1 ; l = 0. 5 ; g = 9. 81 ;
A21 = (M + m) / M/ l
A41 = - m/ M
B21 = - 1/ M/ l ;
B41 = 1/ M ;
A = [ 0 1 0 0 ;A21 0 0 0 ;0 0 0 1 ;A41 0 0 0 ] ;
B = [ 0 ;B21 ;0 ;B41 ] ;
C = [ 1 0 0 0 ;0 1 0 0 ;0 0 1 0 ;0 0 0 1 ] ;
D = 0 ;
M = [B A
J = [μ1 0 0 0 ;0 μ2 0 0 ;0 0 μ3 0 ;0 0 0 μ4 ] ;
jj = poly (J ) ;
Phi = polyvalm (poly (J ) ,A) ;
K = [ 0 0 0 1 ]
求得 :
A = [ 0 1 0 0 ;20. 4048 0 0 0 ;0 0 0 1 ; - 0. 3924 0 0 0 ] ,B
= [ 0 ; - 0. 6667 ;0 ;0. 3333 ] ,C = [ 1 0 0 0 ;0 1 0 0 ;0 0 1
0 ;0 0 0 1 ] ,D = 0
(inv (M) )
B A^2
B A^3
B ] ;
Phi ;
2. 3 MA TL AB 仿真
MATLAB 软件是目前国际上最流行、应用最广
泛的科学与工程计算软件 ,具有高级的数学分析和运
算能力 ,可以如上编写 MATLAB 程序计算倒立摆系
统的状态反馈增益 K;同时还具有强大的动态系统的
分析和仿 真能 力[2 ] 。以 下是 用 MATLAB 软件 中
Simulink 工具箱来设计仿真一级倒立摆系统。
应用 MA TL AB 中的 Simulink 设计用极点配
置控制的一级倒立摆系统的仿真模型如图 3 所示 。
图中 State - Space 模块填入了上面程序计算所得
的 A , B , C , D 值 。然后用 1 个 Bus Selector 输出转
角 、角速度 、位移和速度 4 个量 ,之后用 4 个 Gain
(分别输出参数 K (1) K (2) K (3) K ( 4)
) 和 1 个
Sum 构成状态反馈 ,同时用示波器输出转角 、角速
度 、位移和速度 4 个量 。输出结果如图 4 所示 。
图 3 用极点配置控制的一级倒立摆系统的仿真模型
上述状态反馈可以使处于任意初始状态的系统
·81·
《新技术新工艺》·数字技术与数字制造 2005 年 第 10 期