非线性扰动观测器的基本设计

非线性扰动观测器的基本设计


前言

因为看到论文中有扰动观测器的设计,但只是大概地明白设计的原理,实际上不明白扰动观测器是如何设计出来的。因此在查阅了相关文献和文章后,将学习到的基本的扰动观测器的设计记录如下。

问题描述

考虑如下这个一个系统
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\\ y&=h(x)\\ \end{aligned}\qquad(1) x˙y=f(x)+g1(x)u+g2(x)d=h(x)(1)
其中, f ( x ) 、 g 1 ( x ) 、 g 2 ( x ) 、 h ( x ) f(x)、g_1(x)、g2(x)、h(x) f(x)g1(x)g2(x)h(x)都是已知且光滑的连续函数, d d d是未知扰动,如何设计扰动观测器估计未知扰动 d d d

扰动观测器设计

按照之前学习的自适应控制的思想来看,设定扰动估计量 d ^ \hat d d^,扰动误差为 d ~ = d ^ − d \tilde d=\hat d -d d~=d^d

求取误差的动态方程: d ~ ˙ = d ^ ˙ − d ˙ \dot {\tilde d}=\dot {\hat d}-\dot d d~˙=d^˙d˙

在这里我们考虑慢时变的外部扰动,即 d ˙ = 0 \dot d=0 d˙=0,其实此时可以利用自适应控制率来实现对外部扰动的估计了,不过这里是学习基本的扰动观测器。

根据控制理论,如果我们希望 d ~ ˙ \dot {\tilde d} d~˙趋于0,我们可以设计其满足如下的控制率
d ~ ˙ = − l ( x ) g 2 ( x ) d ~ ( 2 ) \dot {\tilde d}=-l(x)g_2(x)\tilde d \qquad(2) d~˙=l(x)g2(x)d~(2)
很显然该控制率从李雅普诺夫稳定性理论来看, d ~ ˙ \dot {\tilde d} d~˙会收敛到0

将误差的动态方程带入到控制率中
d ~ ˙ = d ^ ˙ = − l ( x ) g 2 ( x ) d ~ = − l ( x ) g 2 ( x ) ( d ^ − d ) = − l ( x ) g 2 ( x ) d ^ + l ( x ) ( x ˙ − f ( x ) − g 1 ( x ) u ) ( 3 ) \begin{aligned} \dot {\tilde d}&=\dot {\hat d}\\ &=-l(x)g_2(x)\tilde d\\ &=-l(x)g_2(x)(\hat d -d)\\ &=-l(x)g_2(x)\hat d+l(x)(\dot x-f(x)-g_1(x)u) \end{aligned}\qquad(3) d~˙=d^˙=l(x)g2(x)d~=l(x)g2(x)(d^d)=l(x)g2(x)d^+l(x)(x˙f(x)g1(x)u)(3)
在公式(3)中我们带入了公式(1)的原系统,用以表示 g 2 ( x ) d g_2(x)d g2(x)d。但是上述公式中 x ˙ \dot x x˙是无法得到的变量,因此需要对上述公式进行变换,在两边分别减去 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 ) ( 4 ) \begin{aligned} \dot{\hat d}-l(x)\dot x&=-l(x)g_2(x)\hat d+l(x)(-f(x)-g_1(x)u)\qquad(4) \end{aligned} d^˙l(x)x˙=l(x)g2(x)d^+l(x)(f(x)g1(x)u)(4)
针对公式(4)进行积分
d ^ − p ( x ) = ∫ − l ( x ) g 2 ( x ) d ^ + l ( x ) ( − f ( x ) − g 1 ( x ) u ) d t ( 5 ) \hat d -p(x)=\int_{}^{}-l(x)g_2(x)\hat d+l(x)(-f(x)-g_1(x)u)dt \qquad(5) d^p(x)=l(x)g2(x)d^+l(x)(f(x)g1(x)u)dt(5)
其中 p ( x ) = ∫ l ( x ) x ˙ d t p(x)=\int_{}^{}l(x)\dot xdt p(x)=l(x)x˙dt,令 z = d ^ − p ( x ) z=\hat d-p(x) z=d^p(x),并对公式(5)进行求导,得到
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 − l ( x ) g 2 ( x ) p ( x ) ) d ^ = z + p ( x ) ( 6 ) \begin{aligned} \dot 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-l(x)g_2(x)p(x))\\ \hat d&=z+p(x) \end{aligned} \qquad(6) z˙d^=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)ul(x)g2(x)p(x))=z+p(x)(6)
这就是我们看到论文中的扰动观测器的基本原型了,很多都是从这个原型进行变化的,并且要注意到 l ( x ) l(x) l(x)的选择是有要求的。
p ( x ) = ∫ l ( x ) x ˙ d t d p ( x ) d t = l ( x ) d x d t l ( x ) = ∂ p ( x ) ∂ x p(x)=\int_{}^{}l(x)\dot xdt\\ \frac{dp(x)}{dt}=l(x)\frac{dx}{dt}\\ l(x) = \frac{\partial p(x)}{\partial x} p(x)=l(x)x˙dtdtdp(x)=l(x)dtdxl(x)=xp(x)
因此 l ( x ) l(x) l(x)需要满足 l ( x ) = ∂ p ( x ) ∂ x l(x) = \frac{\partial p(x)}{\partial x} l(x)=xp(x),参考别人的文章,确定 l ( x ) l(x) l(x) p ( x ) p(x) p(x)一般有两种方法,1.首先选定 l ( x ) l(x) l(x),再积分;2.选定 p ( x ) p(x) p(x),再求导得到 l ( x ) l(x) l(x)

小结

本文针对非线性扰动观测器的设计进行了基本的解释,我学习的还很浅显,遇到具体问题还需要具体分析,进行些许的变形。如果后续学习到新的东西再过来补充更新。

参考资料

  1. Do K D . Practical control of underactuated ships[J]. Ocean Engineering, 2010, 37( 13):1111-1119.
  2. Chen W H , Yang J , Guo L , et al. Disturbance-Observer-Based Control and Related Methods—An Overview[J]. IEEE Transactions on Industrial Electronics, 2016, 63(2):1083-1095.
  3. Chen W H , Ballance D J . A nonlinear disturbance observer for robotic manipulators[J]. Industrial Electronics IEEE Transactions on, 2000, 47(4):932-938.
  4. Chen W H . Disturbance observer based control for nonlinear systems[J]. IEEE/ASME Transactions on Mechatronics, 2004, 9(4):706-710.
  5. 非线性扰动观测器NDOB的推导与实例 - 知乎 (zhihu.com)

如果您觉得我写的不错,麻烦给我一个免费的赞!如果内容中有错误,也欢迎向我反馈。

猜你喜欢

转载自blog.csdn.net/qq_45830323/article/details/130422727
今日推荐