在将基于模型的控制器(比如MPC)应用到真实对象上之前,必须要考虑由于内扰(模型参数误差,未建模动力学等)和外扰(噪声,干扰力等)的存在对于控制品质的影响,这里我们关心控制品质中的响应速度和稳态误差。特别地,由于MPC基于模型做预测,然后基于预测进行优化,如果扰动不能及时补偿,轻则控制品质下降,重则稳定性被破坏。

抵抗扰动有多种方法,其中网红方法是通过构建观测器对扰动进行观测进而加以补偿。这里我们也蹭一波热度,用一用大名鼎鼎的扩张状态观测器(ESO)来实现我们的offset free MPC。关于ESO的详细介绍,请阅读韩京清老师生前最后的著作《自抗扰控制技术——估计补偿不确定因素的控制技术》。

1. 控制体系结构

需要注意的是,这里MPC的预测模型里边要添加扰动项,在每个控制周期这个扰动项由ESO更新。下面用一个单自由度物块的控制仿真来具体阐述一下。

2. 场景

如图所示,被控对象是一个仅能够沿着竖直方向移动的物块。

3. 建模

这里我们考虑物块的动力学模型,具体如下:

[公式]

添加扰动项(这里采用直接在控制通道添加的形式),得

[公式]

扰动观测器我们采用如下线性三阶形式(多了扰动状态)

[公式]

LESO中的 [公式] 就是扰动观测值,在每个控制周期先将 [公式] 赋值给 [公式] ,然后MPC控制器再进行计算得出控制输入 [公式] ,这里对应的是驱动力。

4. 仿真

物块初始状态是位置为 [公式] ,速度为 [公式] .

点镇定仿真中目标位置是 [公式] ,速度为 [公式]

轨迹跟踪中的参考轨迹是

[公式]

  • 仅有内扰点镇定

MPC中物块质量为 [公式] ,V-REP中物块质量为 [公式]

物块状态量

估计的扰动

控制输入

  • 仅有外部常值扰动力点镇定

MPC和V-REP中物块质量均为 [公式]

外部扰动力为

[公式]

物块状态量

估计的扰动

控制输入

  • 仅有外部正弦扰动力点镇定

MPC和V-REP中物块质量均为 [公式]

外部扰动力为

[公式]

物块状态量

估计的扰动

控制输入

  • 内扰加外部常值扰动力点镇定

MPC中物块质量为 [公式] ,V-REP中物块质量为 [公式]

外部扰动力为

[公式]

物块状态量

估计的扰动

控制输入

  • 内扰加外部正弦扰动力点镇定

MPC中物块质量为 [公式] ,V-REP中物块质量为 [公式]

外部扰动力为

[公式]

物块状态量

估计的扰动

控制输入

  • 内扰加外部正弦扰动力正弦轨迹跟踪

MPC中物块质量为 [公式] ,V-REP中物块质量为 [公式]

外部扰动力为

[公式]

物块状态量

估计的扰动

控制输入

通过这一系列的仿真我们可以看出ESO对于总扰动有比较好的估计。后续我们尝试把这一套控制结构推广到冗余机械臂上,敬请期待。

本例程源文件目前暂不能公开,请谅解!

-----------------------------------------------------

做人呐,最重要的就是开心喽。能帮到别人是最大的快乐,希望本菜鸡能对小白们有所帮助,希望大佬们的批评能帮助本菜鸡成长!