滑动模式控制 (sliding mode)简称SMC ,是一种非线性控制 的技术,利用不连续 的控制信号来调整非线性系统 的特性,强迫系统在二个系统的正常状态之间滑动,最后进入稳态。其状态 -反馈 控制律不是时间的连续函数 。相反的,控制律会依目前在状态空间中的位置不同,可能从一个连续的控制系统切换到另一个连续的控制系统。因此滑动模型控制属于变结构控制 。已针对滑动模型控制设计了许多的控制结构,目的是让相空间图中的轨迹可以前往和另一个控制结构之间相邻的区域,因此最终的轨迹不会完全脱离某个控制结构。相反的,轨迹会在控制结构的边界上“滑动”。这种沿着控制结构之间边界滑动的行为称为“滑动模式”[ 1] 而包括边界在内的几何轨迹称为滑动曲面(sliding surface)。在现代控制理论的范围中,任何变结构系统 (例如滑动模式控制)都可以视为是并合系统 的特例,因为系统有些时候会在连续的状态空间中移动,也时也会在几个离散的控制模式中切换。
简介
图1:利用滑动模式控制器控制之系统的相平面 轨迹。在一开始的接触阶段后,系统沿着
s
=
0
{\displaystyle s=0}
的曲线滑行,
s
=
0
{\displaystyle s=0}
曲面是特别设计过的,系统在曲面上会有较理想的降阶动态特性。此例中,
s
=
x
1
+
x
˙
1
=
0
{\displaystyle s=x_{1}+{\dot {x}}_{1}=0}
对应一阶的线性时不变系统
x
˙
1
=
−
x
1
{\displaystyle {\dot {x}}_{1}=-x_{1}}
,在原点处为指数稳定 。
滑动模式控制中存在滑动曲面
s
=
0
{\displaystyle s=0}
,一开始时,系统会在有限时间内到达滑动曲面,之后就会沿着滑动曲面移动。在滑动模式的理论叙述中,系统会约束在滑动曲面上,因此只需将系统视为在滑动曲面上滑动。不过实际系统的实现是用高频切换来让系统近似在滑动曲面上滑动,高频切换的控制信号让系统在很邻近滑动曲面的范围内切跳(chatter),而且其频率是不固定的。虽然整体系统是非线性的,不过图1中,当系统到达滑动曲面后,理想(没有切跳)系统会限制在
s
=
0
{\displaystyle s=0}
的滑动曲面上,滑动曲面是线性时不变系统,在原点处指数稳定 。
直观来说,滑动模式控制会配合很大的增益 (理想上可视为是无限大),强迫动态系统的轨迹无法离开滑动模式子空间太远,必须沿着此子空间滑动。在降阶滑动模式上的轨迹会有理想的动态特性(例如,系统会自然沿着此轨迹滑行,最后会停在理想的驻点 。滑动模式控制的主要优点是其强健性 。因为控制很简单,是在二个状态之间(例如开/关或是正转/反转)切换,控制法则不需要精确,而且不会受到控制系统中参数的变异所影响。而且因为控制律不是连续函数 ,滑动模式控制可以在有限时间内到达滑动曲面(比渐进到达的特性要好)在一些常见的条件下,最优控制 需要用到起停式控制 ,而滑动模式控制中也有用到起停式控制 的特性,有些滑动模式控制也是某些控制系统下的最优控制。
有些交换式电源供应器驱动的电机就是利用滑动模式控制[ 2] :"Introduction" 。这类转换器本身就有不连续的特性,和不连续输出的滑动模式控制器在本质上是一致的。使用连续性的控制器,还需要透过脉冲宽度调变 或是其他类似的技术[ nb 1] 来将连续性的输出转换为可用离散状态表示的输出。滑动模式控制在机器人学 有许多的应用。此控制算法特别已用在无人水面载具 模拟在有大风大浪海面下的运作,其成功率相当高[ 3] [ 4] 。
相较于其他有较多适度控制行为的非线性控制 ,滑动模式控制因为其不连续的输出,在应用上需要更谨慎的应用。特别是因为致动器本身的延迟以及其他实务上的限制,硬切换的滑动模式控制会产生颤动、能量损失、设备损坏,或是激发一些系统中的未建模动态[ 5] :554–556 。连续性的控制器设计比较不会有上述的问题,而且也可以设计一些接近滑动模式控制器的特性[ 5] :556–563 。
控制架构
考虑以下的非线性系统
x
˙
(
t
)
=
f
(
x
,
t
)
+
B
(
x
,
t
)
u
(
t
)
{\displaystyle {\dot {\mathbf {x} }}(t)=f(\mathbf {x} ,t)+B(\mathbf {x} ,t)\,\mathbf {u} (t)}
(
1
)
{\displaystyle (1)\,}
其中
x
(
t
)
≜
[
x
1
(
t
)
x
2
(
t
)
⋮
x
n
−
1
(
t
)
x
n
(
t
)
]
∈
R
n
{\displaystyle \mathbf {x} (t)\triangleq {\begin{bmatrix}x_{1}(t)\\x_{2}(t)\\\vdots \\x_{n-1}(t)\\x_{n}(t)\end{bmatrix}}\in \mathbb {R} ^{n}}
是
n
{\displaystyle n}
维的状态 向量 以及
u
(
t
)
≜
[
u
1
(
t
)
u
2
(
t
)
⋮
u
m
−
1
(
t
)
u
m
(
t
)
]
∈
R
m
{\displaystyle \mathbf {u} (t)\triangleq {\begin{bmatrix}u_{1}(t)\\u_{2}(t)\\\vdots \\u_{m-1}(t)\\u_{m}(t)\end{bmatrix}}\in \mathbb {R} ^{m}}
为表示状态反馈 的
m
{\displaystyle m}
维的输入向量。函数
f
:
R
n
×
R
↦
R
n
{\displaystyle f:\mathbb {R} ^{n}\times \mathbb {R} \mapsto \mathbb {R} ^{n}}
和
B
:
R
n
×
R
↦
R
n
×
m
{\displaystyle B:\mathbb {R} ^{n}\times \mathbb {R} \mapsto \mathbb {R} ^{n\times m}}
假设是连续函数 ,而且有相当程度的光滑性 ,因此可以用柯西-利普希茨定理 确保方程 (1)的解
x
(
t
)
{\displaystyle \mathbf {x} (t)}
存在 及唯一 。
常见的作法是设计一个状态回授的控制律
u
(
x
(
t
)
)
{\displaystyle \mathbf {u} (\mathbf {x} (t))}
(也就是可以将时间
t
{\displaystyle t}
时的状态
x
(
t
)
{\displaystyle \mathbf {x} (t)}
,映射到输入
u
{\displaystyle \mathbf {u} }
的映射),这个控制律要可以稳定 方程式(1)的动力系统 在原点
x
=
[
0
,
0
,
…
,
0
]
T
{\displaystyle \mathbf {x} =[0,0,\ldots ,0]^{\text{T}}}
附近的行为。也就是说,在此控制律下,只要系统从原点开始往任意方向前进,最后都会回到原点。例如,状态向量
x
{\displaystyle \mathbf {x} }
中的分量
x
1
{\displaystyle x_{1}}
表示输出和已知讯号(例如某个希望出现的弦波)之间的差,若控制
u
{\displaystyle \mathbf {u} }
可以让
x
1
{\displaystyle x_{1}}
快速的回到
x
1
=
0
{\displaystyle x_{1}=0}
,也代表输出会追随理想的弦波信号。在滑动模式控制中,只要系统是限制在其组态空间的子空间内,设计者可以确定系统有理想的行为(有稳定的平衡点 )。滑动模式控制会强迫系统轨迹进入子空间,并且让轨迹维持在子空间内,因此可以在子空间内滑动。这个降阶的子空间称为“滑动(超)曲面”,若透过闭回路回授,使得轨迹在滑动曲面上滑动,则称为闭回路系统的“滑动模式”。沿着这个子空间的轨迹可以类比沿着LTI系统 特征向量的轨迹,不过滑动模式是透过此向量场上加上高增益回授来实现。就像弹珠会沿着裂缝滚动一样,系统的轨迹也会限制在滑动模式上。
滑动模式的控制架构包括以下几项:
选择超曲面 或是流形(滑动曲面)让系统轨迹限制在此流形上时,可以有理想的特性。
选择回授增益,让系统轨迹可以和流形相交,而且之后可以维持在流形上。
因为滑动模式控制是不连续的,控制器可以在有限时间内将轨迹带到滑动模式上(若偏离滑动平面时,回到滑动平面上的稳定性会比渐近稳定要好)。不过,只要轨迹接触到滑动平面后,系统的特性会依照滑动模式的特性(也就是滑动平面上,在原点
x
=
0
{\displaystyle \mathbf {x} =\mathbf {0} }
附近只有渐近稳定性)。
在设计滑动模式时,会选择一个切换函数
σ
:
R
n
↦
R
m
{\displaystyle \sigma :\mathbb {R} ^{n}\mapsto \mathbb {R} ^{m}}
,表示状态 <matmathbf{x}</math>远离滑动曲面的程度。
在滑动平面外的状态
x
{\displaystyle \mathbf {x} }
会有
σ
(
x
)
≠
0
{\displaystyle \sigma (\mathbf {x} )\neq 0}
。
在滑动平面上的状态
x
{\displaystyle \mathbf {x} }
会有
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=0}
。
滑动模式控制律会依照上述距离的正负号在二种不同的状态之间进行切换。因此滑动模式控制就类似一个硬的压力,将系统轨迹移到
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=0}
的滑动模式上。理想的
x
(
t
)
{\displaystyle \mathbf {x} (t)}
会接触到滑动平面,而且因为控制律不连续(当轨迹越过滑动曲面时,控制律会由一个状态切换到另一个状态),轨迹会在有限时间内到达滑动平面。只要轨迹碰到平面之后,会沿着滑动平面滑动,而且会往原点
x
=
0
{\displaystyle \mathbf {x} =\mathbf {0} }
移动。因此切换函数类似地形图 ,有恒定高度的轮廓,而轨迹会限制在恒定高度的轮廓上移动。
滑动(超)曲面的维度是
n
×
m
{\displaystyle n\times m}
,其中
n
{\displaystyle n}
是状态
x
{\displaystyle \mathbf {x} }
的个数,而
m
{\displaystyle m}
是输入信号(也就是控制信号)
u
{\displaystyle \mathbf {u} }
的个数。针对每个
1
≤
k
≤
m
{\displaystyle 1\leq k\leq m}
,有
n
×
1
{\displaystyle n\times 1}
的滑动曲面,方程式为
{
x
∈
R
n
:
σ
k
(
x
)
=
0
}
{\displaystyle \left\{\mathbf {x} \in \mathbb {R} ^{n}:\sigma _{k}(\mathbf {x} )=0\right\}}
(
2
)
{\displaystyle (2)\,}
滑动模式控制主要关键是选择控制律,使得滑动模式(也就是
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
曲面)存在,而且其他的系统轨迹可以进入滑动模式。滑动模式控制的原则是透过适当的控制策略,强迫性的限制系统在滑动曲面上,让系统可以有理想的特性。当系统受滑动控制所限制,维持在滑动曲面上时,系统的动态特性可以用方程式(2)所得的降阶系统所描述。
为了强迫系统状态
x
{\displaystyle \mathbf {x} }
满足
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
,需要:
确认系统可以从任意的初始条件到达
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
。
在到达
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
后,可以透过控制行为让系统维持在
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
上
闭回路解的存在
此控制律不是连续函数 ,也不会是利普希茨连续 ,因此无法用柯西-利普希茨定理 确保闭回路解的存在及唯一性。这个解需要用Filippov 的架构来理解。[ 1] [ 6] 。 大致上,沿着
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
的闭回路系统可以用会平滑的动态
σ
˙
(
x
)
=
0
;
{\displaystyle {\dot {\sigma }}(\mathbf {x} )=\mathbf {0} ;}
来近似,不过实际上不一定有这样平滑的特性。高速的脉波振幅调变 或ΔΣ调变 产生的输出是两个状态组成而成,但其有效的输出会在连续的运动范围内摆动。若是使用其他具有连续特性的非线性控制 设计可以避免这类的问题。有些情形下,滑动模式控制的设计可以用其他连续控制器来近似。[ 5]
理论基础
以下定理是滑动模式控制的基础。
定理1:滑动模式的存在
考虑以下的李亚普诺夫候选函数
V
(
σ
(
x
)
)
=
1
2
σ
T
(
x
)
σ
(
x
)
=
1
2
‖
σ
(
x
)
‖
2
2
{\displaystyle V(\sigma (\mathbf {x} ))={\frac {1}{2}}\sigma ^{\text{T}}(\mathbf {x} )\sigma (\mathbf {x} )={\frac {1}{2}}\|\sigma (\mathbf {x} )\|_{2}^{2}}
(
3
)
{\displaystyle (3)\,}
其中
‖
⋅
‖
{\displaystyle \|{\mathord {\cdot }}\|}
为欧几里德范数 (也就是说,
‖
σ
(
x
)
‖
2
{\displaystyle \|\sigma (\mathbf {x} )\|_{2}}
是距离滑动流形
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
的距离)。
针对由方程式(1)及方程式(1)的滑动曲面组成的系统,滑动模式存在的充份条件是
σ
T
⏞
∂
V
∂
σ
σ
˙
⏞
d
σ
d
t
⏟
d
V
d
t
<
0
(i.e.,
d
V
d
t
<
0
)
{\displaystyle \underbrace {\overbrace {\sigma ^{\text{T}}} ^{\tfrac {\partial V}{\partial \sigma }}\overbrace {\dot {\sigma }} ^{\tfrac {\operatorname {d} \sigma }{\operatorname {d} t}}} _{\tfrac {\operatorname {d} V}{\operatorname {d} t}}<0\qquad {\text{(i.e., }}{\tfrac {\operatorname {d} V}{\operatorname {d} t}}<0{\text{)}}}
在
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=0}
曲面的邻域都成立。
简单来说(例如针对
m
=
1
{\displaystyle m=1}
的标量 控制应用),为了要使
σ
T
σ
˙
<
0
{\displaystyle \sigma ^{\text{T}}{\dot {\sigma }}<0}
,需选择回授控制律
u
(
x
)
{\displaystyle u(\mathbf {x} )}
使
σ
{\displaystyle \sigma }
和
σ
˙
{\displaystyle {\dot {\sigma }}}
有相反的符号,因此
当
σ
(
x
)
{\displaystyle \sigma (\mathbf {x} )}
为正时,
u
(
x
)
{\displaystyle u(\mathbf {x} )}
会使
σ
˙
(
x
)
{\displaystyle {\dot {\sigma }}(\mathbf {x} )}
为负。
当
σ
(
x
)
{\displaystyle \sigma (\mathbf {x} )}
为负时,
u
(
x
)
{\displaystyle u(\mathbf {x} )}
会使
σ
˙
(
x
)
{\displaystyle {\dot {\sigma }}(\mathbf {x} )}
为正。
注意
σ
˙
=
∂
σ
∂
x
x
˙
⏞
d
x
d
t
=
∂
σ
∂
x
(
f
(
x
,
t
)
+
B
(
x
,
t
)
u
)
⏞
x
˙
{\displaystyle {\dot {\sigma }}={\frac {\partial \sigma }{\partial \mathbf {x} }}\overbrace {\dot {\mathbf {x} }} ^{\tfrac {\operatorname {d} \mathbf {x} }{\operatorname {d} t}}={\frac {\partial \sigma }{\partial \mathbf {x} }}\overbrace {\left(f(\mathbf {x} ,t)+B(\mathbf {x} ,t)\mathbf {u} \right)} ^{\dot {\mathbf {x} }}}
因此回授控制律
u
(
x
)
{\displaystyle \mathbf {u} (\mathbf {x} )}
会直接影响
σ
˙
{\displaystyle {\dot {\sigma }}}
。
可达性:可以在有限时间内到达滑动流形
为了要确保可以在有限时间内进入滑动模式
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
,
d
V
/
d
t
{\displaystyle \operatorname {d} V/{\operatorname {d} t}}
需要比零小很多。若此数值很快的就归零,就只能以渐近收敛的方式进入到滑动模式。若要在有限时间内进入滑动模式[ 7]
d
V
d
t
≤
−
μ
(
V
)
α
{\displaystyle {\frac {\operatorname {d} V}{\operatorname {d} t}}\leq -\mu ({\sqrt {V}})^{\alpha }}
其中
μ
>
0
{\displaystyle \mu >0}
,
0
<
α
≤
1
{\displaystyle 0<\alpha \leq 1}
均为常数。
比较引理的说明
引理的条件确认在滑动模式
V
∈
[
0
,
1
]
{\displaystyle V\in [0,1]}
的邻域,下式成立
d
V
d
t
≤
−
μ
(
V
)
α
≤
−
μ
V
.
{\displaystyle {\frac {\operatorname {d} V}{\operatorname {d} t}}\leq -\mu ({\sqrt {V}})^{\alpha }\leq -\mu {\sqrt {V}}.}
因此,针对
V
∈
(
0
,
1
]
{\displaystyle V\in (0,1]}
,下式成立
1
V
d
V
d
t
≤
−
μ
,
{\displaystyle {\frac {1}{\sqrt {V}}}{\frac {\operatorname {d} V}{\operatorname {d} t}}\leq -\mu ,}
根据链式法则 (也就是
d
W
/
d
t
{\displaystyle \operatorname {d} W/{\operatorname {d} t}}
,而
W
≜
2
V
{\displaystyle W\triangleq 2{\sqrt {V}}}
),下式也会成立
D
+
(
2
V
⏞
∝
‖
σ
‖
2
⏟
W
)
⏟
D
+
W
≜
Upper right-hand
W
˙
=
1
V
d
V
d
t
≤
−
μ
{\displaystyle {\mathord {\underbrace {D^{+}{\Bigl (}{\mathord {\underbrace {2{\mathord {\overbrace {\sqrt {V}} ^{{}\propto \|\sigma \|_{2}}}}} _{W}}}{\Bigr )}} _{D^{+}W\,\triangleq \,{\mathord {{\text{Upper right-hand }}{\dot {W}}}}}}}={\frac {1}{\sqrt {V}}}{\frac {\operatorname {d} V}{\operatorname {d} t}}\leq -\mu }
其中
D
+
{\displaystyle D^{+}}
为
2
V
{\displaystyle 2{\sqrt {V}}}
的狄尼上导数
∝
{\displaystyle \propto }
代表比例 。
因此将上式和曲线
z
(
t
)
=
z
0
−
μ
t
{\displaystyle z(t)=z_{0}-\mu t}
比较(初始条件
z
(
0
)
=
z
0
{\displaystyle z(0)=z_{0}}
微分方程
z
˙
=
−
μ
{\displaystyle {\dot {z}}=-\mu }
的对应曲线)。可得
2
V
(
t
)
≤
V
0
−
μ
t
{\displaystyle 2{\sqrt {V(t)}}\leq V_{0}-\mu t}
在所有
t
{\displaystyle t}
下成立。而且,因为
V
≥
0
{\displaystyle {\sqrt {V}}\geq 0}
,
V
{\displaystyle {\sqrt {V}}}
必需在有限时间达到
V
=
0
{\displaystyle {\sqrt {V}}=0}
,表示
V
{\displaystyle V}
必需在有限时间达到
V
=
0
{\displaystyle V=0}
(也就是进入滑动模式)[ 5] 。因为
V
{\displaystyle {\sqrt {V}}}
和切换函数
σ
{\displaystyle \sigma }
的欧几里德范数
‖
⋅
‖
2
{\displaystyle \|{\mathord {\cdot }}\|_{2}}
成正比,因此接近滑动模式的速率比定大于零。
定理2:吸引区域
针对方程式 (1)的系统,以及方程式 (2)的滑动曲面,
{
x
∈
R
n
:
σ
(
x
)
=
0
}
{\displaystyle \{\mathbf {x} \in \mathbb {R} ^{n}:\sigma (\mathbf {x} )=\mathbf {0} \}}
表面的子空间有可达性的条件是
{
x
∈
R
n
:
σ
T
(
x
)
σ
˙
(
x
)
<
0
}
{\displaystyle \{\mathbf {x} \in \mathbb {R} ^{n}:\sigma ^{\text{T}}(\mathbf {x} ){\dot {\sigma }}(\mathbf {x} )<0\}}
也就是说,当初始条件完全由这个空间出发时,李亚普诺夫候选函数
V
(
σ
)
{\displaystyle V(\sigma )}
为李亚普诺夫函数 ,而且
x
{\displaystyle \mathbf {x} }
轨迹确定会往滑动模式表面
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
前进。而且,若定理1的可达性条件满足,滑动模式会完全进入
V
˙
{\displaystyle {\dot {V}}}
在有限时间远离0的区域。因此会在有限时间内进入滑动模式
σ
=
0
{\displaystyle \sigma =0}
。
定理3:滑动运动
令
∂
σ
∂
x
B
(
x
,
t
)
{\displaystyle {\frac {\partial \sigma }{\partial {\mathbf {x} }}}B(\mathbf {x} ,t)}
为非奇异 的,也就是说,系统有某种可控制性 使得永远存在一种控制方式可以让轨迹更靠近滑动模式。只要达到了滑动模式
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
,系统会维持在滑动模式上。沿着滑动模式轨迹,
σ
(
x
)
{\displaystyle \sigma (\mathbf {x} )}
为定值,因此滑动模式轨迹可以用以下的微分方程来描述
σ
˙
=
0
{\displaystyle {\dot {\sigma }}=\mathbf {0} }
.
若相对微分方程在
x
{\displaystyle \mathbf {x} }
-平衡 是稳定 的,则系统会沿着滑动模式表面往平衡点移动。
滑动模式下的“等效控制律”可以透过求解下式求得
σ
˙
(
x
)
=
0
{\displaystyle {\dot {\sigma }}(\mathbf {x} )=0}
等效控制律为
u
(
x
)
{\displaystyle \mathbf {u} (\mathbf {x} )}
,也就是说
∂
σ
∂
x
(
f
(
x
,
t
)
+
B
(
x
,
t
)
u
)
⏞
x
˙
=
0
{\displaystyle {\frac {\partial \sigma }{\partial \mathbf {x} }}\overbrace {\left(f(\mathbf {x} ,t)+B(\mathbf {x} ,t)\mathbf {u} \right)} ^{\dot {\mathbf {x} }}=\mathbf {0} }
因此等效控制
u
=
−
(
∂
σ
∂
x
B
(
x
,
t
)
)
−
1
∂
σ
∂
x
f
(
x
,
t
)
{\displaystyle \mathbf {u} =-\left({\frac {\partial \sigma }{\partial \mathbf {x} }}B(\mathbf {x} ,t)\right)^{-1}{\frac {\partial \sigma }{\partial \mathbf {x} }}f(\mathbf {x} ,t)}
也就是说,就算实际的控制
u
{\displaystyle \mathbf {u} }
不连续 ,在滑动模式
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
两侧的快速切换会强迫系统的行为类似在连续模式下驱动的行为。
类似的,在滑动模式上的系统轨迹类似
x
˙
=
f
(
x
,
t
)
−
B
(
x
,
t
)
(
∂
σ
∂
x
B
(
x
,
t
)
)
−
1
∂
σ
∂
x
f
(
x
,
t
)
⏞
f
(
x
,
t
)
+
B
(
x
,
t
)
u
=
f
(
x
,
t
)
(
I
−
B
(
x
,
t
)
(
∂
σ
∂
x
B
(
x
,
t
)
)
−
1
∂
σ
∂
x
)
{\displaystyle {\dot {\mathbf {x} }}=\overbrace {f(\mathbf {x} ,t)-B(\mathbf {x} ,t)\left({\frac {\partial \sigma }{\partial \mathbf {x} }}B(\mathbf {x} ,t)\right)^{-1}{\frac {\partial \sigma }{\partial \mathbf {x} }}f(\mathbf {x} ,t)} ^{f(\mathbf {x} ,t)+B(\mathbf {x} ,t)u}=f(\mathbf {x} ,t)\left(\mathbf {I} -B(\mathbf {x} ,t)\left({\frac {\partial \sigma }{\partial \mathbf {x} }}B(\mathbf {x} ,t)\right)^{-1}{\frac {\partial \sigma }{\partial \mathbf {x} }}\right)}
所得的系统符合滑动模式的微分方程
σ
˙
(
x
)
=
0
{\displaystyle {\dot {\sigma }}(\mathbf {x} )=\mathbf {0} }
只要滑动模式表面
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
为李雅普诺夫稳定性 ,从到达相位的轨迹条件可以简化为上述较简单的条件。因此系统在找到滑动模式后,会经过一些初始的暂态,之后就可以假定为符合较简单的
σ
˙
=
0
{\displaystyle {\dot {\sigma }}=0}
条件。若等式
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=\mathbf {0} }
只是近似成立,系统的动态仍可以近似为上述的特性。
依照上述定理,滑动运动对于由进入系统时足够小的扰动是不敏感的,只要控件大到足以满足
σ
T
σ
˙
<
0
{\displaystyle \sigma ^{\text{T}}{\dot {\sigma }}<0}
,而且
σ
˙
{\displaystyle {\dot {\sigma }}}
均匀有界的远离0,滑动模式的运作就如同系统没有扰动时一样。滑动模式控制对特定扰动及模型不确定性的不敏感是很具吸引力的特点,满足鲁棒控制 。
如同以上提到的,滑动模式控制律会维持以下的限制
x
˙
+
x
=
0
{\displaystyle {\dot {x}}+x=0}
目的是为了让以下型态的任意系统可以渐近的稳定
x
¨
=
a
(
t
,
x
,
x
˙
)
+
u
{\displaystyle {\ddot {x}}=a(t,x,{\dot {x}})+u}
其中
a
(
⋅
)
{\displaystyle a(\cdot )}
为有限的上界,此例中,滑动模式为
x
˙
=
−
x
{\displaystyle {\dot {x}}=-x}
(也就是说,
x
˙
+
x
=
0
{\displaystyle {\dot {x}}+x=0}
)。若系统限制在此条件下,会类似一个稳定 的线性系统 ,因此在
(
x
,
x
˙
)
=
(
0
,
0
)
{\displaystyle (x,{\dot {x}})=(0,0)}
)位置是全域指数稳定的平衡点。
控制设计的例子
考虑一个由方程(1)描述的受控体 ,有单一输入
u
{\displaystyle u}
(也就是说,
m
=
1
{\displaystyle m=1}
)。其切换函数选择为以下的线性组合
σ
(
x
)
≜
s
1
x
1
+
s
2
x
2
+
⋯
+
s
n
−
1
x
n
−
1
+
s
n
x
n
{\displaystyle \sigma (\mathbf {x} )\triangleq s_{1}x_{1}+s_{2}x_{2}+\cdots +s_{n-1}x_{n-1}+s_{n}x_{n}}
(
4
)
{\displaystyle (4)\,}
其中的加权
s
i
>
0
{\displaystyle s_{i}>0}
,对所有的
1
≤
i
≤
n
{\displaystyle 1\leq i\leq n}
都成立。滑动曲面是单纯形
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=0}
。若轨迹强迫在曲面上滑行,
σ
˙
(
x
)
=
0
{\displaystyle {\dot {\sigma }}(\mathbf {x} )=0}
因此
s
1
x
˙
1
+
s
2
x
˙
2
+
⋯
+
s
n
−
1
x
˙
n
−
1
+
s
n
x
˙
n
=
0
{\displaystyle s_{1}{\dot {x}}_{1}+s_{2}{\dot {x}}_{2}+\cdots +s_{n-1}{\dot {x}}_{n-1}+s_{n}{\dot {x}}_{n}=0}
这是降阶系统(新系统的阶数为
n
−
1
{\displaystyle n-1}
,因为会限制在
(
n
−
1
)
{\displaystyle (n-1)}
-维的滑动模式单纯形上)。这个表面有理想的性质(当受控体被强制在滑动曲面上滑动,会趋向原点
x
=
0
{\displaystyle \mathbf {x} =\mathbf {0} }
)。取方程(3)中李亚普诺夫函数 的导数,可得
V
˙
(
σ
(
x
)
)
=
σ
(
x
)
T
⏞
∂
σ
∂
x
σ
˙
(
x
)
⏞
d
σ
d
t
{\displaystyle {\dot {V}}(\sigma (\mathbf {x} ))=\overbrace {\sigma (\mathbf {x} )^{\text{T}}} ^{\tfrac {\partial \sigma }{\partial \mathbf {x} }}\overbrace {{\dot {\sigma }}(\mathbf {x} )} ^{\tfrac {\operatorname {d} \sigma }{\operatorname {d} t}}}
为了要确保
V
˙
{\displaystyle {\dot {V}}}
是负定函数 (也就是
V
˙
<
0
{\displaystyle {\dot {V}}<0}
,在
σ
=
0
{\displaystyle \mathbf {\sigma } =0}
表面上有李雅普诺夫稳定性 ),需选择回授控制律
u
(
x
)
{\displaystyle u(\mathbf {x} )}
使下式成立
{
σ
˙
<
0
if
σ
>
0
σ
˙
>
0
if
σ
<
0
{\displaystyle {\begin{cases}{\dot {\sigma }}<0&{\text{if }}\sigma >0\\{\dot {\sigma }}>0&{\text{if }}\sigma <0\end{cases}}}
因此
σ
σ
˙
<
0
{\displaystyle \sigma {\dot {\sigma }}<0}
因为是一个正数及负数的累积。注意到
σ
˙
(
x
)
=
∂
σ
(
x
)
∂
x
x
˙
⏞
σ
˙
(
x
)
=
∂
σ
(
x
)
∂
x
(
f
(
x
,
t
)
+
B
(
x
,
t
)
u
)
⏞
x
˙
=
[
s
1
,
s
2
,
…
,
s
n
]
⏞
∂
σ
(
x
)
∂
x
(
f
(
x
,
t
)
+
B
(
x
,
t
)
u
)
⏞
x
˙
⏟
( i.e., an
n
×
1
vector )
{\displaystyle {\dot {\sigma }}(\mathbf {x} )=\overbrace {{\frac {\partial {\sigma (\mathbf {x} )}}{\partial {\mathbf {x} }}}{\dot {\mathbf {x} }}} ^{{\dot {\sigma }}(\mathbf {x} )}={\frac {\partial {\sigma (\mathbf {x} )}}{\partial {\mathbf {x} }}}\overbrace {\left(f(\mathbf {x} ,t)+B(\mathbf {x} ,t)u\right)} ^{\dot {\mathbf {x} }}=\overbrace {[s_{1},s_{2},\ldots ,s_{n}]} ^{\frac {\partial {\sigma (\mathbf {x} )}}{\partial {\mathbf {x} }}}\underbrace {\overbrace {\left(f(\mathbf {x} ,t)+B(\mathbf {x} ,t)u\right)} ^{\dot {\mathbf {x} }}} _{{\text{( i.e., an }}n\times 1{\text{ vector )}}}}
(
5
)
{\displaystyle (5)\,}
控制律
u
(
x
)
{\displaystyle u(\mathbf {x} )}
可以选择使下式成立
u
(
x
)
=
{
u
+
(
x
)
if
σ
(
x
)
>
0
u
−
(
x
)
if
σ
(
x
)
<
0
{\displaystyle u(\mathbf {x} )={\begin{cases}u^{+}(\mathbf {x} )&{\text{if }}\sigma (\mathbf {x} )>0\\u^{-}(\mathbf {x} )&{\text{if }}\sigma (\mathbf {x} )<0\end{cases}}}
其中
u
+
(
x
)
{\displaystyle u^{+}(\mathbf {x} )}
是某种极端的控制(正转或是打开),使得方程(5)
σ
˙
{\displaystyle {\dot {\sigma }}}
在
x
{\displaystyle \mathbf {x} }
为负值。
u
−
(
x
)
{\displaystyle u^{-}(\mathbf {x} )}
是另一种极端的控制(反转或是关闭),使得方程(5)
σ
˙
{\displaystyle {\dot {\sigma }}}
在
x
{\displaystyle \mathbf {x} }
为正值。
所得的轨迹会往滑动曲面
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=0}
前进。因为实际系统会有时间延迟,滑动模式的轨迹不会是平滑的沿着滑动曲面滑动,而会在滑动曲面两侧反复的切跳(chatter),不过若离开滑动曲面,会很快又回到滑动曲面。
x
¨
=
a
(
t
,
x
,
x
˙
)
+
u
{\displaystyle {\ddot {x}}=a(t,x,{\dot {x}})+u}
可以用二维的状态空间 (其中with
x
1
=
x
{\displaystyle x_{1}=x}
,
x
2
=
x
˙
{\displaystyle x_{2}={\dot {x}}}
)表示:
{
x
˙
1
=
x
2
x
˙
2
=
a
(
t
,
x
1
,
x
2
)
+
u
{\displaystyle {\begin{cases}{\dot {x}}_{1}=x_{2}\\{\dot {x}}_{2}=a(t,x_{1},x_{2})+u\end{cases}}}
也假设
sup
{
|
a
(
⋅
)
|
}
≤
k
{\displaystyle \sup\{|a(\cdot )|\}\leq k}
(也就是说
|
a
|
{\displaystyle |a|}
有一个已知有限的上限
k
{\displaystyle k}
),对于此系统,选择切换函数
σ
(
x
1
,
x
2
)
=
x
1
+
x
2
=
x
+
x
˙
{\displaystyle \sigma (x_{1},x_{2})=x_{1}+x_{2}=x+{\dot {x}}}
在之前的例子中,必须选择回授控制律
u
(
x
,
x
˙
)
{\displaystyle u(x,{\dot {x}})}
使得
σ
σ
˙
<
0
{\displaystyle \sigma {\dot {\sigma }}<0}
,在此处
σ
˙
=
x
˙
1
+
x
˙
2
=
x
˙
+
x
¨
=
x
˙
+
a
(
t
,
x
,
x
˙
)
+
u
⏞
x
¨
{\displaystyle {\dot {\sigma }}={\dot {x}}_{1}+{\dot {x}}_{2}={\dot {x}}+{\ddot {x}}={\dot {x}}\,+\,\overbrace {a(t,x,{\dot {x}})+u} ^{\ddot {x}}}
当
x
+
x
˙
<
0
{\displaystyle x+{\dot {x}}<0}
(也就是
σ
<
0
{\displaystyle \sigma <0}
),要让
σ
˙
>
0
{\displaystyle {\dot {\sigma }}>0}
,需选择控制律使
u
>
|
x
˙
+
a
(
t
,
x
,
x
˙
)
|
{\displaystyle u>|{\dot {x}}+a(t,x,{\dot {x}})|}
成立
当
x
+
x
˙
>
0
{\displaystyle x+{\dot {x}}>0}
(也就是
σ
>
0
{\displaystyle \sigma >0}
),要让
σ
˙
<
0
{\displaystyle {\dot {\sigma }}<0}
,需选择控制律使
u
<
−
|
x
˙
+
a
(
t
,
x
,
x
˙
)
|
{\displaystyle u<-|{\dot {x}}+a(t,x,{\dot {x}})|}
成立
不过,因为三角不等式 ,
|
x
˙
|
+
|
a
(
t
,
x
,
x
˙
)
|
≥
|
x
˙
+
a
(
t
,
x
,
x
˙
)
|
{\displaystyle |{\dot {x}}|+|a(t,x,{\dot {x}})|\geq |{\dot {x}}+a(t,x,{\dot {x}})|}
依照
|
a
|
{\displaystyle |a|}
的假设,
|
x
˙
|
+
k
+
1
>
|
x
˙
|
+
|
a
(
t
,
x
,
x
˙
)
|
{\displaystyle |{\dot {x}}|+k+1>|{\dot {x}}|+|a(t,x,{\dot {x}})|}
因此系统可以利用以下的控制律进行回授稳定(回到滑动模式)
u
(
x
,
x
˙
)
=
{
|
x
˙
|
+
k
+
1
if
x
+
x
˙
⏟
<
0
,
−
(
|
x
˙
|
+
k
+
1
)
if
x
+
x
˙
⏞
σ
>
0
{\displaystyle u(x,{\dot {x}})={\begin{cases}|{\dot {x}}|+k+1&{\text{if }}\underbrace {x+{\dot {x}}} <0,\\-\left(|{\dot {x}}|+k+1\right)&{\text{if }}\overbrace {x+{\dot {x}}} ^{\sigma }>0\end{cases}}}
可以表示为以下的解析解
u
(
x
,
x
˙
)
=
−
(
|
x
˙
|
+
k
+
1
)
sgn
(
x
˙
+
x
⏞
σ
)
⏟
(i.e., tests
σ
>
0
)
{\displaystyle u(x,{\dot {x}})=-(|{\dot {x}}|+k+1)\underbrace {\operatorname {sgn} (\overbrace {{\dot {x}}+x} ^{\sigma })} _{{\text{(i.e., tests }}\sigma >0{\text{)}}}}
假设系统轨迹会受限制,因此
σ
(
x
)
=
0
{\displaystyle \sigma (\mathbf {x} )=0}
,则
x
˙
=
−
x
(i.e.,
σ
(
x
,
x
˙
)
=
x
+
x
˙
=
0
)
{\displaystyle {\dot {x}}=-x\qquad {\text{(i.e., }}\sigma (x,{\dot {x}})=x+{\dot {x}}=0{\text{)}}}
因此只要系统进入滑动模式,系统的二维动态特性会像一维的系统,而且在
(
x
,
x
˙
)
=
(
0
,
0
)
{\displaystyle (x,{\dot {x}})=(0,0)}
会有一个全域指数稳定的驻点 。
自动化设计的解
在设计滑动模式的控制系统时,虽然有许多不同的理论,不过没有一个高效率的设计方法论,原因因为解析方法及数值方法实务上的困难。像是基因算法 之类可复用的方式,可以用来将最佳设计 中不可解的问题,转换成实务上可解的非确定性多项式问题。这有助于滑动模式控制的电脑自动化设计[ 8] 。
相关条目
注解
参考资料
^ 1.0 1.1 Zinober, A.S.I. (编). Deterministic control of uncertain systems . London: Peter Peregrinus Press. 1990. ISBN 978-0-86341-170-0 .
^ Utkin, Vadim I. Sliding Mode Control Design Principles and Applications to Electric Drives. IEEE Transactions on Industrial Electronics (IEEE). 1993, 40 (1): 23–36. doi:10.1109/41.184818 .
^ " Autonomous Navigation and Obstacle Avoidance of Unmanned Vessels in Simulated Rough Sea States - Villanova University" . [2017-07-11 ] . (原始内容存档 于2021-02-04).
^ Mahini; et al. An experimental setup for autonomous operation of surface vessels in rough seas. Robotica. 2013, 31 (5): 703–715. doi:10.1017/s0263574712000720 .
^ 5.0 5.1 5.2 5.3 Khalil, H.K. Nonlinear Systems 3rd. Upper Saddle River, NJ: Prentice Hall. 2002 [2017-08-09 ] . ISBN 0-13-067389-7 . (原始内容存档 于2017-07-25).
^ Filippov, A.F. Differential Equations with Discontinuous Right-hand Sides. Kluwer. 1988. ISBN 978-90-277-2699-5 .
^ Perruquetti, W.; Barbot, J.P. Sliding Mode Control in Engineering . Marcel Dekker Hardcover. 2002. ISBN 0-8247-0671-4 .
^
Li, Yun; et al. Genetic algorithm automated approach to the design of sliding mode control systems (PDF) . International Journal of Control. 1996, 64 (3): 721–739. doi:10.1080/00207179608921865 .