倒立摆在matlab的simulink库下的仿真.docx
《倒立摆在matlab的simulink库下的仿真.docx》由会员分享,可在线阅读,更多相关《倒立摆在matlab的simulink库下的仿真.docx(8页珍藏版)》请在冰豆网上搜索。
![倒立摆在matlab的simulink库下的仿真.docx](https://file1.bdocx.com/fileroot1/2022-12/13/59d2b1d0-1c90-4cd0-a1ba-805235838f1c/59d2b1d0-1c90-4cd0-a1ba-805235838f1c1.gif)
倒立摆在matlab的simulink库下的仿真
倒立摆在matlab的simulink库下的仿真
LT
选择状态变量
小车的位移、小车的速度、小车的角度、小车的角速度分别为
u为输入,y为系统的输出
状态图为
三、单级倒立摆系统的极点配置
1.状态反馈系统的极点配置及其MATLAB/Simulink仿真
取适当的参数
M小车质量0.1Kg
m小球质量0.01Kg
l摆杆的长度1m
u加在小车上的力
y小车位移
θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下
g重力加速度为10g/
接下来使用matlab和线性系统的能控性判据,通过是否为满秩来判断能控性
根据判别系统能控性的定理,该系统的能控性矩阵满秩,所以该系统是能控的。
因为系统是能控的,所以,可以通过状态反馈来任意配置极点。
不失一般性,不妨将极点配置在
;
;
;
在matlab下输入命令
得到状态反馈矩阵为
采用MATLAB/Simulink构造单级倒立摆状态反馈控制系统的仿真模型,如下图所示。
首先,在MATLAB的CommandWindow中输入各个矩阵的值,并且在模型中的积分器中设置非零初值(这里我们设置为[000.10]。
然后运行仿真程序。
得到的仿真曲线
从仿真结果可以看出,可以将倒立摆的杆子与竖直方向的偏角控制在
=0(即小球和杆子被控制保持在竖直倒立状态),另外说明下黄线代表位移,紫线代表角度。
2.设计状态观测器实现状态反馈极点配置及其仿真
首先,使用MATLAB,判断系统的能观性矩阵是否为满秩。
输入以下程序
因为该系统的能观测性矩阵满秩,所以该系统是能观测的。
因为系统是能观测的,所以,可以设计状态观测器。
而系统又是能控的,因此可以通过状态观测器实现状态反馈。
设计状态观测器矩阵,使的特征值的实部均为负,且其绝对值要大于状态反馈所配置极点的绝对值。
通过仿真发现,这样才能保证状态观测器有足够快的收敛速度,才能够保证使用状态观测器所观测到的状态与原系统的状态充分接近。
不妨取状态观测器的特征值为:
输入以下的命令
得到状态观测器矩阵G
如果采用MATLAB/Simulink构造具有状态观测器的单级倒立摆状态反馈控制系统的仿真模型,如下图所示。
首先,在MATLAB的CommandWindow中输入各个矩阵的值,并且在模型中的积分器中设置非零初值这里设置初值为[000.10]。
然后运行仿真程序。
得到的仿真曲线。
从仿真结果可以看出,可以将倒立摆的杆子与竖直方向的偏角控制在
=0(即小球和杆子被控制保持在竖直倒立状态),另外说明下黄线代表位移,紫线代表角度。
3.总结
由仿真结果对比可知,加不加观测器都可以很好的控制摆杆不倒,完全可以达到控制要求。
但是加观测器的系统控制效果要优于没有加观测器的系统。
参考文献
[1]郑大钟.线性系统理论(第2版):
清华大学出版社(2002-2012)
[2]欧阳黎明.MATLAB控制系统设计[M].北京:
国防工业出版社,2001.
[3]线性系统理论和设计,仝茂达编著,出版社:
中国科学技术大学出版社,1998
[4]线性系统理论,段广仁编著,哈尔滨工业大学出版社1996
[5]曾水平的PPT.