反步法的数学本质
本文建议有一定反步法知识的同学阅读,欢迎参考笔者另一篇详细介绍反步法Backstepping的文章Backstepping反步法控制四旋翼无人机(2)。
1. 反步法Backstepping简介
假设有一个二阶非线性时变系统
{
x
˙
1
=
x
2
x
˙
2
=
f
(
t
,
x
1
,
x
2
)
+
g
(
t
)
u
y
=
x
1
(1)
\begin{cases} \begin{aligned} \dot{x}_1 &= x_2 \\ \dot{x}_2 &= f(t, x_1, x_2)+ g(t) u \\ y &= x_1 \end{aligned} \tag{1} \end{cases}
⎩
⎨
⎧x˙1x˙2y=x2=f(t,x1,x2)+g(t)u=x1(1)其中
f
(
t
,
x
1
,
x
2
)
,
g
(
t
)
f(t, x_1, x_2), g(t)
f(t,x1,x2),g(t)均为非线性时变函数,状态
x
1
x_1
x1为输出状态。
设期望的状态为
x
1
d
x_{1d}
x1d,则可以写出期望状态与实际状态的误差
e
1
=
x
1
d
−
x
1
e_1 = x_{1d}- x_1
e1=x1d−x1根据李雅普诺夫稳定性理论,可以设计李雅普诺夫函数
V
1
=
1
2
e
1
2
V_1 = \frac{1}{2}e_1^2
V1=21e12,则其导数为
V
˙
1
=
e
1
e
˙
1
=
e
1
(
x
˙
1
d
−
x
˙
1
)
=
e
1
(
x
˙
1
d
−
x
2
)
\dot{V}_1 = e_1 \dot{e}_1 = e_1 \left( \dot{x}_{1d} - \dot{x}_1 \right) = e_1 \left( \dot{x}_{1d} - x_2 \right)
V˙1=e1e˙1=e1(x˙1d−x˙1)=e1(x˙1d−x2)若存在理想状态量
x
2
v
x_{2v}
x2v,满足
x
2
v
=
x
˙
1
d
+
α
1
e
1
x_{2v} = \dot{x}_{1d} + \alpha_1 e_1
x2v=x˙1d+α1e1则李雅普诺夫函数导数即有
V
˙
1
=
e
1
(
x
˙
1
d
−
x
2
v
)
=
e
1
(
x
˙
1
d
−
x
˙
1
d
−
α
1
e
1
)
=
−
α
1
e
1
2
≤
0
\begin{aligned} \dot{V}_1 &= e_1 \left( \dot{x}_{1d} - x_{2v} \right) \\ &= e_1 \left( \dot{x}_{1d} - \dot{x}_{1d} - \alpha_1 e_1 \right) \\ &= -\alpha_1 e_1^2 \leq 0 \end{aligned}
V˙1=e1(x˙1d−x2v)=e1(x˙1d−x˙1d−α1e1)=−α1e12≤0然而,实际情况下
x
2
≠
x
2
v
x_2 \neq x_{2v}
x2=x2v。由此需要引入新的误差
e
2
=
x
2
−
x
2
v
e_2 = x_2 - x_{2v}
e2=x2−x2v,并修改李雅普诺夫函数:
V
2
=
1
2
e
1
2
+
1
2
e
2
2
V_2 = \frac{1}{2} e_1^2 + \frac{1}{2} e_2^2
V2=21e12+21e22容易观察出:
e
2
=
x
2
−
x
2
v
=
x
2
−
x
˙
1
d
−
α
1
e
1
⟹
x
˙
1
d
−
x
2
=
−
e
2
−
α
1
e
1
e_2 = x_2 - x_{2v} = x_2 - \dot{x}_{1d} - \alpha_1 e_1 \\ \Longrightarrow \dot{x}_{1d} - x_2 = -e_2 - \alpha_1 e_1
e2=x2−x2v=x2−x˙1d−α1e1⟹x˙1d−x2=−e2−α1e1接下来对新的李雅普诺夫函数求导:
V
˙
2
=
e
1
e
˙
1
+
e
2
e
˙
2
=
e
1
(
x
˙
1
d
−
x
2
)
+
e
2
(
x
˙
2
−
x
¨
1
d
−
α
1
e
˙
1
)
=
−
e
1
(
e
2
+
α
1
e
1
)
+
e
2
[
f
(
t
,
x
1
,
x
2
)
+
g
(
t
)
u
−
x
¨
1
d
−
α
1
(
x
˙
1
d
−
x
2
)
]
=
−
e
1
(
e
2
+
α
1
e
1
)
+
e
2
[
f
(
t
,
x
1
,
x
2
)
+
g
(
t
)
u
−
x
¨
1
d
+
α
1
(
e
2
+
α
1
e
1
)
]
\begin{aligned} \dot{V}_2 &= e_1 \dot{e}_1 + e_2 \dot{e}_2 \\&= e_1 \left( \dot{x}_{1d} - x_2 \right) + e_2 \left( \dot{x}_2 - \ddot{x}_{1d} - \alpha_1 \dot{e}_1 \right) \\ &= - e_1 \left( e_2 + \alpha_1 e_1 \right) + e_2 \left[ f(t, x_1, x_2)+ g(t) u - \ddot{x}_{1d} - \alpha_1 \left( \dot{x}_{1d} - x_2 \right) \right] \\ &= - e_1 \left( e_2 + \alpha_1 e_1 \right) + e_2 \left[ f(t, x_1, x_2)+ g(t) u - \ddot{x}_{1d} + \alpha_1 \left( e_2 + \alpha_1 e_1 \right) \right] \end{aligned}
V˙2=e1e˙1+e2e˙2=e1(x˙1d−x2)+e2(x˙2−x¨1d−α1e˙1)=−e1(e2+α1e1)+e2[f(t,x1,x2)+g(t)u−x¨1d−α1(x˙1d−x2)]=−e1(e2+α1e1)+e2[f(t,x1,x2)+g(t)u−x¨1d+α1(e2+α1e1)]此时只要设计
u
u
u为
u
=
1
g
(
t
)
[
−
f
(
t
,
x
1
,
x
2
)
+
x
¨
1
d
−
α
1
(
e
2
+
α
1
e
1
)
+
e
1
−
α
2
e
2
]
(2)
u = \frac{1}{g(t)} \left[ -f(t, x_1, x_2) + \ddot{x}_{1d} - \alpha_1 \left( e_2 + \alpha_1 e_1 \right) + e_1 - \alpha_2 e_2 \right] \tag{2}
u=g(t)1[−f(t,x1,x2)+x¨1d−α1(e2+α1e1)+e1−α2e2](2)即可,代回上式可得到此时李雅普诺夫函数的导数为
V
˙
2
=
−
α
1
e
1
2
−
α
2
e
2
2
≤
0
\dot{V}_2 = -\alpha_1 e_1^2 - \alpha_2 e_2^2 \leq 0
V˙2=−α1e12−α2e22≤0系统即稳定。
2. 反步法的数学本质
把得到的控制量式(2)带回到原系统(1)中:
{
x
˙
1
=
x
2
x
˙
2
=
f
(
t
,
x
1
,
x
2
)
+
g
(
t
)
u
y
=
x
1
\begin{cases} \begin{aligned} \dot{x}_1 &= x_2 \\ \dot{x}_2 &= f(t, x_1, x_2)+ g(t) u \\ y &= x_1 \end{aligned} \end{cases}
⎩
⎨
⎧x˙1x˙2y=x2=f(t,x1,x2)+g(t)u=x1即
x
˙
2
=
x
¨
1
=
f
(
t
,
x
1
,
x
2
)
+
g
(
t
)
u
=
f
(
t
,
x
1
,
x
2
)
+
g
(
t
)
⋅
1
g
(
t
)
[
−
f
(
t
,
x
1
,
x
2
)
+
x
¨
1
d
−
α
1
(
e
2
+
α
1
e
1
)
+
e
1
−
α
2
e
2
]
=
x
¨
1
d
−
α
1
(
e
2
+
α
1
e
1
)
+
e
1
−
α
2
e
2
\begin{aligned} \dot{x}_2 &= \ddot{x}_1 = f(t, x_1, x_2)+ g(t) u \\ &= f(t, x_1, x_2)+ g(t) \cdot \frac{1}{g(t)} \left[ -f(t, x_1, x_2) + \ddot{x}_{1d} - \alpha_1 \left( e_2 + \alpha_1 e_1 \right) + e_1 - \alpha_2 e_2 \right] \\ &= \ddot{x}_{1d} - \alpha_1 \left( e_2 + \alpha_1 e_1 \right) + e_1 - \alpha_2 e_2 \end{aligned}
x˙2=x¨1=f(t,x1,x2)+g(t)u=f(t,x1,x2)+g(t)⋅g(t)1[−f(t,x1,x2)+x¨1d−α1(e2+α1e1)+e1−α2e2]=x¨1d−α1(e2+α1e1)+e1−α2e2代入
e
1
,
e
2
e_1, e_2
e1,e2表达式:
x
˙
2
=
x
¨
1
=
x
¨
1
d
−
α
1
[
(
x
2
−
x
˙
1
d
−
α
1
e
1
)
+
α
1
e
1
]
+
e
1
−
α
2
(
x
2
−
x
˙
1
d
−
α
1
e
1
)
=
x
¨
1
d
−
α
1
(
x
2
−
x
˙
1
d
)
+
e
1
−
α
2
(
x
2
−
x
˙
1
d
−
α
1
e
1
)
=
x
¨
1
d
−
α
1
(
x
˙
1
−
x
˙
1
d
)
+
e
1
−
α
2
(
x
˙
1
−
x
˙
1
d
−
α
1
e
1
)
=
x
¨
1
d
+
α
1
e
˙
1
+
e
1
−
α
2
(
−
e
˙
1
−
α
1
e
1
)
=
x
¨
1
d
+
α
1
e
˙
1
+
e
1
+
α
2
e
˙
1
+
α
1
α
2
e
1
(3)
\begin{aligned} \dot{x}_2 = \ddot{x}_1 &= \ddot{x}_{1d} - \alpha_1 \left[ \left( x_2 - \dot{x}_{1d} - \alpha_1 e_1 \right) + \alpha_1 e_1 \right] + e_1 - \alpha_2 \left( x_2 - \dot{x}_{1d} - \alpha_1 e_1 \right) \\ &= \ddot{x}_{1d} - \alpha_1 \left( x_2 - \dot{x}_{1d} \right) + e_1 - \alpha_2 \left( x_2 - \dot{x}_{1d} - \alpha_1 e_1 \right) \\ &= \ddot{x}_{1d} - \alpha_1 \left( \dot{x}_1 - \dot{x}_{1d} \right) + e_1 - \alpha_2 \left( \dot{x}_1 - \dot{x}_{1d} - \alpha_1 e_1 \right) \\ &= \ddot{x}_{1d} + \alpha_1 \dot{e}_1 + e_1 - \alpha_2 \left( - \dot{e}_1 - \alpha_1 e_1 \right) \\ &= \ddot{x}_{1d} + \alpha_1 \dot{e}_1 + e_1 + \alpha_2 \dot{e}_1 + \alpha_1 \alpha_2 e_1 \end{aligned} \tag{3}
x˙2=x¨1=x¨1d−α1[(x2−x˙1d−α1e1)+α1e1]+e1−α2(x2−x˙1d−α1e1)=x¨1d−α1(x2−x˙1d)+e1−α2(x2−x˙1d−α1e1)=x¨1d−α1(x˙1−x˙1d)+e1−α2(x˙1−x˙1d−α1e1)=x¨1d+α1e˙1+e1−α2(−e˙1−α1e1)=x¨1d+α1e˙1+e1+α2e˙1+α1α2e1(3)将上式变形
x
¨
1
−
x
¨
1
d
=
α
1
e
˙
1
+
e
1
+
α
2
e
˙
1
+
α
1
α
2
e
1
\ddot{x}_1 - \ddot{x}_{1d} = \alpha_1 \dot{e}_1 + e_1 + \alpha_2 \dot{e}_1 + \alpha_1 \alpha_2 e_1
x¨1−x¨1d=α1e˙1+e1+α2e˙1+α1α2e1即
−
e
¨
1
=
(
α
1
+
α
2
)
e
˙
1
+
(
α
1
α
2
+
1
)
e
1
(4)
-\ddot{e}_1 = \left( \alpha_1 + \alpha_2 \right) \dot{e}_1 + \left( \alpha_1 \alpha_2 + 1 \right) e_1 \tag{4}
−e¨1=(α1+α2)e˙1+(α1α2+1)e1(4)式(4)即为关于
x
1
x_1
x1的误差量
e
1
e_1
e1的一个微分方程。对其做拉普拉斯变换,转换到
s
s
s空间:
−
s
2
E
1
(
s
)
=
(
α
1
+
α
2
)
s
E
1
(
s
)
+
(
α
1
α
2
+
1
)
E
1
(
s
)
-s^2 E_1 (s) = \left( \alpha_1 + \alpha_2 \right) s E_1 (s) + \left( \alpha_1 \alpha_2 + 1 \right) E_1 (s)
−s2E1(s)=(α1+α2)sE1(s)+(α1α2+1)E1(s)若将其视为一个系统,则其传递函数为
W
(
s
)
=
1
s
2
+
(
α
1
+
α
2
)
s
+
(
α
1
α
2
+
1
)
(5)
W(s) = \frac{1}{s^2 + \left( \alpha_1 + \alpha_2 \right) s + \left( \alpha_1 \alpha_2 + 1 \right)} \tag{5}
W(s)=s2+(α1+α2)s+(α1α2+1)1(5)由于该传递函数是从反步法稳定后的系统得出的,若将稳定后的系统视作某个开环系统
G
(
s
)
G(s)
G(s)的闭环系统,则很容易就能反求出该开环系统:
G
(
s
)
=
1
s
2
+
(
α
1
+
α
2
)
s
+
α
1
α
2
=
1
(
s
+
α
1
)
(
s
+
α
2
)
(6)
G(s) = \frac{1}{s^2 + \left( \alpha_1 + \alpha_2 \right) s + \alpha_1 \alpha_2} = \frac{1}{ \left( s + \alpha_1 \right) \left( s + \alpha_2\right) } \tag{6}
G(s)=s2+(α1+α2)s+α1α21=(s+α1)(s+α2)1(6)
由此可以对反步法的数学本质做出解释:
- 反步法本质上是向系统里引入了两个极点 s 1 = α 1 , s 2 = α 2 s_1 = \alpha_1, s_2 = \alpha_2 s1=α1,s2=α2,使得系统变成两个一阶惯性环节的串联,从而增强稳定性。
- 同时可以推断出的是,当系统不是二阶系统,而是三阶、n阶时,相应地式(6)必将拥有3个、n个极点。
- 由于极点 s 1 = α 1 , s 2 = α 2 s_1 = \alpha_1, s_2 = \alpha_2 s1=α1,s2=α2即为反步法的两个调节参数,故也可以得出结论:调节参数 α 1 , α 2 \alpha_1, \alpha_2 α1,α2可以改善系统表现,当 α 1 , α 2 \alpha_1, \alpha_2 α1,α2靠近虚轴时系统振荡变强,响应时间变长;当 α 1 , α 2 \alpha_1, \alpha_2 α1,α2增大时极点远离虚轴,系统响应时间变短,甚至无超调。