非線性控制筆記(17)反饋線性化控制之Lie Derivative and Lie Bracket

本文主要參考伊朗Amirkabir University of Technology的女教授 Farzaneh Abdollahi

在Nonlinear Control課上的Lecture Notes。如有錯誤疏漏,煩請指出。如需轉載,請聯繫筆者,zhu.hathaway@gmail.com。


我們在

月枕雙歌:非線性控制筆記(15)反饋線性化控制之Input-State Linearizationzhuanlan.zhihu.com圖標

中留下了兩個未解答的疑問

1. 哪類的非線性系統可以Input-State Linearization?哪類的非線性系統不可以Input-State Linearization?

2. 怎麼找到相應地狀態量的變數替換?

為了回答這兩個疑問,我們需要引入Lie Derivative and Lie Bracket。

一、Lie Derivative

在介紹Lie Derivative 之前,先需要以下一些概念。

向量函數 f(x): R^n
ightarrow R^n(從 old xin R^n 映射到 f(x)in R^n的函數),叫做 R^n里的向量場(Vector field)。如果進一步,向量函數 f 具有連續偏導,而且是任意階的偏導,那麼我們說 f 是光滑向量場(Smooth Vector field)。

光滑標量函數 h(x): R^n
ightarrow R(從 old xin R^n 映射到 h(x)in R的函數) 的Gradient由一個行向量 
abla h=frac{partial h}{partial old x} 表示,其中 old xin R^n 。所以我們要記住,Gradient是標量對向量的求導,其結果是個行向量。光滑向量場 f(x)Jacobian由一個 n	imes n 的矩陣 
abla f=frac{partial f}{partial old x} ,其中矩陣的第一行就是 
abla f_1=frac{partial f_1}{partial old x} ,就是剛剛定義的光滑標量函數 f_1 (列向量 f 的第一個元素)的Gradient,而我們知道Gradient是行向量。以此類推Jacobian的第 i 行應該為 
abla f_i=frac{partial f_i}{partial old x} 。那麼基於以上幾個定義,我們就可以來定義Lie Derivative。

Lie Derivative 的定義:

光滑標量函數 h(x): R^n
ightarrow R 相對於光滑向量場 f(x): R^n
ightarrow R^nLie Derivative由一個標量函數 L_{old f}h=
abla hold f=frac{partial h}{partial old x}old f 表示,其中 frac{partial h}{partial old x} 就是標量函數 h(x)的Gradient,是個行向量。行向量 frac{partial h}{partial old x} 乘以向量場f(x)in R^n,其結果正好是個標量,所以 L_{old f}h=
abla hold f=frac{partial h}{partial old x}old f 是個標量。

如果 g(x): R^n
ightarrow R^n 是另一個向量場,由於剛剛計算的Lie Derivative—— L_{old f}h 是個標量,它又可以跟 g(x) 算出一個Lie Derivative,表示為 L_{old g}L_{old f}h=
abla (L_{old f}h)old g=frac{partial (L_{old f}h)}{partial old x}old g=frac{partial(frac{partial h}{partial old x}old f)}{partial old x}old g ,當然同樣地,算出來 L_{old g}L_{old f}h 的結果依然是個標量。以此類推,可以一直搞下去。

於是我們有標量函數 h(x): R^n
ightarrow R 的0階Lie Derivative為L_{old f}^0h=h,是它本身。標量函數 h(x): R^n
ightarrow R 的第 i 階Lie Derivative為 L_{old f}^ih=L_{old f}(L_{old f}^{i-1}h)=
abla (L_{old f}^{i-1}h)old f=frac{partial (L_{old f}^{i-1}h)}{partial old x}old f

總結一下:Lie Derivative與一般的Derivative的區別是,Lie Derivative是定義在兩個函數 hf 之間的,它倆都是向量 x 的函數,標量函數 hx 的Gradient乘以 f(x) ,他們通過共同的 x 聯繫起來的。一般的Derivative是某個函數x 定義的。

舉個栗子對於單輸出非線性系統: dot x =f(x)\ y=h(x)

我們有 dot y=frac{partial h}{partial x}dot x=frac{partial h}{partial x}f(x)=L_{old f}hddot y=frac{partial (L_{old f}h)}{partial x}dot x=frac{partial (L_{old f}h)}{partial x}f(x)=L_{old f}^2h

