ADRC调试经验(已调通)

自抗扰控制的组成

有关自抗扰的相关内容,韩老师在他的一系列论文中已经描绘的非常清晰了,具体资料可以点击这里下载。
其中对于TD和ESO这两个部分其实是比较好调节的,很容易就能够获得很好的效果。比较难调节的参数主要是在非线性组合部分。比较常见的有如下四种误差反馈率,我尝试过前三种,效果都还不错。
ADRC调试经验(已调通)_第1张图片

自抗扰控制的参数调节

以最简单的线性组合方法(1)为例,大概有如下参数需要调节:
TD: r h h0
ESO: B01、B02、B03和观测器带宽w0.
非线性反馈:(beta1、beta2)用kp和kd代替,b。
对于TD,一般的仿真模型r可以尽量大一些,在100~500范围内基本相同,即使再大效果也基本不会有大的提升。h和h0理论上可以相同,即仿真模型中的仿真步长。
ESO的三个参数和观测器带宽有关,依次设置为3w0、3w0^2、 w0^3就可以满足要求。
所以最终需要调节的参数只有四个:kp kd w0 b。这时候就可以控制变量了。
基本规律是:
b越小调节时间越短,但是过小会导致震荡。
w0越小调节时间越长,震荡幅度越小。
Kp越大调节时间越短,震荡越大。
kd效果不太明显,可在稳定后微调。
其实认真调都是可以调出来的。我之前调试两次崩溃,第一次后来发现z3那个反馈没有正确输出,让我纠结了一个星期;第二次在确保结构没问题后结果却始终存在震荡,后来才发现是我给定的输入值太大(我建立的被控对象是车辆的包含转向系的横向动力学模型,正常来说幅值在0.1就差不多了,而我却默认输入是1,所以一直调不出来)。
所以我总结的经验就是:
1、确保ADRC建模过程中没有错误
2、确保输入的测试信号的幅值对你的被控对象是合理的。
最后放两张控制效果图,真的是很好了。(黄色是给定输入,蓝色是PID控制的效果,红色是ADRC的控制效果)ADRC调试经验(已调通)_第2张图片
ADRC调试经验(已调通)_第3张图片
虽然最近几年网上不乏唱衰自抗扰的帖子,但是看了这个和PID的对比效果(尤其是在阶跃输入下没有稳态误差)还是想说一句:自抗扰NB!

你可能感兴趣的:(ADRC,自抗扰)