反推控制(backstepping)也稱為反演控制或反步法,是一種控制理论的技術,在約1990年時由等人提出,針對特殊形式的非線性动力系统設計可以稳定系統的控制器。此一系統是由許多子系統一層一層組成,最內層的子系統不可再簡化,可以由其他方式穩定最內層的系統。由於此系統的递归結構,設計者可以以最內層可穩定的系統為啟始點,反推新的控制器來穩定較外層的子系統,此程序會一直進行到處理到最外層的外部控制命令為止。因此此方式稱為是「反推控制」*。
反推控制的設計方式
反推控制的設計方式可以針對的系統,提供一種递归方式使其在原點可以稳定。考慮以下型式的动力系统
:\begin{align}\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
其中
- \mathbf{x} \in \mathbb{R}^n,其中n \geq 1。
- z_1, z_2, \ldots, z_i, \ldots, z_{k-1}, z_k是純量。
- 是系統的純量輸入
- f_x, f_1, f_2, \ldots, f_i, \ldots, f_{k-1}, f_k在原點處數值為零(也就是說f_i(0,0,\dots,0) = 0)
- g_1, g_2, \ldots, g_i, \ldots, g_{k-1}, g_k是在關注區域內不為零(也就是g_i(\mathbf{x},z_1,\ldots,z_k) \neq 0,在1 \leq i \leq k的情形下)
另外假設系統
:\dot{\mathbf{x}} = f_x(\mathbf{x}) + g_x(\mathbf{x}) u_x(\mathbf{x})
在原點處有李雅普诺夫稳定性,可以用某種已知的控制方式u_x(\mathbf{x})使得u_x(\mathbf{0}) = 0。並且假設針對此穩定子系統,可以其李亞普諾夫函數 V_x。因此子系統可以由其他方式穩定,利用反推控制可以將其穩定性延展到在外圍的\textbf{z}。
在的穩定子系統外圍的嚴格回授型式系統
- 反推控制的控制輸入對狀態z_n有最直接的穩定性效果。
- 狀態z_n的作用是在狀態z_{n-1}之前的穩定性控制。
- 此程序會繼續,使每一個狀態z_i會都會被虛擬的控制信號z_{i+1}所穩定。
反推控制會確認用z_1要穩定子系統的方式,接著再由下一個狀態z_2來驅動狀態z_1,使其產生可以穩定的信號。因此此程序是從的嚴格回授型式反推往外,一直到設計到最終的控制信號。
递归控制设计概述
递归控制的作法如下
假設較小(低階)的子系統
#::\dot{\mathbf{x}} = f_x(\mathbf{x}) + g_x(\mathbf{x}) u_x(\mathbf{x})
#:已經可以用一些控制方式u_x(\mathbf{x})穩定,此控制方式會符合u_x(\mathbf{0}) = 0的條件。意思是說,穩定此系統的u_x,是用其他控制方式達成的。也假設已知此一穩定系統的李亞普諾夫函數 V_x。反推控制可以將這個子系統的穩定性拓展到較大的系統。
會設計控制信號u_1(\mathbf{x},z_1),使得系統
#::\dot{z}_1 = f_1(\mathbf{x},z_1) + g_1(\mathbf{x},z_1) u_1(\mathbf{x},z_1)
#:穩定,讓z_1依照想要的u_x控制方式進行。此控制器是依照擴充李亞普諾夫候選函數(augmented Lyapunov function candidate)來設計
#::V_1(\mathbf{x},z_1) = V_x(\mathbf{x}) + \frac{1}{2}( z_1 - u_x(\mathbf{x}) )^2
#:此控制信號u_1可以適當選擇,使\dot{V}_1可以遠離0
會設計控制信號u_2(\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) u_2(\mathbf{x},z_1,z_2)
#:穩定,讓z_2依照想要的u_1控制方式進行。此控制器是依照擴充李亞普諾夫候選函數來設計
#::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可以適當選擇,使\dot{V}_2可以遠離0
會反覆此一程序,一直到其實際已知為止,而且
#* 真實控制信號會使z_k接近虛擬控制信號u_{k-1}的控制得以穩定。
#* 虛擬控制信號u_{k-1}會使z_{k-1}接近虛擬控制信號u_{k-2}的控制得以穩定。
#* 虛擬控制信號u_{k-2}會使z_{k-2}接近虛擬控制信號u_{k-3}的控制得以穩定。
#* ...
#* 虛擬控制信號u_2會使z_2接近虛擬控制信號u_1的控制得以穩定。
#* 虛擬控制信號u_1會使z_1接近虛擬控制信號u_x的控制得以穩定。
#* 虛擬控制信號u_x會使穩定在原點。
此程序稱為反推(backstepping),因為是從內部穩定的子系統開始,漸漸反推到較外圍的系統,同時維持每一步的穩定性。因
- f_i在0 \leq i \leq k時為0
- g_i在1 \leq i \leq k不為0
- 給定控制信號u_x會滿足u_x(\mathbf{0}) = 0,
因此所得的系統在原點( \mathbf{x}=\mathbf{0}\,, z_1=0, z_2=0, ..., z_{k-1}=0及z_k=0)處穩定,是全域漸進穩定。
相關條目
- 非線性控制
*
- 鲁棒控制
- 自适应控制
參考資料
评论 (0)