二、 Lie Bracket

Lie Derivative是一個標量函數 h(x): R^n
ightarrow R 與一個向量場函數 f(x): R^n
ightarrow R^n 的定義的一個標量函數。而Lie Bracket是一個向量場函數 f(x): R^n
ightarrow R^n 與另一個向量場函數 g(x): R^n
ightarrow R^n 而定義的一個向量場函數。

Lie Bracket的定義:

f(x): R^n
ightarrow R^ng(x): R^n
ightarrow R^nLie Bracket定義為 [f,g]=
abla gf-
abla fg=frac{partial g}{partial x}f-frac{partial f}{partial x}g	riangleqold{ad}_{f} g,我們知道由於 f(x)與g(x) 都是向量場函數,所以 frac{partial g}{partial x},frac{partial f}{partial x} 都是 n	imes n 的方陣。

所以總結一下,Lie Bracket與Lie Derivative的區別是,Lie Bracket [f,g]	riangleqold{ad}_f gin R^n ,不像Lie Derivative是標量,而是n維向量。Lie Bracket和Lie Derivative都同樣是定義在兩個函數之間的。

於是我們有 f(x)與g(x) 的0階Lie Bracket為 old{ad}_f^0 g=gf(x)與g(x) 的第 i 階Lie Bracket為 old{ad}_f^i g=[f, old{ad}_f^{i-1} g]=
abla (old{ad}_f^{i-1} g)f-
abla f(old{ad}_f^{i-1} g)=frac{partial (old{ad}_f^{i-1} g)}{partial x}f-frac{partial f}{partial x}(old{ad}_f^{i-1} g)

舉個栗子考慮非線性系統 dot x=f(x)+g(x)u ,其中 f=left( {egin{array}{*{20}{c}} -2x_1+ax_2+sin(x_1)\ -x_2cos(x_1)\ end{array}} 
ight) , g=left( {egin{array}{*{20}{c}} 0\ cos(2x_1)\ end{array}} 
ight) ,那麼f(x)與g(x)的Lie Bracket為: [f,g]=old{ad}_f g=
abla gf-
abla fg=frac{partial g}{partial x}f-frac{partial f}{partial x}g=left( {egin{array}{*{20}{c}} 0&0\-2sin(2x_1)&0\ end{array}} 
ight)left({egin{array}{*{20}{c}} -2x_1+ax_2+sin(x_1)\ -x_2cos(x_1)\ end{array}} 
ight)- left( {egin{array}{*{20}{c}} -2+cos(x_1)&a\x_2sin(x_1)&-cos(x_1)\ end{array}} 
ight)left({egin{array}{*{20}{c}} 0\ cos(2x_1)\ end{array}} 
ight) = left( {egin{array}{*{20}{c}} 0\ -2sin(2x_1)(-2x_1+ax_2+sin(x_1))\ end{array}} 
ight)-

left( {egin{array}{*{20}{c}} acos(2x_1)\ -cosx(x_1)cos(2x_1)\ end{array}} 
ight) = left({egin{array}{*{20}{c}} -acos(2x_1)\ cosx(x_1)cos(2x_1)-2sin(2x_1)(-2x_1+ax_2+sin(x_1))\ end{array}} 
ight)

三、 Lie Bracket的性質

  1. Bilinearity[alpha_1f_1+alpha_2f_2,g]=alpha_1[f_1,g]+alpha_2[f_2,g] , [f,alpha_1g_1+alpha_2g_2]=alpha_1[f,g_1]+alpha_2[f,g_2]
  2. Skew-Commutativity: [f,g]=-[g,f]
  3. Jacobi Identity: L_{old{ad}_f g}h=L_{old f}L_{old g}h-L_{old g}L_{old f}h ,因為 L_{old{ad}_f g}h=L_{
abla gf-
abla fg}h=L_{frac{partial g}{partial x}f-frac{partial f}{partial x}g}h=frac{partial h}{partial x}(frac{partial g}{partial x}f-frac{partial f}{partial x}g)=frac{partial(frac{partial h}{partial old x}old g)}{partial old x}old f-frac{partial(frac{partial h}{partial old x}old f)}{partial old x}old g=L_{old f}L_{old g}h-L_{old g}L_{old f}h

推薦閱讀:

TAG:自動控制 | 控制理論 | 非線性控制 |