一级倒立摆的Simulink仿真_倒立摆simulink仿真

2020-02-27 其他范文 下载本文

一级倒立摆的Simulink仿真由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“倒立摆simulink仿真”。

单级倒立摆稳定控制

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

杆长为2mgu

图1 直线一级倒立摆系统

图2 控制系统结构

假设小车质量M =0.5kg,匀质摆杆质量m=0.2kg,摆杆长度2l =0.6m,x(t)为小车的水平位移,θ为摆杆的角位移,g9.8m/s2。控制的目标是通过外力u(t)使得摆直立向上(即(t)0)。该系统的非线性模型为:

(mlcos)12mglsin(Jml2)xJml。,其中

23(mlsin)u(mlcos)(Mm)x解:

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

0)对系统进行线性化,所以 因为在工作点附近(0,sin33!可以做如下线性化处理:,cos122!当θ很小时,由cosθ、sinθ的幂级数展开式可知,忽略高次项后,可得cosθ≈1,sinθ≈θ,θ’^2≈0;

因此模型线性化后如下:

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

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

13,输出y[x,x3,x4取系统的状态变量为x1x,x2x的角位移.]T包括小车位移和摆杆x1xx2x'xx1即X== Y==

x3x3x4'由线性化后运动方程组得

3mg4X1’=x’=x2 x2’=x’’=x3+u

4(Mm)3m4(Mm)3m3(Mm)g3X3’ =θ’=x4 x4’=θ’’=x3+u

4(Mm)l3ml4(Mm)l3ml故空间状态方程如下:

0x1'0x2'X’==x3'0x4'010003mgx14004(Mm)3mx24(Mm)3m

+  0010x3x43(Mm)g3004(Mm)l3ml4(Mm)l3mlu

x1'0x2'0X’=x3'=0x4'01000x11.8182x202.67270  +  u

x30010x4031.181804.5455

x1x11000x2Y= =

x30010x3x4

二、通过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

0];P=obsv(A,C);n=rank(P);运行了得n= 4 所以P为满秩,系统能观。

三、能否通过状态反馈任意配置系统的极点?若能,通过Matlab仿真确定反馈控制规律K(如图2),使得闭环极点配置在11,22,3.41j上。并给出系统在施加一个单位脉冲输入时状态响应曲线;

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

要将闭环极点配置在11,22,3.41j上,所以期望特征方程为 |λ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的响应图:

Θ的响应图:

四、用MatLab中的lqr函数,可以得到最优控制器对应的K。要求用LQR控制算法控制倒立摆摆动至竖直状态,并可以控制倒立摆左移和右移;

欲对系统进行最优状态反馈设计,及小化性能指标为: J= 2 0 XTQX+UTRU dt 编写matalab程序如下: A=[0 1 0 0;0 0-2.627 0;0 0 0 1;1 ∞0 0 31.1818 0];B=[0;1.8182;0;-4.5455];C=[1 0 0 0;0 0 1 0];D=[0;0] x=1;y=1;Q=[x 0 0 0;0 0 0 0;0 0 y 0;0 0 0 0];R=1;G=lqr(A,B,Q,R);A1=[(A-B*G)];B1=[B];C1=[C];D1=[D];t=0:0.01:5;U=zeros(size(t));x0=[0.1 0 0.1 0];[Y,X]=lsim(A1,B1,C1,D1,U,t,x0);plot(t,Y);legend('小车','倒立摆');运行可得:

G=[-1-1.5495-18.68-3.4559]

由图分析可得调节时间很长,所以增加Q的比重,将 上程序中的x,y改为x=150,y=150.运行可得:

G=[-12.247-9.3413-41.934-7.7732] 比较可得,控制效果明显改善。但反馈增益变大,意味着控制作用变强,消耗能量变大。

将G放入系统中,进行simulink仿真可得: 仿真电路图:

仿真结果:

X的响应图:

Θ的响应图:

五、写出本次仿真实验的心得体会。

本实验,从数学建模到仿真系统的搭建,再到加进控制环节进行实时控制,最后得出结果的过程中,参考了大量的资料,通过对比整合,设计出了适合自己的一套实验方法:倒立摆数学模型推导部分:首先用线性化数学模型,接着用动态系统空间状态方程法导出状态方程系数矩阵,然后用MATLAB对系统进行可控可观判断及进行几点配置,加入配置后在Simulink软件上进行系统仿真。最后通过matlab求解线性二次型最优控制的G矩阵,然后加入形同进行Simulink仿真。通过本实验,掌握了倒立摆仿真的整个过程,熟悉了MATLAB的仿真软件Simulink的使用,也对系统控制有了较好的理解。通过仿真,再次认识到了自动控制在改善系统性能方面的重要性,并激发了良好的关于系统控制方面的学习兴趣。除此之外,通过本次大作业,让我学会了很多word的操作,在此基础上,相信在以后的学习将会有较大帮助。

《一级倒立摆的Simulink仿真.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
一级倒立摆的Simulink仿真
点击下载文档
相关专题 倒立摆simulink仿真 Simulink 倒立摆simulink仿真 Simulink
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文