自适应反步控制
1. 基本思想
基于传统反步法,考虑了系统方程中以线性形式出现的未知参数。核心思想包括参数估计率和控制率。
考虑二阶系统:
{
x
˙
1
=
x
2
+
φ
1
T
(
x
1
)
θ
x
˙
2
=
u
+
φ
2
T
(
x
1
,
x
2
)
θ
(1)
\begin{cases} \dot{x}_1 = x_2 + \varphi_1^{T}(x_1)\theta \\ \dot{x}_2 = u + \varphi_2^{T}(x_1, x_2)\theta \end{cases} \tag{1}
{x˙1=x2+φ1T(x1)θx˙2=u+φ2T(x1,x2)θ(1)
其中 θ \theta θ 是未知的常数参数(列向量), φ 1 ( x 1 ) \varphi_1(x_1) φ1(x1) 和 φ 2 ( x 1 , x 2 ) \varphi_2(x_1,x_2) φ2(x1,x2) 为已知的非线性函数。 u u u 是控制输入, x r x_r xr 是 x 1 x_1 x1 期望跟踪到的轨迹。
设计目标有二:确保闭环系统的所有状态保持有界;让 x 1 x_1 x1 渐进跟踪到 x r x_r xr。
假设:参考轨迹 x r x_r xr 及其导数有界并可预测; φ 1 ( x 1 ) \varphi_1(x_1) φ1(x1) 和 φ 2 ( x 1 , x 2 ) \varphi_2(x_1,x_2) φ2(x1,x2) 是已知且连续可微的;参数不确定性是线性形式出现的。这些假设的目的是保证在设计自适应律时,Lyapunov 导函数可以被有效约束,并且更新率是可实现的。
如果参数 θ \theta θ 已知,可以使用静态积分分反步法设计虚拟控制率 α 1 \alpha_1 α1,但此处的参数 θ \theta θ 并非已知,所以需要设计合适的 θ \theta θ 更新规则以保证闭环稳定。
A. 第一步
定义跟踪误差
z
1
=
x
1
−
x
r
(2)
z_1 = x_1 - x_r \tag{2}
z1=x1−xr(2)
z
2
=
x
2
−
α
1
−
x
˙
r
(3)
z_2 = x_2 - \alpha_1 - \dot{x}_r \tag{3}
z2=x2−α1−x˙r(3)
z 2 z_2 z2 表示“实际 x 2 x_2 x2 与理想目标值 α 1 + x ˙ r \alpha_1 + \dot{x}_r α1+x˙r 之间的偏差”。
对(2)求导数,并将(1)、(3)带入:
z
˙
1
=
x
˙
1
−
x
˙
r
=
x
2
+
φ
1
T
(
x
1
)
θ
−
x
2
+
z
2
+
α
1
=
z
2
+
α
1
+
φ
1
T
θ
(4)
\dot{z}_1 = \dot{x}_1 - \dot{x}_r = x_2 + \varphi_1^{T}(x_1)\theta - x_2 + z_2 + \alpha_1 = z_2 + \alpha_1 + \varphi_1^{T}\theta \tag{4}
z˙1=x˙1−x˙r=x2+φ1T(x1)θ−x2+z2+α1=z2+α1+φ1Tθ(4)
其中 θ \theta θ 是未知的,不能直接使用已知参数的反步法。设计 θ ^ 1 \hat{\theta}_1 θ^1 用以近似 θ \theta θ;同时设计一个参数更新率来在线调整 θ ^ 1 \hat{\theta}_1 θ^1。
设计 Lyapunov 候选函数:
V
1
=
1
2
z
1
2
+
1
2
θ
~
1
T
Γ
−
1
θ
~
1
(5)
V_1 = \frac{1}{2} z_1^2 + \frac{1}{2} \tilde{\theta}_1^{T} \Gamma^{-1} \tilde{\theta}_1 \tag{5}
V1=21z12+21θ~1TΓ−1θ~1(5)
其中
Γ
>
0
\Gamma > 0
Γ>0 是参数更新率的自适应增益矩阵,
θ
~
1
=
θ
−
θ
^
1
\tilde{\theta}_1 = \theta - \hat{\theta}_1
θ~1=θ−θ^1 表示参数估计误差。
对其求导:
V
˙
1
=
z
1
z
˙
1
+
θ
~
1
T
Γ
−
1
θ
~
˙
1
(6)
\dot{V}_1 = z_1 \dot{z}_1 + \tilde{\theta}_1^{T} \Gamma^{-1} \dot{\tilde{\theta}}_1 \tag{6}
V˙1=z1z˙1+θ~1TΓ−1θ~˙1(6)
将(4)带入:
V
˙
1
=
z
1
(
z
2
+
α
1
+
φ
1
T
θ
)
+
θ
~
1
T
Γ
−
1
θ
~
˙
1
(7)
\dot{V}_1 = z_1(z_2 + \alpha_1 + \varphi_1^{T}\theta) + \tilde{\theta}_1^{T} \Gamma^{-1} \dot{\tilde{\theta}}_1 \tag{7}
V˙1=z1(z2+α1+φ1Tθ)+θ~1TΓ−1θ~˙1(7)
展开:
V
˙
1
=
z
1
z
2
+
z
1
α
1
+
z
1
φ
1
T
θ
^
1
+
z
1
φ
1
T
θ
~
1
−
θ
~
1
T
Γ
−
1
θ
^
˙
1
(8)
\dot{V}_1 = z_1 z_2 + z_1 \alpha_1 + z_1 \varphi_1^{T} \hat{\theta}_1 + z_1 \varphi_1^{T} \tilde{\theta}_1 - \tilde{\theta}_1^{T} \Gamma^{-1} \dot{\hat{\theta}}_1 \tag{8}
V˙1=z1z2+z1α1+z1φ1Tθ^1+z1φ1Tθ~1−θ~1TΓ−1θ^˙1(8)
由于
φ
1
T
θ
~
=
θ
~
1
T
φ
1
\varphi_1^{T}\tilde{\theta} = \tilde{\theta}_1^{T}\varphi_1
φ1Tθ~=θ~1Tφ1,可得:
V
˙
1
=
z
1
z
2
+
z
1
α
1
+
z
1
φ
1
T
θ
^
1
+
θ
~
1
T
(
φ
1
z
1
−
Γ
−
1
θ
^
˙
1
)
(9)
\dot{V}_1 = z_1 z_2 + z_1 \alpha_1 + z_1 \varphi_1^{T} \hat{\theta}_1 + \tilde{\theta}_1^{T}(\varphi_1 z_1 - \Gamma^{-1} \dot{\hat{\theta}}_1) \tag{9}
V˙1=z1z2+z1α1+z1φ1Tθ^1+θ~1T(φ1z1−Γ−1θ^˙1)(9)
定义虚拟控制
α
1
\alpha_1
α1 和参数更新率:
α
1
=
−
c
1
z
1
−
φ
1
T
θ
^
1
\alpha_1 = -c_1 z_1 - \varphi_1^{T} \hat{\theta}_1
α1=−c1z1−φ1Tθ^1
θ
^
˙
1
=
Γ
φ
1
z
1
(10)
\dot{\hat{\theta}}_1 = \Gamma \varphi_1 z_1 \tag{10}
θ^˙1=Γφ1z1(10)
带入可得:
V
˙
1
=
−
c
1
z
1
2
+
z
1
z
2
(11)
\dot{V}_1 = -c_1 z_1^2 + z_1 z_2 \tag{11}
V˙1=−c1z12+z1z2(11)
B. 第二步
设计实际控制输入 u u u,使 z 2 → 0 z_2 \to 0 z2→0。
由(3)可得:
z
˙
2
=
x
˙
2
−
α
˙
1
−
x
¨
r
(12)
\dot{z}_2 = \dot{x}_2 - \dot{\alpha}_1 - \ddot{x}_r \tag{12}
z˙2=x˙2−α˙1−x¨r(12)
注意 α 1 \alpha_1 α1 实际上是 x 1 x_1 x1、 θ ^ 1 \hat{\theta}_1 θ^1、 x r x_r xr 的函数,故采用复合函数求导方式。
选取新的 Lyapunov 函数:
V
2
=
V
1
+
1
2
z
2
2
(14)
V_2 = V_1 + \frac{1}{2} z_2^2 \tag{14}
V2=V1+21z22(14)
求导:
V
˙
2
=
−
c
1
z
1
2
+
z
2
(
z
1
+
z
˙
2
)
(15)
\dot{V}_2 = -c_1 z_1^2 + z_2(z_1 + \dot{z}_2) \tag{15}
V˙2=−c1z12+z2(z1+z˙2)(15)
为消除未知参数项
θ
\theta
θ,设计:
u
=
−
z
1
−
c
2
z
2
+
∂
α
1
∂
x
1
x
2
−
(
φ
2
−
∂
α
1
∂
x
1
φ
1
)
T
θ
^
2
+
∂
α
1
∂
θ
^
1
Γ
φ
1
z
1
+
∂
α
1
∂
x
r
x
˙
r
+
x
¨
r
(18)
u = -z_1 - c_2 z_2 + \frac{\partial \alpha_1}{\partial x_1} x_2 - \left( \varphi_2 - \frac{\partial \alpha_1}{\partial x_1} \varphi_1 \right)^T \hat{\theta}_2+ \frac{\partial \alpha_1}{\partial \hat{\theta}_1} \Gamma \varphi_1 z_1 + \frac{\partial \alpha_1}{\partial x_r} \dot{x}_r + \ddot{x}_r \tag{18}
u=−z1−c2z2+∂x1∂α1x2−(φ2−∂x1∂α1φ1)Tθ^2+∂θ^1∂α1Γφ1z1+∂xr∂α1x˙r+x¨r(18)
此时(13)变为:
z
˙
2
=
−
z
1
−
c
2
z
2
+
(
φ
2
−
∂
α
1
∂
x
1
φ
1
)
T
(
θ
−
θ
^
2
)
(19)
\dot{z}_2 = -z_1 - c_2 z_2 + \left( \varphi_2 - \frac{\partial \alpha_1}{\partial x_1} \varphi_1 \right)^T (\theta - \hat{\theta}_2) \tag{19}
z˙2=−z1−c2z2+(φ2−∂x1∂α1φ1)T(θ−θ^2)(19)
定义新的 Lyapunov 函数:
V
2
=
V
1
+
1
2
z
2
2
+
1
2
θ
~
2
T
Γ
−
1
θ
~
2
(20)
V_2 = V_1 + \frac{1}{2} z_2^2 + \frac{1}{2} \tilde{\theta}_2^{T} \Gamma^{-1} \tilde{\theta}_2 \tag{20}
V2=V1+21z22+21θ~2TΓ−1θ~2(20)
求导:
V
˙
2
=
−
c
1
z
1
2
−
c
2
z
2
2
−
θ
~
2
T
Γ
−
1
θ
^
˙
2
+
θ
~
2
T
(
φ
2
−
∂
α
1
∂
x
1
φ
1
)
z
2
(21)
\dot{V}_2 = -c_1 z_1^2 - c_2 z_2^2 - \tilde{\theta}_2^{T} \Gamma^{-1} \dot{\hat{\theta}}_2 + \tilde{\theta}_2^{T} \left( \varphi_2 - \frac{\partial \alpha_1}{\partial x_1} \varphi_1 \right) z_2 \tag{21}
V˙2=−c1z12−c2z22−θ~2TΓ−1θ^˙2+θ~2T(φ2−∂x1∂α1φ1)z2(21)
令:
θ
^
˙
2
=
Γ
(
φ
2
−
∂
α
1
∂
x
1
φ
1
)
z
2
(22)
\dot{\hat{\theta}}_2 = \Gamma \left( \varphi_2 - \frac{\partial \alpha_1}{\partial x_1} \varphi_1 \right) z_2 \tag{22}
θ^˙2=Γ(φ2−∂x1∂α1φ1)z2(22)
最终得到:
V
˙
2
=
−
c
1
z
1
2
−
c
2
z
2
2
(23)
\dot{V}_2 = -c_1 z_1^2 - c_2 z_2^2 \tag{23}
V˙2=−c1z12−c2z22(23)
可保证系统全局渐近稳定。
1364

被折叠的 条评论
为什么被折叠?



