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