精华内容
下载资源
问答
  • 扰动观测器

    2020-05-22 08:30:28
    New Motion Control with Inertia Identification Function Using Disturbance Observer
  • 针对复杂航行环境下的无人水面艇系统,提出一种基于有限时间扰动观测器的无人水面艇精确航迹跟踪控制策略.该控制方法具有以下显著特点:能够精确补偿未知海洋干扰,可实现精确跟踪控制;相比传统的渐近收敛控制算法,有限...
  • 一类线性系统的扰动观测器设计,陈茂银,,利用高增益观测器和混沌控制的有关方法,针对一类最小相位线性系统提出了一种扰动观测器设计方法。如果该类线性系统的输出—扰动
  • 通过扰动观测器设计用于扰动系统的预测精度增强的连续时间MPC
  • 针对一类SISO 非线性不确定系统, 提出一种基于扰动观测器的非奇异终端滑模(NTSM) 控制策略. 在保证控制器非奇异性的情况下, 设计了一种改进的NTSM函数, 理论分析证明了到达滑模面的时间小于传统NTSM控制算法的到达...
  • 针对一阶不确定系统中集总扰动的快速估计问题,基于误差放大策略和双极限齐次估计理论设计非递归形式的固定时间收敛扰动观测器,并提出利用幂次函数非线性特性削弱输入信号噪声影响的改进方案.误差放大策略是一种特殊...
  • 非线性控制5——扰动观测器

    千次阅读 多人点赞 2020-07-02 08:34:20
    扰动观测器的基本思想是将外部干扰及模型参数变化造成的实际模型与理想模型输出的差异统统等效为控制输入,即观测出等效干扰,在控制中引入等量的补偿,实现对干扰完全抑制。干扰观测器的基本思想如图1所示。 ...

    一、基本原理

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

                                                            

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

    图2中的G_{p}(s)为对象的传递函数,\hat{d}为等效干扰,d为观测干扰,u为控制输入。

    由图可知,求得等效干扰的估计值\hat{d}为:

                                                                  \hat{d}=(\varepsilon +d)G_{p}(s)G_{p}^{-1}(s)-\varepsilon=d                                (1)

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

    (1)通常情况下,G_{p}(s)的相对阶不为0,其逆物理上不可实现;

    (2)对象G_{p}(s)的精确数学模型无法得到;

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

    解决上述问题的一个自然的想法是在d的后面串入低通滤波器Q(s),并用理想模型G_{n}(s)的逆G_{n}^{-1}来替代G_{p}^{-1},得到如图2所示的框图,其中虚线框内部分为干扰观测器,u为输入信号,d为等效干扰,\xi为测量噪声。

                        

                                                                        图2 干扰观测器原理框图

    根据梅森公式有

                                                           

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

                      

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

                        

                                                                           图3  简化框图

    根据图4,可推出

                                          

    Q(s)是干扰观测器设计中一个非常重要的环节,首先,为使Q(s)G_{n}^{-1}正则,Q(s)的相对阶应不小于G_{n}(s)的相对阶;其次Q(s)带宽的设计,是在干扰观测器的鲁棒稳定性和干扰抑制能力之间的折中。

     Q(s)的设计原则为:即在低频段,Q(s)=1;在高频段,Q(s)=0 具体分析如下:

    在低频段,Q(s)=1,由上述公式知

                                        

    上式说明,在低频段,干扰观测器仍使得实际对象的响应与名义模型的响应一致,即可以实现对低频干扰的有效补偿,从而保证较好的鲁棒性。G_{DY}(s)=0说明干扰观测器对于Q(s)频带内的低频干扰具有完全的抑制能力;G_{\xi Y}(s)=1说明干扰观测器对于低频测量噪声非常敏感,因此,在实际应用中,必须考虑采取适当的措施,减小运动状态测量中的低频噪声。

    在高频段,Q(s)=0,由上述公式知

                                           

    上式说明,在高频时,G_{\xi Y}(s)=0 可见干扰观测器对测量噪声不敏感,可以实现对高频噪声的有效滤除,但对于对象参数的摄动及外部扰动没有任何抑制作用。通过上述分析可见,通过采用低通滤波器Q(s)设计可以实现对低频干扰的有效补偿和高频噪声的有效滤除,是一种很有效的工程设计方法。

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

    二、仿真实例

                                                   

          

    1. 主程序——DOPBS.m

    %%————————————————————————————————————%%
    %功能:扰动观测器+反步法(DOPBS)
    %时间:2020年7月7日
    %作者:Peng Jin
    %版本:V1.0
    %————————————————————————————---———————%%
    %%
    clc
    clear all
    close all
    
    x0=[-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 on
    
    figure(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 系统状态轨迹

                                          

                                                                                图6 干扰观测器估计误差

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

    展开全文
  • 基于无限维扰动观测器的柔性机械臂边界控制
  • 可以在https://do-dat.github.io/ 中找到全新版本的 DO-DAT。
  • 基于扰动观测器的挠性航天器姿态系统非线性稳定控制
  • 干扰观测器是机器人控制中很重要的一种手段,今天要分享的是一种简单的非线性干扰观测器NDOB的推导,请享用吧 1 朴素NDOB观测器推导 假设非线性系统方程为: x˙=f(x)+g1(x)u+g2(x)dy=h(x)(1) \begin{aligned} \dot...

    Hello,欢迎来到我的博客
    干扰观测器是机器人控制中很重要的一种手段,今天要分享的是一种简单的非线性干扰观测器NDOB的推导,请享用吧

    1 朴素NDOB观测器推导

    假设非线性系统方程为:
    x ˙ = f ( x ) + g 1 ( x ) u + g 2 ( x ) d y = h ( x ) (1) \begin{aligned} \dot{x}&=f(x)+g_1(x)u+g_2(x)d\tag{1}\\ y&=h(x) \end{aligned} x˙y=f(x)+g1(x)u+g2(x)d=h(x)(1)
    其中, d d d为扰动, u u u为控制量。
    我们期望对扰动 d d d进行估计,不妨设扰动估计量为 d ^ \hat{d} d^,那么扰动的估计误差则为:
    d ~ = d − d ^ \tilde{d}=d-\hat{d} d~=dd^
    d ~ \tilde{d} d~求导,可得:
    d ~ ˙ = d ˙ − d ^ ˙ = − d ^ ˙ \dot{\tilde{d}}=\dot{d}-\dot{\hat{d}}=-\dot{\hat{d}} d~˙=d˙d^˙=d^˙
    注意,由于我们对于真实扰动 d d d没有任何先验知识,这里最不失一般性的假设就是:它的导数等于0。
    接下来,为了让 d ~ \tilde{d} d~尽快收敛,我们可以令其等于如下形式:
    d ~ ˙ = − d ^ ˙ = − l ( x ) g 2 ( x ) d ~ \dot{\tilde{d}}=-\dot{\hat{d}}=-l(x)g_2(x)\tilde{d} d~˙=d^˙=l(x)g2(x)d~
    注意,上面这个等式是我们人为设计的一种 d ~ \tilde{d} d~的趋近律,也就是我们希望 d ~ \tilde{d} d~以何种方式趋近于0。我们可以任意选择 l ( x ) l(x) l(x),只要保证以上关于 d ~ \tilde{d} d~的这个动力学系统收敛即可。

    基于以上趋近律,并且代入系统方程(1),我们可以得到:
    d ^ ˙ = l ( x ) g 2 ( x ) d ~ = l ( x ) g 2 ( x ) ( d − d ^ ) = l ( x ) ( x ˙ − f ( x ) − g 1 ( x ) u − g 2 ( x ) d ^ ) = − l ( x ) g 2 ( x ) d ^ + l ( x ) ( x ˙ − f ( x ) − g 1 ( x ) u ) (2) \begin{aligned} \dot{\hat{d}}&=l(x)g_2(x)\tilde{d}\\ &=l(x)g_2(x)(d-\hat{d})\\ &=l(x)(\dot{x}-f(x)-g_1(x)u-g_2(x)\hat{d})\\ &=-l(x)g_2(x)\hat{d}+l(x)(\dot{x}-f(x)-g_1(x)u)\tag{2} \end{aligned} d^˙=l(x)g2(x)d~=l(x)g2(x)(dd^)=l(x)(x˙f(x)g1(x)ug2(x)d^)=l(x)g2(x)d^+l(x)(x˙f(x)g1(x)u)(2)
    以上就是一个最为朴素的非线性扰动观测器了。
    当然,事情到这里还没有结束。仔细观察可以发现,这个扰动观测器需要用到 x ˙ \dot{x} x˙这一项,很显然,大多数系统都不可能得到这项的观测,所以这个最朴素的扰动观测器需要一些小的改进。

    2 改进NDOB观测器推导

    最朴素的把 x ˙ \dot{x} x˙消去的思路就是,在观测器(2)的左右两边同时减去 l ( x ) x ˙ l(x)\dot{x} l(x)x˙,如下:
    d ^ ˙ − l ( x ) x ˙ = − l ( x ) g 2 ( x ) d ^ + l ( x ) ( − f ( x ) − g 1 ( x ) u ) (3) \dot{\hat{d}}-l(x)\dot{x}=-l(x)g_2(x)\hat{d}+l(x)(-f(x)-g_1(x)u)\tag{3} d^˙l(x)x˙=l(x)g2(x)d^+l(x)(f(x)g1(x)u)(3)
    这样公式右边就没有 x ˙ \dot{x} x˙这一项了。进一步地,我们对等式(3)左右两边积分:
    d ^ − p ( x ) = ∫ − l ( x ) g 2 ( x ) d ^ + l ( x ) ( − f ( x ) − g 1 ( x ) u )  dt (4) \hat{d}-p(x)=\int -l(x)g_2(x)\hat{d}+l(x)(-f(x)-g_1(x)u) \ \text{dt}\tag{4} d^p(x)=l(x)g2(x)d^+l(x)(f(x)g1(x)u) dt(4)
    其中,假设 p ( x ) = ∫ l ( x ) x ˙ dt p(x)=\int l(x)\dot{x} \text{dt} p(x)=l(x)x˙dt。同时,进一步设置一个中间变量 z = d ^ − p ( x ) z=\hat{d}-p(x) z=d^p(x)。那么,再对公式(4)求导,就可以变形为:
    z ˙ = − l ( x ) g 2 ( x ) ( z + p ( x ) ) + l ( x ) ( − f ( x ) − g 1 ( x ) u ) = − l ( x ) g 2 ( x ) z − l ( x ) [ f ( x ) + g 1 ( x ) u + g 2 ( x ) p ( x ) ] (5) \begin{aligned} \dot{z}&=-l(x)g_2(x)(z+p(x))+l(x)(-f(x)-g_1(x)u) \tag{5}\\ &=-l(x)g_2(x)z-l(x)\left[f(x)+g_1(x)u+g_2(x)p(x)\right] \end{aligned} z˙=l(x)g2(x)(z+p(x))+l(x)(f(x)g1(x)u)=l(x)g2(x)zl(x)[f(x)+g1(x)u+g2(x)p(x)](5)
    以上就是一个针对中间变量 z z z的观测器,有了 z z z以后,扰动估计量 d ^ \hat{d} d^也可以很容易得到:
    d ^ = z + p ( x ) (6) \hat{d}=z+p(x) \tag{6} d^=z+p(x)(6)
    推到这里,公式(5)(6)就可以实现扰动观测了。然而,还遗留了一个最重要的问题, p ( x ) p(x) p(x)是什么?
    刚才我们假设了 p ( x ) = ∫ l ( x ) x ˙  dt p(x)=\int l(x)\dot x \ \text{dt} p(x)=l(x)x˙ dt,所以,也存在如下关系:
    l ( x ) = ∂ p ( x ) ∂ x    →    d p ( x ) d t = l ( x ) x ˙ (7) l(x)=\frac{\partial p(x)}{\partial x} \ \ \rightarrow \ \ \frac{\text{d} p(x)}{\text{d}t}=l(x)\dot{x} \tag{7} l(x)=xp(x)    dtdp(x)=l(x)x˙(7)
    所以,如何确定 p ( x ) p(x) p(x)呢?有两种方式,一种是先选定 l ( x ) l(x) l(x),然后对 x x x积分,求 p ( x ) p(x) p(x)。另一种方式则是,先自由选定 p ( x ) p(x) p(x),但是 l ( x ) l(x) l(x)则必须满足上述关系式(7)。

    3 实际例子

    下面以一个实际系统为例,演示NDOB的使用方法:
    存在一个二阶非线性系统,如下:
    x ˙ 1 = x 2 x ˙ 2 = − k ∣ x 2 ∣ x 2 + b u + d \begin{aligned} \dot{x}_1&=x_2\\ \dot{x}_2&=-k|x_2|x_2+bu+d \end{aligned} x˙1x˙2=x2=kx2x2+bu+d
    其中, x 1 x_1 x1代表位置, x 2 x_2 x2代表速度, u u u代表控制, d d d代表扰动。
    针对第二个式子:
    x ˙ 2 = − k ∣ x 2 ∣ x 2 + b u + d \dot{x}_2=-k|x_2|x_2+bu+d x˙2=kx2x2+bu+d
    其中:
    f ( x ) = − k ∣ x 2 ∣ x 2 , g 1 ( x ) = b , g 2 ( x ) = 1 f(x)=-k|x_2|x_2,g_1(x)=b,g_2(x)=1 f(x)=kx2x2,g1(x)=b,g2(x)=1
    设计 l ( x ) = c l(x)=c l(x)=c,则有:
    p ( x ) = c x 2 p(x)=cx_2 p(x)=cx2
    定义中间变量 z = d ^ − p ( x ) z=\hat{d}-p(x) z=d^p(x)

    于是,扰动观测器的形式为:
    z ˙ = − l ( x ) g 2 ( x ) z − l ( x ) [ f ( x ) + g 1 ( x ) u + g 2 ( x ) p ( x ) ] = − c z − c ( − k ∣ x 2 ∣ x 2 + b u + c x 2 ) d ^ = z + p ( x ) = z + c x 2 \begin{aligned} \dot{z}&=-l(x)g_2(x)z-l(x)\left[f(x)+g_1(x)u+g_2(x)p(x)\right]\\ &=-cz-c(-k|x_2|x_2+bu+cx_2)\\ \hat{d}&=z+p(x)=z+cx_2 \end{aligned} z˙d^=l(x)g2(x)zl(x)[f(x)+g1(x)u+g2(x)p(x)]=czc(kx2x2+bu+cx2)=z+p(x)=z+cx2

    4 参考文献

    [1] Wen-Hua Chen et. al. A Nonlinear Disturbance Observer for Robotic Manipulators, 2000
    [2] Wen-Hua Chen et. al. Disturbance-Observer-Based Control and Related Methods—An Overview, 2016

    展开全文
  • 基于无差拍预测控制和扰动观测器的永磁同步电机电流控制
  • matlab 求解基于扰动观测器的滑膜控制器设计。解决了采用ode45求解微分方程时,微分方程中保存中间变量的方法
  • 本程序基于MATLAB实现无人船(水下机器人)轨迹跟踪控制。考虑干扰,设计扰动观测器观测,并利用自适应DSC滑模设计鲁棒控制器
  • 需要运行下面的代码,得到矩阵E,然后才能进行仿真,更具体思路的可以参考 https://blog.csdn.net/XSTX1996/article/details/83117733 A = [1 1; 0 0]; C = [1 0]; syms e1 e2 lambda; E = [e1;...
  • 为提高 SMITH预估控制的鲁棒性,以适应控制对象模型不确定性,提出一种具有扰动观测器的改进控制方法,同时给出基于 ITAE准则(即时间乘绝对误差积分准则)的 PI (比例积分)控制器参数整定公式。把外扰和模型不确定性都...
  • 基于神经网络和扰动观测器的陀螺稳定平台自适应非线性控制
  • 针对将扰动观测器应用于实际伺服系统有可能由于参数选取不当导致系统不稳定的问题,提出应用于实际伺服系统的扰动观测器的一般性结构;讨论了扰动观测器环节对系统稳定性的影响,给出了扰动观测器环节参数的选取方法...
  • 基于扰动观测器的航天器鲁棒自适应滑模控制。
  • 基于扰动观测器的具有不匹配扰动的非线性系统的扰动抑制
  • 基于扰动观测器的微网逆变器鲁棒H_控制策略.pdf
  • 非线性扰动观测器(NDO)与控制器设计分开构造,以进行估计第一种干扰。 通过将NDO与自适应反推技术集成在一起,可实现一种新型的复合抗干扰针对非线性系统提出了一种控制方案。 然后对闭环系统的所有信号进行稳定...
  • 提出了具有两种扰动的奇异混合系统基于扰动观测器的控制问题。 在假设系统状态不可用的情况下,(对于系统状态和扰动而言)全序观测器...
  • 一类随机系统基于扰动观测器的扰动衰减控制
  • 基于L2-L∞分散控制的多扰动互联系统扰动观测器
  • 基于扰动观测器的电力系统鲁棒滑模控制器设计.pdf
  • #资源达人分享计划#
  • 基于扰动观测器的执行器饱和自适应跟踪控制及其应用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,307
精华内容 922
关键字:

扰动观测器