当前位置:文档之家› 基于Matlab的一级倒立摆模型的仿真

基于Matlab的一级倒立摆模型的仿真

基于Matlab的一级倒立摆模型的仿真
基于Matlab的一级倒立摆模型的仿真

深圳大学考试答题纸

(以论文、报告等形式考核专用)

二○○九~二○○一零学年度第 2 学期

课程编号课程名称计算机控制系统主讲教师李东评分

学号姓名专业年级2007级光电工程学院测控技术与仪器

教师评语:

题目:一级倒立摆模型的仿真

一、倒立摆模型的研究意义

倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。同时,其控制方法在军工、航天、机器人和一般工业过程领域中都有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射中的垂直度控制和卫星飞行中的姿态控制等。故其研究意义广泛。

二、倒立摆模型的数学建模

质量为m的小球固结于长度为L的细杆(可忽略杆的质量)上,细杆又和质量为M的小车铰接相连。由经验知:通过控制施加在小车上的力F(包括大小和方向)能够使细杆处于θ=0的稳定倒立状态。在忽略其他零件的质量以及各种摩擦和阻尼的条件下,推导小车倒立摆系统的数学模型

分析过程如下:

如图所示,设细杆摆沿顺时针方向转动为正方向,水平向右方向为水平方向上的

正方向。当细杆摆顺时针往右运动时水平方向施加的力应该为水平向右。

现对小车和细杆摆分别进行隔离受力分析:

(1)对小车有: F-F’sinθ=Mx’’(a)

(2)对小球有:

水平方向上运动为 x+lsinθ

故水平方向受力为 F’sinθ= m(x+lsinθ)’’

=m(x’+lcosθθ’)’

= mx’’+mlcosθθ’’-mlsinθ(θ’)^2 (b)

由(a)、(b)两式得F= (M+m)x’’+mlcosθθ’’-mlsinθ(θ’)^2 <1>

小球垂直方向上位移为 lcosθ

故受力为 F’cosθ -mg=m(lcosθ)’’

=-mlθ’’sinθ-mlcosθ(θ’)^2

即F’cosθ=mg-mlθ’’sinθ-mlcosθ(θ’)^2 (c)

由(b)、(c)两式得

cosθx’’ =gsinθ- lθ’’ <2>

故可得以下运动方程组:

F= (M+m)x’’ +mlcosθθ’’-mlsinθ(θ’)^2

cosθx’’ =gsinθ- lθ’’

以上方程组为非线性方程组,故需做如下线性化处理:

3

2

sin ,cos 13!

2!θθθθθ≈-

≈-

当θ很小时,由cos θ、sin θ的幂级数展开式可知,忽略高次项后, 可得cos θ≈1,sin θ≈θ,θ’’≈0 故线性化后运动方程组简化为

F= (M+m)x ’’ +ml θ’’ x ’’ =g θ- l θ’’

下面进行系统状态空间方程的求解:

以摆角θ、角速度θ’、小车位移x 、加速度x ’为系统状态变量,Y 为输出,F

为输入

即X=????????????4321x x x x =????

????????x'x 'θθ Y=??????x θ=???

???31x x

由线性化后运动方程组得 x1’=θ’=x2 x2’=''θ=

()Ml

g m M +x1-Ml

1 F X3’ =x ’=x4 x4’=x ’’=-M

mg x1+M 1

F

故空间状态方程如下:

X ’=????????????'4'3'2'1x x x x =()?????????

???

??

?

???-+00

10000000010

M

mg

Ml

g m M ?

???

??

??????4321x x x x + ????????

??????????-M Ml 1010 F

Y= ??????31x x =?

?????01000001 ??

??

?

?

??????4321x x x x + 0?F 用MATLAB 将状态方程转化成传递函数,取M=2kg m=0.1kg l=0.5m 代入得 >>A=[0 1 0 0;20.58 0 0 0;0 0 0 1;-0.49 0 0 0] >>B=[0;-1;0;0.5] >>C=[1 0 0 0;0 0 1 0]

>>D=[0;0]

den =

1.0000 0 -20.5800 0 0

由上可以得出角度 对力F 的传递函数:

位移X 对外力F 的传递函数:

三、用MATLAB 的Simulink 仿真系统进行建模

1、没校正之前的θ-F 控制系统

由于未加进控制环节,故系统输出发散

58

.201

)()(2

--=Φs s F s 2

4

258.208

.95.0)()(s s s s F s X --=

2、加进控制环节,实现时域的稳定控制

给系统加入PID 控制,设置系统稳定值为0,给系统一个初始干扰冲击信号

采用试凑法不断调整PID 参数,使系统达到所需的控制效果

当系统Kp=-100,Ti=Td=0时输出如下:

不断地调整参数,最后得到稳定的响应 Kp=-1000,Ti=1,Td=-40时

Transfer Fcn

-1

s +-20.582Scope

Pulse

Generator

Integrator 1s Gain 3-40Gain 11Gain -K-Derivative du/dt Constant 0

可见调整好参数后,系统基本达到稳定,净差基本为0,超调较小,响应时间较小。再微调后,得到最终的响应曲线响应时间较小,Tp=0.2s

3、时域达到稳定后,进行离散化分析 离散模型系统控制框图如下

当Kp=-100,Ti=0,Td=0时输出 :发散,需加大Kp 、增加Ti 、Td 控制

Kp=-100,Ti=-2,Td=-1000时输出:仍需要调节PID ,由图可知超调仍大,响应时间稍长,故微增加Kp 、Ti 、Td

Zero -Order

Hold

Transfer Fcn

-1s +-20.582Scope

Pulse Generator

Gain 3-K-Gain 1-2Gain

-K-

Discrete Filter

1

1-z -1Discrete FIR Filter

1-z

-11

Constant 0

反复试凑PID 参数后,得到较好的响应曲线如下(Kp=-110,Ti=-4,Td=-1500时)

可见调整好参数后,系统基本达到稳定,净差基本为0,超调较小,响应时间较小。再微调后,得到最终的响应曲线响应时间较小,Tp=0.5s 。 至此,离散域的控制顺利实现

4、位移—角度控制系统框图(此部分为加分部分,可不做)

由于时间关系,此环节未能顺利完成,深感遗憾!

四、实验总结与分析

1、本实验,从数学建模到仿真系统的搭建,再到加进控制环节进行实时控制,

最后得出结果的过程中,参考了大量的资料,通过对比整合,设计出了适合自己

的一套实验方法:倒立摆数学模型推导部分:首先用牛顿—欧拉方法建立数学模

型,接着用动态系统空间状态方程法导出状态方程系数矩阵,然后用MATLAB 对数学模型进行从状态空间到传递函数的变换(包括传递函数的拉氏变换与Z 变换),得到系统的传递函数模型。接着根据数学建模得出的传递函数进行系统模

Transfer Fcn 1

0.5s +-9.8

2-s

2Transfer Fcn

-1s +-20.582Scope 1

Scope

Pulse Generator

Discrete PID Controller 1

PID Discrete

PID Controller

PID

Constant

相关主题
文本预览
相关文档 最新文档