滑動模式觀測器:修订间差异

来自testwiki
跳转到导航 跳转到搜索
imported>Wolfch
无编辑摘要
 
(没有差异)

2024年10月9日 (三) 06:19的最新版本

滑動模式觀測器(Sliding mode observer)是應用滑動模式控制狀態觀測器,應用滑動模式控制的技術,使觀測器的狀態可以接近受控體的狀態。

滑動模式控制屬於非線性控制,滑動模式觀測器會有非線性高增益觀測器的特性,可以在有限時間內將觀測器的誤差收斂到零。此外,切換模式的觀測器類似卡尔曼滤波,可以允許一些程度的量測雜訊[1][2]

線性滑動模式觀測器

以下將线性时不变系统的倫伯傑觀測器( Luenberger observer),修改為滑動模式觀測器。在滑動模式觀測器中,若進入滑動模式,觀測器動態的階數會減一。在以下例子中,單一估測狀態的狀態誤差可以在有限時間內收斂到零。Drakunov最早提出[3],非線性系統可以建立滑動模式觀測器,讓所有估測狀態的估測誤差都在有限時間(而且是任意短的時間內)收斂到零。

考慮以下的LTI系統

{𝐱˙=A𝐱+B𝐮y=[100]𝐱=x1

其中狀態向量𝐱(x1,x2,,xn)n, 𝐮(u1,u2,,ur)r是輸入向量,輸出utput Template:Mvar是純量,等於𝐱狀態向量的第一個狀態。令

A[a11A12A21A22]

其中

  • a11是純量,對應第一個狀態x1對自己的影響
  • A21(n1)是-{zh-cn:行; zh-tw:列;}-向量,對應第一個狀態對其他狀態的影響
  • A22(n1)×(n1)是矩陣,對應其他各狀態彼此之間的影響
  • A121×(n1)是-{zh-cn:列; zh-tw:行;}-向量,對應其他狀態對第一個狀態的影響

目的是要設計高增益的狀態觀測器,可以在只有量測資訊y=x1的情形下,估測狀態向量。因此,令向量𝐱^=(x^1,x^2,,x^n)nTemplate:Mvar狀態的觀測值,觀測器的形式為

𝐱^˙=A𝐱^+B𝐮+Lv(x^1x1)

其中v:是估測狀態x^1和輸出y=x1之間誤差的非線性函數,Ln是估測器增益向量,其作用類似典型的線性狀態觀測器。同樣的,也令

L=[1L2]

其中L2(n1)是-{zh-cn:列; zh-tw:行;}-向量。另外,令𝐞=(e1,e2,,en)n是狀態估測誤差,也就是說𝐞=𝐱^𝐱。誤差的動態方程為

𝐞˙=𝐱^˙𝐱˙=A𝐱^+B𝐮+Lv(x^1x1)A𝐱B𝐮=A(𝐱^𝐱)+Lv(x^1x1)=A𝐞+Lv(e1)

其中e1=x^1x1是第一個狀態估測值的估測誤差。可以設計非線性控制律Template:Mvar控制滑動流形

0=x^1x1

使估測量x^1在有限時間內(也就是x^1=x1)追到實際狀態x1。因此,滑動控制切換函數為

σ(x^1,x^)e1=x^1x1.

為了要保持在滑動流形上,σ˙σ需永遠維持異號(σσ˙<0幾乎處處𝐱都要成立)。 不過

σ˙=e˙1=a11e1+A12𝐞2v(e1)=a11e1+A12𝐞2v(σ)

其中𝐞2(e2,e3,,en)(n1) 是所有無法量測狀態估測誤差的集合。為了要確保σσ˙<0,令

v(σ)=Msgn(σ)

其中

M>max{|a11e1+A12𝐞2|}.

也就是說,正的常數Template:Mvar需大於系統最可能估計誤差的純量。若Template:Mvar夠大,可以假設系統會達到e1=0(也就是x^1=x1)。因為在流形上e1是常數(零),也可以推得e˙1=0。因此不連續的控制律v(σ)可以用等效的連續控制律veq取代,其中

0=σ˙=a11e1=0+A12𝐞2veqv(σ)=A12𝐞2veq.

因此

veqscalar=A121×(n1) vector𝐞2(n1)×1 vector.

等效的控制律veq代表剩下的(n1)個狀態對輸出狀態x1軌跡的貢獻。-{zh-cn:行; zh-tw:列;}-向量A12類似以下誤差子系統的輸出向量

[e˙2e˙3e˙n]𝐞˙2=A2[e2e3en]𝐞2+L2v(e1)=A2𝐞2+L2veq=A2𝐞2+L2A12𝐞2=(A2+L2A12)𝐞2.

為了確保未量測狀態的估測誤差𝐞2可以收斂到零,需選擇(n1)×1向量L2使得(n1)×(n1)矩陣(A2+L2A12)赫維茲矩陣(其特征值實部均為負數)。假設系統有可觀察性,可將A12視為輸出矩陣(Template:Mvar),則𝐞2系統可以用和一般線性觀測器相同的方式來穩定。也就是說,veq的等效控制可以提供未觀測狀態的量測資訊,可以連續地將其估測值漸近的趨近實際值。平均來說,不連續的控制律v=Msgn(x^1x)強制量測信號的估測量在有限時間內達到零。而且,平均值為零的對稱量測雜訊(正态分布)只會影響控制律Template:Mvar的切換頻率,對等效滑動模式控制律veq的影響不大。因此,滑動模式觀測器有類似卡尔曼滤波的特性[2]

最終版本的觀測器為

𝐱^˙=A𝐱^+B𝐮+LMsgn(x^1x1)=A𝐱^+B𝐮+[1L2]Msgn(x^1x1)=A𝐱^+B𝐮+[ML2M]sgn(x^1x1)=A𝐱^+[B[ML2M]][𝐮sgn(x^1x1)]=Aobs𝐱^+Bobs𝐮obs

其中

  • AobsA,
  • Bobs[B[ML2M]],
  • uobs[𝐮sgn(x^1x1)].

用切換函數sgn(x^1x1)來輔助控制向量𝐮,滑動模式觀測器可以用LTI系統來表示。不連續信號sgn(x^1x1)視為是雙輸入LTI的一個控制「輸入」。

為了簡化說明,這個例子假設滑動模式估測器可以量測單一狀態(例如,輸出y=x1)。用類似的方式也可以用各狀態的加權平均(例如,輸出𝐲=C𝐱使用一般的矩陣Template:Mvar)來設計滑動模式估測器。此例子中,滑動模式就會是使估測輸出𝐲^追隨量測輸出𝐲,沒有誤差的流形(使σ(𝐱)𝐲^𝐲=𝟎的流形)。

非線性滑動模式觀測器

Drakunov曾經提過[3],可以針對非線性系統設計滑動模式觀測器。此觀測器可以用原始變數的估測值x^表示,型式如下

x^˙=[H(x^)x]1M(x^)sgn(V(t)H(x^))

其中:

  • sgn()向量將符號函數延伸到n維。也就是說
    sgn(z)=[sgn(z1)sgn(z2)sgn(zi)sgn(zn)]
    針對向量zn.
  • 向量H(x)的分量是輸出函數h(x)以及其各階李導數。其中
    H(x)[h1(x)h2(x)h3(x)hn(x)][h(x)Lfh(x)Lf2h(x)Lfn1h(x)]
    其中Lfihh沿著向量場f(也就是沿著非線性系統的x軌跡)的i李导数。在此特例中,系統沒有輸入,也沒有相對次數(relative degree)nH(x(t))是輸出y(t)=h(x(t))以及其n1次導數的集合。因為H(x)Jacobian線性化的倒數存在(讓觀測器可以有良好定義),H(x)的轉換保證是局部的微分同胚
  • 增益對角矩陣 M(x^) 會使下式成立
    M(x^)diag(m1(x^),m2(x^),,mn(x^))=[m1(x^)m2(x^)mi(x^)mn(x^)]
    其中,針對每一個i{1,2,,n},元素mi(x^)>0  而且夠大,以保證會碰到滑動模式。
  • 觀測器向量V(t)會滿足下式
    V(t)[v1(t)v2(t)v3(t)vi(t)vn(t)][y(t){m1(x^)sgn(v1(t)h1(x^(t)))}eq{m2(x^)sgn(v2(t)h2(x^(t)))}eq{mi1(x^)sgn(vi1(t)hi1(x^(t)))}eq{mn1(x^)sgn(vn1(t)hn1(x^(t)))}eq]
    其中的sgn()是正常對純量定義的符号函数,而{}eq是不連續函數在滑動模式下的「等效值運算子」。

概念可以說明如下:依照滑動模式的理論,為了要描述系統特性,只要開始進入滑動模式,函數sgn(vi(t)hi(x^(t)))就需要改為定效的值實務上,函數會高頻的切換,其慢速的成份會和等效值相等。應用適當的低通濾波器可以濾掉高頻成份,得到等效值,其中也會有較多有關估測系統狀態的資訊。以下的觀測器用了幾次上述的作法,在有限時間內會得到非線性系統的狀態。

修改後的估測器誤差以用轉換後的狀態e=H(x)H(x^)表示。

e˙=ddtH(x)ddtH(x^)=ddtH(x)M(x^)sgn(V(t)H(x^(t))),

而且

[e˙1e˙2e˙ie˙n1e˙n]=[h˙1(x)h˙2(x)h˙i(x)h˙n1(x)h˙n(x)]ddtH(x)M(x^)sgn(V(t)H(x^(t)))ddtH(x^)=[h2(x)h3(x)hi+1(x)hn(x)Lfnh(x)][m1sgn(v1(t)h1(x^(t)))m2sgn(v2(t)h2(x^(t)))misgn(vi(t)hi(x^(t)))mn1sgn(vn1(t)hn1(x^(t)))mnsgn(vn(t)hn(x^(t)))]=[h2(x)m1(x^)sgn(v1(t)v1(t)=y(t)=h1(x)h1(x^(t))e1)h3(x)m2(x^)sgn(v2(t)h2(x^(t)))hi+1(x)mi(x^)sgn(vi(t)hi(x^(t)))hn(x)mn1(x^)sgn(vn1(t)hn1(x^(t)))Lfnh(x)mn(x^)sgn(vn(t)hn(x^(t)))].

因此

  1. 只要m1(x^)|h2(x(t))|, 誤差動態的第一個-{zh-cn:行; zh-tw:列;}-e˙1=h2(x^)m1(x^)sgn(e1),會符合在有限時間進入e1=0滑動模式的充份條件。
  2. e1=0表面上,對應的v2(t)={m1(x^)sgn(e1)}eq等效控制會等於h2(x),因此v2(t)h2(x^)=h2(x)h2(x^)=e2。只要m2(x^)|h3(x(t))|,誤差動態的第二個-{zh-cn:行; zh-tw:列;}-e˙2=h3(x^)m2(x^)sgn(e2),會在有限時間內進入e2=0滑動模式。
  3. ei=0表面上,對應的vi+1(t)={}eq等效控會等於hi+1(x)。只要mi+1(x^)|hi+2(x(t))|,誤差動態的第(i+1)個-{zh-cn:行; zh-tw:列;}-e˙i+1=hi+2(x^)mi+1(x^)sgn(ei+1),會在有限時間內進入ei+1=0滑動模式。

對於足夠大的mi增益,所有的觀測器估測狀態都會在有限時間內到實際的狀態。只要|hi(x(0))|有確定的上下界,增加mi,可以在任意時間內讓估測狀態收斂。因此映射H:nn微分同胚(也就是其Jacobian 線性化可逆)可以保證,若估測輸出的收斂,就意味著估測狀態的收斂。因此此要求是可觀察性的條件。

若針對有輸入系統的滑動模型觀測器,會需要額外的條件,其估測誤差和輸入無關。例如

H(x)xB(x)

和時間無關。則觀測器為

x^˙=[H(x^)x]1M(x^)sgn(V(t)H(x^))+B(x^)u.

參考資料

Template:Reflist