完整版一级倒立摆的Simulink仿真.docx
- 文档编号:9061089
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:12
- 大小:175.92KB
完整版一级倒立摆的Simulink仿真.docx
《完整版一级倒立摆的Simulink仿真.docx》由会员分享,可在线阅读,更多相关《完整版一级倒立摆的Simulink仿真.docx(12页珍藏版)》请在冰豆网上搜索。
完整版一级倒立摆的Simulink仿真
单级倒立摆稳定控制
直线一级倒立摆系统在忽略了空气阻力及各种摩擦之后,可抽象成小车和匀质摆杆组成的系统,如图1所示。
图2控制系统结构
假设小车质量M=0.5kg,匀质摆杆质量m=0.2kg,摆杆长度21=0.6m,x(t)为小车的水平
位移,9为摆杆的角位移,
2
g9.8m/s。
控制的目标是通过外力
u(t)使得摆直立向上(即
(t)0)。
该系统的非线性模型为:
(mlcos)xmglsin甘中.
2
(Mm)x(mlsin)u
解:
非线性模型线性化及建立状态空间模型
因为在工作点附近(0,0)对系统进行线性化,所以
sin
可以做如下线性化处理:
3
cos3!
2
1一
2!
当B很小时,由cosB、sinB的幕级数展开式可知,忽略高次项后,可得cosB帘sinB~,BB'A2^0;
因此模型线性化后如下:
(J+m|A2)B''+mlx''=mglB
(a)
mlB''+(M+m)x''=u(b)
其中J
1ml2
3
取系统的状态变量为
X1x,X2
X,X3
X4
输出y[x
]T包括小车位移和摆杆
的角位移•
x1
即X=x2
xY=
x1
x3
x4
由线性化后运动方程组得
X1'=x'=x2
x2'二x'
3mg
4(Mm)3mx3+4(Mm)3mU
X3'=B'=x4
x4'=B'
3(Mm)gx3+—
4(Mm)l3ml4(M
3
m)l
3ml
0
1
0
x1'
0
0
3mg
X'-
x2'
4(M
m)
3m
X-
x3'
=0
0
0
x4'
0
0
3(M
m)g
0
0
4(M
m)l
3ml
u
X1'
0
1
0
0
x1
x2'
0
0
267270
x2
X'-
x3
0
0
0
1
x3
x4'
x4
0
0
3118180
故空间状态方程如下:
0
0
x1
4
0
x2
+
4(M
m)
3m
1
x3
0
0
x4
3
kJ
4(M
m)l
3ml
0
1.8182
+u
0
45455
x1
x11000x2Y==
x30010x3
x4
、通过Matlab仿真判断系统的可控与可观性,并说明其物理意义
1)判断可控性
代码:
A=[0
1
0
0;
0
0
-2.627
0;
0
0
0
;
0
0
31.1818
0];
B=[0;1.8182;0;-4.5455];
P=ctrb(A,B);
n=rank(P);运行了得n=4所以P为满秩,系统能控2)判断可观性
代码:
A=[01
00;
0
0
-2.627
0;
0
0
0
;
0
0
31.1818
0];
B=[0;1.8182;0;-4.5455];
C=[1000;
0010];
P=obsv(A,C);n=rank(P);
运行了得n=4
所以P为满秩,系统能观。
三、能否通过状态反馈任意配置系统的极点?
若能,通过Matlab仿
真确定反馈控制规律K(如图2),使得闭环极点配置在
11,22,3.41j上。
并给出系统在施加一个单位脉冲输入时
状态响应曲线;
答:
因为系统完全能控,所以能通过状态反馈任意配置系统的极点。
要将闭环极点配置在11,22,3.41j上,所以期望特征方程为
|刀一(A-BK)|=(入+1)*(廿2)*((Z+1)A2+1)
=於4+5於3+10於2+10入+4
Matlab求解K如下:
A=[0
1
00;
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的响应图:
21
12
8
4I
2
2
6
8
1LI
0的响应图:
配置后:
X的响应图:
加入极点配置仿真图
(2)
0的响应图:
四、用MatLab中的lqr函数,可以得到最优控制器对应的K。
要求用LQR控制算法控制倒立摆摆动至竖直状态,并可以控制倒立摆左移和右移;
欲对系统进行最优状态反馈设计,及小化性能指标为:
1乂TT
J=牙£[XTQX+UTRU]dt
编写matalab程序如下:
A=[0100;
00-2.6270;
0001;
0031.18180];
B=[0;1.8182;0;-4.5455];
C=[1000;
0010];
D=[0;0]x=1;y=1;
Q=[x000;
0000;
00y0;
0000];
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.100.10];[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的响应图:
冒自戸理冗1鋤ES語日,
o的响应图:
五、写出本次仿真实验的心得体会。
本实验,从数学建模到仿真系统的搭建,再到加进控制环节进行实时控制,最后得出结果的过程中,参考了大量的资料,通过对比整合,设计出了适合自己的一套实验方法:
倒立摆数学模型推导部分:
首先用线性化数学模型,接着用动态系统空间状态方程法导出状态方程系数矩阵,然后用MATLAB对系统进行可
控可观判断及进行几点配置,加入配置后在Simulink软件上进行系统仿真。
最
后通过matlab求解线性二次型最优控制的G矩阵,然后加入形同进行Simulink仿真。
通过本实验,掌握了倒立摆仿真的整个过程,熟悉了MATLAB的仿真软件Simulink的使用,也对系统控制有了较好的理解。
通过仿真,再次认识到了自动控制在改善系统性能方面的重要性,并激发了良好的关于系统控制方面的学习兴趣。
除此之外,通过本次大作业,让我学会了很多word的操作,在此基
础上,相信在以后的学习将会有较大帮助。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 一级 倒立 Simulink 仿真