回顾上节
对于系统
x ( n ) = f ( x , t ) + b ( x , t ) u x^{(n)}=f(\boldsymbol{x},t)+b(\boldsymbol{x},t)u
x ( n ) = f ( x , t ) + b ( x , t ) u
函数f f f (通常是非线性的)不是精确已知,但f f f 不精确性范围的上界是一个已知连续函数。(∣ f ^ ( x , t ) − f ( x , t ) ∣ ⩽ F ( x , t ) \left | \hat{f}(\boldsymbol{x},t)-f(\boldsymbol{x},t) \right |\leqslant F(\boldsymbol{x},t) f ^ ( x , t ) − f ( x , t ) ⩽ F ( x , t ) ,其中f ^ ( x , t ) \hat{f}(\boldsymbol{x},t) f ^ ( x , t ) ,F ( x , t ) F(\boldsymbol{x},t) F ( x , t ) 已知)
跟踪误差x ~ = x − x d \tilde{\boldsymbol{x}}=\boldsymbol{x}-\boldsymbol{x}_d x ~ = x − x d
选取中间变量s s s ,要求
{ s ˙ 包含 u s → 0 ⇒ x ( t ) → 0 \begin{cases}\dot{s}\text{包含}u\\
s \rightarrow 0 \Rightarrow \boldsymbol{x}(t)\rightarrow 0\\
\end{cases}
{ s ˙ 包含 u s → 0 ⇒ x ( t ) → 0
u = u ^ − k s g n ( s ) u=\hat{u}-k~sgn(s) u = u ^ − k s g n ( s ) ,k = F + η k=F+\eta k = F + η replace by u = u ^ − ( k − Φ ˙ ) s a t ( s Φ ) u=\hat{u}-(k-\dot{\Phi})~sat(\frac{s}{\Phi}) u = u ^ − ( k − Φ ˙ ) s a t ( Φ s ) boundary layer interpolation
8. 自适应控制
Adaptive Control:how to exploit the fact that part of the uncertainty of f(x ,t) can be described simply as unknown constants ?
Basically can we make the system work as if the unknown constants we’ve known?
e.g. 摆(pendulum)
动力学方程
J x ¨ + b x ˙ ∣ x ˙ ∣ + m g l s i n x = u J\ddot{x}+b\dot{x}\left | \dot{x} \right |+mglsinx=u
J x ¨ + b x ˙ ∣ x ˙ ∣ + m g l s in x = u
其中 令a 1 = J , a 2 = b , a 3 = m g l a_1=J,a_2=b,a_3= mgl a 1 = J , a 2 = b , a 3 = m g l 。则a 1 , a 2 , a 3 a_1,a_2,a_3 a 1 , a 2 , a 3 均为未知数
选择中间变量s = x ~ ˙ + λ x ~ = x ˙ − x ˙ r s=\dot{\tilde{x}}+\lambda \tilde{x}=\dot{x}-\dot{x}_r s = x ~ ˙ + λ x ~ = x ˙ − x ˙ r ,其中x ˙ r = x ˙ d − λ x ~ , x ¨ r = x ¨ d − λ x ~ ˙ \dot{x}_r= \dot{x}_d-\lambda \tilde{x},\ddot{x}_r= \ddot{x}_d-\lambda \dot{\tilde{x}} x ˙ r = x ˙ d − λ x ~ , x ¨ r = x ¨ d − λ x ~ ˙
选取李雅普诺夫函数
V = 1 2 J s 2 (8.1) V=\frac{1}{2}Js^2 \tag{8.1}
V = 2 1 J s 2 ( 8.1 )
计算其微分V ˙ = J s ˙ ⋅ s \dot{V}=J\dot{s}\cdot s V ˙ = J s ˙ ⋅ s
下面计算J s ˙ J\dot{s} J s ˙
J s ˙ = J ( x ¨ − x ¨ r ) = u − J x ¨ r − b x ˙ ∣ x ˙ ∣ − m g l s i n x = u − y a \begin{align*}
J\dot{s}&=J(\ddot{x}-\ddot{x}_r)\\
&=u-J\ddot{x}_r-b\dot{x}\left | \dot{x} \right |-mglsinx\\
&=u-\boldsymbol{y}\boldsymbol{a}
\end{align*}
J s ˙ = J ( x ¨ − x ¨ r ) = u − J x ¨ r − b x ˙ ∣ x ˙ ∣ − m g l s in x = u − y a
其中y = [ x ¨ r x ˙ ∣ x ˙ ∣ s i n x ] \boldsymbol{y}=[\ddot{x}_r ~~\dot{x}\left |\dot{x} \right |~~sinx ] y = [ x ¨ r x ˙ ∣ x ˙ ∣ s in x ] 为已知向量,a = [ J b m g l ] T \boldsymbol{a}=[J~~b~~mgl]^T a = [ J b m g l ] T 未知向量
故
V ˙ = J s ˙ ⋅ s = s ( u − y a ) (8.2) \dot{V}=J\dot{s}\cdot s=s(u-\boldsymbol{y}\boldsymbol{a}) \tag{8.2}
V ˙ = J s ˙ ⋅ s = s ( u − y a ) ( 8.2 )
假设存在一时刻向量a \boldsymbol{a} a 已知,取u = y a − k s u=\boldsymbol{y}\boldsymbol{a}-ks u = y a − k s ,则
V ˙ = − k s 2 \dot{V}=-ks^2
V ˙ = − k s 2
其中k是正常数
根据Barbalat引理
V ˙ → 0 ⇒ s → 0 ⇒ x ~ → 0 , x ~ ˙ → 0 \dot{V} \rightarrow 0 \Rightarrow s \rightarrow 0 \Rightarrow \tilde{x} \rightarrow0,\dot{ \tilde{x}} \rightarrow 0
V ˙ → 0 ⇒ s → 0 ⇒ x ~ → 0 , x ~ ˙ → 0
下面考虑向量a \boldsymbol{a} a 未知
选择控制律 (control law)
u = y a ^ − k s (8.3) u=\boldsymbol{y}\hat{\boldsymbol{a}}-ks \tag{8.3}
u = y a ^ − k s ( 8.3 )
其中a ~ = a ^ − a \tilde{a}=\hat{a}-a a ~ = a ^ − a ,此时V ˙ = − k s 2 + s y a ~ \dot{V}=-ks^2+s\boldsymbol{y}\tilde{\boldsymbol{a}} V ˙ = − k s 2 + s y a ~
为了将后项s y a ~ s\boldsymbol{y}\tilde{\boldsymbol{a}} s y a ~ 去掉,保证V ˙ \dot{V} V ˙ 半负定,在李雅普诺夫函数中加项
V = 1 2 J s 2 + 1 2 a ~ T P − 1 a ~ (8.4) V=\frac{1}{2}Js^2+\frac{1}{2}\boldsymbol{\tilde{a}}^T\boldsymbol{P}^{-1}\boldsymbol{\tilde{a}} \tag{8.4}
V = 2 1 J s 2 + 2 1 a ~ T P − 1 a ~ ( 8.4 )
其中P \boldsymbol{P} P 是恒定对称正定矩阵
d d t ( 1 2 a ~ T P − 1 a ~ ) = 1 2 a ~ ˙ T P − 1 a ~ + 1 2 a ~ T P − 1 a ~ ˙ = a ~ ˙ T P − 1 a ~ = a ^ ˙ T P − 1 a ~ ⇒ V ˙ = − k s 2 + s y a ~ + a ^ ˙ T P − 1 a ~ ⏟ = 0 \begin{align*}
&\frac{\mathrm{d} }{\mathrm{d} t}(\frac{1}{2}\boldsymbol{\tilde{a}}^T\boldsymbol{P}^{-1}\boldsymbol{\tilde{a}})\\
=&\frac{1}{2}\boldsymbol{\dot{\tilde{a}}}^T\boldsymbol{P}^{-1}\boldsymbol{\tilde{a}}+\frac{1}{2}\boldsymbol{\tilde{a}}^T\boldsymbol{P}^{-1}\boldsymbol{\dot{\tilde{a}}}\\
=&\boldsymbol{\dot{\tilde{a}}}^T\boldsymbol{P}^{-1}\boldsymbol{\tilde{a}}=\boldsymbol{\dot{\hat{a}}}^T\boldsymbol{P}^{-1}\boldsymbol{\tilde{a}}\\
\Rightarrow \dot{V}=&-ks^2+\underbrace{s\boldsymbol{y}\tilde{\boldsymbol{a}}+\boldsymbol{\dot{\hat{a}}}^T\boldsymbol{P}^{-1}\boldsymbol{\tilde{a}}}_{=0}
\end{align*}
= = ⇒ V ˙ = d t d ( 2 1 a ~ T P − 1 a ~ ) 2 1 a ~ ˙ T P − 1 a ~ + 2 1 a ~ T P − 1 a ~ ˙ a ~ ˙ T P − 1 a ~ = a ^ ˙ T P − 1 a ~ − k s 2 + = 0 s y a ~ + a ^ ˙ T P − 1 a ~
所以
s y a ~ + a ^ ˙ T P − 1 a ~ = ( s y + a ^ ˙ T P − 1 ) a ~ = 0 s\boldsymbol{y}\tilde{\boldsymbol{a}}+\boldsymbol{\dot{\hat{a}}}^T\boldsymbol{P}^{-1}\boldsymbol{\tilde{a}}
= (s\boldsymbol{y}+\boldsymbol{\dot{\hat{a}}}^T\boldsymbol{P}^{-1})\boldsymbol{\tilde{a}}=0
s y a ~ + a ^ ˙ T P − 1 a ~ = ( s y + a ^ ˙ T P − 1 ) a ~ = 0
故adaptation law
a ^ ˙ = − P y T s (8.5) \boldsymbol{\dot{\hat{a}}}= -\boldsymbol{P}\boldsymbol{y}^Ts \tag{8.5}
a ^ ˙ = − P y T s ( 8.5 )
所以可将control law进一步写成
u = − k s − y ∫ P y T s d t u=-ks-\boldsymbol{y}\int \boldsymbol{P}\boldsymbol{y}^Ts ~dt
u = − k s − y ∫ P y T s d t
小结
c o n t r o l l a w : u = y a ^ − k s a d a t a t i o n l a w : a ^ ˙ = − P y T s \begin{align*}
control ~~law:u=\boldsymbol{y}\hat{\boldsymbol{a}}-ks\\
adatation~~law:\boldsymbol{\dot{\hat{a}}}= -\boldsymbol{P}\boldsymbol{y}^Ts\\
\end{align*}
co n t ro l l a w : u = y a ^ − k s a d a t a t i o n l a w : a ^ ˙ = − P y T s
延深
a ^ \hat{\boldsymbol{a}} a ^ 是否收敛到a a a ?
Adaptation is on a need-to-know basis(sufficient richness)
我们知道s → 0 s \rightarrow0 s → 0 ,可以验证s ˙ → 0 \dot{s} \rightarrow0 s ˙ → 0 (s ¨ b o u n d e d \ddot{s} ~bounded s ¨ b o u n d e d )
{ J s ˙ = u − y a u = y a ^ − k s ⇒ J s ˙ + k s = y a ~ \begin{cases}J\dot{s}=u-\boldsymbol{y}\boldsymbol{a} \\
u=\boldsymbol{y}\boldsymbol{\hat{a}}-ks\\
\end{cases}
\Rightarrow J\dot{s}+ks=\boldsymbol{y}\boldsymbol{\tilde{a}}
{ J s ˙ = u − y a u = y a ^ − k s ⇒ J s ˙ + k s = y a ~
故y a ~ → 0 \boldsymbol{y}\boldsymbol{\tilde{a}} \rightarrow 0 y a ~ → 0 且 y d a ~ → 0 \boldsymbol{y}_d\boldsymbol{\tilde{a}} \rightarrow 0 y d a ~ → 0
∥ y d a ~ ∥ 2 = 0 ⇔ a ~ T y d T y d a ~ = 0 \left \| \boldsymbol{y}_d\boldsymbol{\tilde{a}} \right \|^2=0 \Leftrightarrow \boldsymbol{\tilde{a}} ^T \boldsymbol{y}_d^T \boldsymbol{y}_d \boldsymbol{\tilde{a}}=0
∥ y d a ~ ∥ 2 = 0 ⇔ a ~ T y d T y d a ~ = 0
其中y d T y d \boldsymbol{y}_d^T \boldsymbol{y}_d y d T y d 正半定矩阵(rank = 1),不是正定矩阵。故方程解不唯一,a ~ \boldsymbol{\tilde{a}} a ~ 不一定为0,即a ^ \hat{\boldsymbol{a}} a ^ 不一定收敛到a a a 。
但a ^ → a \hat{\boldsymbol{a}} \rightarrow \boldsymbol{a} a ^ → a 当
∃ t 0 ⩾ 0 , ∃ T > 0 , ∃ α > 0 , ∀ t ⩾ t 0 , 1 T ∫ t t + T y d T y d ⩾ α I \exists t_0 \geqslant 0,\exists T >0 ,\exists \alpha >0 ,\forall t\geqslant t_0,\frac{1}{T}\int_{t}^{t+T} \boldsymbol{y}_d^T \boldsymbol{y}_d \geqslant \alpha I
∃ t 0 ⩾ 0 , ∃ T > 0 , ∃ α > 0 , ∀ t ⩾ t 0 , T 1 ∫ t t + T y d T y d ⩾ α I
即在一个时间段平均值内y d T y d \boldsymbol{y}_d^T \boldsymbol{y}_d y d T y d 满秩。例:
1 3 ( [ 1 0 0 0 0 0 0 0 0 ] + [ 0 0 0 0 1 0 0 0 0 ] + [ 0 0 0 0 0 0 0 0 1 ] ) = 1 3 I ( r a n k = 3 ) \frac{1}{3}(\begin{bmatrix}
1 &0 &0 \\
0& 0& 0\\
0& 0 & 0
\end{bmatrix}
+
\begin{bmatrix}
0 &0 &0 \\
0& 1& 0\\
0& 0 & 0
\end{bmatrix}
+
\begin{bmatrix}
0 &0 &0 \\
0& 0& 0\\
0& 0 & 1
\end{bmatrix})
=\frac{1}{3}I(rank =3)
3 1 ( 1 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 + 0 0 0 0 0 0 0 0 1 ) = 3 1 I ( r ank = 3 )
参考
【1】Applied Nonlinear Control,Slotine and Li,Prentice-Hall 1991:Sections 8
【2】https://www.bilibili.com/video/BV1Tk4y167kR?p=8&vd_source=b1a52fdb6c7481b4e8c78d03e9a9acb0