倒立摆带降维观测器实验报告.doc
文本预览下载声明
一、实验目的和要求
了解倒立摆控制系统的原理和系统组成
加深对实际控制系统物理组成部分的认识和理解
(3)掌握线性系统控制器的设计、软件算法编制与实现
要求针对直线型一级或二级倒立摆系统,设计状态反馈控制器和状态观测器,完成对小车倒立摆的稳定控制。
二、实验内容和原理
以直线一级或二级倒立摆为研究对象,开展以下实验内容:
(1)系统数学模型建模与分析
(2)倒立摆经典控制设计
(3)倒立摆状态反馈控制与状态观测器设计
(4)倒立摆实物控制调试
三、实验项目
1)倒立摆前馈控制起摆研究
(2)能量控制起摆研究
(3)倒立摆经典控制器设计及调试
(4)倒立摆状态反馈控制器设计及调试
四实验器材
五操作方法与实验步骤
(一)模型建立
一级倒立摆的模型示意图如下:
图1 直线倒立摆一级模型可以写成关于和的微分方程:
由[2]可得到运动方程:
根据本次试验对两种模型分别进行了输入输出观察,以[1]中的模型为主进行计算。其中都为googol公司给的参数,u为预期的输入控制。
(二)起摆问题的数学表述
在有限的时间内,使得系统的状态参数为
其中0时刻为倒立状态。
根据实验器材的性能,最主要限制条件为:
速度和加速度的限制条件未见说明书中提及。
(三)控制思路
图2 前馈加反馈控制示意图
如图所示,为前馈控制,为反馈控制,*代表预期值。
(四)前馈控制设计:
由系统的微分方程可知,状态方程的A,B,C都为时变的,对此不进行能控能观判据检验(实际上无法写出系统的状态方程)。把问题转化为一个非线性BVP求解的过程。而由微分方程的维数和限制条件维数可求得u中参数p的个数[3]为4。
其中,u的形式为
利用Matlab中函数bvp4c,求得P1,P2,P3,P4。输入,求得实际轨迹。
由于前馈控制对于模型参数的精确性要求特别高,而实际得到的状态轨迹与预期的偏差特别大,对系统参数进行调整可以减小误差(理论上)。通过Matlab函数fmincon可以解决如下问题:
代表参数的集合,为实际轨迹,由此可求得调整后的参数集合。
(五)反馈控制设计
反馈作为前馈控制的一个补偿量,引入新的状态量,满足
则状态向量为,系统可写成
该系统为非线性系统,但是沿线性化可求得
其中
用Matlab中函数lqr可以求出。
第二种起摆控制
把小车的移动认为是对摆杆做功的过程,只要在时间T内,摆杆得到的能量为左右,摆杆的位置已能切换至倒立稳定控制的模块。其中,摆杆能量超出部分的多少与倒立控制模块的鲁棒性有关。
摆杆总的能量为
通过对E求微分可得
则可以得出只要控制u就能控制能量的变化率。令
根据,,可以通过编程实现整个控制过程。
黑箱问题
由于系统是由googol公司制作并封装好的,只能对电机的进行输入控制,输入信号为Acc和Vel,如图
图3
在实验过程中也发现了输入与预期输入偏差太大的情况,故对此问题进行研究。
通过观察已有实例和自己设定的输入得出的实例验证,得到了电机输入到小车输出的对应原则。
一级倒立摆控制
仿真PID位移控制,采用试凑法获得合适的=-45 , ki =-0.15 , kd = -10;
(二)在原有角度模块下完成PID控制位移控制模块)
(三)连接实验器材实验数据
图4
一级倒立摆降维观测器
降维观测器原理搭建降维观测器控制模块图)
图5
(二)根据工程实践降维观测器的极点选为-45-45;
(三)运用Lyapunov方程求解矩阵参数Matlab中运算结果如下
a=[0 1 0 0;
0 0 0 0;
0 0 0 1;
0 0 29.4 0];
b=[0 1 0 3];
c=[1 0 0 0;
0 1 0 0];
d=[0 0];
f=[-45 0 ;0 -45];
l=[1 2;2 1]
rank(ctrb(f,l))
t=lyap(-f,a,-l*c)
g=t*b
t1=inv([t;c])
实验结果
ans=
2
0.0222 -0.0005 0.0451 -0.0010
0.0444 -0.0010 0.0225 -0.0005
g =
-0.0035
-0.0025
t1 =
0.0222 -0.0005 0.0451 -0.0010
0.0444 -0.0010 0.0225 -0.0005
1.0000 0 0 0
0 0 1.0000 0
(四)将降维观测器接入实时控制模块不参与反馈,通过器件观测降维观测器的数据真实数据存在偏差
显示全部