非线性扰动观测器的基本设计
非线性扰动观测器的基本设计
目录
- 非线性扰动观测器的基本设计
- 前言
- 问题描述
- 扰动观测器设计
- 小结
- 参考资料
前言
因为看到论文中有扰动观测器的设计,但只是大概地明白设计的原理,实际上不明白扰动观测器是如何设计出来的。因此在查阅了相关文献和文章后,将学习到的基本的扰动观测器的设计记录如下。
问题描述
考虑如下这个一个系统
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)u−l(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)=∂x∂p(x)
因此
l
(
x
)
l(x)
l(x)需要满足
l
(
x
)
=
∂
p
(
x
)
∂
x
l(x) = \frac{\partial p(x)}{\partial x}
l(x)=∂x∂p(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)
小结
本文针对非线性扰动观测器的设计进行了基本的解释,我学习的还很浅显,遇到具体问题还需要具体分析,进行些许的变形。如果后续学习到新的东西再过来补充更新。
参考资料
- Do K D . Practical control of underactuated ships[J]. Ocean Engineering, 2010, 37( 13):1111-1119.
- 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.
- Chen W H , Ballance D J . A nonlinear disturbance observer for robotic manipulators[J]. Industrial Electronics IEEE Transactions on, 2000, 47(4):932-938.
- Chen W H . Disturbance observer based control for nonlinear systems[J]. IEEE/ASME Transactions on Mechatronics, 2004, 9(4):706-710.
- 非线性扰动观测器NDOB的推导与实例 - 知乎 (zhihu.com)
如果您觉得我写的不错,麻烦给我一个免费的赞!如果内容中有错误,也欢迎向我反馈。