观测器更详细的介绍文章可以关注博主以下两篇文章
从小车倒立摆系统看系统建模控制LQR+LQE仿真_lqr平衡小车仿真模型-CSDN博客
好玩的直流电机调速实验、PID、极点配置、LQR、观测器;不讲大道理_观测器极点配置-CSDN博客
三个实例迅速掌握经典卡尔曼滤波用法_卡尔曼滤波 温度估计-CSDN博客
本篇文章中,博主使用matlab提供的kalman函数,进行观测器设计。
一、系统状态空间方程
在上一节我们搭建的目标角度跟踪模型中,只有角度控制的pid是属于控制器,其余都属于被控对象。我们的目标是得到齿条力(即转向阻力),输入的电机扭矩可以通过传感器采集换算得到,输出的齿条位移可以由前轮转角换算得到;
总结一下,齿条力模型
可以看成两输入(电机力Fm=Tm/rp,齿条力Fz),一输出(齿条位置Xr)的一个模型,其中Tm,Xr已知,现在要观测得到Fz,这里我们使用simulink自带的卡尔曼滤波模块来进行观测。
系统微分方程:
选取为状态量,建立状态空间方程如下:
我们要观测的Fz却在输入位置,没法用卡尔曼观测器观测得到,需要把它挪到状态量的位置才可以,可以将Fz的微分认为0。
将这个矩阵与上个矩阵放一起,重新整理可以得到:
成功将Fz放到观测量。
二、验证状态空间方程的准确性
将状态空间方程与微分方程运行比较。
两条曲线完美重叠,说明状态空间方程没推导错。
三、使用卡尔曼滤波模块进行估算
卡尔曼滤波模块的设置也非常简单,直接照抄上面推导出来的状态矩阵即可。
仿真效果如下:对齿条阻力的观测还是相当精准。
四、参考论文
1、线控转向系统理想传动比和前轮转角控制策略研究_殷凡青