介绍一下基础的抗干扰控制方法,大概花个十分钟就能对抗干扰控制有个基本的认识。
这篇文章主要是翻译S. H. Li老师的专著《Disturbance Observer Based Control: Methods and Applications》加上一些我自己的理解。这本书讲得通俗易懂, 推荐!
一、高增益控制方法
以下介绍的几种控制器都是用高增益的方式来抑制干扰,如果干扰有界,或者干扰的变化有界,那么我用比你干扰最大值的控制能量来压制,简单来讲就是比你快,还比你强,那么不管你干扰是怎样的形式,都翻不起多大风浪,系统是稳定的。
1、高增益控制
为了更清晰地分析,看到控制的本质,从最简单的一阶惯性环节对象分析起, 系统的状态方程为:
假设期望输出 是常数,
,定义
,则有
控制器设计为 ,将控制率带入系统状态方程,有
对一阶常系数非奇异微分方程求解,得到
用控制框图表示一下,更加清晰一点:
如果干扰是有界的,满足 ,那么有:
则当t趋于无穷大时,稳态误差也是一个有界的值, ,增益k越大,误差也就越小。
考虑最一般的情况,如果干扰d是一个常值干扰dc,则
考虑趋于无穷时刻的偏差,有
可见对于最简单的一阶惯性环节,在干扰存在时,这种方法无法消除干扰带来的稳态误差,而且为了使得误差尽可能小,需要取高增益控制率以抑制扰动的影响。
2、积分控制
PID的调试经验告诉我们积分项可以消除稳态误差,如果考虑带有积分项的控制率
带入状态方程有
化为状态空间形式,
其中
从公式可以看出,当干扰为常值干扰时,干扰项的导数为零,且A矩阵是Hurwitz的,此时系统渐进稳定,无穷时刻的偏差为零。
Hurwitz矩阵:矩阵特征值实部都小于零的矩阵,如果系统矩阵是Hurwitz的,那么系统渐进稳定。
考虑如果干扰的导数非零,但是其有界的情况: ,最终有
从以上的分析可以知道,积分控制能消除常值干扰,但是对于变化的干扰稳态误差依然存在。
3、滑模控制
之前写了一篇文章详细讨论了滑模控制器的实现和分析过程,https://zhuanlan.zhihu.com/p/78549442,这里就不再重复分析了。那个例子是考虑一个简单的双积分器对象,简单地讲就是先设计一个可以让状态渐进稳定的滑模面,然后基于此设计控制率让状态达到滑模面上。
这里只把滑模控制器的控制率重写一下:
可以看到如果要使得系统稳定,上面介绍的三类控制器都必须满足一定条件,通常是增益要比干扰的界大,也就是通过高增益起到压制扰动的效果。
除了以上介绍了三种,H无穷、鲁棒控制也是同样的思路。这种控制方式简单粗放有误差但是很有效,下面另一种基于补偿的控制策略,也就是基于干扰观测器的控制方式。
二、基于干扰观测器的控制
基本思路是先构造干扰观测器将干扰量测出来,用估计干扰补偿实际干扰,如果模型估计得很准确(很难很难),那么系统将简化成一个不受干扰影响的纯净系统,再在这基础上设计反馈控制器就比较简单了。
1、DOB
对于一个系统:
假设无穷时间后干扰会收敛到一个常值,
若设计如下的DOB干扰观测器
则估计干扰和实际干扰之间的偏差值为:
如果矩阵-LB是赫尔维兹矩阵,那么最终估计干扰值会收敛到实际干扰值,此时只需要设计控制器
带入系统方程
如果(A+BK)是Hurwitz的,那么系统稳定
控制框图如下:
2、ESO(Extended State Observer)
ESO是韩京清老师提出的一类干扰估计方法, 常常和跟踪微分器、非线性PID组合在一起构成自抗扰控制器(ADRC控制)。
把一般系统的状态方程逐个写出来:
如果把包括系统动态、模型不确定性、外部扰动统一用一个新的状态来表示,那么有扩张之后的状态方程:
设计状态观测器使得 跟踪
观察干扰收敛的情况:
写成状态空间形式:
和【2积分控制】中分析的类似,
设计 使得矩阵是Hurwitz的,且h(t)有界,那么误差状态将收敛到零, 估计干扰将收敛到实际干扰。将干扰补偿后,再根据相应的性能指标设计反馈控制器。
基于干扰观测器的补偿控制能施加更精准的控制,从能量输出角度讲它也更加经济。但是这种方法对模型的要求要更高,通常需要花很多工夫在辨识上。如果模型不太准确,有可能干扰的补偿没起到作用,反而还产生了更坏的影响。
参考:
[1] S. H. Li, J. Yang, W. H. Chen, and X. S. Chen, Disturbance Observer Based Control: Methods and Applications. London: CRC Press, 2014.