非线性扰动观测器(NDOB)

这篇具有很好参考价值的文章主要介绍了非线性扰动观测器(NDOB)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

干扰观测器是控制中非常常见的一种方法,本节推导的是一种简单的非线性干扰观测器NDOB

朴素NDOB观测器

假设非线性系统方程为
x ˙ = f ( x ) + g 1 ( x ) u + g 2 ( x ) d y = h ( x ) \begin{align} \dot x &= f(x) + g_1(x)u + g_2(x)d \nonumber\\ y &= h(x) \nonumber \end{align} x˙y=f(x)+g1(x)u+g2(x)d=h(x)
其中 d d d 为扰动, u u u 为控制量,我们期望对扰动进行估计,不妨假设扰动为 d ^ \hat d d^ ,那么扰动的估计误差为
d ~ = d − d ^ \tilde d = d - \hat d d~=dd^
对扰动误差 d ~ \tilde d d~ 求导,可得(这里注意,我们对真实扰动没有一点先验知识,这里最不失一般性的假设就是,她的导数为0):
d ~ ˙ = d ˙ − d ^ ˙ = − d ^ ˙ \dot {\tilde d} = \dot d - \dot {\hat d} = - \dot {\hat d} d~˙=d˙d^˙=d^˙
为了让 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~ 的趋近律,也就是我们希望扰动的估计误差如何趋近于0,我们可以任意选择 l ( x ) l(x) l(x) ,只要保证上面的误差估计趋近于0即可。

基于上述的趋近律,我们带入到非线性系统方程可以得到:
d ^ ˙ = l ( x ) g 2 ( x ) d ~ = l ( x ) g 2 ( x ) ( d − d ^ ) = l ( x ) ( g 2 ( x ) d − g 2 ( x ) d ^ ) = l ( x ) ( x ˙ − f ( x ) − g 1 ( x ) u − g 2 ( x ) d ^ ) = l ( x ) ( x ˙ − f ( x ) − g 1 ( x ) u ) − l ( x ) g 2 ( x ) d ^ \begin{split} \dot {\hat d} &= l(x)g_2(x){\tilde d} \\ &= l(x) g_2(x) (d - {\hat d}) \\ &= l(x) (g_2(x)d - g_2(x){\hat d}) \\ &= l(x) (\dot x - f(x) - g_1(x)u - g_2(x){\hat d}) \\ &= l(x) (\dot x - f(x) - g_1(x)u) - l(x)g_2(x){\hat d} \end{split} d^˙=l(x)g2(x)d~=l(x)g2(x)(dd^)=l(x)(g2(x)dg2(x)d^)=l(x)(x˙f(x)g1(x)ug2(x)d^)=l(x)(x˙f(x)g1(x)u)l(x)g2(x)d^
上面我们就推导了最为朴素的非线性扰动观测器,但是我们发现,这个扰动观测器需要用到 x ˙ \dot x x˙ 这一项,很明显,大多数系统都不可能得到这项的观测,所以这个观测器需要做一些改进。

改进NDOB观测器

