单极倒立摆系统的极点配置与状态观测器设计报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单极倒立摆系统的极点配置与状态观测器设计报告
11123615 许文清
(1)倒立摆ຫໍສະໝຸດ Baidu运动方程并将其线性化
对小车的运动列方程,选取小车的位移、速度、摆的角位置以及角速度为状态变量,得到系统的状态空间模型。为了方便计算,我选取了教科书中所给的参数设定: .
(2)状态反馈系统的极点配置
通过matlab程序判断出系统能控之后,与教科书中不同的是,我将极点配置在-5,-5.5,-6,-6.5 处,得到状态反馈矩阵为: K=[-107.25 -75.325 -316 -98.325],之后通过simulink仿真,得到了仿真结果。
A2:一开始点击运行后,没有任何的仿真图像出现,后来我对所有的器件以及参数一一校对之后,发现我忘记在模型中的积分器中设置非零初值。由于矩阵的rank=4,所以我设定初值为[0 0 0.5 0]。之后再次运行,出现了理想的图像。
图像分析:从仿真得到的图像可以得到,这个系统在最初受到了一个外界的干扰,之后又回到了初值,趋于平缓。从这里可以看出这个系统的作用就是当倒立摆受到干扰偏离了一定的角度后,通过系统自身的反馈调解,需要回到直立状态。但是前提是这个偏角不能过大(5°左右).
之后通过simulink仿真,得到了仿真结果。
在simulink仿真过程中,我遇到了一些问题
Q1:程序无法运行,显示增益中的矩阵格式不统一。
A1: 经反复确认发现,我将观测器中的增益参数全部填为了转置矩阵的参数,即写成了A=A1=[0 0 0 0; 1 0 0 0; 0 -1 0 11; 0 0 1 0],B=B1=[0 1 0 -1],C=C1=[1; 0; 0; 0 ]但是实际上这个是多此一举的。后来经过修改参数,程序得以运行。
比较两个仿真结果,具有状态观测器的单极倒立摆状态反馈系统的控制效果和没有状态观测器的状态系统的控制效果十分接近。
(3)状态观测器实现状态反馈极点配置
类似与第二步,通过程序判断系统能观之后,我取特征值为-18,-19,-20,-21 得到状态反馈矩阵为: H=[80; 2290; -30420; -168830],因为设计状态观测器矩阵,使得特征值的实部均为负,且其绝对值要大于状态反馈所配置极点的绝对值。因为这样才能保证状态观测器有足够快的收敛速度,才能保证使用状态观测器所观测到的状态与原系统的状态充分接近,所以我取了以上特征值。
在simulink仿真过程中,我遇到了一些问题
Q1:不知如何在增益模块中输入对应矩阵的值。
A1:通过上网搜索相关资料,了解到,需要先将增益主参数中的Multiplication 选为Matrix(K*u),之后在Gain参数设定中填入矩阵的值即可,如B矩阵中则填入[0; 1; 0; -1]
Q2:运行之后无图像显示
11123615 许文清
(1)倒立摆ຫໍສະໝຸດ Baidu运动方程并将其线性化
对小车的运动列方程,选取小车的位移、速度、摆的角位置以及角速度为状态变量,得到系统的状态空间模型。为了方便计算,我选取了教科书中所给的参数设定: .
(2)状态反馈系统的极点配置
通过matlab程序判断出系统能控之后,与教科书中不同的是,我将极点配置在-5,-5.5,-6,-6.5 处,得到状态反馈矩阵为: K=[-107.25 -75.325 -316 -98.325],之后通过simulink仿真,得到了仿真结果。
A2:一开始点击运行后,没有任何的仿真图像出现,后来我对所有的器件以及参数一一校对之后,发现我忘记在模型中的积分器中设置非零初值。由于矩阵的rank=4,所以我设定初值为[0 0 0.5 0]。之后再次运行,出现了理想的图像。
图像分析:从仿真得到的图像可以得到,这个系统在最初受到了一个外界的干扰,之后又回到了初值,趋于平缓。从这里可以看出这个系统的作用就是当倒立摆受到干扰偏离了一定的角度后,通过系统自身的反馈调解,需要回到直立状态。但是前提是这个偏角不能过大(5°左右).
之后通过simulink仿真,得到了仿真结果。
在simulink仿真过程中,我遇到了一些问题
Q1:程序无法运行,显示增益中的矩阵格式不统一。
A1: 经反复确认发现,我将观测器中的增益参数全部填为了转置矩阵的参数,即写成了A=A1=[0 0 0 0; 1 0 0 0; 0 -1 0 11; 0 0 1 0],B=B1=[0 1 0 -1],C=C1=[1; 0; 0; 0 ]但是实际上这个是多此一举的。后来经过修改参数,程序得以运行。
比较两个仿真结果,具有状态观测器的单极倒立摆状态反馈系统的控制效果和没有状态观测器的状态系统的控制效果十分接近。
(3)状态观测器实现状态反馈极点配置
类似与第二步,通过程序判断系统能观之后,我取特征值为-18,-19,-20,-21 得到状态反馈矩阵为: H=[80; 2290; -30420; -168830],因为设计状态观测器矩阵,使得特征值的实部均为负,且其绝对值要大于状态反馈所配置极点的绝对值。因为这样才能保证状态观测器有足够快的收敛速度,才能保证使用状态观测器所观测到的状态与原系统的状态充分接近,所以我取了以上特征值。
在simulink仿真过程中,我遇到了一些问题
Q1:不知如何在增益模块中输入对应矩阵的值。
A1:通过上网搜索相关资料,了解到,需要先将增益主参数中的Multiplication 选为Matrix(K*u),之后在Gain参数设定中填入矩阵的值即可,如B矩阵中则填入[0; 1; 0; -1]
Q2:运行之后无图像显示