查看“︁反推控制”︁的源代码
←
反推控制
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
'''反推控制'''(backstepping)也稱為'''反演控制'''或'''反步法''',是一種[[控制理论]]的技術,在約1990年時由{{link-en|Petar V. Kokotovic|Petar V. Kokotovic}}等人提出<ref name=Kokotovic1992>{{cite journal | last = Kokotovic | first = P.V. | year = 1992 | title = The joy of feedback: nonlinear and adaptive | journal = IEEE Control Systems Magazine | volume = 12 | issue = 3 | pages = 7–17 | doi = 10.1109/37.165507 }}</ref><ref name=LB92>{{cite journal | first1=R.|last1=Lozano| first2=B.|last2=Brogliato | year=1992 | title=Adaptive control of robot manipulators with flexible joints | journal= IEEE Transactions on Automatic Control | volume=37 | issue=2 | pages=174–181 | doi=10.1109/9.121619}}</ref>,針對特殊形式的[[非線性系統|非線性]][[动力系统]]設計[[李雅普诺夫稳定性|可以稳定系統]]的控制器。此一系統是由許多子系統一層一層組成,最內層的子系統不可再簡化,可以由其他方式穩定最內層的系統。由於此系統的[[递归]]結構,設計者可以以最內層可穩定的系統為啟始點,反推新的控制器來穩定較外層的子系統,此程序會一直進行到處理到最外層的外部控制命令為止。因此此方式稱為是「反推控制」<ref name="Khalil">{{cite book | last = Khalil | first = H.K. | year = 2002 | edition = 3rd | url = http://www.egr.msu.edu/~khalil/NonlinearSystems/ | isbn = 978-0-13-067389-3 | title = Nonlinear Systems | publisher = [[普林帝斯霍爾|Prentice Hall]] | location = Upper Saddle River, NJ | access-date = 2020-02-26 | archive-date = 2017-07-25 | archive-url = https://web.archive.org/web/20170725034944/http://www.egr.msu.edu/~khalil/NonlinearSystems/ | dead-url = no }}</ref>''。 == 反推控制的設計方式 == 反推控制的設計方式可以針對{{link-en|嚴格回授型式|strict-feedback form}}的系統,提供一種[[递归]]方式使其在[[原點]][[李雅普诺夫稳定性|可以稳定]]。考慮以下型式的[[动力系统]]<ref name="Khalil"/> :<math>\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 < 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{align}</math> 其中 * <math>\mathbf{x} \in \mathbb{R}^n</math>,其中<math>n \geq 1</math>。 * <math>z_1, z_2, \ldots, z_i, \ldots, z_{k-1}, z_k</math>是[[标量 (数学)|純量]]。 * {{mvar|u}}是系統的純量輸入 * <math>f_x, f_1, f_2, \ldots, f_i, \ldots, f_{k-1}, f_k</math>在[[原點]]處[[根 (数学)|數值為零]](也就是說<math>f_i(0,0,\dots,0) = 0</math>) * <math>g_1, g_2, \ldots, g_i, \ldots, g_{k-1}, g_k</math>是在關注區域內不為零(也就是<math>g_i(\mathbf{x},z_1,\ldots,z_k) \neq 0</math>,在<math>1 \leq i \leq k</math>的情形下) 另外假設系統 :<math>\dot{\mathbf{x}} = f_x(\mathbf{x}) + g_x(\mathbf{x}) u_x(\mathbf{x})</math> 在原點處有[[李雅普诺夫稳定性]],可以用某種已知的控制方式<math>u_x(\mathbf{x})</math>使得<math>u_x(\mathbf{0}) = 0</math>。並且假設針對此穩定子系統,可以其[[李亞普諾夫函數]] <math>V_x</math>。因此{{math|'''x'''}}子系統可以由其他方式穩定,利用反推控制可以將其穩定性延展到在外圍的<math>\textbf{z}</math>。 在{{math|'''x'''}}的穩定子系統外圍的嚴格回授型式系統 * 反推控制的控制輸入{{mvar|u}}對狀態<math>z_n</math>有最直接的穩定性效果。 * 狀態<math>z_n</math>的作用是在狀態<math>z_{n-1}</math>之前的穩定性控制。 * 此程序會繼續,使每一個狀態<math>z_i</math>會都會被虛擬的控制信號<math>z_{i+1}</math>所穩定。 反推控制會確認用<math>z_1</math>要穩定{{math|'''x'''}}子系統的方式,接著再由下一個狀態<math>z_2</math>來驅動狀態<math>z_1</math>,使其產生可以穩定{{math|'''x'''}}的信號。因此此程序是從{{math|'''x'''}}的嚴格回授型式反推往外,一直到設計到最終的控制信號{{mvar|u}}。 == 递归控制设计概述 == 递归控制的作法如下 # 假設較小(低階)的子系統 #::<math>\dot{\mathbf{x}} = f_x(\mathbf{x}) + g_x(\mathbf{x}) u_x(\mathbf{x})</math> #:已經可以用一些控制方式<math>u_x(\mathbf{x})</math>穩定,此控制方式會符合<math>u_x(\mathbf{0}) = 0</math>的條件。意思是說,穩定此系統的<math>u_x</math>,是用其他控制方式達成的。也假設已知此一穩定系統的[[李亞普諾夫函數]] <math>V_x</math>。反推控制可以將這個子系統的穩定性拓展到較大的系統。 # 會設計控制信號<math>u_1(\mathbf{x},z_1)</math>,使得系統 #::<math>\dot{z}_1 = f_1(\mathbf{x},z_1) + g_1(\mathbf{x},z_1) u_1(\mathbf{x},z_1)</math> #:穩定,讓<math>z_1</math>依照想要的<math>u_x</math>控制方式進行。此控制器是依照擴充李亞普諾夫候選函數(augmented Lyapunov function candidate)來設計 #::<math>V_1(\mathbf{x},z_1) = V_x(\mathbf{x}) + \frac{1}{2}( z_1 - u_x(\mathbf{x}) )^2</math> #:此控制信號<math>u_1</math>可以適當選擇,使<math>\dot{V}_1</math>可以遠離0 # 會設計控制信號<math>u_2(\mathbf{x},z_1,z_2)</math>,使得系統 #::<math>\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)</math> #:穩定,讓<math>z_2</math>依照想要的<math>u_1</math>控制方式進行。此控制器是依照擴充李亞普諾夫候選函數來設計 #::<math>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</math> #:此控制信號 <math>u_2</math>可以適當選擇,使<math>\dot{V}_2</math>可以遠離0 # 會反覆此一程序,一直到其實際{{mvar|u}}已知為止,而且 #* 真實控制信號{{mvar|u}}會使<math>z_k</math>接近虛擬控制信號<math>u_{k-1}</math>的控制得以穩定。 #* 虛擬控制信號<math>u_{k-1}</math>會使<math>z_{k-1}</math>接近虛擬控制信號<math>u_{k-2}</math>的控制得以穩定。 #* 虛擬控制信號<math>u_{k-2}</math>會使<math>z_{k-2}</math>接近虛擬控制信號<math>u_{k-3}</math>的控制得以穩定。 #* ... #* 虛擬控制信號<math>u_2</math>會使<math>z_2</math>接近虛擬控制信號<math>u_1</math>的控制得以穩定。 #* 虛擬控制信號<math>u_1</math>會使<math>z_1</math>接近虛擬控制信號<math>u_x</math>的控制得以穩定。 #* 虛擬控制信號<math>u_x</math>會使{{math|'''x'''}}穩定在原點。 此程序稱為反推(backstepping),因為是從內部穩定的子系統開始,漸漸反推到較外圍的系統,同時維持每一步的穩定性。因 * <math>f_i</math>在<math>0 \leq i \leq k</math>時為0 * <math>g_i</math>在<math>1 \leq i \leq k</math>不為0 * 給定控制信號<math>u_x</math>會滿足<math>u_x(\mathbf{0}) = 0</math>, 因此所得的系統在原點(<math> \mathbf{x}=\mathbf{0}\,</math>, <math>z_1=0</math>, <math>z_2=0</math>, ..., <math>z_{k-1}=0</math>及<math>z_k=0</math>)處穩定,是[[李亞普諾夫函數|全域漸進穩定]]。 ==相關條目== * [[非線性控制]] * {{le|嚴格回授型式|Strict-feedback form}} * [[鲁棒控制]] * [[自适应控制]] ==參考資料== {{Reflist}} [[Category:非線性控制]]
该页面使用的模板:
Template:Cite book
(
查看源代码
)
Template:Cite journal
(
查看源代码
)
Template:Le
(
查看源代码
)
Template:Link-en
(
查看源代码
)
Template:Math
(
查看源代码
)
Template:Mvar
(
查看源代码
)
Template:Reflist
(
查看源代码
)
返回
反推控制
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息