[滑模控制器浅述] (2) 滑模控制抗干扰原理
[滑模控制器] (2) 滑模控制抗干扰原理
本博客需要一些现代控制理论中Lyapunov稳定性的一些理论知识。
您需要对滑模控制有一个初步的了解,可以参考:
[滑模控制器] (1) 二阶系统的简单滑模控制器设计
1 前言
滑模控制这么好,大家都爱用它,就是因为其自身有不错的抗干扰和抗参数不确定能力。本文将从数学和理论的角度,叙述为什么滑模控制能够抗干扰。
[滑模控制器] (3) 滑模控制抗系统参数不定原理
2 滑模控制器的抗干扰原理
考虑任意带干扰的二阶系统:
{
x
˙
1
=
x
2
x
˙
2
=
f
(
x
1
,
x
2
)
+
g
(
x
1
,
x
2
)
u
+
d
\left\{ \begin{aligned} & {{{\dot{x}}}_{1}}={{x}_{2}} \\ & {{{\dot{x}}}_{2}}=f\left( {{x}_{1}},{{x}_{2}} \right)+g\left( {{x}_{1}},{{x}_{2}} \right)u+d \\ \end{aligned} \right.
{x˙1=x2x˙2=f(x1,x2)+g(x1,x2)u+d其中
d
d
d是一个未知干扰,一般需要规定其上界
∣
d
∣
<
σ
\left| d \right|<\sigma
∣d∣<σ,首先按照前文方法设计滑模控制器。
([滑模控制器浅述] (1) 二阶系统的简单滑模控制器设计)
定义误差:
e
1
=
x
1
d
−
x
1
{{e}_{1}}=x_{1}^{d}-{{x}_{1}}
e1=x1d−x1考虑滑模面,
c
>
0
c>0
c>0:
s
=
e
˙
1
+
c
e
1
s={{\dot{e}}_{1}}+c{{e}_{1}}
s=e˙1+ce1求导:
s
˙
=
e
¨
1
+
c
e
˙
1
=
x
¨
1
d
−
x
˙
2
+
c
e
˙
1
\dot{s}={{\ddot{e}}_{1}}+c{{\dot{e}}_{1}}=\ddot{x}_{1}^{d}-{{\dot{x}}_{2}}+c{{\dot{e}}_{1}}
s˙=e¨1+ce˙1=x¨1d−x˙2+ce˙1设计趋近律,
ε
>
0
\varepsilon >0
ε>0,
r
>
0
r>0
r>0:
s
˙
=
−
ε
s
g
n
(
s
)
−
r
s
\dot{s}=-\varepsilon sgn \left( s \right)-rs
s˙=−εsgn(s)−rs根据上面两式,可以求解输入:
x
¨
1
d
−
x
˙
2
+
c
e
˙
1
=
−
ε
s
g
n
(
s
)
−
r
s
x
¨
1
d
−
f
(
x
1
,
x
2
)
−
g
(
x
1
,
x
2
)
u
−
d
+
c
e
˙
1
=
−
ε
s
g
n
(
s
)
−
r
s
u
=
x
¨
1
d
−
f
(
x
1
,
x
2
)
−
d
+
ε
s
g
n
(
s
)
+
r
s
+
c
e
˙
1
g
(
x
1
,
x
2
)
\begin{aligned} & \ddot{x}_{1}^{d}-{{{\dot{x}}}_{2}}+c{{{\dot{e}}}_{1}}=-\varepsilon sgn \left( s \right)-rs \\ & \ddot{x}_{1}^{d}-f\left( {{x}_{1}},{{x}_{2}} \right)-g\left( {{x}_{1}},{{x}_{2}} \right)u-d+c{{{\dot{e}}}_{1}}=-\varepsilon sgn \left( s \right)-rs \\ & u=\frac{\ddot{x}_{1}^{d}-f\left( {{x}_{1}},{{x}_{2}} \right)-d+\varepsilon sgn \left( s \right)+rs+c{{{\dot{e}}}_{1}}}{g\left( {{x}_{1}},{{x}_{2}} \right)} \end{aligned}
x¨1d−x˙2+ce˙1=−εsgn(s)−rsx¨1d−f(x1,x2)−g(x1,x2)u−d+ce˙1=−εsgn(s)−rsu=g(x1,x2)x¨1d−f(x1,x2)−d+εsgn(s)+rs+ce˙1这就会发现一个很尴尬的是事实,求解出来的输入
u
u
u居然是包含干扰
d
d
d的,意思是要求出来
u
u
u,首先需要知道
d
d
d,呵呵,这根本不是我们想要的结果!
因此,考虑:
s
˙
=
−
ε
s
g
n
(
s
)
−
r
s
−
d
\dot{s}=-\varepsilon sgn \left( s \right)-rs-d
s˙=−εsgn(s)−rs−d再次求解输入:
x
¨
1
d
−
x
˙
2
+
c
e
˙
1
=
−
ε
s
g
n
(
s
)
−
r
s
−
d
x
¨
1
d
−
f
(
x
1
,
x
2
)
−
g
(
x
1
,
x
2
)
u
−
d
+
c
e
˙
1
=
−
ε
s
g
n
(
s
)
−
r
s
−
d
u
=
x
¨
1
d
−
f
(
x
1
,
x
2
)
+
ε
s
g
n
(
s
)
+
r
s
+
c
e
˙
1
g
(
x
1
,
x
2
)
\begin{aligned} & \ddot{x}_{1}^{d}-{{{\dot{x}}}_{2}}+c{{{\dot{e}}}_{1}}=-\varepsilon sgn \left( s \right)-rs-d \\ & \ddot{x}_{1}^{d}-f\left( {{x}_{1}},{{x}_{2}} \right)-g\left( {{x}_{1}},{{x}_{2}} \right)u-d+c{{{\dot{e}}}_{1}}=-\varepsilon sgn \left( s \right)-rs-d \\ & u=\frac{\ddot{x}_{1}^{d}-f\left( {{x}_{1}},{{x}_{2}} \right)+\varepsilon sgn \left( s \right)+rs+c{{{\dot{e}}}_{1}}}{g\left( {{x}_{1}},{{x}_{2}} \right)} \end{aligned}
x¨1d−x˙2+ce˙1=−εsgn(s)−rs−dx¨1d−f(x1,x2)−g(x1,x2)u−d+ce˙1=−εsgn(s)−rs−du=g(x1,x2)x¨1d−f(x1,x2)+εsgn(s)+rs+ce˙1这样求解出来的输入
u
u
u就不需要干扰
d
d
d的信息了。下面解释对于这个滑模控制器选取怎样的参数
ε
\varepsilon
ε和
r
r
r才能使得控制是稳定的。
考虑如下Lyapunov函数:
V
=
1
2
s
2
V=\frac{1}{2}{{s}^{2}}
V=21s2求导:
V
˙
=
s
s
˙
=
−
ε
s
s
g
n
(
s
)
−
r
s
2
−
s
d
≤
−
∣
s
∣
(
ε
−
∣
d
∣
)
−
r
s
2
≤
−
∣
s
∣
(
ε
−
σ
)
−
r
s
2
\begin{aligned} & \dot{V}=s\dot{s} \\ & =-\varepsilon ssgn \left( s \right)-r{{s}^{2}}-sd \\ & \le -\left| s \right|\left( \varepsilon -\left| d \right| \right)-r{{s}^{2}} \\ & \le -\left| s \right|\left( \varepsilon -\sigma \right)-r{{s}^{2}} \end{aligned}
V˙=ss˙=−εssgn(s)−rs2−sd≤−∣s∣(ε−∣d∣)−rs2≤−∣s∣(ε−σ)−rs2这说明如果有
ε
>
σ
\varepsilon >\sigma
ε>σ,即
ε
\varepsilon
ε大于干扰上界
σ
\sigma
σ,那么有
V
˙
≤
0
\dot{V}\le 0
V˙≤0,稳定,有
s
→
0
s\to 0
s→0,即有
e
→
0
e\to 0
e→0,
e
˙
→
0
\dot{e}\to 0
e˙→0。系统稳定。
从Lyapunov证明过程来看,其实是输入
u
u
u中的
s
g
n
(
s
)
sgn \left( s \right)
sgn(s)项有抗干扰作用,然而,这种抗干扰是很暴力的,可能对要求执行器快速地切换输入
u
u
u的符号,对执行器很不友好,其系数
ε
\varepsilon
ε越大,理论上抗干扰能力越强,对执行器要求越大,实际系统很多都是难以达到。
因此,实际使用中
s
g
n
(
s
)
sgn \left( s \right)
sgn(s)项的系数不应过大,其应对的应当还只是小幅度的干扰(或是小幅度系统不确定,如果笔者不咕咕咕,后面将会介绍滑模控制抗系统参数不确定的原理),对于较大干扰应当使用更加专业的干扰观测器(Disturbance Observer)。