一、基本原理

扰动观测器的基本思想是将外部干扰模型参数变化造成的实际模型与理想模型输出的差异统统等效为控制输入,即观测出等效干扰,在控制中引入等量的补偿,实现对干扰完全抑制。干扰观测器的基本思想如图1所示。

                                                        非线性控制5——扰动观测器-编程知识网

                                                                                     图1 干扰观测器的基本思想

图2中的非线性控制5——扰动观测器-编程知识网为对象的传递函数,非线性控制5——扰动观测器-编程知识网为等效干扰,非线性控制5——扰动观测器-编程知识网为观测干扰,非线性控制5——扰动观测器-编程知识网为控制输入。

由图可知,求得等效干扰的估计值非线性控制5——扰动观测器-编程知识网为:

                                                              非线性控制5——扰动观测器-编程知识网                                (1)

式(1)说明,用上述方法可以实现对干扰的准确估计和补偿。图1描述了干扰观测器的基本思想,但对于实际的物理系统,其实现存在如下问题:

(1)通常情况下,非线性控制5——扰动观测器-编程知识网的相对阶不为0,其逆物理上不可实现;

(2)对象非线性控制5——扰动观测器-编程知识网的精确数学模型无法得到;

(3)考虑测量噪声的影响,上述方法的控制性能将下降。

解决上述问题的一个自然的想法是在非线性控制5——扰动观测器-编程知识网的后面串入低通滤波器非线性控制5——扰动观测器-编程知识网,并用理想模型非线性控制5——扰动观测器-编程知识网的逆非线性控制5——扰动观测器-编程知识网来替代非线性控制5——扰动观测器-编程知识网,得到如图2所示的框图,其中虚线框内部分为干扰观测器,非线性控制5——扰动观测器-编程知识网为输入信号,非线性控制5——扰动观测器-编程知识网为等效干扰,非线性控制5——扰动观测器-编程知识网为测量噪声。

                    非线性控制5——扰动观测器-编程知识网

                                                                    图2 干扰观测器原理框图

根据梅森公式有

                                                       非线性控制5——扰动观测器-编程知识网

则从u到y的传递的传递函数为

                  非线性控制5——扰动观测器-编程知识网

根据上式,对图2做等效变换,得到简化框图3如下。

                    非线性控制5——扰动观测器-编程知识网

                                                                       图3  简化框图

根据图4,可推出

                                      非线性控制5——扰动观测器-编程知识网

非线性控制5——扰动观测器-编程知识网是干扰观测器设计中一个非常重要的环节,首先,为使非线性控制5——扰动观测器-编程知识网正则,非线性控制5——扰动观测器-编程知识网的相对阶应不小于非线性控制5——扰动观测器-编程知识网的相对阶;其次非线性控制5——扰动观测器-编程知识网带宽的设计,是在干扰观测器的鲁棒稳定性和干扰抑制能力之间的折中。

 非线性控制5——扰动观测器-编程知识网的设计原则为:即在低频段,非线性控制5——扰动观测器-编程知识网;在高频段,非线性控制5——扰动观测器-编程知识网 具体分析如下:

在低频段,非线性控制5——扰动观测器-编程知识网,由上述公式知

                                    非线性控制5——扰动观测器-编程知识网

上式说明,在低频段,干扰观测器仍使得实际对象的响应与名义模型的响应一致,即可以实现对低频干扰的有效补偿,从而保证较好的鲁棒性。非线性控制5——扰动观测器-编程知识网说明干扰观测器对于非线性控制5——扰动观测器-编程知识网频带内的低频干扰具有完全的抑制能力;非线性控制5——扰动观测器-编程知识网说明干扰观测器对于低频测量噪声非常敏感,因此,在实际应用中,必须考虑采取适当的措施,减小运动状态测量中的低频噪声。

在高频段,非线性控制5——扰动观测器-编程知识网,由上述公式知

                                       非线性控制5——扰动观测器-编程知识网

上式说明,在高频时,非线性控制5——扰动观测器-编程知识网 可见干扰观测器对测量噪声不敏感,可以实现对高频噪声的有效滤除,但对于对象参数的摄动及外部扰动没有任何抑制作用。通过上述分析可见,通过采用低通滤波器非线性控制5——扰动观测器-编程知识网设计可以实现对低频干扰的有效补偿和高频噪声的有效滤除,是一种很有效的工程设计方法。

此部分内容来源于:干扰观测器的设计与分析

二、仿真实例

                                               非线性控制5——扰动观测器-编程知识网

      非线性控制5——扰动观测器-编程知识网

1. 主程序——DOPBS.m

