摘要
本篇博客用于记录个人学习相关,内容涉及积分滑模及其抖振抑制。阅读该博客需具有基本的线性滑模及一阶常微分方程相关知识。
引言
积分滑模是在基本线性滑模基础上的一个新形式,目前能找到最早的记录是由滑模创始人Utkin在1996年的CDC会议论文[1]中提出,该论文所阐述积分滑模相对于基本的线性滑模有以下两个改进,一是初始时刻状态便在滑模面上,省去了基本线性滑模中状态趋向于滑模面的这一个过程,保证了全过程的鲁棒性,二是积分滑模可以削减抖振。
问题
对于一个理想的无扰动及不确定性的非线性自治系统(本文均考虑自治系统)
x
˙
=
f
(
x
)
+
B
(
x
)
u
\begin{equation} \dot x=f(x)+B(x)u \end{equation}
x˙=f(x)+B(x)u其中
f
(
x
)
∈
R
n
f(x)\in \R^n
f(x)∈Rn,
B
(
x
)
∈
R
n
×
n
B(x)\in \R^{n \times n}
B(x)∈Rn×n为非奇异矩阵,且都是已知的,我们可以找到一个
u
=
u
0
∈
R
n
u=u_0 \in \R^n
u=u0∈Rn,使得该系统稳定,比如:
u
0
=
−
B
−
1
(
f
(
x
)
+
x
)
u_0=-B^{-1}(f(x)+x)
u0=−B−1(f(x)+x),则有
x
˙
=
−
x
\begin{equation}\dot x=-x \end{equation}
x˙=−x此时通过Lyapunov定理或直接求解常微分方程即可得到该系统是渐近稳定的。
然而实际系统中扰动和不确定性是不可避免的,其一般的系统方程表示为:
x
˙
=
f
(
x
)
+
B
(
x
)
u
+
h
(
x
,
t
)
\begin{equation}\dot x=f(x)+B(x)u+h(x,t)\end{equation}
x˙=f(x)+B(x)u+h(x,t) 其中h(x,t)为匹配扰动(本文只考虑匹配扰动),也就是说该扰动在控制矩阵张成的子空间中:
h
(
x
,
t
)
∈
s
p
a
n
{
B
(
x
)
}
h(x,t)\in span \{B(x)\}
h(x,t)∈span{B(x)},或者说能表示为:
h
(
x
,
t
)
=
B
(
x
)
u
h
h(x,t)=B(x)u_h
h(x,t)=B(x)uh。
对于含扰动及不确定性的系统,显然上述的
u
0
u_0
u0不能使其稳定。目前存在很多相关的控制器能使其稳定,本文考虑使用积分滑模控制器。
假设一:扰动有上界,即 ∣ ∣ u h ∣ ∣ < D ||u_h||<D ∣∣uh∣∣<D, D 为一大于零的常数 D为一大于零的常数 D为一大于零的常数。
积分滑模控制器
积分滑模的滑模函数设计如下:
s
=
s
0
(
x
)
+
z
,
z
˙
=
−
∂
s
0
∂
x
(
f
(
x
)
+
B
(
x
)
u
0
(
x
)
)
,
z
(
0
)
=
−
s
0
(
x
(
0
)
)
\begin{align}s=&s_0(x)+z,\notag \\ \dot z=&-\frac{\partial s_0}{\partial x}\left(f(x)+B(x) u_0(x)\right),\quad z(0)=-s_0(x(0)) \end{align}
s=z˙=s0(x)+z,−∂x∂s0(f(x)+B(x)u0(x)),z(0)=−s0(x(0))
式(4)的等价形式:
s
=
s
0
(
x
)
−
∫
0
t
∂
s
0
∂
x
(
f
(
x
)
+
B
(
x
)
u
0
(
x
)
)
−
s
0
(
x
(
0
)
)
\begin{equation}s=s_0(x)-\int_0^t{\frac{\partial s_0}{\partial x}\left(f(x)+B(x) u_0(x)\right)}-s_0(x(0))\end{equation}
s=s0(x)−∫0t∂x∂s0(f(x)+B(x)u0(x))−s0(x(0))
其中
s
0
(
x
)
s_0(x)
s0(x)可设计为,
s
0
(
x
)
=
B
−
1
x
s_0(x)=B^{-1}x
s0(x)=B−1x,
∂
s
0
∂
x
=
B
−
1
\frac {\partial {s_0}}{\partial {x}}=B^{-1}
∂x∂s0=B−1。
显然有s(0)=0。
设计
u
=
u
0
+
u
I
∈
R
n
u=u_0+u_I \in \R^n
u=u0+uI∈Rn,其中
u
I
=
−
(
D
+
η
)
s
i
g
n
(
s
)
u_{I}=-(D+\eta)\rm \bold {sign}(s)
uI=−(D+η)sign(s),
s
i
g
n
(
s
)
=
[
s
i
g
n
(
s
1
)
,
s
i
g
n
(
s
2
)
,
…
s
i
g
n
(
s
n
)
]
T
\rm {\bold {sign(s)}}=[\rm {sign(s_1), sign(s_2), \ldots sign(s_n)}]^T
sign(s)=[sign(s1),sign(s2),…sign(sn)]T,
η
\eta
η为一大于零的常数。
稳定性证明
设计候选Lyapunov函数为:
V
=
1
2
s
T
s
V=\frac{1}{2}s^Ts
V=21sTs,其对时间导数为:
V
˙
=
s
T
s
˙
=
s
T
(
s
˙
0
+
z
˙
)
=
s
T
B
−
1
(
f
(
x
)
+
B
(
x
)
(
u
0
+
u
I
+
u
h
)
−
f
(
x
)
−
B
(
x
)
u
0
)
=
s
T
(
u
h
−
(
D
+
η
)
s
i
g
n
(
s
)
)
<
−
η
s
T
s
i
g
n
(
s
)
<
0
\begin{align} \dot V=&s^T \dot s \notag \\ =&s^T(\dot s_0+ \dot z) \notag \\ =&s^TB^{-1}\left(f(x)+B(x)(u_0+u_I+u_h)-f(x)-B(x)u_0\right) \notag \\ =&s^T(u_h-(D+\eta)\rm{\bold {sign}}(s)) \notag \\ <&-\eta s^T \rm{\bold {sign}}(s)<0 \end{align}
V˙====<sTs˙sT(s˙0+z˙)sTB−1(f(x)+B(x)(u0+uI+uh)−f(x)−B(x)u0)sT(uh−(D+η)sign(s))−ηsTsign(s)<0
因此s是渐近稳定的,满足可达性要求。
对于
s
=
0
s=0
s=0有,
s
˙
=
0
\dot s=0
s˙=0,对式(4)求导有
x
˙
=
f
(
x
)
+
B
(
x
)
u
0
\begin{equation} \dot x=f(x)+B(x)u_0 \end{equation}
x˙=f(x)+B(x)u0
根据式(2),系统是渐近稳定的。
抖振抑制
抖振抑制的方法比较多,像饱和函数边界层、观测器、以及这里提到的积分滑模。使用饱和函数构建边界层会使得滑模变量只能收敛到边界层内,而不是真的等于0,损失了鲁棒性及精度,观测器一般就是构造扰动观测器去估计扰动并进行补偿,进而切换项只需抵抗估计误差即可,相对来说比较有效果。
Utkin在该论文中虽然说的是积分滑模抑制抖振,但实际上是用的一阶滤波器做等效控制的方法,一阶滤波器设计为:
μ
u
˙
e
q
+
u
e
q
=
u
I
\begin{equation}\mu \dot u_{eq}+u_{eq}=u_I\end{equation}
μu˙eq+ueq=uI然后直接设计
u
=
u
0
+
u
e
q
u=u_0+u_{eq}
u=u0+ueq即可,此时滑模面设计为
s
=
s
0
(
x
)
−
∫
0
t
∂
s
0
∂
x
(
f
(
x
)
+
B
(
x
)
(
u
−
u
I
)
)
−
s
0
(
x
(
0
)
)
\begin{equation}s=s_0(x)-\int_0^t{\frac{\partial s_0}{\partial x}\left(f(x)+B(x)(u-u_I)\right)}-s_0(x(0))\end{equation}
s=s0(x)−∫0t∂x∂s0(f(x)+B(x)(u−uI))−s0(x(0))为啥要改成这样,其实还是稳定性证明的需要,设计候选Lyapunov函数
V
=
1
2
s
T
s
V=\frac{1}{2}s^Ts
V=21sTs,求导有:
V
˙
=
s
T
s
˙
=
s
T
(
s
˙
0
+
z
˙
)
=
s
T
B
−
1
(
f
(
x
)
+
B
(
x
)
(
u
0
+
u
e
q
+
u
h
)
−
f
(
x
)
−
B
(
x
)
(
u
0
+
u
e
q
−
u
I
)
)
=
s
T
(
u
h
−
(
D
+
η
)
s
i
g
n
(
s
)
)
<
−
η
s
T
s
i
g
n
(
s
)
<
0
\begin{align} \dot V=&s^T \dot s \notag \\ =&s^T(\dot s_0+ \dot z) \notag \\ =&s^TB^{-1}\left(f(x)+B(x)(u_0+u_{eq}+u_h)-f(x)-B(x)(u_0+u_{eq}-u_I)\right) \notag \\ =&s^T(u_h-(D+\eta)\rm{\bold {sign}}(s)) \notag \\ <&-\eta s^T \rm{\bold {sign}}(s)<0 \end{align}
V˙====<sTs˙sT(s˙0+z˙)sTB−1(f(x)+B(x)(u0+ueq+uh)−f(x)−B(x)(u0+ueq−uI))sT(uh−(D+η)sign(s))−ηsTsign(s)<0
系统渐近稳定。
讨论
积分滑模相对于基本的线性滑模有两个优点,一个是初始时刻状态便在滑模面上,从而保证了整个过程的鲁棒性;另一个就是抑制抖振,虽然积分滑模不直接用于设计无抖振的控制器,而是通过一阶低通滤波器设计的,但是通过积分滑模可以证明该控制器的稳定性。
举个简单例子,对于系统
x
˙
1
=
x
2
x
˙
2
=
u
+
d
\begin{align}\dot x_1=&x_2 \notag \\ \dot x_2=&u+d \end{align}
x˙1=x˙2=x2u+d如果是使用线性滑模,设计滑模函数
s
=
x
1
+
x
2
s=x_1+x_2
s=x1+x2,
u
=
−
x
2
+
u
s
m
c
u=-x_2+u_{smc}
u=−x2+usmc,
u
s
m
c
=
−
(
D
+
η
)
s
i
g
n
(
s
)
u_{smc}=-(D+\eta)\rm sign(s)
usmc=−(D+η)sign(s)。此时能使得系统稳定,但是抖振比较大。
如果直接使用一阶滤波器(8),那么构造候选Lyapunov函数
V
=
1
2
s
2
V=\frac{1}{2}s^2
V=21s2,求导:
V
˙
=
s
(
x
2
+
u
+
d
)
=
s
(
u
e
q
+
d
)
\begin{align} \dot V=&s(x_2+u+d)\notag \\ =&s(u_{eq}+d) \end{align}
V˙==s(x2+u+d)s(ueq+d)会发现此时是无法证明
V
˙
\dot V
V˙小于零的。
总结
积分滑模通过使用一阶滤波器抑制抖振,同时初始时刻状态在滑模面上,保证了全过程的鲁棒性,具体可参考[1]。一阶滤波器后的
u
e
q
u_{eq}
ueq和
u
I
u_I
uI其实是有误差的,但是误差有界,比较小,可参考[2]的第二十三和二十四页,大致证明如下:
参考文献
[1] V. I. Utkin and J. Shi, “Integral sliding mode in systems operating under uncertainty conditions,” in Proc. 35th IEEE Conf. Decis. Control, vol. 4, Kobe, Japan, Dec. 1996, pp. 4591–4596.
[2]V. Utkin, Sliding Modes inControl and Optimization (Ser.Communication and Control Engineering). Berlin, Germany: Springer-Verlag, 1992.