非线性扰动观测器NDOB的推导与实例

本文介绍了非线性干扰观测器(NDOB)的基本概念和推导过程,首先阐述了NDOB在机器人控制中的重要性,然后详细推导了朴素NDOB和改进NDOB的数学表达式。通过一个二阶非线性系统的实例,展示了NDOB的实际应用。文章最后提到了参考文献,供读者深入研究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

1 朴素NDOB观测器推导

假设非线性系统方程为:
x˙=f(x)+g1(x)u+g2(x)dy=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)
其中,ddd为扰动,uuu为控制量。
我们期望对扰动ddd进行估计,不妨设扰动估计量为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^˙
注意,由于我们对于真实扰动ddd没有任何先验知识,这里最不失一般性的假设就是:它的导数等于0。
接下来,为了让d~\tilde{d}d~尽快收敛,我们可以令其等于如下形式:
d~˙=−d^˙=−l(x)g2(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)g2(x)d~=l(x)g2(x)(d−d^)=l(x)(x˙−f(x)−g1(x)u−g2(x)d^)=−l(x)g2(x)d^+l(x)(x˙−f(x)−g1(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)g2(x)d^+l(x)(−f(x)−g1(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)g2(x)d^+l(x)(−f(x)−g1(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˙dtp(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)g2(x)(z+p(x))+l(x)(−f(x)−g1(x)u)=−l(x)g2(x)z−l(x)[f(x)+g1(x)u+g2(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)
以上就是一个针对中间变量zzz的观测器,有了zzz以后,扰动估计量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˙ dtp(x)=\int l(x)\dot x \ \text{dt}p(x)=l(x)x˙ dt,所以,也存在如下关系:
l(x)=∂p(x)∂x  →  dp(x)dt=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),然后对xxx积分,求p(x)p(x)p(x)。另一种方式则是,先自由选定p(x)p(x)p(x),但是l(x)l(x)l(x)则必须满足上述关系式(7)。

3 实际例子

下面以一个实际系统为例,演示NDOB的使用方法:
存在一个二阶非线性系统,如下:
x˙1=x2x˙2=−k∣x2∣x2+bu+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
其中,x1x_1x1代表位置,x2x_2x2代表速度,uuu代表控制,ddd代表扰动。
针对第二个式子:
x˙2=−k∣x2∣x2+bu+d \dot{x}_2=-k|x_2|x_2+bu+d x˙2=kx2x2+bu+d
其中:
f(x)=−k∣x2∣x2,g1(x)=b,g2(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)=cl(x)=cl(x)=c,则有:
p(x)=cx2 p(x)=cx_2 p(x)=cx2
定义中间变量z=d^−p(x)z=\hat{d}-p(x)z=d^p(x)

于是,扰动观测器的形式为:
z˙=−l(x)g2(x)z−l(x)[f(x)+g1(x)u+g2(x)p(x)]=−cz−c(−k∣x2∣x2+bu+cx2)d^=z+p(x)=z+cx2 \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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值