单级倒立摆系统的极点配置与状态观测器设计.docx
《单级倒立摆系统的极点配置与状态观测器设计.docx》由会员分享,可在线阅读,更多相关《单级倒立摆系统的极点配置与状态观测器设计.docx(6页珍藏版)》请在冰豆网上搜索。
![单级倒立摆系统的极点配置与状态观测器设计.docx](https://file1.bdocx.com/fileroot1/2022-10/7/c63e85d9-7ac9-4f91-b7fc-8020343fd836/c63e85d9-7ac9-4f91-b7fc-8020343fd8361.gif)
单级倒立摆系统的极点配置与状态观测器设计
14122156杨郁佳
(1)倒立摆的运动方程并将其线性化
选取小车的位移,及其速度、摆的角位置及其角速度作为状态变量,即则系统的状态空间模型为
设M=2kg,m=0.2kg,g=9.81m/,则单级倒立摆系统的状态方程为
(2)状态反馈系统的极点配置。
首先,使用MATLAB,判断系统的能控性矩阵是否为满秩。
MATLAB程序如下:
A=[0100;00-10;0001;00110];
B=[0;0.5;0;-0.5];
C=[1000];
D=0;
rct=rank(ctrb(A,B))
[z,p,k]=ss2zp(A,B,C,D)
MATLAB程序执行结果如下:
系统能控,系统的极点为
可以通过状态反馈来任意配置极点,将极点配置在
MATLAB程序如下:
A=[0100;00-10;0001;00110];
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的CommandWindow中输入各个矩阵的值,并且在模型中的积分器中设置非零初值:
2。
运行仿真程序,显示仿真曲线,如下。
仿真结果表明倒立摆的杆子与数值方向的偏角从初值2,经过控制稳定在处。
(3)状态观测器实现状态反馈极点配置。
MATLAB程序如下:
A=[0100;00-10;0001;00110];
B=[0;0.5;0;-0.5];
C=[1000];
rob=rank(obsv(A,C))
MATLAB程序执行结果如下:
Rob=4说明系统能观,可以设计状态观测器。
取状态观测器的特征值为-3,-4,-5,-6
MATLAB程序如下:
A=[0100;00-10;0001;00110];
A1=A’;
C=[1000];
C1=C’;
P=[-3-4-5-6];
H1=place(A1,C1,P);
H=H1’
MATLAB程序执行结果如下:
状态观测器矩阵
采用MATLAB/Simulink构造具有状态观测器的单级倒立摆状态反馈控制系统的仿真模型。
首先,在MATLAB的CommandWindow中输入各个矩阵的值,并且在模型中的积分器中设置非零初值:
2。
运行仿真程序,显示仿真曲线,如下。
对比两个仿真图,可以发现加上状态观测器对单级倒立摆的控制效果基本上无影响。