文档详情

单级倒立摆系统的极点配置与状态观测器设计.doc

发布:2019-06-29约1.18千字共6页下载文档
文本预览下载声明
单级倒立摆系统的极点配置与状态观测器设计杨郁佳 倒立摆的运动方程并将其线性化 选取小车的位移,及其速度、摆的角位置及其角速度作为状态变量,即则系统的状态空间模型为 设M=2kg,m=0.2kg,g=9.81m/,则单级倒立摆系统的状态方程为 状态反馈系统的极点配置。 首先,使用MATLAB,判断系统的能控性矩阵是否为满秩。 MATLAB程序如下: A=[0 1 0 0; 0 0 -1 0; 0 0 0 1; 0 0 11 0]; B=[0; 0.5; 0; -0.5]; C=[1 0 0 0]; D=0; rct=rank(ctrb(A,B)) [z,p,k]=ss2zp(A,B,C,D) MATLAB程序执行结果如下: 系统能控,系统的极点为 可以通过状态反馈来任意配置极点,将极点配置在 MATLAB程序如下: A=[0 1 0 0; 0 0 -1 0; 0 0 0 1; 0 0 11 0]; B=[0; 0.5; 0; -0.5]; P=[-3 -4 -5 -6]; K=place(A,B,P) MATLAB程序执行结果如下: 因此,求出状态反馈矩阵为 K=[-72.0 -68.4 -332.0 -104.4] 采用MATLAB/Simulink构造单级倒立摆状态反馈控制系统的仿真模型。 首先,在MATLAB的Command Window中输入各个矩阵的值,并且在模型中的积分器中设置非零初值:2。运行仿真程序,显示仿真曲线,如下。 仿真结果表明倒立摆的杆子与数值方向的偏角从初值2,经过控制稳定在处。 状态观测器实现状态反馈极点配置。 MATLAB程序如下: A=[0 1 0 0; 0 0 -1 0; 0 0 0 1; 0 0 11 0]; B=[0; 0.5; 0; -0.5]; C=[1 0 0 0]; rob=rank(obsv(A,C)) MATLAB程序执行结果如下: Rob=4说明系统能观,可以设计状态观测器。取状态观测器的特征值为-3,-4,-5,-6 MATLAB程序如下: A=[0 1 0 0; 0 0 -1 0; 0 0 0 1; 0 0 11 0]; A1=A’; C=[1 0 0 0]; C1=C’; P=[-3 -4 -5 -6]; H1=place(A1,C1,P); H=H1’ MATLAB程序执行结果如下: 状态观测器矩阵 采用MATLAB/Simulink构造具有状态观测器的单级倒立摆状态反馈控制系统的仿真模型。 首先,在MATLAB的Command Window中输入各个矩阵的值,并且在模型中的积分器中设置非零初值:2。运行仿真程序,显示仿真曲线,如下。 对比两个仿真图,可以发现加上状态观测器对单级倒立摆的控制效果基本上无影响。
显示全部
相似文档