干扰观测器是控制中非常常见的一种方法,本节推导的是一种简单的非线性干扰观测器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~=d−d^
对扰动误差 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)(d−d^)=l(x)(g2​(x)d−g2​(x)d^)=l(x)(x˙−f(x)−g1​(x)u−g2​(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)=∂x∂p(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=21​d~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˙1​x˙2​​=x2​=−k∣x2​∣x2​+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)=−k∣x2​∣x2​g1​(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)z−l(x)[f(x)+g1​(x)u+g2​(x)p(x)]=−cz−c(−k∣x2​∣x2​+bu+cx2​)=z+p(x)=z+cx2​​

注意

干扰必须是有界的,否则定理1将不成立,如果只参考结论的话,可以只看最后一个结论

非线性扰动观测器(NDOB)相关推荐

  1. 基于扰动观测器的非线性系统控制

    基于干扰观测器的控制(NDOBC,nonlinear disturbance observer based control) 模型的建立:--将非线性系统描述为: 其中,x.u.d分别为状态向量.输入 ...

  2. 电子科技大学计算机导师李珂,李珂-控制科学与工程学院

    李珂,博士,教授,中国自动化学会车辆控制与智能化专委会委员兼副秘书长,中国电工技术学会电控系统与装置专业委员会.中国自动化学会电气自动化专业委员会委员."新能源发电与高效节能系统优化控制理论 ...

  3. 线性矩阵不等式LMI的运用与Lipschitz非线性系统观测器的设计

    线性矩阵不等式(LMI)是有如下形式的一种约束描述:(1) 其中:是m个实数变量,称为线性矩阵不等式(1)的决策变量:是由决策变量构成的向量,称之为决策向量:是一组给定的实对称矩阵:(1)式中的不等号 ...

  4. matlab定子磁链观测器,一种基于二阶广义积分器的永磁同步电机定子磁链观测方法...

    2 仿真研究本文引用地址:http://www.eepw.com.cn/article/276359.htm 为了验证本文所提出的基于ISOGI的定子磁链观测器的优越性,进行了基于MATLAB/Sim ...

  5. 【控制】滑动模式观测器 sliding mode observer

    滑动模式观测器 sliding mode observer 滑动模式观测器(Sliding mode observer)是应用滑动模式控制的状态观测器,应用滑动模式控制的技术,使观测器的状态可以接近受 ...

  6. 全阶滑模观测器程序_基于全阶状态滑模观测器的异步电机转子磁链观测_杨淑英...

    摘要 : 矢量控制的关键在于转子磁链定向.针对异步电机矢量控制中磁链观测问题, 设计了一种基于全 阶状态滑模观测器的增强型转子磁链观测方案.该方案将全阶磁链观测器和滑模观测器结合起来对异步电 机定子电 ...

  7. 三相pmsm矢量控制仿真模型_学术|基于新型滑模观测器的永磁同步电机无传感器矢量控制系统...

    北京交通大学电气工程学院的研究人员张立伟.李行.宋佩佩.张鹏.云蓝斯,在2019年<电工技术学报>增刊1上撰文指出,现代永磁同步电机矢量控制系统中多采用机械式速度传感器检测转子位置和转速信 ...

  8. 滑膜观测器物理意义_电机控制中的滑模控制(滑模观测器设计)

    本文小结一下,电机无位置控制中的一种--滑模观测器的设计,还有自适应观测器的设计等其他内容,等有时间之后再来总结.现代永磁同步电机控制原理及MATLAB仿真 永磁同步电机无位置传感器控制系统的研究与设 ...

  9. 全阶滑模观测器程序_滑模观测器转子估算程序

    // 建立电流滑模观测器 EpreIaf = _IQmpy(Fsmo,EpreIaf) + _IQmpy(Gsmo,(Vaf-Eaf-Zaf)); EpreIbt= _IQmpy(Fsmo,EpreI ...

最新文章

  1. 让Hive支持行级insert、update、delete
  2. sqlite3.OperationalError: database is locked
  3. Android获取网速的方法
  4. 【NLP】ACL 2021中的25个Transformers模型
  5. LuoguP4606 [SDOI2018]战略游戏
  6. gradle运行测试代码_Gradle的好处:运行单个测试
  7. php绘制频谱图,一步一步教你实现iOS音频频谱动画(二)
  8. Exchange Server2010部署完后的配置:CA、Outlook Anywhere、OWA域名简写
  9. C/C++学习----第二章 继承和派生
  10. jboss6启动报错
  11. Azure Devops/Tfs 编译的时候自动修改版本号
  12. pyqt5下pushButton框保留用户历史输入
  13. swift1.2新增和改动
  14. Cisco Firewall ASA conn code
  15. 《2018华为92家核心供应商及其供应产品》
  16. 热传导方程有限差分法实现matlab,热传导方程有限差分法的MATLAB实现-史策
  17. win10计算机管理被阻止,Win10家庭版安装程序提示系统管理员已阻止你运行此应用的解决办法...
  18. mysql execute stmt_25.2.7.10. mysql_stmt_execute()
  19. 抖音快手皮皮虾西瓜头条等等短视频去水印接口【11-20日更新】
  20. 大数据薪水大概多少_大数据工程师工资一般多少钱

热门文章

  1. Android MediaCodec 完全解析
  2. 数电实验二 常用中规模组合逻辑电路的设计及应用
  3. halo java_Halo - 轻快,简洁,功能强大,使用Spring Boot开发的博客系统
  4. HTML5期末大作业:在线电影网站设计——网上电影票预订网站 HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
  5. 极验验证码行为模拟(成功率90%以上)
  6. 马克思主义哲学与计算机专业的关系,马克思主义哲学对计算机专业学习的指导作用...
  7. 推荐,产品经理适用的软件
  8. Kinect虚拟试衣间开发(4)-2D衣物试穿
  9. USB键鼠类芯片CH9329应用笔记
  10. 统计 | 统计功效 | R语言