最朴素的把 x ˙ \dot x x˙ 消掉的思路就是,在观测器的左右两遍同时减去 l ( x ) x ˙ l(x)\dot x l(x)x˙:
d ^ ˙ − l ( x ) x ˙ = l ( x ) ( − f ( x ) − g 1 ( x ) u ) − l ( x ) g 2 ( x ) d ^ \dot {\hat d} - l(x)\dot x = l(x) (- f(x) - g_1(x)u) - l(x)g_2(x){\hat d} d^˙l(x)x˙=l(x)(f(x)g1(x)u)l(x)g2(x)d^
这样公式的右侧就没有 x ˙ \dot x x˙ 这一项了,我们对等式的左右两边进行积分:
p ( x ) = ∫ l ( x ) x ˙  d x d ^ − p ( x ) = ∫ l ( x ) ( − f ( x ) − g 1 ( x ) u ) − l ( x ) g 2 ( x ) d ^  d x \begin{align} p(x) &= \int l(x)\dot x \ \text d x\nonumber\\ \hat d - p(x) &= \int {l(x) (- f(x) - g_1(x)u) - l(x)g_2(x){\hat d}} \ \text d x\nonumber \end{align} p(x)d^p(x)=l(x)x˙ dx=l(x)(f(x)g1(x)u)l(x)g2(x)d^ dx
设置一个中间变量 z = d ^ − p ( x ) z=\hat d - p(x) z=d^p(x) ,那么对 z z z 进行求导可以得到:
z ˙ = l ( x ) ( − f ( x ) − g 1 ( x ) u ) − l ( x ) g 2 ( x ) d ^ = l ( x ) ( − f ( x ) − g 1 ( x ) u ) − l ( x ) g 2 ( x ) ( z + p ( x ) ) = l ( x ) [ − f ( x ) − g 1 ( x ) u + g 2 ( x ) p ( x ) ] − l ( x ) g 2 ( x ) z \begin{align} \dot z &= l(x) (- f(x) - g_1(x)u) - l(x)g_2(x){\hat d}\nonumber \\ &= l(x) (- f(x) - g_1(x)u) - l(x)g_2(x)(z + p(x))\nonumber \\ &= l(x) [- f(x) - g_1(x)u + g_2(x)p(x)] - l(x)g_2(x)z\nonumber \\ \end{align} z˙=l(x)(f(x)g1(x)u)l(x)g2(x)d^=l(x)(f(x)g1(x)u)l(x)g2(x)(z+p(x))=l(x)[f(x)g1(x)u+g2(x)p(x)]l(x)g2(x)z
上面是一个针对中间变量 z z z 的观测器,有了 z z z 以后,扰动估计量 d ^ \hat d d^ 也可以很容易得到:
d ^ = z + p ( x ) \hat d = z + p(x) d^=z+p(x)
这里我们实现了扰动的观测,还遗留了一个最重要的问题, p ( x ) p(x) p(x) 是什么,刚才我们假设了 p ( x ) = ∫ l ( x ) x ˙  d t p(x) = \int l(x)\dot x \ \text d t p(x)=l(x)x˙ dt,所以也存在了如下的关系:
l ( x ) = ∂ p ( x ) ∂ x → d p ( x ) d t = l ( x ) x ˙ l(x) = {\frac {\partial p(x)} {\partial x}} \to {\frac {\text d p(x)} {\text d t}} = l(x)\dot x l(x)=xp(x)dtdp(x)=l(x)x˙
如何确定 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) 则必须满足上述关系。

李雅普诺夫证明稳定性

