4、非线性扰动观测器的基本原理
在前面扰动观测器的博文中,我们分别从时域和频域的角度介绍了扰动观测器的基本原理以及设计方法,同时,我们也介绍了线性扩张状态观测器的基本原理及带宽法的设计方法。值得一提的是常规的扰动观测器的设计方法仍然是基于线性化的技术进行分析和设计,对于一些非线性比较大的系统,采用常规的扰动观测器不一定能保障全局稳定,且很难实现无差估计。为此Wenhua Chen教授提出了一种非线性扰动观测器(Nonlinear Disturbance Observer),并对其稳定性进行了分析。
考虑一类仿射非线性系统,它可以描述如下:
上式中,x,u,d,y分别表示系统的状态变量,控制输入,扰动量和系统输出量。而f(x),g1(x),g2(x)和b(x)表示的是关于x的光滑函数。
由前面的文章分析,可知扰动d的估计可以表示为
式中,l(x)表示的是观测器的非线性增益,表示的是扰动相量的估计值。则扰动的估计误差可以表示为
我们假定实际过程中,d扰动的变化相比系统状态的变化比较慢,则d的时间导数为零,则扰动估计误差的动态性可以表示为
上式表明通过适当观测增益函数的选择,可以保障上述系统渐进稳定,则我们的观测器能够很好的观测系统的扰动。但是上述观测器需要通过另外的传感器对x的微分状态进行测量,为此需要对上述扰动观测器进行改进,改进的扰动观测器设计如下:
式中,z是观测器的内部状态,p(x)是观测器中需要设计的非线性函数,l(x)被设计为如下:
则修改后的非线性扰动观测的动态性可以描述为
从上式可以发现通过设计适当的l(x)函数可以使得设计的非线性扰动观测器达到渐进稳定的状态,从而误差趋于零。稳定性的严格证明可以参看论文《Disturbance Observer Based Control for Nonlinear Systems》,在此不再赘述。整个非线性扰动观测器的控制框架可以概括如下:

为了验证上述理论,我们在Matlab环境下搭建了相关仿真进行验证。给定的非线性系统如下所示。

其中,

其中,反馈控制的设计可以表示为

我们把扰动的初值设置为2,在第六秒后把扰动值设置为6,并设计p(x)函数为,通过选择不同的
的值去验证设计其对性能的影响。


我们同样给出了幅值为1的正弦波信号作为扰动,仿真结果如下所示,可以发现提出的非线性扰动观测器具有良好的跟踪能力。
