反推控制

反推控制（backstepping）也稱為反演控制或反步法，是一種控制理论的技術，在約1990年時由Petar V. Kokotovic（英语：Petar V. Kokotovic）等人提出，針對特殊形式的非線性动力系统設計可以稳定系統的控制器。此一系統是由許多子系統一層一層組成，最內層的子系統不可再簡化，可以由其他方式穩定最內層的系統。由於此系統的递归結構，設計者可以以最內層可穩定的系統為啟始點，反推新的控制器來穩定較外層的子系統，此程序會一直進行到處理到最外層的外部控制命令為止。因此此方式稱為是「反推控制」。 反推控制的設計方式可以針對嚴格回授型式（英语：strict-feedback form）的系統，提供一種递归方式使其在原點可以稳定。考慮以下型式的动力系统 { x ˙ = f x ( x ) + g x ( x ) z 1 z ˙ 1 = f 1 ( x , z 1 ) + g 1 ( x , z 1 ) z 2 z ˙ 2 = f 2 ( x , z 1 , z 2 ) + g 2 ( x , z 1 , z 2 ) z 3 ⋮ z ˙ i = f i ( x , z 1 , z 2 , … , z i − 1 , z i ) + g i ( x , z 1 , z 2 , … , z i − 1 , z i ) z i + 1  for  1 ≤ i < k − 1 ⋮ z ˙ k − 1 = f k − 1 ( x , z 1 , z 2 , … , z k − 1 ) + g k − 1 ( x , z 1 , z 2 , … , z k − 1 ) z k z ˙ k = f k ( x , z 1 , z 2 , … , z k − 1 , z k ) + g k ( x , z 1 , z 2 , … , z k − 1 , z k ) u {\displaystyle {\begin{aligned}{\begin{cases}{\dot {\mathbf {x} }}&=f_{x}(\mathbf {x} )+g_{x}(\mathbf {x} )z_{1}\\{\dot {z}}_{1}&=f_{1}(\mathbf {x} ,z_{1})+g_{1}(\mathbf {x} ,z_{1})z_{2}\\{\dot {z}}_{2}&=f_{2}(\mathbf {x} ,z_{1},z_{2})+g_{2}(\mathbf {x} ,z_{1},z_{2})z_{3}\\\vdots \\{\dot {z}}_{i}&=f_{i}(\mathbf {x} ,z_{1},z_{2},\ldots ,z_{i-1},z_{i})+g_{i}(\mathbf {x} ,z_{1},z_{2},\ldots ,z_{i-1},z_{i})z_{i+1}\quad {\text{ for }}1\leq i<k-1\\\vdots \\{\dot {z}}_{k-1}&=f_{k-1}(\mathbf {x} ,z_{1},z_{2},\ldots ,z_{k-1})+g_{k-1}(\mathbf {x} ,z_{1},z_{2},\ldots ,z_{k-1})z_{k}\\{\dot {z}}_{k}&=f_{k}(\mathbf {x} ,z_{1},z_{2},\ldots ,z_{k-1},z_{k})+g_{k}(\mathbf {x} ,z_{1},z_{2},\dots ,z_{k-1},z_{k})u\end{cases}}\end{aligned}}} 其中 x ∈ R n {\displaystyle \mathbf {x} \in \mathbb {R} ^{n}} ，其中 n ≥ 1 {\displaystyle n\geq 1} 。 z 1 , z 2 , … , z i , … , z k − 1 , z k {\displaystyle z_{1},z_{2},\ldots ,z_{i},\ldots ,z_{k-1},z_{k}} 是純量。 u是系統的純量輸入 f x , f 1 , f 2 , … , f i , … , f k − 1 , f k {\displaystyle f_{x},f_{1},f_{2},\ldots ,f_{i},\ldots ,f_{k-1},f_{k}} 在原點處數值為零（也就是說 f i ( 0 , 0 , … , 0 ) = 0 {\displaystyle f_{i}(0,0,\dots ,0)=0} ） g 1 , g 2 , … , g i , … , g k − 1 , g k {\displaystyle g_{1},g_{2},\ldots ,g_{i},\ldots ,g_{k-1},g_{k}} 是在關注區域內不為零（也就是 g i ( x , z 1 , … , z k ) ≠ 0 {\displaystyle g_{i}(\mathbf {x} ,z_{1},\ldots ,z_{k})\neq 0} ，在 1 ≤ i ≤ k {\displaystyle 1\leq i\leq k} 的情形下） 另外假設系統 x ˙ = f x ( x ) + g x ( x ) u x ( x ) {\displaystyle {\dot {\mathbf {x} }}=f_{x}(\mathbf {x} )+g_{x}(\mathbf {x} )u_{x}(\mathbf {x} )} 在原點處有李雅普诺夫稳定性，可以用某種已知的控制方式 u x ( x ) {\displaystyle u_{x}(\mathbf {x} )} 使得 u x ( 0 ) = 0 {\displaystyle u_{x}(\mathbf {0} )=0} 。並且假設針對此穩定子系統，可以其李亞普諾夫函數 V x {\displaystyle V_{x}} 。因此x子系統可以由其他方式穩定，利用反推控制可以將其穩定性延展到在外圍的 z {\displaystyle {\textbf {z}}} 。 在x的穩定子系統外圍的嚴格回授型式系統 反推控制的控制輸入u對狀態 z n {\displaystyle z_{n}} 有最直接的穩定性效果。 狀態 z n {\displaystyle z_{n}} 的作用是在狀態 z n − 1 {\displaystyle z_{n-1}} 之前的穩定性控制。 此程序會繼續，使每一個狀態 z i {\displaystyle z_{i}} 會都會被虛擬的控制信號 z i + 1 {\displaystyle z_{i+1}} 所穩定。 反推控制會確認用 z 1 {\displaystyle z_{1}} 要穩定x子系統的方式，接著再由下一個狀態 z 2 {\displaystyle z_{2}} 來驅動狀態 z 1 {\displaystyle z_{1}} ，使其產生可以穩定x的信號。因此此程序是從x的嚴格回授型式反推往外，一直到設計到最終的控制信號u。 递归控制的作法如下 假設較小（低階）的子系統 x ˙ = f x ( x ) + g x ( x ) u x ( x ) {\displaystyle {\dot {\mathbf {x} }}=f_{x}(\mathbf {x} )+g_{x}(\mathbf {x} )u_{x}(\mathbf {x} )} 已經可以用一些控制方式 u x ( x ) {\displaystyle u_{x}(\mathbf {x} )} 穩定，此控制方式會符合 u x ( 0 ) = 0 {\displaystyle u_{x}(\mathbf {0} )=0} 的條件。意思是說，穩定此系統的 u x {\displaystyle u_{x}} ，是用其他控制方式達成的。也假設已知此一穩定系統的李亞普諾夫函數 V x {\displaystyle V_{x}} 。反推控制可以將這個子系統的穩定性拓展到較大的系統。 會設計控制信號 u 1 ( x , z 1 ) {\displaystyle u_{1}(\mathbf {x} ,z_{1})} ，使得系統 z ˙ 1 = f 1 ( x , z 1 ) + g 1 ( x , z 1 ) u 1 ( x , z 1 ) {\displaystyle {\dot {z}}_{1}=f_{1}(\mathbf {x} ,z_{1})+g_{1}(\mathbf {x} ,z_{1})u_{1}(\mathbf {x} ,z_{1})} 穩定，讓 z 1 {\displaystyle z_{1}} 依照想要的 u x {\displaystyle u_{x}} 控制方式進行。此控制器是依照擴充李亞普諾夫候選函數（augmented Lyapunov function candidate）來設計 V 1 ( x , z 1 ) = V x ( x ) + 1 2 ( z 1 − u x ( x ) ) 2 {\displaystyle V_{1}(\mathbf {x} ,z_{1})=V_{x}(\mathbf {x} )+{\frac {1}{2}}(z_{1}-u_{x}(\mathbf {x} ))^{2}} 此控制信號 u 1 {\displaystyle u_{1}} 可以適當選擇，使 V ˙ 1 {\displaystyle {\dot {V}}_{1}} 可以遠離0 會設計控制信號 u 2 ( x , z 1 , z 2 ) {\displaystyle u_{2}(\mathbf {x} ,z_{1},z_{2})} ，使得系統 z ˙ 2 = f 2 ( x , z 1 , z 2 ) + g 2 ( x , z 1 , z 2 ) u 2 ( x , z 1 , z 2 ) {\displaystyle {\dot {z}}_{2}=f_{2}(\mathbf {x} ,z_{1},z_{2})+g_{2}(\mathbf {x} ,z_{1},z_{2})u_{2}(\mathbf {x} ,z_{1},z_{2})} 穩定，讓 z 2 {\displaystyle z_{2}} 依照想要的 u 1 {\displaystyle u_{1}} 控制方式進行。此控制器是依照擴充李亞普諾夫候選函數來設計 V 2 ( x , z 1 , z 2 ) = V 1 ( x , z 1 ) + 1 2 ( z 2 − u 1 ( x , z 1 ) ) 2 {\displaystyle V_{2}(\mathbf {x} ,z_{1},z_{2})=V_{1}(\mathbf {x} ,z_{1})+{\frac {1}{2}}(z_{2}-u_{1}(\mathbf {x} ,z_{1}))^{2}} 此控制信號 u 2 {\displaystyle u_{2}} 可以適當選擇，使 V ˙ 2 {\displaystyle {\dot {V}}_{2}} 可以遠離0 會反覆此一程序，一直到其實際u已知為止，而且 真實控制信號u會使 z k {\displaystyle z_{k}} 接近虛擬控制信號 u k − 1 {\displaystyle u_{k-1}} 的控制得以穩定。 虛擬控制信號 u k − 1 {\displaystyle u_{k-1}} 會使 z k − 1 {\displaystyle z_{k-1}} 接近虛擬控制信號 u k − 2 {\displaystyle u_{k-2}} 的控制得以穩定。 虛擬控制信號 u k − 2 {\displaystyle u_{k-2}} 會使 z k − 2 {\displaystyle z_{k-2}} 接近虛擬控制信號 u k − 3 {\displaystyle u_{k-3}} 的控制得以穩定。 ... 虛擬控制信號 u 2 {\displaystyle u_{2}} 會使 z 2 {\displaystyle z_{2}} 接近虛擬控制信號 u 1 {\displaystyle u_{1}} 的控制得以穩定。 虛擬控制信號 u 1 {\displaystyle u_{1}} 會使 z 1 {\displaystyle z_{1}} 接近虛擬控制信號 u x {\displaystyle u_{x}} 的控制得以穩定。 虛擬控制信號 u x {\displaystyle u_{x}} 會使x穩定在原點。 此程序稱為反推（backstepping），因為是從內部穩定的子系統開始，漸漸反推到較外圍的系統，同時維持每一步的穩定性。因 f i {\displaystyle f_{i}} 在 0 ≤ i ≤ k {\displaystyle 0\leq i\leq k} 時為0 g i {\displaystyle g_{i}} 在 1 ≤ i ≤ k {\displaystyle 1\leq i\leq k} 不為0 給定控制信號 u x {\displaystyle u_{x}} 會滿足 u x ( 0 ) = 0 {\displaystyle u_{x}(\mathbf {0} )=0} , 因此所得的系統在原點（ x = 0 {\displaystyle \mathbf {x} =\mathbf {0} \,} , z 1 = 0 {\displaystyle z_{1}=0} , z 2 = 0 {\displaystyle z_{2}=0} , ..., z k − 1 = 0 {\displaystyle z_{k-1}=0} 及 z k = 0 {\displaystyle z_{k}=0} ）處穩定，是全域漸進穩定。 非線性控制 嚴格回授型式（英语：Strict-feedback form） 鲁棒控制 自适应控制 Kokotovic, P.V. The joy of feedback: nonlinear and adaptive. IEEE Control Systems Magazine. 1992, 12 (3): 7–17. doi:10.1109/37.165507.  Lozano, R.; Brogliato, B. Adaptive control of robot manipulators with flexible joints. IEEE Transactions on Automatic Control. 1992, 37 (2): 174–181. doi:10.1109/9.121619.  Khalil, H.K. Nonlinear Systems 3rd. Upper Saddle River, NJ: Prentice Hall. 2002 [2020-02-26]. ISBN 978-0-13-067389-3. （原始内容存档于2017-07-25）.