一级倒立摆的Simulink仿真.docx

合集下载
相关主题
  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 ()(θθθθθ

θθ&&&&&&&&&,其中2

31

ml 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) 其中2

31ml 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)(300100003)(4300001

0ml 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.3100100006727.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的响应图:

相关文档
最新文档