综
合
性
实
验
设
计
题目:直线一级倒立摆
班级:0802
姓名:郭长春
指导老师:张白莉学号:200807211065摘要
倒立摆是一个复杂的多变量强祸合不稳定非线性的系统,借助于
这样一个系统可以有效的检测各种控制理论的好坏。本论文研究了倒立摆系统的建模方法,采用Lagrange方程对一级倒立摆系统进行建模。针对倒立摆的状态空间方程,采用MatLab软件对倒立摆的稳定性,能控性,能观性和可控度做了分析;采用最优控制理论对倒立摆系统进行稳摆控制并进行仿真,并利用该理论将倒立摆的数学模型加以改进,并对改进后的倒立。经过仿真分析确认改进后的倒立摆系统
控制效果得到了明显的改善。
正文
1.倒立摆系统研究的背景
随着各种控制理论的发展,理论的正确性,它在实际应用中的可行性,都需要用一个
典型的对象来验证,这种控制对象必须能够比较各种控制理论的优劣。倒立摆系统就是我们
需要的理想的实验控制平台。倒立摆控制系统,是一个复杂的多变量强祸合不稳定非线性系
统。对倒立摆系统进行研究,能有效的反映控制策略中的许多典型问题,针对倒立摆而研
究的控制方法在双足机器人的行走平衡方面、军工方面、火箭发射过程的垂直度控制、卫星
在飞行中的姿态控制以及日常生产过程和生活领域中的应用都非常广泛。因此,倒立摆系统
的研究,有着重要的工业背景和实际意义。
2.直线一级倒立摆系统的建模
直线一级倒立摆的工作原理可简述为:用一种强有力的控制方法使小车以一定的规律来回运动,从而使摆杆在垂平面内稳定下来。这样的系统就是倒立摆的控制系统如下图所示若小车不动,摆杆会由于重力作用倒下来若在水平方向给小车一个力,则摆杆受到一个力矩,这个力矩使摆杆朝与小车相反的方向运动,通过规律性的改变小车的受力方向使得摆杆在竖直方向左右摆动从而实现摆杆在竖直方向的动态平衡。在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统。如下如所示。
图倒立摆系统
其中: M 小车的质量 m 摆杆的质量 b 小车的摩擦系数 l 摆杆转动轴心到杆质心的长度 I 摆杆的惯量 F 加在小车上的力 X 小车的位置
φ
摆杆与垂直向上方向的夹角 θ
摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下) 图是系统中小车和摆杆的受力分析图。其中,N 和 P 为小车与摆杆相互作用力的水平和
垂直方向的分量。
注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定 义如图所示,图示方向为矢量正方向。
分析小车水平方向所受的合力,可以得到以下方程:
M x = F - bx - N
由摆杆水平方向的受力进行分析可以得到下面等式:
θ θ θ θ
θ
? 1 1
1
N = m d 2 dt 2
( x + l sin θ )
即:
N = m x + ml cos θ - ml θ 2 s in θ
把这个等式代入式(3-1)中,就得到系统的第一个运动方程:
(M + m ) x + bx + ml cos θ - ml θ 2 sin θ = F
为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下
面方程:
P - mg = m
d 2 dt 2
(l cos θ )
P - mg = -ml sin θ - ml θ 2
cos θ
力矩平衡方程如下:
- Pl sin θ - Nl cos θ = I
注意:此方程中力矩的方向,由于θ = π + φ, cos φ = - cos θ ,sin φ = - sin θ ,故等式前
面有负号。
合并这两个方程,约去 P 和 N ,得到第二个运动方程:
( I + ml 2 ) + mgl sin θ = -mlx cos θ
设 θ = π + φ ( φ 是摆杆与垂直向上方向之间的夹角),假设φ 与 1(单位是弧度)相比
很小,即φ << 1 ,则可以进行近似处理:cos θ = -1,sin θ = -φ, (
控对象的输入力 F ,线性化后两个运动方程如下:
?(I +ml 2)? - mgl ? = mlx ?
?(M + m ) x + bx - ml ? = u
对式(3-9)进行拉普拉斯变换,得到
?( J +m L 2 )? - mg l ? = m Lr
1
1 ?(m 0 + m 1 )r + r - m 1L ? = u
3.传递函数模型
推导传递函数时假设初始条件为 0。
由于输出为角度φ ,求解方程组的第一个方程,可以得到:
( J + m L 2 )
g R(s) = [
-
]Φ( s )
m L
s 2
1
d θ dt )2 = 0 。用u 来代表被
(m + m ) ? 1 ? Φ( s)s - ml Φ( s)s 2 = U ( s) ? +? + ? m L s ? ? m L s ?
-( J + m L 2 ) m 2 g L 2
( J + m L 2 ) ?
J (m + m ) + m m L 2 J (m + m ) + m m L 2 J (m + m ) + m m L 2 ? 0 1 1 ? + m )( J + m L 2 ) - (m ?
φ 1 1 1 1 1 1 0 1 1 0 ? x ? ? x ? ?
? x ? J + m L 2 ? ? ? 0? ? ? ? ?+? 1 ? u ? ?
0? ? ? ? ? ? ?
或
Φ(s) m Ls 2
= 1
R(s) ( J + m L 2 )s 2 - m gL
1 1 1
(18-10)
如果令 v = x ,则有:
Φ( s ) m L
=
1 V ( s ) ( J + m L
2 )s 2 - m gL
1 1
1
把上式代入方程组的第二个方程,得到:
? ( J + m L 2 ) g ? ? ( J + m L 2 ) g ? 1 - 1
1 0 1
2 1 1
整理后得到传递函数:
m L 1 s 2
Φ( s ) q
=
(18-11)
U ( s ) ( J + m L 2 ) (m + m )m gL m gL
s 4 + 1 1 s 3 - s 2 - 1 s
q q q
其中
q = ?(m 0 1 1 1 1L)2 ? 4.状态空间方程模型
设系统状态空间方程为:
X
= AX + Bu y = CX + Du
方程组 对 x, 解代数方程,得到解如下:
? x = x
?
? x = x + ? + u ? J (m + m ) + m m L 2 J (m + m ) + m m L 2 J (m + m ) + m m L 2
1 0 0 1 1 0 1 0 1 1 0 1 0 1
?? = ? ? -m L m gL(m + m ) m L
?? =
1 x + ? + u 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0
整理后得到系统状态空间方程:
?0
1 0
0? ? ? ?
?0 ? ?=? ?? ? ?0 ?? ? ?
?0
?
-( J + m L 2 ) 1 1
J (m + m ) + m m L 2
1 0 1 0 1 0 -m L 1 J (m + m ) + m m L
2 1 0 1 0 1
m 2 g L 2
1
J (m + m ) + m m L 2 1 0 1 0 1
m gL(m + m ) 1 0 1
J (m + m ) + m m L 2
1 0 1 0 1
? 1 1 ? ? x ? J (m + m ) + m m L 2 ? 0 1 0 1 1? ? ? ? 0 ?
? ?? ? ? m L ? 1 ? ? J 1(m 0 + m 1 ) + m 0m 1L 2 ?
y =? ?=?
0 ? ?? x ?? ? ? ? ? ? =
x(s) 0..028s 2 - 0.5 ? x ? ?0 - 0.0989399
0.883392
φ ?? ?0 - 0.1766784 19.434628975 0?? ?? x ?? 0? ?φ ? ? 1.766784452?
? x ? ?1 0 0 0? ? x ?
?0?
y =? ?=? ?φ ? ? 0 0 1 0?? ?φ ? ??0?? ? ? ?
? x ? ? x ? ? 1 ?φ ? ? 0
0 0 0 1
0 ? ?φ ? + ?φ ?
? 0 ?
? 0 ? u
(18-13)
5.系统的物理参数
代入倒立摆系统的参数。
小车的质量:M=1k g
摆杆的质量:m=0.1k g
小车的摩擦系数:b=0.1N/(m · s -1 )
摆杆转动轴心到杆质心的长度:l=0.5m
重力加速度:g=10/ s 2
摆杆惯量:I=0.003kg · m 2
采样频率:0.005s.
将上述数据带入(18-10)
、(18-11)、(18-13)
φ (s)
0.05s 2
摆杆角度与小车位移之间的传递函数:
(18-14)
摆杆角度与小车所受外力之间的传递函数:
φ (s)
1.78253s 2
=
u (s) s 4 + 0.099821s 3 - 19.6078s 2 - 1.78253s
系统的空间状态表达式为:
(18-15)
? x ? ?0 1 0 ? ?=?
?φ ? ?0 0
0 ? ? ?
?
? x ?
? ?
?φ ? +
u 0? ? x ? ? 0 ?
? 0.98939929 ?
+? ?u
1? ?φ ? ? 0 ? ?? ? ? ?
(18-15)
6.经典控制器设计——PID 控制
PID 控制器因其结构简单,容易调节,且不需要对系统建立精确的模型,在控制上应用较广
PID的控制器传递函数为:
G
PID (S)=K S+K+
D P
K K S2+K S+K num
I=D P I=PID(18-17)
S S den
PID
close all
clear all
%设定系统参数
M=1;
m=0.1;
b=0.1;
l=0.5;
I=0.003;
g=9.8;
q=(M+m)*(I+m*l^2)-(m*l)^2
%输入倒立摆的传递函数
num=[m*l/q00];
den=[l b*(I+m*l^2)/q-(M+m)*m*g*l/q-b*m*g*l/q0];
%计算并显示系统未校正的极点
[r,p,k]=residue(num,den);
disp('the poles are:');
p
%设定PID参数
kp=40;
ki=1;
kd=10;
numPID=[kd kp ki];
denPID=[10];
%计算经过PID校正后的闭环传递函数
numc=conv(num,denPID);
denc=polyadd(conv(den,denPID),conv(num,numPID));
%j计算并显示校正后系统的极点
[Rc,Pc,Kc]=residue(num,denc);
disp('the poles are:');
Pc
%纺真原系统在干扰脉冲下的输出曲线图
t=0:0.005:5;
yc=impulse(numc,denc,t);
plot(t,yc);
grid on
title('mpulse Response');
xlabel('Time-sec');
ylabel('Amplitude');
文件中用到两个多项式之和的函数polyadd,他不是MATLAB工具因此必须把他考到polyadd.m文件中并把该文件保存到MATLAB安装路径下的work目录下,polyadd.m:
function[poly]=polyadd(poly1,poly2)
if length(poly1) short=poly1; long=poly2; else short=poly2; long=poly1; end mz=length(long)-length(short); if mz>0 poly=[zeros(1,mz),short]+long; else poly=long+short; end 运行系统得到闭环极点为: p= -6.2264 6.1194 -0.0909 系统位于s平面右半部的极点可见是不稳定的.矫正后闭环极点为: Pc= -32.3411 -3.1918 -0.0002 -0.0002 -0.0002 矫正后系统稳定.矫正后的单位脉冲响应如下图. 参考文献: [1}孙灵芳,孔辉,刘长国等.倒立摆系统及研究现状.机床与液压.2008,36(07):306-309. [2]罗晶,陈平.一阶倒立摆的PID控制.实验室研究与探索.2005,24(11):26^28. [3]杨平,徐春梅,贺茂康等.直线二级倒立摆的PID实时控制.上海电力学院学报.2008,24(03):236-247. [4〕吴昊,秦志,朱学峰等.直线柔性连接两级倒立摆控制器设计.控制工程.2003,10(06):497 ^-499. [5〕杨平,徐春梅,王欢等.直线型一级倒立摆状态反馈控制设计及实现.上海电力学院学报,.2007,23(01):21-25. [6〕袁性忠,姜新建.基于滑模变结构的倒立摆系统稳定控制.控制理论与应用.2004,21(05):720-723. [7]姚利娜,王宏,周靖林等.倒立摆系统的变结构控制方案.控制理论与应用.2004,21(05):724-727. [8]周文彬,朱学峰,陈华艳。基于留优遗传算法的倒立摆最优LQR控制.控制工程.2004,11 (S,):160^-163. [10]Hiroshi Wakuya,Y oichiro Sankai,Y uzuru Morita.Seasonal variation of neuro-controller training period