假设李雅普诺夫函数
V = 1 2 d ~ 2 V=\frac {1} {2} \tilde d ^ 2 V=21d~2
对其求导,之前我们就假设了扰动的导数为0,即这个扰动是一个常数,反正波动不会很大
V ˙ = d ~ d ~ ˙ = d ~ ( d ˙ − d ^ ˙ ) = − d ~ d ^ ˙ \dot V = \tilde d \dot {\tilde d} = \tilde d (\dot d - \dot {\hat d}) = - \tilde d \dot {\hat d} V˙=d~d~˙=d~(d˙d^˙)=d~d^˙
其中
d ^ ˙ = z ˙ + p ˙ ( x ) = z ˙ + l ( x ) x ˙ = l ( x ) [ − f ( x ) − g 1 ( x ) u + g 2 ( x ) p ( x ) ] − l ( x ) g 2 ( x ) z + l ( x ) x ˙ = l ( x ) [ − f ( x ) − g 1 ( x ) u + g 2 ( x ) p ( x ) ] − l ( x ) g 2 ( x ) z + l ( x ) ( f ( x ) + g 1 ( x ) u + g 2 ( x ) d ) = l ( x ) g 2 ( x ) p ( x ) − l ( x ) g 2 ( x ) z + l ( x ) g 2 ( x ) d = l ( x ) g 2 ( x ) ( p ( x ) − z + d ) = l ( x ) g 2 ( x ) d ~ \begin {align} \dot {\hat d} &= \dot z + \dot p(x) \nonumber\\ &= \dot z + l(x){\dot x} \nonumber\\ &= l(x) [- f(x) - g_1(x)u + g_2(x)p(x)] - l(x)g_2(x)z + l(x){\dot x} \nonumber\\ &= l(x) [- f(x) - g_1(x)u + g_2(x)p(x)] - l(x)g_2(x)z + l(x)(f(x) + g_1(x)u + g_2(x)d )\nonumber \\ &= l(x)g_2(x)p(x) - l(x)g_2(x)z + l(x)g_2(x)d \nonumber\\ &= l(x)g_2(x)(p(x) - z + d) \nonumber\\ &= l(x)g_2(x){\tilde d}\nonumber \end {align} d^˙=z˙+p˙(x)=z˙+l(x)x˙=l(x)[f(x)g1(x)u+g2(x)p(x)]l(x)g2(x)z+l(x)x˙=l(x)[f(x)g1(x)u+g2(x)p(x)]l(x)g2(x)z+l(x)(f(x)+g1(x)u+g2(x)d)=l(x)g2(x)p(x)l(x)g2(x)z+l(x)g2(x)d=l(x)g2(x)(p(x)z+d)=l(x)g2(x)d~
所以
V ˙ = − d ~ d ^ ˙ = − d ~ l ( x ) g 2 ( x ) d ~ = − l ( x ) g 2 ( x ) d ~ 2 = − 2 l ( x ) g 2 ( x ) d ~ 2 \begin {align} \dot V &= - \tilde d \dot {\hat d}\nonumber \\ &= -{\tilde d} l(x)g_2(x){\tilde d}\nonumber \\ &= -l(x)g_2(x){\tilde d}^2\nonumber \\ &= -2l(x)g_2(x){\tilde d}^2\nonumber \\ \end {align} V˙=d~d^˙=d~l(x)g2(x)d~=l(x)g2(x)d~2=2l(x)g2(x)d~2
**定理1:**若李雅普诺夫满足以下等式,则系统稳定
V ˙ ≤ − K V λ   ; K , λ > 0 \dot V \le -KV^{\lambda} \ ;K,\lambda > 0 V˙KVλ ;K,λ>0
所以系统稳定

实际的控制例子

