滑动模式观测器 (Sliding mode observer)是应用滑动模式控制 的状态观测器 ,应用滑动模式控制的技术,使观测器的状态可以接近受控体的状态。
滑动模式控制属于非线性控制 ,滑动模式观测器会有非线性高增益观测器的特性,可以在有限时间内将观测器的误差收敛到零。此外,切换模式的观测器类似卡尔曼滤波 ,可以允许一些程度的量测杂讯[ 1] [ 2] 。
以下将线性时不变系统 的伦伯杰观测器( Luenberger observer),修改为滑动模式观测器。在滑动模式观测器中,若进入滑动模式,观测器动态的阶数会减一。在以下例子中,单一估测状态的状态误差可以在有限时间内收敛到零。Drakunov最早提出[ 3] ,非线性系统可以建立滑动模式观测器,让所有估测状态的估测误差都在有限时间(而且是任意短的时间内)收敛到零。
考虑以下的LTI系统
{
x
˙
=
A
x
+
B
u
y
=
[
1
0
0
⋯
]
x
=
x
1
{\displaystyle {\begin{cases}{\dot {\mathbf {x} }}=A\mathbf {x} +B\mathbf {u} \\y={\begin{bmatrix}1&0&0&\cdots &\end{bmatrix}}\mathbf {x} =x_{1}\end{cases}}}
其中状态向量
x
≜
(
x
1
,
x
2
,
…
,
x
n
)
∈
R
n
{\displaystyle \mathbf {x} \triangleq (x_{1},x_{2},\dots ,x_{n})\in \mathbb {R} ^{n}}
,
u
≜
(
u
1
,
u
2
,
…
,
u
r
)
∈
R
r
{\displaystyle \mathbf {u} \triangleq (u_{1},u_{2},\dots ,u_{r})\in \mathbb {R} ^{r}}
是输入向量,输出utput y 是纯量,等于
x
{\displaystyle \mathbf {x} }
状态向量的第一个状态。令
A
≜
[
a
11
A
12
A
21
A
22
]
{\displaystyle A\triangleq {\begin{bmatrix}a_{11}&A_{12}\\A_{21}&A_{22}\end{bmatrix}}}
其中
a
11
{\displaystyle a_{11}}
是纯量,对应第一个状态
x
1
{\displaystyle x_{1}}
对自己的影响
A
21
∈
R
(
n
−
1
)
{\displaystyle A_{21}\in \mathbb {R} ^{(n-1)}}
是行向量,对应第一个状态对其他状态的影响
A
22
∈
R
(
n
−
1
)
×
(
n
−
1
)
{\displaystyle A_{22}\in \mathbb {R} ^{(n-1)\times (n-1)}}
是矩阵,对应其他各状态彼此之间的影响
A
12
∈
R
1
×
(
n
−
1
)
{\displaystyle A_{12}\in \mathbb {R} ^{1\times (n-1)}}
是列向量,对应其他状态对第一个状态的影响
目的是要设计高增益的状态观测器,可以在只有量测资讯
y
=
x
1
{\displaystyle y=x_{1}}
的情形下,估测状态向量。因此,令向量
x
^
=
(
x
^
1
,
x
^
2
,
…
,
x
^
n
)
∈
R
n
{\displaystyle {\hat {\mathbf {x} }}=({\hat {x}}_{1},{\hat {x}}_{2},\dots ,{\hat {x}}_{n})\in \mathbb {R} ^{n}}
是n 状态的观测值,观测器的形式为
x
^
˙
=
A
x
^
+
B
u
+
L
v
(
x
^
1
−
x
1
)
{\displaystyle {\dot {\hat {\mathbf {x} }}}=A{\hat {\mathbf {x} }}+B\mathbf {u} +Lv({\hat {x}}_{1}-x_{1})}
其中
v
:
R
→
R
{\displaystyle v:\mathbb {R} \to \mathbb {R} }
是估测状态
x
^
1
{\displaystyle {\hat {x}}_{1}}
和输出
y
=
x
1
{\displaystyle y=x_{1}}
之间误差的非线性函数,
L
∈
R
n
{\displaystyle L\in \mathbb {R} ^{n}}
是估测器增益向量,其作用类似典型的线性状态观测器。同样的,也令
L
=
[
−
1
L
2
]
{\displaystyle L={\begin{bmatrix}-1\\L_{2}\end{bmatrix}}}
其中
L
2
∈
R
(
n
−
1
)
{\displaystyle L_{2}\in \mathbb {R} ^{(n-1)}}
是列向量。另外,令
e
=
(
e
1
,
e
2
,
…
,
e
n
)
∈
R
n
{\displaystyle \mathbf {e} =(e_{1},e_{2},\dots ,e_{n})\in \mathbb {R} ^{n}}
是状态估测误差,也就是说
e
=
x
^
−
x
{\displaystyle \mathbf {e} ={\hat {\mathbf {x} }}-\mathbf {x} }
。误差的动态方程为
e
˙
=
x
^
˙
−
x
˙
=
A
x
^
+
B
u
+
L
v
(
x
^
1
−
x
1
)
−
A
x
−
B
u
=
A
(
x
^
−
x
)
+
L
v
(
x
^
1
−
x
1
)
=
A
e
+
L
v
(
e
1
)
{\displaystyle {\begin{aligned}{\dot {\mathbf {e} }}&={\dot {\hat {\mathbf {x} }}}-{\dot {\mathbf {x} }}\\&=A{\hat {\mathbf {x} }}+B\mathbf {u} +Lv({\hat {x}}_{1}-x_{1})-A\mathbf {x} -B\mathbf {u} \\&=A({\hat {\mathbf {x} }}-\mathbf {x} )+Lv({\hat {x}}_{1}-x_{1})\\&=A\mathbf {e} +Lv(e_{1})\end{aligned}}}
其中
e
1
=
x
^
1
−
x
1
{\displaystyle e_{1}={\hat {x}}_{1}-x_{1}}
是第一个状态估测值的估测误差。可以设计非线性控制律v 控制滑动流形
0
=
x
^
1
−
x
1
{\displaystyle 0={\hat {x}}_{1}-x_{1}}
使估测量
x
^
1
{\displaystyle {\hat {x}}_{1}}
在有限时间内(也就是
x
^
1
=
x
1
{\displaystyle {\hat {x}}_{1}=x_{1}}
)追到实际状态
x
1
{\displaystyle x_{1}}
。因此,滑动控制切换函数为
σ
(
x
^
1
,
x
^
)
≜
e
1
=
x
^
1
−
x
1
.
{\displaystyle \sigma ({\hat {x}}_{1},{\hat {x}})\triangleq e_{1}={\hat {x}}_{1}-x_{1}.}
为了要保持在滑动流形上,
σ
˙
{\displaystyle {\dot {\sigma }}}
和
σ
{\displaystyle \sigma }
需永远维持异号(
σ
σ
˙
<
0
{\displaystyle \sigma {\dot {\sigma }}<0}
在几乎处处
x
{\displaystyle \mathbf {x} }
都要成立)。 不过
σ
˙
=
e
˙
1
=
a
11
e
1
+
A
12
e
2
−
v
(
e
1
)
=
a
11
e
1
+
A
12
e
2
−
v
(
σ
)
{\displaystyle {\dot {\sigma }}={\dot {e}}_{1}=a_{11}e_{1}+A_{12}\mathbf {e} _{2}-v(e_{1})=a_{11}e_{1}+A_{12}\mathbf {e} _{2}-v(\sigma )}
其中
e
2
≜
(
e
2
,
e
3
,
…
,
e
n
)
∈
R
(
n
−
1
)
{\displaystyle \mathbf {e} _{2}\triangleq (e_{2},e_{3},\ldots ,e_{n})\in \mathbb {R} ^{(n-1)}}
是所有无法量测状态估测误差的集合。为了要确保
σ
σ
˙
<
0
{\displaystyle \sigma {\dot {\sigma }}<0}
,令
v
(
σ
)
=
M
sgn
(
σ
)
{\displaystyle v(\sigma )=M\operatorname {sgn} (\sigma )}
其中
M
>
max
{
|
a
11
e
1
+
A
12
e
2
|
}
.
{\displaystyle M>\max\{|a_{11}e_{1}+A_{12}\mathbf {e} _{2}|\}.}
也就是说,正的常数M 需大于系统最可能估计误差的纯量。若M 够大,可以假设系统会达到
e
1
=
0
{\displaystyle e_{1}=0}
(也就是
x
^
1
=
x
1
{\displaystyle {\hat {x}}_{1}=x_{1}}
)。因为在流形上
e
1
{\displaystyle e_{1}}
是常数(零),也可以推得
e
˙
1
=
0
{\displaystyle {\dot {e}}_{1}=0}
。因此不连续的控制律
v
(
σ
)
{\displaystyle v(\sigma )}
可以用等效的连续控制律
v
eq
{\displaystyle v_{\text{eq}}}
取代,其中
0
=
σ
˙
=
a
11
e
1
⏞
=
0
+
A
12
e
2
−
v
eq
⏞
v
(
σ
)
=
A
12
e
2
−
v
eq
.
{\displaystyle 0={\dot {\sigma }}=a_{11}{\mathord {\overbrace {e_{1}} ^{{}=0}}}+A_{12}\mathbf {e} _{2}-{\mathord {\overbrace {v_{\text{eq}}} ^{v(\sigma )}}}=A_{12}\mathbf {e} _{2}-v_{\text{eq}}.}
因此
v
eq
⏟
scalar
=
A
12
⏟
1
×
(
n
−
1
)
vector
e
2
⏟
(
n
−
1
)
×
1
vector
.
{\displaystyle {\mathord {\underbrace {v_{\text{eq}}} _{\text{scalar}}}}={\mathord {\underbrace {A_{12}} _{1\times (n-1) \atop {\text{ vector}}}}}{\mathord {\underbrace {\mathbf {e} _{2}} _{(n-1)\times 1 \atop {\text{ vector}}}}}.}
等效的控制律
v
eq
{\displaystyle v_{\text{eq}}}
代表剩下的
(
n
−
1
)
{\displaystyle (n-1)}
个状态对输出状态
x
1
{\displaystyle x_{1}}
轨迹的贡献。行向量
A
12
{\displaystyle A_{12}}
类似以下误差子系统的输出向量
[
e
˙
2
e
˙
3
⋮
e
˙
n
]
⏞
e
˙
2
=
A
2
[
e
2
e
3
⋮
e
n
]
⏞
e
2
+
L
2
v
(
e
1
)
=
A
2
e
2
+
L
2
v
eq
=
A
2
e
2
+
L
2
A
12
e
2
=
(
A
2
+
L
2
A
12
)
e
2
.
{\displaystyle {\mathord {\overbrace {\begin{bmatrix}{\dot {e}}_{2}\\{\dot {e}}_{3}\\\vdots \\{\dot {e}}_{n}\end{bmatrix}} ^{{\dot {\mathbf {e} }}_{2}}}}=A_{2}{\mathord {\overbrace {\begin{bmatrix}e_{2}\\e_{3}\\\vdots \\e_{n}\end{bmatrix}} ^{\mathbf {e} _{2}}}}+L_{2}v(e_{1})=A_{2}\mathbf {e} _{2}+L_{2}v_{\text{eq}}=A_{2}\mathbf {e} _{2}+L_{2}A_{12}\mathbf {e} _{2}=(A_{2}+L_{2}A_{12})\mathbf {e} _{2}.}
为了确保未量测状态的估测误差
e
2
{\displaystyle \mathbf {e} _{2}}
可以收敛到零,需选择
(
n
−
1
)
×
1
{\displaystyle (n-1)\times 1}
向量
L
2
{\displaystyle L_{2}}
使得
(
n
−
1
)
×
(
n
−
1
)
{\displaystyle (n-1)\times (n-1)}
矩阵
(
A
2
+
L
2
A
12
)
{\displaystyle (A_{2}+L_{2}A_{12})}
是赫维兹矩阵 (其特征值实部均为负数)。假设系统有可观察性 ,可将
A
12
{\displaystyle A_{12}}
视为输出矩阵(C ),则
e
2
{\displaystyle \mathbf {e} _{2}}
系统可以用和一般线性观测器相同的方式来稳定。也就是说,
v
eq
{\displaystyle v_{\text{eq}}}
的等效控制可以提供未观测状态的量测资讯,可以连续地将其估测值渐近的趋近实际值。平均来说,不连续的控制律
v
=
M
sgn
(
x
^
1
−
x
)
{\displaystyle v=M\operatorname {sgn} ({\hat {x}}_{1}-x)}
强制量测信号的估测量在有限时间内达到零。而且,平均值为零的对称量测杂讯(正态分布 )只会影响控制律v 的切换频率,对等效滑动模式控制律
v
eq
{\displaystyle v_{\text{eq}}}
的影响不大。因此,滑动模式观测器有类似卡尔曼滤波 的特性[ 2] 。
最终版本的观测器为
x
^
˙
=
A
x
^
+
B
u
+
L
M
sgn
(
x
^
1
−
x
1
)
=
A
x
^
+
B
u
+
[
−
1
L
2
]
M
sgn
(
x
^
1
−
x
1
)
=
A
x
^
+
B
u
+
[
−
M
L
2
M
]
sgn
(
x
^
1
−
x
1
)
=
A
x
^
+
[
B
[
−
M
L
2
M
]
]
[
u
sgn
(
x
^
1
−
x
1
)
]
=
A
obs
x
^
+
B
obs
u
obs
{\displaystyle {\begin{aligned}{\dot {\hat {\mathbf {x} }}}&=A{\hat {\mathbf {x} }}+B\mathbf {u} +LM\operatorname {sgn} ({\hat {x}}_{1}-x_{1})\\&=A{\hat {\mathbf {x} }}+B\mathbf {u} +{\begin{bmatrix}-1\\L_{2}\end{bmatrix}}M\operatorname {sgn} ({\hat {x}}_{1}-x_{1})\\&=A{\hat {\mathbf {x} }}+B\mathbf {u} +{\begin{bmatrix}-M\\L_{2}M\end{bmatrix}}\operatorname {sgn} ({\hat {x}}_{1}-x_{1})\\&=A{\hat {\mathbf {x} }}+{\begin{bmatrix}B&{\begin{bmatrix}-M\\L_{2}M\end{bmatrix}}\end{bmatrix}}{\begin{bmatrix}\mathbf {u} \\\operatorname {sgn} ({\hat {x}}_{1}-x_{1})\end{bmatrix}}\\&=A_{\text{obs}}{\hat {\mathbf {x} }}+B_{\text{obs}}\mathbf {u} _{\text{obs}}\end{aligned}}}
其中
A
obs
≜
A
,
{\displaystyle A_{\text{obs}}\triangleq A,}
B
obs
≜
[
B
[
−
M
L
2
M
]
]
,
{\displaystyle B_{\text{obs}}\triangleq {\begin{bmatrix}B&{\begin{bmatrix}-M\\L_{2}M\end{bmatrix}}\end{bmatrix}},}
u
obs
≜
[
u
sgn
(
x
^
1
−
x
1
)
]
.
{\displaystyle u_{\text{obs}}\triangleq {\begin{bmatrix}\mathbf {u} \\\operatorname {sgn} ({\hat {x}}_{1}-x_{1})\end{bmatrix}}.}
用切换函数
sgn
(
x
^
1
−
x
1
)
{\displaystyle \operatorname {sgn} ({\hat {x}}_{1}-x_{1})}
来辅助控制向量
u
{\displaystyle \mathbf {u} }
,滑动模式观测器可以用LTI系统来表示。不连续信号
sgn
(
x
^
1
−
x
1
)
{\displaystyle \operatorname {sgn} ({\hat {x}}_{1}-x_{1})}
视为是双输入LTI的一个控制“输入”。
为了简化说明,这个例子假设滑动模式估测器可以量测单一状态(例如,输出
y
=
x
1
{\displaystyle y=x_{1}}
)。用类似的方式也可以用各状态的加权平均(例如,输出
y
=
C
x
{\displaystyle \mathbf {y} =C\mathbf {x} }
使用一般的矩阵C )来设计滑动模式估测器。此例子中,滑动模式就会是使估测输出
y
^
{\displaystyle {\hat {\mathbf {y} }}}
追随量测输出
y
{\displaystyle \mathbf {y} }
,没有误差的流形(使
σ
(
x
)
≜
y
^
−
y
=
0
{\displaystyle \sigma (\mathbf {x} )\triangleq {\hat {\mathbf {y} }}-\mathbf {y} =\mathbf {0} }
的流形)。
Drakunov曾经提过[ 3] ,可以针对非线性系统设计滑动模式观测器。此观测器可以用原始变数的估测值
x
^
{\displaystyle {\hat {x}}}
表示,型式如下
x
^
˙
=
[
∂
H
(
x
^
)
∂
x
]
−
1
M
(
x
^
)
sgn
(
V
(
t
)
−
H
(
x
^
)
)
{\displaystyle {\dot {\hat {x}}}=\left[{\frac {\partial H({\hat {x}})}{\partial x}}\right]^{-1}M({\hat {x}})\operatorname {sgn}(V(t)-H({\hat {x}}))}
其中:
sgn
(
⋅
)
{\displaystyle \operatorname {sgn}({\mathord {\cdot }})}
向量将符号函数 延伸到
n
{\displaystyle n}
维。也就是说
sgn
(
z
)
=
[
sgn
(
z
1
)
sgn
(
z
2
)
⋮
sgn
(
z
i
)
⋮
sgn
(
z
n
)
]
{\displaystyle \operatorname {sgn}(z)={\begin{bmatrix}\operatorname {sgn}(z_{1})\\\operatorname {sgn}(z_{2})\\\vdots \\\operatorname {sgn}(z_{i})\\\vdots \\\operatorname {sgn}(z_{n})\end{bmatrix}}}
针对向量
z
∈
R
n
{\displaystyle z\in \mathbb {R} ^{n}}
.
向量
H
(
x
)
{\displaystyle H(x)}
的分量是输出函数
h
(
x
)
{\displaystyle h(x)}
以及其各阶李导数。其中
H
(
x
)
≜
[
h
1
(
x
)
h
2
(
x
)
h
3
(
x
)
⋮
h
n
(
x
)
]
≜
[
h
(
x
)
L
f
h
(
x
)
L
f
2
h
(
x
)
⋮
L
f
n
−
1
h
(
x
)
]
{\displaystyle H(x)\triangleq {\begin{bmatrix}h_{1}(x)\\h_{2}(x)\\h_{3}(x)\\\vdots \\h_{n}(x)\end{bmatrix}}\triangleq {\begin{bmatrix}h(x)\\L_{f}h(x)\\L_{f}^{2}h(x)\\\vdots \\L_{f}^{n-1}h(x)\end{bmatrix}}}
其中
L
f
i
h
{\displaystyle L_{f}^{i}h}
是
h
{\displaystyle h}
沿著向量场
f
{\displaystyle f}
(也就是沿著非线性系统的
x
{\displaystyle x}
轨迹)的i 阶李导数 。在此特例中,系统没有输入,也没有相对次数(relative degree)n ,
H
(
x
(
t
)
)
{\displaystyle H(x(t))}
是输出
y
(
t
)
=
h
(
x
(
t
)
)
{\displaystyle y(t)=h(x(t))}
以及其
n
−
1
{\displaystyle n-1}
次导数的集合。因为
H
(
x
)
{\displaystyle H(x)}
Jacobian线性化 的倒数存在(让观测器可以有良好定义),
H
(
x
)
{\displaystyle H(x)}
的转换保证是局部的微分同胚 。
增益对角矩阵
M
(
x
^
)
{\displaystyle M({\hat {x}})}
会使下式成立
M
(
x
^
)
≜
diag
(
m
1
(
x
^
)
,
m
2
(
x
^
)
,
…
,
m
n
(
x
^
)
)
=
[
m
1
(
x
^
)
m
2
(
x
^
)
⋱
m
i
(
x
^
)
⋱
m
n
(
x
^
)
]
{\displaystyle M({\hat {x}})\triangleq \operatorname {diag} (m_{1}({\hat {x}}),m_{2}({\hat {x}}),\ldots ,m_{n}({\hat {x}}))={\begin{bmatrix}m_{1}({\hat {x}})&&&&&\\&m_{2}({\hat {x}})&&&&\\&&\ddots &&&\\&&&m_{i}({\hat {x}})&&\\&&&&\ddots &\\&&&&&m_{n}({\hat {x}})\end{bmatrix}}}
其中,针对每一个
i
∈
{
1
,
2
,
…
,
n
}
{\displaystyle i\in \{1,2,\dots ,n\}}
,元素
m
i
(
x
^
)
>
0
{\displaystyle m_{i}({\hat {x}})>0}
而且够大,以保证会碰到滑动模式。
观测器向量
V
(
t
)
{\displaystyle V(t)}
会满足下式
V
(
t
)
≜
[
v
1
(
t
)
v
2
(
t
)
v
3
(
t
)
⋮
v
i
(
t
)
⋮
v
n
(
t
)
]
≜
[
y
(
t
)
{
m
1
(
x
^
)
sgn
(
v
1
(
t
)
−
h
1
(
x
^
(
t
)
)
)
}
eq
{
m
2
(
x
^
)
sgn
(
v
2
(
t
)
−
h
2
(
x
^
(
t
)
)
)
}
eq
⋮
{
m
i
−
1
(
x
^
)
sgn
(
v
i
−
1
(
t
)
−
h
i
−
1
(
x
^
(
t
)
)
)
}
eq
⋮
{
m
n
−
1
(
x
^
)
sgn
(
v
n
−
1
(
t
)
−
h
n
−
1
(
x
^
(
t
)
)
)
}
eq
]
{\displaystyle V(t)\triangleq {\begin{bmatrix}v_{1}(t)\\v_{2}(t)\\v_{3}(t)\\\vdots \\v_{i}(t)\\\vdots \\v_{n}(t)\end{bmatrix}}\triangleq {\begin{bmatrix}y(t)\\\{m_{1}({\hat {x}})\operatorname {sgn}(v_{1}(t)-h_{1}({\hat {x}}(t)))\}_{\text{eq}}\\\{m_{2}({\hat {x}})\operatorname {sgn}(v_{2}(t)-h_{2}({\hat {x}}(t)))\}_{\text{eq}}\\\vdots \\\{m_{i-1}({\hat {x}})\operatorname {sgn}(v_{i-1}(t)-h_{i-1}({\hat {x}}(t)))\}_{\text{eq}}\\\vdots \\\{m_{n-1}({\hat {x}})\operatorname {sgn}(v_{n-1}(t)-h_{n-1}({\hat {x}}(t)))\}_{\text{eq}}\end{bmatrix}}}
其中的
sgn
(
⋅
)
{\displaystyle \operatorname {sgn}({\mathord {\cdot }})}
是正常对纯量定义的符号函数 ,而
{
…
}
eq
{\displaystyle \{\ldots \}_{\text{eq}}}
是不连续函数在滑动模式下的“等效值运算子”。
概念可以说明如下:依照滑动模式的理论,为了要描述系统特性,只要开始进入滑动模式,函数
sgn
(
v
i
(
t
)
−
h
i
(
x
^
(
t
)
)
)
{\displaystyle \operatorname {sgn}(v_{i}(t)\!-\!h_{i}({\hat {x}}(t)))}
就需要改为定效的值实务上,函数会高频的切换,其慢速的成份会和等效值相等。应用适当的低通滤波器可以滤掉高频成份,得到等效值,其中也会有较多有关估测系统状态的资讯。以下的观测器用了几次上述的作法,在有限时间内会得到非线性系统的状态。
修改后的估测器误差以用转换后的状态
e
=
H
(
x
)
−
H
(
x
^
)
{\displaystyle e=H(x)-H({\hat {x}})}
表示。
e
˙
=
d
d
t
H
(
x
)
−
d
d
t
H
(
x
^
)
=
d
d
t
H
(
x
)
−
M
(
x
^
)
sgn
(
V
(
t
)
−
H
(
x
^
(
t
)
)
)
,
{\displaystyle {\begin{aligned}{\dot {e}}&={\frac {\mathrm {d} }{\mathrm {d} t}}H(x)-{\frac {\mathrm {d} }{\mathrm {d} t}}H({\hat {x}})\\&={\frac {\mathrm {d} }{\mathrm {d} t}}H(x)-M({\hat {x}})\,\operatorname {sgn}(V(t)-H({\hat {x}}(t))),\end{aligned}}}
而且
[
e
˙
1
e
˙
2
⋮
e
˙
i
⋮
e
˙
n
−
1
e
˙
n
]
=
[
h
˙
1
(
x
)
h
˙
2
(
x
)
⋮
h
˙
i
(
x
)
⋮
h
˙
n
−
1
(
x
)
h
˙
n
(
x
)
]
⏞
d
d
t
H
(
x
)
−
M
(
x
^
)
sgn
(
V
(
t
)
−
H
(
x
^
(
t
)
)
)
⏞
d
d
t
H
(
x
^
)
=
[
h
2
(
x
)
h
3
(
x
)
⋮
h
i
+
1
(
x
)
⋮
h
n
(
x
)
L
f
n
h
(
x
)
]
−
[
m
1
sgn
(
v
1
(
t
)
−
h
1
(
x
^
(
t
)
)
)
m
2
sgn
(
v
2
(
t
)
−
h
2
(
x
^
(
t
)
)
)
⋮
m
i
sgn
(
v
i
(
t
)
−
h
i
(
x
^
(
t
)
)
)
⋮
m
n
−
1
sgn
(
v
n
−
1
(
t
)
−
h
n
−
1
(
x
^
(
t
)
)
)
m
n
sgn
(
v
n
(
t
)
−
h
n
(
x
^
(
t
)
)
)
]
=
[
h
2
(
x
)
−
m
1
(
x
^
)
sgn
(
v
1
(
t
)
⏞
v
1
(
t
)
=
y
(
t
)
=
h
1
(
x
)
−
h
1
(
x
^
(
t
)
)
⏞
e
1
)
h
3
(
x
)
−
m
2
(
x
^
)
sgn
(
v
2
(
t
)
−
h
2
(
x
^
(
t
)
)
)
⋮
h
i
+
1
(
x
)
−
m
i
(
x
^
)
sgn
(
v
i
(
t
)
−
h
i
(
x
^
(
t
)
)
)
⋮
h
n
(
x
)
−
m
n
−
1
(
x
^
)
sgn
(
v
n
−
1
(
t
)
−
h
n
−
1
(
x
^
(
t
)
)
)
L
f
n
h
(
x
)
−
m
n
(
x
^
)
sgn
(
v
n
(
t
)
−
h
n
(
x
^
(
t
)
)
)
]
.
{\displaystyle {\begin{aligned}{\begin{bmatrix}{\dot {e}}_{1}\\{\dot {e}}_{2}\\\vdots \\{\dot {e}}_{i}\\\vdots \\{\dot {e}}_{n-1}\\{\dot {e}}_{n}\end{bmatrix}}&={\mathord {\overbrace {\begin{bmatrix}{\dot {h}}_{1}(x)\\{\dot {h}}_{2}(x)\\\vdots \\{\dot {h}}_{i}(x)\\\vdots \\{\dot {h}}_{n-1}(x)\\{\dot {h}}_{n}(x)\end{bmatrix}} ^{{\tfrac {\mathrm {d} }{\mathrm {d} t}}H(x)}}}-{\mathord {\overbrace {M({\hat {x}})\,\operatorname {sgn}(V(t)-H({\hat {x}}(t)))} ^{{\tfrac {\mathrm {d} }{\mathrm {d} t}}H({\hat {x}})}}}={\begin{bmatrix}h_{2}(x)\\h_{3}(x)\\\vdots \\h_{i+1}(x)\\\vdots \\h_{n}(x)\\L_{f}^{n}h(x)\end{bmatrix}}-{\begin{bmatrix}m_{1}\operatorname {sgn}(v_{1}(t)-h_{1}({\hat {x}}(t)))\\m_{2}\operatorname {sgn}(v_{2}(t)-h_{2}({\hat {x}}(t)))\\\vdots \\m_{i}\operatorname {sgn}(v_{i}(t)-h_{i}({\hat {x}}(t)))\\\vdots \\m_{n-1}\operatorname {sgn}(v_{n-1}(t)-h_{n-1}({\hat {x}}(t)))\\m_{n}\operatorname {sgn}(v_{n}(t)-h_{n}({\hat {x}}(t)))\end{bmatrix}}\\&={\begin{bmatrix}h_{2}(x)-m_{1}({\hat {x}})\operatorname {sgn}({\mathord {\overbrace {{\mathord {\overbrace {v_{1}(t)} ^{v_{1}(t)=y(t)=h_{1}(x)}}}-h_{1}({\hat {x}}(t))} ^{e_{1}}}})\\h_{3}(x)-m_{2}({\hat {x}})\operatorname {sgn}(v_{2}(t)-h_{2}({\hat {x}}(t)))\\\vdots \\h_{i+1}(x)-m_{i}({\hat {x}})\operatorname {sgn}(v_{i}(t)-h_{i}({\hat {x}}(t)))\\\vdots \\h_{n}(x)-m_{n-1}({\hat {x}})\operatorname {sgn}(v_{n-1}(t)-h_{n-1}({\hat {x}}(t)))\\L_{f}^{n}h(x)-m_{n}({\hat {x}})\operatorname {sgn}(v_{n}(t)-h_{n}({\hat {x}}(t)))\end{bmatrix}}.\end{aligned}}}
因此
只要
m
1
(
x
^
)
≥
|
h
2
(
x
(
t
)
)
|
{\displaystyle m_{1}({\hat {x}})\geq |h_{2}(x(t))|}
, 误差动态的第一个行
e
˙
1
=
h
2
(
x
^
)
−
m
1
(
x
^
)
sgn
(
e
1
)
{\displaystyle {\dot {e}}_{1}=h_{2}({\hat {x}})-m_{1}({\hat {x}})\operatorname {sgn}(e_{1})}
,会符合在有限时间进入
e
1
=
0
{\displaystyle e_{1}=0}
滑动模式的充份条件。
在
e
1
=
0
{\displaystyle e_{1}=0}
表面上,对应的
v
2
(
t
)
=
{
m
1
(
x
^
)
sgn
(
e
1
)
}
eq
{\displaystyle v_{2}(t)=\{m_{1}({\hat {x}})\operatorname {sgn}(e_{1})\}_{\text{eq}}}
等效控制会等于
h
2
(
x
)
{\displaystyle h_{2}(x)}
,因此
v
2
(
t
)
−
h
2
(
x
^
)
=
h
2
(
x
)
−
h
2
(
x
^
)
=
e
2
{\displaystyle v_{2}(t)-h_{2}({\hat {x}})=h_{2}(x)-h_{2}({\hat {x}})=e_{2}}
。只要
m
2
(
x
^
)
≥
|
h
3
(
x
(
t
)
)
|
{\displaystyle m_{2}({\hat {x}})\geq |h_{3}(x(t))|}
,误差动态的第二个行
e
˙
2
=
h
3
(
x
^
)
−
m
2
(
x
^
)
sgn
(
e
2
)
{\displaystyle {\dot {e}}_{2}=h_{3}({\hat {x}})-m_{2}({\hat {x}})\operatorname {sgn}(e_{2})}
,会在有限时间内进入
e
2
=
0
{\displaystyle e_{2}=0}
滑动模式。
在
e
i
=
0
{\displaystyle e_{i}=0}
表面上,对应的
v
i
+
1
(
t
)
=
{
…
}
eq
{\displaystyle v_{i+1}(t)=\{\ldots \}_{\text{eq}}}
等效控会等于
h
i
+
1
(
x
)
{\displaystyle h_{i+1}(x)}
。只要
m
i
+
1
(
x
^
)
≥
|
h
i
+
2
(
x
(
t
)
)
|
{\displaystyle m_{i+1}({\hat {x}})\geq |h_{i+2}(x(t))|}
,误差动态的第
(
i
+
1
)
{\displaystyle (i+1)}
个行
e
˙
i
+
1
=
h
i
+
2
(
x
^
)
−
m
i
+
1
(
x
^
)
sgn
(
e
i
+
1
)
{\displaystyle {\dot {e}}_{i+1}=h_{i+2}({\hat {x}})-m_{i+1}({\hat {x}})\operatorname {sgn}(e_{i+1})}
,会在有限时间内进入
e
i
+
1
=
0
{\displaystyle e_{i+1}=0}
滑动模式。
对于足够大的
m
i
{\displaystyle m_{i}}
增益,所有的观测器估测状态都会在有限时间内到实际的状态。只要
|
h
i
(
x
(
0
)
)
|
{\displaystyle |h_{i}(x(0))|}
有确定的上下界,增加
m
i
{\displaystyle m_{i}}
,可以在任意时间内让估测状态收敛。因此映射
H
:
R
n
→
R
n
{\displaystyle H:\mathbb {R} ^{n}\to \mathbb {R} ^{n}}
是微分同胚 (也就是其Jacobian 线性化 可逆)可以保证,若估测输出的收敛,就意味著估测状态的收敛。因此此要求是可观察性的条件。
若针对有输入系统的滑动模型观测器,会需要额外的条件,其估测误差和输入无关。例如
∂
H
(
x
)
∂
x
B
(
x
)
{\displaystyle {\frac {\partial H(x)}{\partial x}}B(x)}
和时间无关。则观测器为
x
^
˙
=
[
∂
H
(
x
^
)
∂
x
]
−
1
M
(
x
^
)
sgn
(
V
(
t
)
−
H
(
x
^
)
)
+
B
(
x
^
)
u
.
{\displaystyle {\dot {\hat {x}}}=\left[{\frac {\partial H({\hat {x}})}{\partial x}}\right]^{-1}M({\hat {x}})\operatorname {sgn}(V(t)-H({\hat {x}}))+B({\hat {x}})u.}