查看“滑動模式控制”的源代码
←
滑動模式控制
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
<!---先不管Sliding mode observer了--> '''滑動模式控制'''(sliding mode)簡稱'''SMC''',是一種[[非線性控制]]的技術,利用[[不連續]]的控制信號來調整[[非線性系統]]的特性,強迫系統在二個系統的正常狀態之間滑動,最後進入穩態。其[[状态空间|狀態]]-[[反饋]]控制律不是時間的[[連續函數 (拓撲學)|連續函數]]。相反的,控制律會依目前在狀態空間中的位置不同,可能從一個連續的控制系統切換到另一個連續的控制系統。因此滑動模型控制屬於[[變結構控制]]。已針對滑動模型控制設計了許多的控制結構,目的是讓相空間圖中的軌跡可以前往和另一個控制結構之間相鄰的區域,因此最終的軌跡不會完全脫離某個控制結構。相反的,軌跡會在控制結構的邊界上「滑動」。這種沿著控制結構之間邊界滑動的行為稱為「滑動模式」<ref name="Zinober1990">{{Cite book | editor-last = Zinober | editor-first = A.S.I. | title = Deterministic control of uncertain systems | publisher = Peter Peregrinus Press | place = London | year = 1990 | isbn = 978-0-86341-170-0 }}</ref>而包括邊界在內的幾何轨迹稱為滑動曲面(sliding surface)。在現代控制理論的範圍中,任何[[變結構系統]](例如滑動模式控制)都可以視為是[[併合系統]]的特例,因為系統有些時候會在連續的狀態空間中移動,也時也會在幾個離散的控制模式中切換。 ==簡介== [[File:First order sliding mode control.svg|thumb|圖1:利用滑動模式控制器控制之系統的{{le|相平面|Phase plane}}軌跡。在一開始的接觸階段後,系統沿著<math>s=0</math>的曲線滑行,<math>s=0</math>曲面是特別設計過的,系統在曲面上會有較理想的降階動態特性。此例中,<math>s=x_1 +\dot{x}_1 = 0</math>對應一階的[[線性非時變系統理論|線性時不變系統]]<math>\dot{x}_1 = -x_1</math>,在原點處為[[指數穩定]]。]] 滑動模式控制中存在滑動曲面<math>s=0</math>,一開始時,系統會在有限時間內到達滑動曲面,之後就會沿著滑動曲面移動。在滑動模式的理論敘述中,系統會約束在滑動曲面上,因此只需將系統視為在滑動曲面上滑動。不過實際系統的實現是用高頻切換來讓系統近似在滑動曲面上滑動,高頻切換的控制信號讓系統在很鄰近滑動曲面的範圍內切跳(chatter),而且其頻率是不固定的。雖然整體系統是非線性的,不過圖1中,當系統到達滑動曲面後,理想(沒有切跳)系統會限制在<math>s=0</math>的滑動曲面上,滑動曲面是線性時不變系統,在原點處[[指數穩定]]。 直觀來說,滑動模式控制會配合很大的[[增益]](理想上可視為是無限大),強迫動態系統的軌跡無法離開滑動模式子空間太遠,必須沿著此子空間滑動。在降階滑動模式上的軌跡會有理想的動態特性(例如,系統會自然沿著此軌跡滑行,最後會停在理想的[[駐點]]。滑動模式控制的主要優點是其[[魯棒控制|強健性]]。因為控制很簡單,是在二個狀態之間(例如開/關或是正轉/反轉)切換,控制法則不需要精確,而且不會受到控制系統中參數的變異所影響。而且因為控制律不是[[連續函數 (拓撲學)|連續函數]],滑動模式控制可以在有限時間內到達滑動曲面(比漸進到達的特性要好)在一些常見的條件下,[[最优控制]]需要用到[[起停式控制]],而滑動模式控制中也有用到[[起停式控制]]的特性,有些滑動模式控制也是某些控制系統下的最優控制。 有些交換式電源供應器驅動的電機就是利用滑動模式控制<ref name="Utkin93">{{Cite journal|doi=10.1109/41.184818|last=Utkin|first= Vadim I. |year=1993|title=Sliding Mode Control Design Principles and Applications to Electric Drives|journal=IEEE Transactions on Industrial Electronics|volume=40|issue=1|pages=23–36|publisher=IEEE}}</ref>{{rp|"Introduction"}}。這類轉換器本身就有不連續的特性,和不連續輸出的滑動模式控制器在本質上是一致的。使用連續性的控制器,還需要透過[[脈衝寬度調變]]或是其他類似的技術<ref group="nb">其他脈衝調變的技術像是[[ΔΣ調變]]</ref>來將連續性的輸出轉換為可用離散狀態表示的輸出。滑動模式控制在[[機器人學]]有許多的應用。此控制演算法特別已用在[[無人水面載具]]模擬在有大風大浪海面下的運作,其成功率相當高<ref>[https://www.youtube.com/watch?v=hD1hxwupECs "Autonomous Navigation and Obstacle Avoidance of Unmanned Vessels in Simulated Rough Sea States - Villanova University"]</ref><ref name="Mahini2013">{{Cite journal|last=Mahini|year=2013|title=An experimental setup for autonomous operation of surface vessels in rough seas|journal=Robotica|volume=31|issue=5|pages=703–715|doi=10.1017/s0263574712000720|display-authors=etal}}</ref>。 相較於其他有較多適度控制行為的[[非線性控制]],滑動模式控制因為其不連續的輸出,在應用上需要更謹慎的應用。特別是因為致動器本身的延遲以及其他實務上的限制,硬切換的滑動模式控制會產生顫動、能量損失、設備損壞,或是激發一些系統中的未建模動態<ref name="Khalil02"/>{{rp|554–556}}。連續性的控制器設計比較不會有上述的問題,而且也可以設計一些接近滑動模式控制器的特性<ref name="Khalil02"/>{{rp|556–563}}。 ==控制架構== 考慮以下的[[非線性系統]] {| border="0" width="75%" |- | align="left" | :<math> \dot{\mathbf{x}}(t)=f(\mathbf{x},t) + B(\mathbf{x},t)\,\mathbf{u}(t) </math> | align="right" | <math>(1)\,</math> |} 其中 :<math>\mathbf{x}(t) \triangleq \begin{bmatrix}x_1(t)\\x_2(t)\\\vdots\\x_{n-1}(t)\\x_n(t)\end{bmatrix} \in \mathbb{R}^n</math> 是<math>n</math>維的[[状态空间|状态]][[列向量|向量]]以及 :<math>\mathbf{u}(t) \triangleq \begin{bmatrix}u_1(t)\\u_2(t)\\\vdots\\u_{m-1}(t)\\u_m(t)\end{bmatrix} \in \mathbb{R}^m</math> 為表示狀態[[反馈]]的<math>m</math>維的輸入向量。[[函数]]<math>f: \mathbb{R}^n \times \mathbb{R} \mapsto \mathbb{R}^n</math>和<math>B: \mathbb{R}^n \times \mathbb{R} \mapsto \mathbb{R}^{n \times m}</math>假設是[[連續函數 (拓撲學)|連續函數]],而且有相當程度的[[光滑函数|光滑性]],因此可以用[[柯西-利普希茨定理]]確保方程 (1)的解<math>\mathbf{x}(t)</math>[[存在]]及[[唯一量化|唯一]]。 常見的作法是設計一個狀態回授的[[控制系統|控制律]]<math>\mathbf{u}(\mathbf{x}(t))</math>(也就是可以將時間<math>t</math>時的狀態<math>\mathbf{x}(t)</math>,映射到輸入<math>\mathbf{u}</math>的映射),這個控制律要可以[[李雅普诺夫稳定性|穩定]]方程式(1)的[[动力系统]]在[[原點]]<math>\mathbf{x} = [0, 0, \ldots, 0]^{\text{T}}</math>附近的行為。也就是說,在此控制律下,只要系統從原點開始往任意方向前進,最後都會回到原點。例如,狀態向量<math>\mathbf{x}</math>中的分量<math>x_1</math>表示輸出和已知訊號(例如某個希望出現的弦波)之間的差,若控制<math>\mathbf{u}</math>可以讓<math>x_1</math>快速的回到<math>x_1 = 0</math>,也代表輸出會追隨理想的弦波信號。在滑動模式控制中,只要系統是限制在其組態空間的子空間內,設計者可以確定系統有理想的行為(有穩定的[[驻点|平衡點]])。滑動模式控制會強迫系統軌跡進入子空間,並且讓軌跡維持在子空間內,因此可以在子空間內滑動。這個降階的子空間稱為「滑動(超)曲面」,若透過閉迴路回授,使得軌跡在滑動曲面上滑動,則稱為閉回路系統的「滑動模式」。沿著這個子空間的軌跡可以類比沿著[[线性时不变系统理论|LTI系統]]特徵向量的軌跡,不過滑動模式是透過此向量場上加上高增益回授來實現。就像彈珠會沿著裂縫滾動一樣,系統的軌跡也會限制在滑動模式上。 滑動模式的控制架構包括以下幾項: #選擇[[超曲面]]或是流形(滑動曲面)讓系統軌跡限制在此流形上時,可以有理想的特性。 #選擇回授增益,讓系統軌跡可以和流形相交,而且之後可以維持在流形上。 因為滑動模式控制是不連續的,控制器可以在有限時間內將軌跡帶到滑動模式上(若偏離滑動平面時,回到滑動平面上的穩定性會比漸近穩定要好)。不過,只要軌跡接觸到滑動平面後,系統的特性會依照滑動模式的特性(也就是滑動平面上,在原點<math>\mathbf{x}=\mathbf{0}</math>附近只有漸近穩定性)。 在設計滑動模式時,會選擇一個切換函數<math>\sigma: \mathbb{R}^n \mapsto\mathbb{R}^m</math>,表示狀態 <matmathbf{x}</math>遠離滑動曲面的程度。 *在滑動平面外的狀態<math>\mathbf{x}</math>會有<math>\sigma(\mathbf{x}) \neq 0</math>。 *在滑動平面上的狀態<math>\mathbf{x}</math>會有<math>\sigma(\mathbf{x}) = 0</math>。 滑動模式控制律會依照上述距離的正負號在二種不同的狀態之間進行切換。因此滑動模式控制就類似一個硬的壓力,將系統軌跡移到<math>\sigma(\mathbf{x}) = 0</math>的滑動模式上。理想的<math>\mathbf{x}(t)</math>會接觸到滑動平面,而且因為控制律不連續(當軌跡越過滑動曲面時,控制律會由一個狀態切換到另一個狀態),軌跡會在有限時間內到達滑動平面。只要軌跡踫到平面之後,會沿著滑動平面滑動,而且會往原點<math>\mathbf{x} = \mathbf{0}</math>移動。因此切換函數類似[[地形图]],有恒定高度的轮廓,而軌跡會限制在恒定高度的轮廓上移動。 滑動(超)曲面的維度是<math>n \times m</math>,其中<math>n</math>是狀態<math>\mathbf{x}</math>的個數,而<math>m</math>是輸入信號(也就是控制信號)<math>\mathbf{u}</math>的個數。針對每個<math>1 \leq k \leq m</math>,有<math>n \times 1</math>的滑動曲面,方程式為 {| border="0" width="75%" |- | align="left" | :<math> \left\{ \mathbf{x} \in \mathbb{R}^n : \sigma_k(\mathbf{x}) = 0 \right\} </math> | align="right" | <math>(2)\,</math> |} 滑動模式控制主要關鍵是選擇控制律,使得滑動模式(也就是<math>\sigma(\mathbf{x})=\mathbf{0}</math>曲面)存在,而且其他的系統軌跡可以進入滑動模式。滑動模式控制的原則是透過適當的控制策略,強迫性的限制系統在滑動曲面上,讓系統可以有理想的特性。當系統受滑動控制所限制,維持在滑動曲面上時,系統的動態特性可以用方程式(2)所得的降階系統所描述。 為了強迫系統狀態<math>\mathbf{x}</math>滿足<math>\sigma(\mathbf{x}) = \mathbf{0}</math>,需要: # 確認系統可以從任意的初始條件到達<math>\sigma(\mathbf{x}) = \mathbf{0}</math>。 # 在到達<math>\sigma(\mathbf{x})=\mathbf{0}</math>後,可以透過控制行為讓系統維持在<math>\sigma(\mathbf{x})=\mathbf{0}</math>上 ===閉迴路解的存在=== 此控制律不是[[連續函數]],也不會是[[利普希茨連續]],因此無法用[[柯西-利普希茨定理]]確保閉迴路解的存在及唯一性。這個解需要用{{le|Aleksei Fedorovich Filippov|Aleksei Fedorovich Filippov|Filippov}}的架構來理解。<ref name="Zinober1990"/><ref name="Filippov88">{{Cite book | last = Filippov | first = A.F. | title = Differential Equations with Discontinuous Right-hand Sides | publisher = Kluwer | year = 1988 | isbn = 978-90-277-2699-5}}</ref>。 大致上,沿著<math>\sigma(\mathbf{x}) = \mathbf{0}</math>的閉迴路系統可以用會平滑的動態<math>\dot{\sigma}(\mathbf{x}) = \mathbf{0};</math> 來近似,不過實際上不一定有這樣平滑的特性。高速的[[脈波振幅調變]]或[[ΔΣ調變]]產生的輸出是兩個狀態組成而成,但其有效的輸出會在連續的運動範圍內擺動。若是使用其他具有連續特性的[[非線性控制]]設計可以避免這類的問題。有些情形下,滑動模式控制的設計可以用其他連續控制器來近似。<ref name="Khalil02"/> ==理論基礎== 以下定理是滑動模式控制的基礎。 ===定理1:滑動模式的存在=== 考慮以下的[[李亞普諾夫函數|李亞普諾夫候選函數]] {| border="0" width="75%" |- | align="left" | :<math> V(\sigma(\mathbf{x}))=\frac{1}{2}\sigma^{\text{T}}(\mathbf{x})\sigma(\mathbf{x})=\frac{1}{2}\|\sigma(\mathbf{x})\|_2^2 </math> | align="right" | <math>(3)\,</math> |} 其中 :<math>\|\mathord{\cdot}\|</math>為[[范数#欧几里德范数|欧几里德范数]](也就是說,<math>\|\sigma(\mathbf{x})\|_2</math>是距離滑動流形<math>\sigma(\mathbf{x})=\mathbf{0}</math>的距離)。 針對由方程式(1)及方程式(1)的滑動曲面組成的系統,滑動模式存在的充份條件是 :<math> \underbrace{ \overbrace{\sigma^{\text{T}}}^{\tfrac{\partial V}{\partial \sigma}} \overbrace{\dot{\sigma}}^{\tfrac{\operatorname{d} \sigma}{\operatorname{d} t}} }_{\tfrac{\operatorname{d}V}{\operatorname{d}t}} < 0 \qquad \text{(i.e., } \tfrac{\operatorname{d}V}{\operatorname{d}t} < 0 \text{)} </math> 在<math>\sigma(\mathbf{x})=0</math>曲面的邻域都成立。 簡單來說(例如針對<math>m=1</math>的[[純量]]控制應用),為了要使<math>\sigma^{\text{T}} \dot{\sigma} < 0</math>,需選擇回授控制律<math> u(\mathbf{x}) </math>使<math>\sigma</math>和<math>\dot{\sigma}</math>有相反的符號,因此 * 當<math>\sigma(\mathbf{x})</math>為正時,<math>u(\mathbf{x})</math>會使<math>\dot{\sigma}(\mathbf{x})</math>為負。 * 當<math>\sigma(\mathbf{x})</math>為負時,<math>u(\mathbf{x})</math>會使<math>\dot{\sigma}(\mathbf{x})</math>為正。 注意 :<math>\dot{\sigma} = \frac{\partial \sigma}{\partial \mathbf{x}} \overbrace{\dot{\mathbf{x}}}^{\tfrac{\operatorname{d} \mathbf{x}}{\operatorname{d} t}} = \frac{\partial \sigma}{\partial \mathbf{x}} \overbrace{\left( f(\mathbf{x},t) + B(\mathbf{x},t) \mathbf{u} \right)}^{\dot{\mathbf{x}}}</math> 因此回授控制律<math>\mathbf{u}(\mathbf{x})</math>會直接影響<math>\dot{\sigma}</math>。 ====可達性:可以在有限時間內到達滑動流形==== 為了要確保可以在有限時間內進入滑動模式<math>\sigma(\mathbf{x})=\mathbf{0}</math>,<math>\operatorname{d}V/{\operatorname{d}t}</math>需要比零小很多。若此數值很快的就歸零,就只能以漸近收斂的方式進入到滑動模式。若要在有限時間內進入滑動模式<ref>{{Cite book|title=Sliding Mode Control in Engineering|last1=Perruquetti|first1=W.|last2=Barbot|first2=J.P.|publisher=Marcel Dekker Hardcover|year=2002|isbn=0-8247-0671-4}}</ref> :<math>\frac{\operatorname{d}V}{\operatorname{d}t} \leq -\mu (\sqrt{V})^{\alpha}</math> 其中<math>\mu > 0</math>,<math>0 < \alpha \leq 1</math>均為常數。 ; 比較引理的說明 引理的條件確認在滑動模式<math>V \in [0,1]</math>的鄰域,下式成立 :<math>\frac{\operatorname{d}V}{\operatorname{d}t} \leq -\mu (\sqrt{V})^{\alpha} \leq -\mu \sqrt{V}.</math> 因此,針對<math>V \in (0,1]</math>,下式成立 :<math>\frac{ 1 }{ \sqrt{V} } \frac{\operatorname{d}V}{\operatorname{d}t} \leq -\mu,</math> 根據[[链式法则]](也就是<math>\operatorname{d}W/{\operatorname{d}t}</math>,而<math>W \triangleq 2 \sqrt{V}</math>),下式也會成立 :<math>\mathord{\underbrace{D^+ \Bigl( \mathord{\underbrace{2 \mathord{\overbrace{\sqrt{V}}^{ {} \propto \|\sigma\|_2}}}_{W}} \Bigr)}_{D^+ W \, \triangleq \, \mathord{\text{Upper right-hand } \dot{W}}}} = \frac{ 1 }{ \sqrt{V} } \frac{\operatorname{d}V}{\operatorname{d}t} \leq -\mu</math> 其中 :<math>D^+</math>為<math>2 \sqrt{V}</math>的{{le|狄尼導數|Dini derivative|狄尼上導數}} :<math>\propto</math>代表[[比例]]。 因此將上式和曲線<math>z(t) = z_0 - \mu t</math>比較(初始條件 <math>z(0)=z_0</math>微分方程<math>\dot{z} = -\mu</math>的對應曲線)。可得<math>2 \sqrt{V(t)} \leq V_0 - \mu t</math>在所有<math>t</math>下成立。而且,因為<math>\sqrt{V} \geq 0</math>,<math>\sqrt{V}</math>必需在有限時間達到<math>\sqrt{V}=0</math>,表示<math>V</math>必需在有限時間達到<math>V=0</math>(也就是進入滑動模式)<ref name="Khalil02">{{Cite book | last = Khalil | first = H.K. | authorlink = Hassan K. Khalil | year = 2002 | edition = 3rd | url = http://www.egr.msu.edu/~khalil/NonlinearSystems/ | isbn = 0-13-067389-7 | title = Nonlinear Systems | publisher = Prentice Hall | location = Upper Saddle River, NJ}}</ref>。因為<math>\sqrt{V}</math>和切換函數<math>\sigma</math>的欧几里德范数<math>\|\mathord{\cdot}\|_2</math>成正比,因此接近滑動模式的速率比定大於零。 ===定理2:吸引區域=== 針對方程式 (1)的系統,以及方程式 (2)的滑動曲面,<math>\{ \mathbf{x} \in \mathbb{R}^n : \sigma(\mathbf{x})=\mathbf{0} \}</math>表面的子空間有可達性的條件是 :<math>\{ \mathbf{x} \in \mathbb{R}^n : \sigma^{\text{T}}(\mathbf{x})\dot{\sigma}(\mathbf{x}) < 0 \}</math> 也就是說,當初始條件完全由這個空間出發時,李亞普諾夫候選函數<math>V(\sigma)</math>為[[李亞普諾夫函數]],而且<math>\mathbf{x}</math>軌跡確定會往滑動模式表面<math>\sigma( \mathbf{x} ) = \mathbf{0}</math>前進。而且,若定理1的可達性條件滿足,滑動模式會完全進入<math>\dot{V}</math>在有限時間遠離0的區域。因此會在有限時間內進入滑動模式<math>\sigma = 0</math>。 ===定理3:滑動運動=== 令 :<math> \frac{\partial \sigma}{\partial{\mathbf{x}}} B(\mathbf{x},t) </math> 為[[非奇异方阵|非奇异]]的,也就是說,系統有某種[[可控制性]]使得永遠存在一種控制方式可以讓軌跡更靠近滑動模式。只要達到了滑動模式<math> \sigma(\mathbf{x}) = \mathbf{0} </math>,系統會維持在滑動模式上。沿著滑動模式軌跡,<math>\sigma(\mathbf{x})</math>為定值,因此滑動模式軌跡可以用以下的微分方程來描述 :<math>\dot{\sigma} = \mathbf{0}</math>. 若相對微分方程在<math>\mathbf{x}</math>-[[驻点|平衡]]是[[李雅普诺夫稳定性|稳定]]的,則系統會沿著滑動模式表面往平衡點移動。 滑動模式下的「等效控制律」可以透過求解下式求得 :<math> \dot\sigma(\mathbf{x})=0 </math> 等效控制律為<math>\mathbf{u}(\mathbf{x})</math>,也就是說 :<math> \frac{\partial \sigma}{\partial \mathbf{x}} \overbrace{\left( f(\mathbf{x},t) + B(\mathbf{x},t) \mathbf{u} \right)}^{\dot{\mathbf{x}}} = \mathbf{0}</math> 因此等效控制 :<math>\mathbf{u} = -\left( \frac{\partial \sigma}{\partial \mathbf{x}} B(\mathbf{x},t) \right)^{-1} \frac{\partial \sigma}{\partial \mathbf{x}} f(\mathbf{x},t)</math> 也就是說,就算實際的控制<math>\mathbf{u}</math>不[[連續函數 (拓撲學)|連續]],在滑動模式 <math>\sigma(\mathbf{x})=\mathbf{0}</math>兩側的快速切換會強迫系統的行為類似在連續模式下驅動的行為。 類似的,在滑動模式上的系統軌跡類似 :<math>\dot{\mathbf{x}} = \overbrace{f(\mathbf{x},t) - B(\mathbf{x},t) \left( \frac{\partial \sigma}{\partial \mathbf{x}} B(\mathbf{x},t) \right)^{-1} \frac{\partial \sigma}{\partial \mathbf{x}} f(\mathbf{x},t)}^{f(\mathbf{x},t) + B(\mathbf{x},t) u} = f(\mathbf{x},t)\left( \mathbf{I} - B(\mathbf{x},t) \left( \frac{\partial \sigma}{\partial \mathbf{x}} B(\mathbf{x},t) \right)^{-1} \frac{\partial \sigma}{\partial \mathbf{x}} \right)</math> 所得的系統符合滑動模式的微分方程 :<math>\dot{\sigma}(\mathbf{x}) = \mathbf{0}</math> 只要滑動模式表面<math>\sigma(\mathbf{x})=\mathbf{0}</math>為[[李雅普诺夫稳定性]],從到達相位的軌跡條件可以簡化為上述較簡單的條件。因此系統在找到滑動模式後,會經過一些初始的暫態,之後就可以假定為符合較簡單的<math>\dot{\sigma} = 0</math>條件。若等式<math> \sigma(\mathbf{x}) = \mathbf{0} </math>只是近似成立,系統的動態仍可以近似為上述的特性。 依照上述定理,滑動運動對於由進入系統時足夠小的擾動是不敏感的,只要控制項大到足以滿足<math>\sigma^{\text{T}} \dot{\sigma} < 0</math> ,而且<math>\dot{\sigma}</math>均勻有界的遠離0,滑動模式的運作就如同系統沒有擾動時一樣。滑動模式控制對特定擾動及模型不確定性的不敏感是很具吸引力的特點,滿足[[鲁棒控制]]。 如同以上提到的,滑動模式控制律會維持以下的限制 :<math> \dot{x} + x = 0 </math> 目的是為了讓以下型態的任意系統可以漸近的穩定 :<math> \ddot{x}=a(t,x,\dot{x}) + u</math> 其中<math>a(\cdot)</math>為有限的上界,此例中,滑動模式為 :<math>\dot{x} = -x</math> (也就是說,<math>\dot{x}+x=0</math>)。若系統限制在此條件下,會類似一個[[有界輸入有界輸出穩定性|穩定]]的[[線性系統]],因此在<math>(x,\dot{x})=(0,0)</math>)位置是全域指數穩定的平衡點。 ==控制設計的例子== * 考慮一個由方程(1)描述的[[受控體]],有單一輸入<math>u</math>(也就是說,<math>m = 1</math>)。其切換函數選擇為以下的線性組合 {| border="0" width="75%" |- | align="left" | ::<math> \sigma(\mathbf{x}) \triangleq s_1 x_1 + s_2 x_2 + \cdots + s_{n-1} x_{n-1} + s_n x_n </math> | align="right" | <math>(4)\,</math> |} :其中的加權<math>s_i > 0</math>,對所有的<math>1 \leq i \leq n</math>都成立。滑動曲面是[[单纯形]]<math>\sigma(\mathbf{x})=0</math>。若軌跡強迫在曲面上滑行, ::<math>\dot{\sigma}(\mathbf{x}) = 0</math> :因此 ::<math>s_1 \dot{x}_1 + s_2 \dot{x}_2 + \cdots + s_{n-1} \dot{x}_{n-1} + s_n \dot{x}_n = 0</math> :這是降階系統(新系統的階數為<math>n-1</math>,因為會限制在<math>(n-1)</math>-維的滑動模式单纯形上)。這個表面有理想的性質(當受控體被強制在滑動曲面上滑動,會趨向原點<math>\mathbf{x}=\mathbf{0}</math>)。取方程(3)中[[李亞普諾夫函數]]的導數,可得 ::<math> \dot{V}(\sigma(\mathbf{x})) = \overbrace{\sigma(\mathbf{x})^{\text{T}}}^{\tfrac{\partial \sigma}{\partial \mathbf{x}}} \overbrace{\dot{\sigma}(\mathbf{x})}^{\tfrac{\operatorname{d} \sigma}{\operatorname{d} t}}</math> :為了要確保<math>\dot{V}</math>是[[正定函數|負定函數]](也就是<math>\dot{V} < 0</math>,在<math>\mathbf{\sigma}=0</math>表面上有[[李雅普诺夫稳定性]]),需選擇回授控制律<math>u(\mathbf{x})</math>使下式成立 ::<math>\begin{cases} \dot{\sigma} < 0 &\text{if } \sigma > 0\\ \dot{\sigma} > 0 &\text{if } \sigma < 0 \end{cases}</math> :因此<math>\sigma \dot{\sigma} < 0</math>因為是一個正數及負數的累積。注意到 {| border="0" width="75%" |- | align="left" | ::<math>\dot{\sigma}(\mathbf{x}) = \overbrace{\frac{\partial{\sigma(\mathbf{x})}}{\partial{\mathbf{x}}} \dot{\mathbf{x}}}^{\dot{\sigma}(\mathbf{x})} = \frac{\partial{\sigma(\mathbf{x})}}{\partial{\mathbf{x}}} \overbrace{\left( f(\mathbf{x},t) + B(\mathbf{x},t) u \right)}^{\dot{\mathbf{x}}} = \overbrace{[s_1, s_2, \ldots, s_n]}^{\frac{\partial{\sigma(\mathbf{x})}}{\partial{\mathbf{x}}}} \underbrace{\overbrace{\left( f(\mathbf{x},t) + B(\mathbf{x},t) u \right)}^{\dot{\mathbf{x}}}}_{\text{( i.e., an } n \times 1 \text{ vector )}}</math> | align="right" | <math>(5)\,</math> |} :控制律<math>u(\mathbf{x})</math>可以選擇使下式成立 ::<math>u(\mathbf{x}) = \begin{cases} u^+(\mathbf{x}) &\text{if } \sigma(\mathbf{x}) > 0 \\ u^-(\mathbf{x}) &\text{if } \sigma(\mathbf{x}) < 0 \end{cases}</math> :其中 :* <math>u^+(\mathbf{x})</math>是某種極端的控制(正轉或是打開),使得方程(5)<math>\dot{\sigma}</math>在<math>\mathbf{x}</math>為負值。 :* <math>u^-(\mathbf{x})</math>是另一種極端的控制(反轉或是關閉),使得方程(5)<math>\dot{\sigma}</math>在<math>\mathbf{x}</math>為正值。 :所得的軌跡會往滑動曲面<math>\sigma(\mathbf{x})=0</math>前進。因為實際系統會有時間延遲,滑動模式的軌跡不會是平滑的沿著滑動曲面滑動,而會在滑動曲面兩側反覆的切跳(chatter),不過若離開滑動曲面,會很快又回到滑動曲面。 * 考慮[[動態系統]] ::<math>\ddot{x}=a(t,x,\dot{x})+u</math> :可以用二維的[[状态空间]](其中with <math>x_1 = x</math>,<math>x_2 = \dot{x}</math>)表示: ::<math> \begin{cases} \dot{x}_1 = x_2\\ \dot{x}_2 = a(t,x_1,x_2) + u \end{cases}</math> :也假設<math>\sup\{ |a(\cdot)| \} \leq k</math>(也就是說<math>|a|</math>有一個已知有限的上限<math>k</math>),對於此系統,選擇切換函數 ::<math>\sigma(x_1,x_2)= x_1 + x_2 = x + \dot{x}</math> :在之前的例子中,必須選擇回授控制律<math>u(x,\dot{x})</math>使得<math>\sigma \dot{\sigma} < 0</math>,在此處 ::<math>\dot{\sigma} = \dot{x}_1 + \dot{x}_2 = \dot{x} + \ddot{x} = \dot{x}\,+\,\overbrace{a(t,x,\dot{x})+ u}^{\ddot{x}}</math> :* 當<math>x + \dot{x} < 0</math>(也就是<math>\sigma < 0</math>),要讓<math>\dot{\sigma} > 0</math>,需選擇控制律使<math>u > |\dot{x} + a(t,x,\dot{x})|</math>成立 :* 當<math>x + \dot{x} > 0</math>(也就是<math>\sigma > 0</math>),要讓<math>\dot{\sigma} < 0</math>,需選擇控制律使<math>u < -|\dot{x} + a(t,x,\dot{x})|</math>成立 :不過,因為[[三角不等式]], ::<math>|\dot{x}| + |a(t,x,\dot{x})| \geq |\dot{x} + a(t,x,\dot{x})|</math> :依照<math>|a|</math>的假設, ::<math>|\dot{x}| + k + 1 > |\dot{x}| + |a(t,x,\dot{x})|</math> :因此系統可以利用以下的控制律進行回授穩定(回到滑動模式) ::<math>u(x,\dot{x}) = \begin{cases} |\dot{x}| + k + 1 &\text{if } \underbrace{x + \dot{x}} < 0,\\ -\left(|\dot{x}| + k + 1\right) &\text{if } \overbrace{x + \dot{x}}^{\sigma} > 0 \end{cases}</math> :可以表示為以下的[[解析解]] ::<math>u(x,\dot{x}) = -(|\dot{x}|+k+1) \underbrace{\operatorname{sgn}(\overbrace{\dot{x}+x}^{\sigma})}_{\text{(i.e., tests } \sigma > 0 \text{)}}</math> :假設系統軌跡會受限制,因此<math>\sigma(\mathbf{x})=0</math>,則 ::<math>\dot{x} = -x \qquad \text{(i.e., } \sigma(x,\dot{x}) = x + \dot{x} = 0 \text{)}</math> :因此只要系統進入滑動模式,系統的二維動態特性會像一維的系統,而且在<math>(x,\dot{x})=(0,0)</math>會有一個全域指數穩定的[[驻点]]。 ===自動化設計的解=== 在設計滑動模式的控制系統時,雖然有許多不同的理論,不過沒有一個高效率的設計方法論,原因因為解析方法及數值方法實務上的困難。像是[[基因演算法]]之類可復用的方式,可以用來將{{le|最佳設計|Optimal design}}中不可解的問題,轉換成實務上可解的非確定性多項式問題。這有助於滑動模式控制的電腦自動化設計<ref name="GA_SMC96"> {{cite journal |last1=Li |first1=Yun|title=Genetic algorithm automated approach to the design of sliding mode control systems |journal=International Journal of Control |year=1996 |volume=64 |issue=3 |pages=721–739 |doi=10.1080/00207179608921865 |url=https://www.researchgate.net/publication/230602763_Genetic_algorithm_automated_approach_to_the_design_of_sliding_mode_control_systems/file/72e7e522667e30a16b.pdf?ev=pub_int_doc_dl&origin=publication_detail&inViewer=true |display-authors=etal}}</ref>。 ==相關條目== *[[變結構控制]] *[[變結構系統]] *[[併合系統]] *[[非線性控制]] *[[鲁棒控制]] *[[最优控制]] *[[起停式控制]] –滑動模式控制常會以起停式控制來實現。 *[[H桥]] – 將四個開關組合成類似H的四支腳的架構,在只有單方向電源的情形下,可用來驅動電機(或是其他設備)正轉或反轉。一般用在滑動模式控制的致動器中。 *{{le|切換式放大器|Switching amplifier}} –利用滑動模式控制來驅動連續的輸出 *[[ΔΣ調變]] –一種回授方式,將一個連續信號編碼為在二個狀態之間快速切換的訊號(一種特殊的滑動模式控制)。 *[[脈衝密度調變]] – 一種特殊的滑動模式控制 *[[脈衝寬度調變]] – 一種特殊的滑動模式控制,將連續信號轉換為不連續的切換 *[[積分滑動模式控制]] ==註解== {{Reflist|group=nb}} ==參考資料== {{reflist}} [[Category:控制理论]] [[Category:非線性控制]]
本页使用的模板:
Template:Cite book
(
查看源代码
)
Template:Cite journal
(
查看源代码
)
Template:Le
(
查看源代码
)
Template:Reflist
(
查看源代码
)
Template:Rp
(
查看源代码
)
返回
滑動模式控制
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息