现代控制理论实验程序.docx
《现代控制理论实验程序.docx》由会员分享,可在线阅读,更多相关《现代控制理论实验程序.docx(12页珍藏版)》请在冰豆网上搜索。
![现代控制理论实验程序.docx](https://file1.bdocx.com/fileroot1/2022-11/25/fa1e7e2a-e241-4cbe-a550-49f1c71e4461/fa1e7e2a-e241-4cbe-a550-49f1c71e44611.gif)
现代控制理论实验程序
实验一倒立摆系统状态空间模型
设小车位移为
,倒立摆偏角为
,由动力学方程可得倒立摆动态方程:
1)写出倒立摆系统非线性状态方程
2)对非线性方程进行线性化,得到线性化系统状态方程
3)在simulink中搭建倒立摆系统非线性及线性仿真模型
[实验步骤]:
(1)将微分方程化简,得到:
取如下状态变量:
可得非线性状态方程:
考虑平衡点
附近状态的小扰动变化:
可得:
从而得到倒立摆线性状态空间模型:
线性模型在simulink仿真图如下所示:
非线性模型在simulink仿真图如下所示:
实验二倒立摆系统状态反馈设计与仿真
倒立摆系统的线性状态空间表达式为:
其中,
试利用matlab进行以下分析:
(1)分析系统的能控性;
●如果系统输出为小车的位移
,试分析系统的能观性;
●如果系统输出为倒立摆的摆角
,试分析系统的能观性;
(2)对该系统设计状态反馈控制,对比倒立摆非线性模型与线性化模型在小扰动及大扰动两种情况下的响应曲线,并分析结果;
(3)设系统输出为小车的位移
,对该系统设计基于观测器的状态反馈控制,对比倒立摆非线性模型与线性化模型在小扰动及大扰动两种情况下的响应曲线,并分析结果。
[实验步骤]:
(1)能控性分析:
A=[0100;00-10;0001;00110];
B=[0;1;0;-1];
n=rank(ctrb(A,B))
n=
4
系统满秩,说明系统为完全能控系统,可以对其进行闭环极点的任意配置。
能观性分析:
a)如果系统输出为小车的位移,则
,或者说
进行能观性分析
A=[0100;00-10;0001;00110];
C=[1000];
n=rank(obsv(A,C))
n=
4
系统满秩,说明系统为完全能观系统,可以设计观测器,且观测器极点可任意配置。
b)如果系统输出为倒立摆的摆角,则
,或者说
进行能观性分析
A=[0100;00-10;0001;00110];
C=[0010];
n=rank(obsv(A,C))
n=
2
系统不满秩,说明系统不是完全能观的,观测器极点不可任意配置。
(2)当倒立摆系统所有状态都能测量时,可以采用状态反馈控制达到期望性能。
取闭环期望极点为:
在matlab中输入
A=[0100;00-10;0001;00110];
B=[0;1;0;-1];
P=[-6-6.5-7-7.5];
K=place(A,B,P)
得到计算结果为:
K=
-204.7500-122.1750-488.5000-149.1750
●线性系统闭环仿真
在状态反馈
下,倒立摆线性化模型在simulink的闭环仿真图如下:
a)线性模型在无外部扰动、初始摆角为
时,响应如下图所示:
b)线性模型在外部脉冲输入f=1N、初始摆角为
时,响应如下图所示:
●非线性模型闭环仿真
在状态反馈
下,倒立摆非线性模型在simulink的闭环仿真图如下:
a)非线性模型在无外部扰动、初始摆角为
时,响应如下图虚线所示:
与线性模型响应(实线)相比,相差不大。
b)非线性模型在外部脉冲输入f=1N、初始摆角为
时,响应如下图所示:
与线性模型响应(实线)相比,十分接近。
c)非线性模型在无外部扰动、初始摆角为
时,响应如下图虚线所示:
与线性模型响应(实线)相比,超调更大。
d)非线性模型在外部脉冲输入f=10N、初始摆角为
时,响应如下图所示:
与线性模型响应(实线)相比,超调更大。
e)当初始角为
时,非线性模型不稳定。
(3)观测器设计与仿真
如果仅小车位移能被测量,则
,或者说
由
(1)知(A,C)完全能观,从而可以任意配置观测器极点。
取闭环期望极点为:
在matlab中输入
A=[0100;00-10;0001;00110];
C=[1000];
P=[-20-21-22-23];
G1=place(A’,C’,P);
G=G1’
得到计算结果为:
G=
1.0e+005*
0.0009
0.0278
-0.4059
-2.4312
即
带有观测器状态反馈的倒立摆线性模型仿真如下图所示:
在初始摆角为
时,线性模型响应为:
线性模型响应稍慢,超调变大。
Note:
非线性模型在带有上述观测器的状态反馈下变得不稳定。
思考题:
为什么?
有什么办法解决?