一级倒立摆的Simulink仿真设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单级倒立摆稳定控制

直线一级倒立摆系统在忽略了空气阻力及各种摩擦之后,可抽象成小车和匀质摆杆组成的系统,如图1所示。

mg θ

杆长为

2u

图1 直线一级倒立摆系统

图2 控制系统结构

假设小车质量M =0.5kg ,匀质摆杆质量m=0.2kg ,摆杆长度2l =0.6m ,x (t )为小车的水平位移,θ为摆杆的角位移,2

/8.9s m g =。控制的目标是通过外力u (t)使得摆直立向上(即0)(=t θ)。该系统的非线性模型为:

u ml x

m M ml mgl x

ml ml J +=++=++22)sin ()()cos (sin )cos ()(θθθθθθθ ,其中

231ml J =。 解:

一、 非线性模型线性化及建立状态空间模型

因为在工作点附近(0,0==θ

θ )对系统进行线性化,所以 可以做如下线性化处理:

3

2

sin ,cos 13!

2!θθθθθ≈-

≈-

当θ很小时,由cos θ、sin θ的幂级数展开式可知,忽略高次项后, 可得cos θ≈1,sin θ≈θ,θ’^2≈0;

因此模型线性化后如下:

(J+ml^2)θ’’+mlx ’’=mgl θ (a)

ml θ’’+(M+m) x ’’=u (b) 其中

23

1ml J = 取系统的状态变量为,,,,4321θθ ====x x x

x x x 输出T x y ][θ=包括小车位移和摆杆的角位移.

即X=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡4321x x x x =⎥⎥⎥⎥

⎦⎤

⎢⎢⎢⎢⎣⎡''θθx x Y=⎥⎦⎤⎢⎣⎡θx =⎥⎦⎤⎢⎣⎡31x x

由线性化后运动方程组得 X1’=x ’=x2 x2’=x ’’=

m m M mg 3)(43-+-x3+m

m M 3)(44

-+u

X3’ =θ’=x4 x4’=θ’’=ml l m M g m M 3)(4)(3-++x3+ml

l m M 3)(43

-+-u

故空间状态方程如下:

X ’=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡'4'3'2'1x x x x =⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢

⎢⎢⎢⎣

⎡-++-+-03)(4)(300

100003)(4300001

ml l m M g m M m m M mg ⎥⎥⎥⎥

⎦⎤⎢⎢⎢⎢⎣⎡4321x x x x + ⎥⎥⎥⎥⎥

⎥⎥⎦

⎢⎢⎢⎢⎢⎢⎢⎣⎡-+--+ml l m M m m M 3)(43

03)(440 u

X ’=

⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡'4'3'2'1x x x x =⎥⎥⎥⎥⎦⎤⎢

⎢⎢⎢⎣⎡-01818.3100

100006727.20000

1

⎥⎥⎥⎥⎦⎤

⎢⎢⎢⎢⎣⎡4321x x x x + ⎥

⎥⎥⎥⎦

⎢⎢⎢⎢⎣⎡-5455.408182.10 u

Y= ⎥⎦⎤⎢⎣⎡31x x =⎥

⎦⎤⎢⎣⎡01000001 ⎥⎥

⎥⎥

⎤⎢⎢⎢⎢⎣⎡4321x x x x 二、通过Matlab 仿真判断系统的可控与可观性,并说明其物理意义。

(1)判断可控性 代码:

A=[0 1 0 0;

0 0 -2.627 0; 0 0 0 1; 0 0 31.1818 0];

B=[0;1.8182;0;-4.5455];

P=ctrb(A,B); n=rank(P); 运行了得n= 4

所以P 为满秩,系统能控

(2)判断可观性 代码:

A=[0 1 0 0;

0 0 -2.627 0; 0 0 0 1; 0 0 31.1818 0];

B=[0;1.8182;0;-4.5455]; C=[1 0 0 0;

0 0 1 0]; P=obsv(A,C); n=rank(P); 运行了得n= 4

所以P 为满秩,系统能观。

三、能否通过状态反馈任意配置系统的极点?若能,通过Matlab 仿真确定反馈控制规律K (如图2),使得闭环极点配置在

j ±-=-=-=1,2,14.321λλλ上。并给出系统在施加一个单位脉冲输入时

状态响应曲线;

答: 因为系统完全能控,所以能通过状态反馈任意配置系统的极点。

要将闭环极点配置在j ±-=-=-=1,2,14.321λλλ上,所以期望特征方程为 |λI —(A-BK)|=(λ+1)*(λ+2)*((λ+1)^2+1)

=λ^4+5λ^3+10λ^2+10λ+4

Matlab求解K如下:

A=[0 1 0 0;

0 0 -2.627 0;

0 0 0 1;

0 0 31.1818 0];

B=[0;1.8182;0;-4.5455];

J=[-1 -2 -1+i -1-i];

K=place(A,B,J);

运行得:

K=[ -0.089378 -0.22345 -9.0957 -1.1894];

未加入极点配置。

仿真图:

未进行极点配置仿真电路图(1)X的响应图:

Θ的响应图:

配置后:

加入极点配置仿真图(2)X的响应图:

相关文档
最新文档