%%————————————————————————————————————%%
%功能:扰动观测器+反步法(DOPBS)
%时间:2020年7月7日
%作者:Peng Jin
%版本:V1.0
%————————————————————————————---———————%%
%%
clc
clear all
close allx0=[-1,7];  % 状态x的初值
q10 = [0,0]; q20=[0,0];
e10 = [0.01,0.01]; e20=[0.01,0.01];
x0=[x0 q10 q20 e10 e20]';
dt=0.01;     % 时间间隔
t_final=30;   % 仿真终止时间[t,y]=ode45('DOPBS_Plant',(0:dt:t_final),x0);figure(1)
plot(t,y(:,1),t,y(:,2));
grid onfigure(2)
plot(t,y(:,7),t,y(:,8),t,y(:,9),t,y(:,10));
grid on

2. 系统模型及控制器——DOPBS_Plant.m

function dx = DOPBS_Plant(t,x)A1 = [0 -0.5;0.5 0]; A2 = [0 -1;1 0]; C1 = [1 0]; C2 = [2 0];x1 = x(1);
x2 = x(2);
q1(1,1) = x(3); 
q1(2,1) = x(4);
q2(1,1) = x(5); 
q2(2,1) = x(6);e1(1,1) = x(7); 
e1(2,1) = x(8); 
e2(1,1) = x(9);
e2(2,1) = x(10);% 扰动观测器
f1_x1 = x1^2 + 3*x1; f2_x1x2 = sin(x2) - cos(x1) + x1 + x2; 
g1_x1 = x2; g2_x1x2 = 1+x1^2+x2^2;
h1_x1 = 1+sin(x1); h2_x1x2 = 1;
s_x = x2;K1 = [0.4210;-0.0844 ]; K2 = [0.3807;-0.1053];p1_x1 = K1*(sin(x2)-cos(x1)+x1+x2);
p2_x2 = K2*(sin(x2)-cos(x1)+x1+x2);m1_x = (1+sin(x1))^2;
m2_x = cos(x2) + 1;l1_x1 = K1*m1_x/h1_x1;
l2_x2 = K2*m2_x/h2_x1x2;w1_hat = q1 + p1_x1;
w2_hat = q2 + p2_x2;d1_hat = C1*w1_hat;   % d1的观测值
d2_hat = C2*w2_hat;   % d2的观测值% 控制器
k1=5; k2=5; delta1=3; delta2=3; beta21=3; eta21=3;  % 参数
d_alpha1x1 = -2*x1 - d1_hat*cos(x1) - k1 - 3 -delta1*(2*x1*(1+sin(x1)*cos(x1))+(1+sin(x1))^2)*(C1*C1');
d_alpha1dhat1 = -1 - sin(x1);
z2 = x2 + x1^2 + (1+sin(x1))*d1_hat + (k1+3)*x1 + delta1*x1*(1+sin(x1))^2*(C1*C1');
l1 = (1+sin(x1))*[0.4210;-0.0844];u = (-x1 -sin(x2) + cos(x1) - x1 - x2 - d2_hat + d_alpha1x1*(x1^2 + 3*x1 + x2  ...+ (1+sin(x1)*d1_hat)) + d_alpha1dhat1*C1*A1*w1_hat - k2*z2 - delta2*(C2*C2')*z2 - beta21*(d_alpha1x1*(1+sin(x1)))^2*(C1*C1')*z2 ...- eta21*(d_alpha1dhat1*(1+sin(x1)))^2*C1*l1*(C1*C1')*l1'*C1'*z2)/(1+x1^2+x2^2);dq1 = (A1 - l1_x1*h1_x1*C1)*q1 + A1*p1_x1 - l1_x1*(h1_x1*C1*p1_x1 + f1_x1 + g1_x1*x2);   
dq2 = (A2 - l2_x2*h2_x1x2*C2)*q2 + A2*p2_x2 - l2_x2*(h2_x1x2*C2*p2_x2 + f2_x1x2 + g2_x1x2*u);de1 = (A1 - l1_x1*h1_x1*C1)*e1;
de2 = (A2 - l2_x2*h2_x1x2*C2)*e2;% 系统方程
dx(1) = x1^2 + 3*x1 + x2 + (1+sin(x1))*d1_hat;
dx(2) = sin(x2) - cos(x1) + x1 + x2 + (1+x1^2+x2^2)*u + d2_hat;
y = x2;dx = [dx dq1' dq2' de1' de2']';end

仿真结果如图4和图5所示。

                                          非线性控制5——扰动观测器-编程知识网

                                                                                     图5 系统状态轨迹

                                      非线性控制5——扰动观测器-编程知识网

                                                                            图6 干扰观测器估计误差

参考文献:张玲艳, 非线性系统基于干扰观测器的抗干扰控制, 2016, 鲁东大学。