前言
扩张状态观测器是处理复杂环境和干扰问题较好的工具,也是自抗扰控制(ADRC)中的重要手段,在解决不确定非线性的问题时得到了广泛的应用。其核心思路为:基于整个系统的输入信号和输出信号,对系统状态方程进行化简,得到积分串联型,将标准形式之外的项视为总的扰动项,然后用观测器对总的扰动项进行估计,随后反馈给控制系统。扩张状态观测器只需系统的输入和输出就可以对整个系统的全部状态变量进行估计,视总的干扰为系统状态的一部分,便可将总扰动估计并反馈给系统,从而增强整个系统的控制性能。
本文借助降阶扩张观测器对处于复杂环境下的水下机器人的运动进行分析,旨在抵抗外界干扰和模型的不确定摄动产生的影响。
一、状态观测器典型例子
下面介绍一个典型的单输入单输出的二阶系统的观测器设计过程进行简单说明,对于一个带有不确定干扰的二阶系统,其状态方程表示为:
{
x
˙
1
=
x
2
x
˙
2
=
f
(
x
1
,
x
2
,
w
)
+
b
u
y
=
x
1
\begin{cases}\dot{x}_{1}=x_{2}&\\\dot{x}_2=f(x_1,x_2,w)+bu&\\y=x_1\end{cases}
⎩
⎨
⎧x˙1=x2x˙2=f(x1,x2,w)+buy=x1其中
u
u
u表示系统输入,整个
f
(
x
1
,
x
2
,
w
)
f(x_1,x_2,w)
f(x1,x2,w)视为总的扰动部分,既包含系统的非线性成分,又包含外界扰动,
w
w
w为外界扰动,
y
y
y为输出。由此建立的三阶观测器表达式为:
{
z
˙
1
=
z
2
−
l
1
e
1
z
˙
2
=
z
3
+
b
u
−
l
2
e
1
z
˙
3
=
−
l
3
e
1
\begin{cases}\dot{z}_1=z_2-l_1e_1&\\\dot{z}_2=z_3+bu-l_2e_1&\\\dot{z}_3=-l_3e_1\end{cases}
⎩
⎨
⎧z˙1=z2−l1e1z˙2=z3+bu−l2e1z˙3=−l3e1上式中,
z
1
z_1
z1、
z
2
z_2
z2和
z
3
z_3
z3分别表示对
x
1
x_1
x1、
x
2
x_2
x2和
f
(
x
1
,
x
2
,
w
)
f(x_1,x_2,w)
f(x1,x2,w)的估计,
e
1
=
x
1
−
z
1
e_1=x_1-z_1
e1=x1−z1表示
x
1
x_1
x1的估计误差。
二、线性扩张状态观测器设计
为处理欠驱动AUV所受到的复合干扰,通过相关知识设计了线性扩张状态观测器,将其纳入控制系统中,从使整个系统鲁棒性和对环境的适应能力提高。设计过程如下:
首先定义干扰为:
χ
=
[
χ
u
χ
v
χ
w
χ
q
χ
r
]
\chi=\begin{bmatrix}\chi_u\\\chi_v \\\chi_w\\\chi_q\\\chi_r \end{bmatrix}
χ=
χuχvχwχqχr
其中
χ
i
\chi_i
χi表示各个方向上的干扰,是欠驱动AUV模型摄动和海流干扰的总的不确定项,现假设干扰
χ
\chi
χ是连续可微的。
考虑复杂环境,运动学和动力学模型可以用矩阵表示为:
{
η
˙
=
S
(
η
)
v
M
v
˙
+
C
(
v
)
v
+
D
(
v
)
v
+
g
(
η
)
=
τ
+
τ
w
\begin{cases}\dot{\eta}=S(\eta)v&\\M\dot{v}+C(v)v+D(v)v+g(\eta)=\tau+\tau_w\end{cases}
{η˙=S(η)vMv˙+C(v)v+D(v)v+g(η)=τ+τw其中
η
=
[
x
,
y
,
z
,
θ
,
ψ
]
T
\eta=[x,y,z,\theta,\psi]^T
η=[x,y,z,θ,ψ]T是位置与姿态向量,
S
(
η
)
S(\eta)
S(η)为定系和动系的转换矩阵,且
S
−
1
(
η
)
=
S
T
(
η
)
,
v
=
[
u
,
v
,
w
,
q
,
r
]
T
S^{-1}(\eta)=S^T(\eta),v=[u,v,w,q,r]^T
S−1(η)=ST(η),v=[u,v,w,q,r]T为速度向量,
C
(
v
)
C(v)
C(v)为科氏向心力矩阵,
τ
\tau
τ和
τ
w
\tau_w
τw分别表示控制输入和干扰项。
将上式化简为:
{
η
˙
=
S
(
η
)
v
v
˙
=
−
M
−
1
(
C
(
v
)
v
+
D
(
v
)
v
+
g
(
η
)
)
+
B
u
+
B
χ
\begin{cases}\dot{\eta}=S(\eta)v&\\\dot{v}=-M^{-1}(C(v)v+D(v)v+g(\eta))+Bu+B\chi\end{cases}
{η˙=S(η)vv˙=−M−1(C(v)v+D(v)v+g(η))+Bu+Bχ其中
B
=
M
−
1
B=M^{-1}
B=M−1为控制输入矩阵。由上式所设计的线性干扰观测器的表达式为:
{
η
^
˙
=
S
(
η
)
v
^
+
k
1
(
η
−
η
^
)
v
^
˙
=
−
M
−
1
(
C
(
v
^
)
)
v
^
+
D
(
v
^
)
v
^
+
g
(
η
)
)
+
B
u
+
B
χ
^
+
S
T
(
η
)
k
2
(
η
−
η
^
)
η
^
˙
=
S
T
(
η
)
k
3
(
η
−
η
^
)
\begin{cases}\dot{\hat{\eta}}=S(\eta)\hat{v}+k_1(\eta-\hat{\eta})&\\\dot{\hat{v}}=-M^{-1}(C(\hat{v}))\hat{v}+D(\hat{v})\hat{v}+g(\eta))+Bu+B\hat{\chi}+S^T(\eta)k_2(\eta-\hat{\eta})&\\\dot{\hat{\eta}}=S^T(\eta)k_3(\eta-\hat{\eta})\end{cases}
⎩
⎨
⎧η^˙=S(η)v^+k1(η−η^)v^˙=−M−1(C(v^))v^+D(v^)v^+g(η))+Bu+Bχ^+ST(η)k2(η−η^)η^˙=ST(η)k3(η−η^)其中
η
^
、
v
^
、
χ
^
\hat{\eta}、\hat{v}、\hat{\chi}
η^、v^、χ^分别是对
η
、
v
、
χ
\eta、v、\chi
η、v、χ的估计,
k
1
、
k
2
k_1、k_2
k1、k2和
k
3
k_3
k3为参数矩阵,即观测器的增益。以下将更加详尽地给出所设计地LESO,下面分别给出给矩阵等式的具体展开式:
{
x
^
˙
=
u
^
c
o
s
ψ
c
o
s
θ
+
v
^
(
c
o
s
ψ
s
i
n
θ
s
i
n
ϕ
−
s
i
n
ψ
c
o
s
ϕ
)
+
w
^
(
c
o
s
ψ
s
i
n
θ
c
o
s
ϕ
+
s
i
n
ψ
s
i
n
ϕ
)
+
k
1
(
x
−
x
^
)
y
^
˙
=
u
^
s
i
n
ψ
c
o
s
θ
+
v
^
(
s
i
n
ψ
s
i
n
θ
s
i
n
ϕ
+
c
o
s
ψ
c
o
s
ϕ
)
+
w
^
(
s
i
n
ψ
s
i
n
θ
c
o
s
ϕ
−
c
o
s
ψ
s
i
n
ϕ
)
+
k
2
(
z
−
z
^
)
z
˙
^
=
−
u
^
s
i
n
θ
+
v
^
c
o
s
θ
s
i
n
ϕ
+
w
^
c
o
s
θ
c
o
s
ϕ
+
k
1
(
z
−
z
^
)
θ
^
˙
=
q
^
c
o
s
ϕ
−
r
^
s
i
n
ϕ
+
k
1
(
θ
−
θ
^
)
ψ
^
˙
=
q
^
s
i
n
ϕ
s
e
c
θ
+
r
^
s
i
n
ϕ
s
e
c
θ
+
k
1
(
ψ
−
ψ
^
)
\begin{cases}\dot{\hat{x}}=\hat{u}cos\psi cos\theta+\hat{v}(cos\psi sin\theta sin\phi -sin\psi cos\phi)&\\+\hat{w}(cos\psi sin\theta cos\phi +sin\psi sin\phi)+k_1(x-\hat{x})&\\\dot{\hat{y}}=\hat{u}sin\psi cos\theta+\hat{v}(sin\psi sin\theta sin\phi +cos\psi cos\phi)&\\+\hat{w}(sin\psi sin\theta cos\phi-cos\psi sin\phi)+k_2(z-\hat{z})&\\ \hat{\dot{z}}=-\hat{u}sin\theta +\hat{v}cos\theta sin\phi + \hat{w}cos\theta cos\phi+k_1(z-\hat{z})&\\\dot{{\hat{\theta}}}=\hat{q}cos\phi-\hat{r}sin\phi+k_1(\theta-\hat{\theta})&\\\dot{\hat{\psi}}=\hat{q}sin\phi sec{\theta}+\hat{r}sin\phi sec\theta+k_1(\psi-\hat{\psi})\end{cases}
⎩
⎨
⎧x^˙=u^cosψcosθ+v^(cosψsinθsinϕ−sinψcosϕ)+w^(cosψsinθcosϕ+sinψsinϕ)+k1(x−x^)y^˙=u^sinψcosθ+v^(sinψsinθsinϕ+cosψcosϕ)+w^(sinψsinθcosϕ−cosψsinϕ)+k2(z−z^)z˙^=−u^sinθ+v^cosθsinϕ+w^cosθcosϕ+k1(z−z^)θ^˙=q^cosϕ−r^sinϕ+k1(θ−θ^)ψ^˙=q^sinϕsecθ+r^sinϕsecθ+k1(ψ−ψ^)
{
u
^
˙
=
1
m
u
(
F
u
+
χ
u
−
d
u
^
)
+
k
2
[
(
x
−
x
^
)
s
i
n
ψ
c
o
s
θ
+
(
y
−
y
^
)
s
i
n
ψ
c
o
s
θ
−
(
z
−
z
^
)
s
i
n
θ
]
v
^
˙
=
1
m
v
(
χ
v
^
−
m
u
r
u
^
r
^
−
d
v
^
)
+
k
2
[
−
(
x
−
x
^
)
s
i
n
ψ
+
(
y
−
y
^
)
c
o
s
ψ
+
(
z
−
z
^
)
(
c
o
s
ψ
s
i
n
θ
c
o
s
ϕ
−
c
o
s
ψ
s
i
n
ϕ
)
]
w
^
˙
=
1
m
w
(
χ
w
^
−
m
u
q
u
^
q
^
−
d
w
^
)
+
k
2
[
(
x
−
x
^
)
s
i
n
θ
c
o
s
ψ
+
(
y
−
y
^
)
s
i
n
ψ
s
i
n
θ
+
(
z
−
z
^
)
c
o
s
θ
]
q
^
˙
=
1
m
q
(
χ
q
^
−
d
q
^
)
+
k
2
(
θ
−
θ
^
)
c
o
s
ϕ
r
^
˙
=
1
m
r
(
χ
r
^
−
d
r
^
)
+
k
2
(
ψ
−
ψ
^
)
s
e
c
ψ
\begin{cases}\dot{\hat{u}}={1\over{m_u}}(F_u+\chi_u-\hat{d_{u}})+k_2[(x-\hat{x})sin\psi cos\theta +(y-\hat{y})sin\psi cos\theta -(z-\hat{z})sin\theta]&\\\dot{\hat{v}}={1\over{m_v}}(\hat{\chi_v}-m_{ur}{\hat{u}\hat{r}}-\hat{d_v})&\\+k_2[-(x-\hat{x})sin\psi+(y-\hat{y})cos\psi+(z-\hat{z})(cos\psi sin\theta cos\phi-cos\psi sin\phi)]&\\\dot{\hat{w}}={1\over{m_w}}(\hat{\chi_w}-m_{uq}\hat{u}\hat{q}-\hat{d_w})+k_2[(x-\hat{x})sin\theta cos\psi +(y-\hat{y})sin\psi sin\theta+(z-\hat{z})cos\theta]&\\\dot{\hat{q}}={1\over{m_q}}(\hat{\chi_q}-\hat{d_q})+k_2(\theta-\hat{\theta})cos\phi&\\\dot{\hat{r}}={1\over{m_r}}(\hat{\chi_r}-\hat{d_r})+k_2(\psi-\hat{\psi})sec\psi\end{cases}
⎩
⎨
⎧u^˙=mu1(Fu+χu−du^)+k2[(x−x^)sinψcosθ+(y−y^)sinψcosθ−(z−z^)sinθ]v^˙=mv1(χv^−muru^r^−dv^)+k2[−(x−x^)sinψ+(y−y^)cosψ+(z−z^)(cosψsinθcosϕ−cosψsinϕ)]w^˙=mw1(χw^−muqu^q^−dw^)+k2[(x−x^)sinθcosψ+(y−y^)sinψsinθ+(z−z^)cosθ]q^˙=mq1(χq^−dq^)+k2(θ−θ^)cosϕr^˙=mr1(χr^−dr^)+k2(ψ−ψ^)secψ
{
χ
^
u
˙
=
k
3
[
(
x
−
x
^
s
i
n
ψ
c
o
s
θ
+
(
y
−
y
^
s
i
n
ψ
c
o
s
θ
−
(
z
−
z
^
)
s
i
n
θ
]
χ
^
v
˙
=
k
3
[
−
(
x
−
x
^
)
s
i
n
ψ
+
(
y
−
y
^
)
c
o
s
ψ
+
(
z
−
z
^
)
(
c
o
s
ψ
s
i
n
θ
c
o
s
ϕ
−
c
o
s
ψ
s
i
n
ϕ
)
]
χ
^
w
˙
=
k
3
[
(
x
−
x
^
)
s
i
n
θ
c
o
s
ψ
+
(
y
−
y
^
)
s
i
n
ψ
s
i
n
θ
+
(
z
−
z
^
)
c
o
s
θ
]
χ
^
q
˙
=
k
3
(
θ
−
θ
^
)
c
o
s
ϕ
χ
^
r
˙
=
k
3
(
ψ
−
ψ
^
)
s
e
c
ψ
\begin{cases}\dot{\hat{\chi}_u}=k_3[(x-\hat{x}sin\psi cos\theta +(y-\hat{y}sin\psi cos\theta -(z-\hat{z})sin\theta]&\\\dot{\hat{\chi}_v}=k_3[-(x-\hat{x})sin\psi +(y-\hat{y})cos\psi +(z-\hat{z})(cos\psi sin\theta cos\phi -cos\psi sin\phi)]&\\\dot{\hat{\chi}_w}=k_3[(x-\hat{x})sin\theta cos\psi +(y-\hat{y})sin\psi sin\theta +(z-\hat{z})cos\theta]&\\\dot{\hat{\chi}_q}=k_3(\theta-\hat{\theta})cos\phi&\\\dot{\hat{\chi}_r}=k_3(\psi-\hat{\psi})sec\psi\end{cases}
⎩
⎨
⎧χ^u˙=k3[(x−x^sinψcosθ+(y−y^sinψcosθ−(z−z^)sinθ]χ^v˙=k3[−(x−x^)sinψ+(y−y^)cosψ+(z−z^)(cosψsinθcosϕ−cosψsinϕ)]χ^w˙=k3[(x−x^)sinθcosψ+(y−y^)sinψsinθ+(z−z^)cosθ]χ^q˙=k3(θ−θ^)cosϕχ^r˙=k3(ψ−ψ^)secψ上式中
d
^
(
)
\hat{d}_{()}{}
d^()表示将
d
(
)
d_{()}
d()中的速度用估计速度代替后的项。