反步控制方法
最近学习了反步控制方法,在此记录一下,免得忘了
系统状态空间方程
假设系统状态空间方程如下:
{
x
˙
1
=
x
1
2
+
x
2
x
˙
2
=
x
1
+
u
\ \begin{cases} \dot{x}_1 = x_1^2+x_2 \\\dot{x}_2= x_1+u \end{cases}
{x˙1=x12+x2x˙2=x1+u
1.目标:轨迹跟踪,希望:
x
1
⟶
x
d
x_1{\longrightarrow}x_d
x1⟶xd
2. 设计方法:通过反向设计控制输入,从而实现控制目标,思路如下:
u
⟶
x
2
⟶
x
1
u{\longrightarrow}x_2{\longrightarrow}x_1
u⟶x2⟶x1
实现步骤
1.将
x
2
d
x_{{2d}}
x2d作为中间输入,使
x
1
⟶
x
1
d
x_1{\longrightarrow}x_{{1d}}
x1⟶x1d
2.设计控制输入
u
u
u,使
x
2
⟶
x
2
d
x_2{\longrightarrow}x_{{2d}}
x2⟶x2d
具体过程
1.找到一个
x
2
d
x_{{2d}}
x2d,使
x
1
⟶
x
d
x_1{\longrightarrow}x_d
x1⟶xd:首先定义
x
1
x_1
x1期望与实际间的误差
e
=
x
1
d
−
x
1
e=x_1d-x_1
e=x1d−x1,设计一个李雅普诺夫函数,使得
t
⟶
∞
,
e
⟶
0
t{\longrightarrow}\infty,e{\longrightarrow}0
t⟶∞,e⟶0
V
(
e
)
=
1
2
e
2
V
(
e
˙
)
=
e
e
˙
V(e)=\frac{1}{2}e^2\\V(\dot{e})=e\dot{e}
V(e)=21e2V(e˙)=ee˙
根据李雅普诺夫第二方法,希望
V
(
e
)
V(e)
V(e)正定,
V
(
x
˙
)
V(\dot{x})
V(x˙)负定,其中:
V
(
e
˙
)
=
e
e
˙
=
e
(
x
˙
1
d
−
x
˙
1
)
=
e
(
x
˙
1
d
−
x
1
2
−
x
2
)
V(\dot{e})=e\dot{e}=e(\dot{x}_1d-\dot{x}_1)=e(\dot{x}_1d-x_1^2-x_2)
V(e˙)=ee˙=e(x˙1d−x˙1)=e(x˙1d−x12−x2)
令
x
˙
1
d
−
x
1
2
−
x
2
=
−
k
1
e
\dot{x}_{{1d}}-x_1^2-x_2=-k_1e
x˙1d−x12−x2=−k1e,因此
x
2
=
k
1
e
+
x
˙
1
d
−
x
1
2
x_2=k_1e+\dot{x}_1d-x_1^2
x2=k1e+x˙1d−x12,所以
x
2
d
=
k
1
e
+
x
˙
1
d
−
x
1
2
x_{{2d}}=k_1e+\dot{x}_1d-x_1^2
x2d=k1e+x˙1d−x12
2.设计控制输入
u
u
u,使得
x
2
⟶
x
2
d
x_2{\longrightarrow}x_{{2d}}
x2⟶x2d:定义
x
2
x_2
x2期望与实际间的误差
δ
=
x
2
d
−
x
2
\delta=x_{{2d}}-x_2
δ=x2d−x2,同上述过程,使得
t
⟶
∞
,
δ
⟶
0
t{\longrightarrow}\infty,\delta{\longrightarrow}0
t⟶∞,δ⟶0
V
(
e
,
δ
)
=
1
2
e
2
+
1
2
δ
2
V
(
e
˙
,
δ
˙
)
=
e
e
˙
+
δ
δ
˙
V(e,\delta)=\frac{1}{2}e^2+\frac{1}{2}\delta^2\\V(\dot{e},\dot{\delta})=e\dot{e}+\delta\dot{\delta}
V(e,δ)=21e2+21δ2V(e˙,δ˙)=ee˙+δδ˙
代入第一步中的计算结果:
V
(
e
˙
,
δ
˙
)
=
e
e
˙
+
δ
δ
˙
=
e
(
x
˙
1
d
−
x
1
2
−
x
2
)
+
δ
δ
˙
x
2
=
x
2
d
−
δ
=
k
1
e
+
x
˙
1
d
−
x
1
2
−
x
2
−
δ
V(\dot{e},\dot{\delta})=e\dot{e}+\delta\dot{\delta}=e(\dot{x}_1d-x_1^2-x_2)+\delta\dot{\delta}\\x_2=x_{{2d}}-\delta=k_1e+\dot{x}_1d-x_1^2-x_2-\delta
V(e˙,δ˙)=ee˙+δδ˙=e(x˙1d−x12−x2)+δδ˙x2=x2d−δ=k1e+x˙1d−x12−x2−δ
将
x
2
x_2
x2代入
V
(
e
˙
,
δ
˙
)
V(\dot{e},\dot{\delta})
V(e˙,δ˙),得到
V
(
e
˙
,
δ
˙
)
=
e
(
−
k
1
e
+
δ
)
+
δ
δ
˙
=
−
k
1
e
2
+
V
(
e
˙
,
δ
˙
)
V(\dot{e},\dot{\delta})=e(-k_1e+\delta)+\delta\dot{\delta}=-k_1e^2+V(\dot{e},\dot{\delta})
V(e˙,δ˙)=e(−k1e+δ)+δδ˙=−k1e2+V(e˙,δ˙)
因为希望
V
(
e
˙
,
δ
˙
)
V(\dot{e},\dot{\delta})
V(e˙,δ˙)负定,因此
δ
(
e
+
δ
˙
)
=
−
k
2
δ
2
\delta(e+\dot{\delta})=-k_2\delta^2
δ(e+δ˙)=−k2δ2,所以:
e
+
δ
˙
=
−
k
2
δ
e
+
(
x
˙
2
d
−
x
2
˙
)
=
e
+
(
k
1
e
˙
+
x
¨
1
−
2
x
1
x
˙
1
−
(
x
1
+
u
)
)
=
e
+
k
1
e
˙
+
x
¨
1
d
−
2
x
1
(
x
1
2
+
x
2
)
−
x
1
−
u
=
−
k
2
δ
e+\dot{\delta}=-k_2\delta\\e+(\dot{x}_{{2d}}-\dot{x_2})=e+(k_1\dot{e}+\ddot{x}_1-2x_1\dot{x}_1-(x_1+u))\\=e+k_1\dot{e}+\ddot{x}_1d-2x_1(x_1^2+x_2)-x_1-u=-k_2\delta
e+δ˙=−k2δe+(x˙2d−x2˙)=e+(k1e˙+x¨1−2x1x˙1−(x1+u))=e+k1e˙+x¨1d−2x1(x12+x2)−x1−u=−k2δ
最终求得控制律
u
=
e
+
k
1
e
˙
+
x
¨
1
d
−
2
x
1
(
x
1
2
+
x
2
)
−
x
1
+
k
2
δ
u=e+k_1\dot{e}+\ddot{x}_{{1d}}-2x_1(x_1^2+x_2)-x_1+k_2\delta
u=e+k1e˙+x¨1d−2x1(x12+x2)−x1+k2δ