一个二阶系统如下
x ˙ 1 = x 2 x ˙ 2 = − k ∣ x 2 ∣ x 2 + b u + d \begin{align} \dot x_1 &= x_2\nonumber \\ \dot x_2 &= -k|x_2|x_2+bu+d\nonumber \\ \end{align} x˙1x˙2=x2=kx2x2+bu+d
其中 x 1 x_1 x1 代表位置, x 2 x_2 x2 代表速度, u u u 是控制量, d d d 代表扰动。
{ f ( x ) = − k ∣ x 2 ∣ x 2 g 1 ( x ) = b g 2 ( x ) = 1 \begin{cases} f(x) = -k|x_2|x_2 \nonumber\\ g_1(x) = b\nonumber \\ g_2(x) = 1 \end{cases} f(x)=kx2x2g1(x)=bg2(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{align} \dot z &= -l(x)g_2(x)z-l(x)[f(x)+g_1(x)u+g_2(x)p(x)]\nonumber\\ &=-cz-c(-k|x_2|x_2 + bu + cx_2) \nonumber\\ \hat d &= z+p(x)=z+cx_2\nonumber \end{align} 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

注意

干扰必须是有界的,否则定理1将不成立,如果只参考结论的话,可以只看最后一个结论文章来源地址https://www.toymoban.com/news/detail-404552.html

到了这里,关于非线性扰动观测器(NDOB)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ADRC——一阶ESO扩张状态观测器simulink实现及C语言代码

            理论部分见我之前的博客,一阶ESO相比起来实现更简单,也更好理解,可帮助新手入门使用。虽然常见的物理系统,绝大多都是二阶系统,如F=ma, 做位置控制时,一般用二阶ESO。但是一阶ESO也有一定的用途,后面有空把之前做的一阶ESO的实际案例开源出来。 simu

    2024年02月05日
    浏览(42)
  • stm32 滑膜观测器+PLL 锁相环 FOC 无感无刷电机控制

            上一期为大家介绍了滑膜观测器正反切的应用案例,收到不少小伙伴的反馈是否有PLL的案例,大概看了一下网上的资料,讲理论的很多,能转化成源码的几乎没有。前半年工作和家里的事情都比较多,一拖再拖,终于在6月将源码调试好了,在这里跟大家分享一下调试

    2024年02月10日
    浏览(47)
  • 无刷直流电机矢量控制(四):基于滑模观测器的无传感器控制

            在越来越多的应用场景中,无刷直流电机开始采用无位置传感器的控制方式。无刷直流电机运行于中高转速时,可以利用反电势信号估算转子位置,具体实现的方法不止一种,应用较多的是滑模观测器法。         本文整理了该方法的基本原理,介绍了在MAT

    2023年04月09日
    浏览(59)
  • 【电机仿真】HFI算法脉振高频电压信号注入观测器-PMSM无感FOC控制

    【电机仿真】HFI算法脉振高频电压信号注入观测器-PMSM无感FOC控制 提示:以下是本篇文章正文内容,下面案例可供参考 通常,注入的高频信号有 1)旋转高频电压信号 2)旋转高频电流信号 3)脉振高频电压信号 是在 两相静止坐标系中注入高频电压(电流)信号 ,检测电机中

    2024年04月17日
    浏览(35)
  • WebRTC Native M96 SDK接口封装--注册语音观测器对象获取原始音频数据registerAudioFrameObserver

    很多时候,上层app需要获取RTC中的音频数据,比如获取RTC麦克风采集的裸数据、扬声器播放的混音之后的裸数据,再比如麦克风和扬声器混音后的裸数据等等。 在实时音视频中,用户可以对采集到的音频数据进行前处理和后处理,获取自己想要的播放效果,例如变音、录音等

    2023年04月16日
    浏览(46)
  • [足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-8 状态观测器设计 Linear Observer Design

    本文仅供学习使用 本文参考: B站:DR_CAN

    2024年02月02日
    浏览(56)
  • 线性回归(线性拟合)与非线性回归(非线性拟合)原理、推导与算法实现(一)

    关于回归和拟合,从它们的求解过程以及结果来看,两者似乎没有太大差别,事实也的确如此。从本质上说,回归属于数理统计问题,研究解释变量与响应变量之间的关系以及相关性等问题。而拟合是把平面的一系列点,用一条光滑曲线连接起来,并且让更多的点在曲线上或

    2023年04月14日
    浏览(53)
  • 【具有非线性反馈的LTI系统识别】针对反馈非线性的LTI系统,提供非线性辨识方案(Simulink&Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、Simulink仿真

    2024年02月14日
    浏览(51)
  • 连续非线性系统线性化理论

    在工程领域的被控对象常常是非线性的动力系统。对非线性控制系统 x ˙ = f ( x , t ) dot{x}=f(x,t) x ˙ = f ( x , t ) 的稳定性分析,常常需要将非线性系统线性化成线性系统 x ˙ = A ( t ) x dot x = A(t)x x ˙ = A ( t ) x 后,对线性系统设计的控制器放在非线性系统上,达到合适的控制效果

    2024年01月18日
    浏览(91)
  • 数学建模:线性与非线性优化算法

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 优化算法 是指在满足一定条件下,在众多方案中或者参数中最优方案,或者参数值,以使得某个或者多个功能指标达到最优,或使得系统的某些性能指标达到最大值或者最小值 优化的两个关键点: 1.明确优化的目标函数 2.明确优化

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包