賈繼輝,曹榮敏+,侯忠生,周惠興
(1.北京信息科技大學 自動化學院,北京 100192;2.青島大學 自動化學院,山東 青島 266071;3.北京金鐸科技發展有限公司 技術部,北京 100000)
由于二維直線電機控制[1]性能受兩軸間耦合作用、非線性不確定性等影響,建立精確數學模型或者采用基于模型的控制方案來實現有效控制變得極為困難[1,2],因此,研究數據驅動控制技術以及自適應解耦控制策略具有十分重要的意義。
無模型自適應控制(model-free adaptive control,MFAC)不依賴于被控對象數學模型,僅需系統的I/O數據便可以設計控制器,且MFAC已被驗證可以應用于模型未知非線性非仿射系統[3,4]。單獨使用傳統無模型自適應控制,調節參數響應速度因受系統和外界因素影響變得非常困難[5-8],從而限制了無模型自適應控制方法在實際系統中的應用。離散滑模變結構控制(discrete sliding mode control,DSMC)能抑制外部干擾和對有界擾動不敏感而被認為是一種魯棒技術[9-11],為解決傳統控制器存在的問題,很多學者提出了一些先進的無模型自適應滑??刂品桨?,能夠很好地實現快速工業過程的控制[12-14]。然而,這些方案并非完美無缺,離散滑模變結構控制(DSMC)的不連續開關特性會造成一定的系統抖振,為了減小系統的抖振問題,采用高階滑??刂品椒?,不僅可以減小振幅,還可以保證系統魯棒性不變,可以在很大程度上減小系統的抖振現象[15-18],因此,將高階滑??刂频乃枷胍氲綗o模型滑??刂品椒ㄖ芯哂兄匾囊饬x。同時,自適應解耦控制策略將其它輸入對該輸出所產生的耦合作用視作為干擾,采用前饋補償的方式以消除耦合作用[19],不依賴于被控對象數學模型,受到很多學者關注。離散擴張狀態觀測器(discrete extended state observer,DESO)被直接應用,對各種復雜系統未建模動態和未知擾動等進行在線觀測補償,進一步提升系統控制精度[20,21]。可見,離散擴張狀態觀測器(DESO)作為一種特殊的自適應解耦控制技術是可行的。
鑒于上述分析,為解決非線性、不確定性以及強耦合作用對二維直線電機控制精度的影響,提出一種改進無模型高階滑模控制方法與離散擴張狀態觀測器相結合的控制策略。一方面該方法減緩系統的抖振現象,同時避免對精確數學模型的依賴;另一方面引入離散擴張狀態觀測器(DESO)解決了系統間耦合問題,進一步提高了跟蹤精度。較傳統的PID控制,具有抗干擾性強、調節參數少,控制難度低等優點。仿真和實物實驗結果表明,基于離散擴張狀態觀測器(DESO)的無模型自適應高階滑模解耦控制策略提高了二維直線電機跟蹤精度,增強了系統魯棒性。
由于二維直線電機存在建模困難且在運行過程中存在各種干擾,而MFAC無需精確的數學模型,便可以對其實時系統進行有效控制,因此被廣泛應用在電機控制領域?;?刂凭哂袑ο到y參數攝動和外部擾動不變性、魯棒性好、響應速度快的優勢,因此運用多入多出的緊格式動態線性化無模型控制技術,建立一般非線性系統的線性數據模型,滑??刂朴糜谶M行誤差補償,二者緊密結合,優化控制性能。

圖1 控制算法整體控制框架
一般非線性非仿射離散MIMO系統可由如下表達式表示
y(k+1)=f(y(k),y(k-1),…,y(k-ny),u(k),u(k-1),…,u(k-nu))+d(k)
(1)
式中:y(k)=[y1(k),y2(k),…yn(k)]T,u(k)=[u1(k),u2(k),…un(k)]T表示系統在k時刻的輸出和輸入,ny,nu表示系統的未知階次,f(…)表示多維函數,d(k)=[d1(k),d2(k),…dn(k)] 表示系統的外部干擾。
離散時間條件下,非線性MIMO系統收斂條件已經給出[3,4],上述系統緊格式動態線性化在以下假設條件下完成。
假設1:系統(1)在外部擾動d(k) 存在的情況下,對某一有界的期望輸出信號y*(k+1), 存在一有界的控制輸入信號u(k), 在u(k) 的作用下,系統輸出等于y*(k+1)。
假設2:f(…) 對每一個的控制輸入u(k) 都具有連續的偏導數。
假設3:系統(1)滿足廣義Lipschitz條件,即對任意時刻k,Δu(k)≠0有
(2)
其中,Δy(k+1)=y(k+1)-y(k),Δu(k+1)=u(k+1)-u(k),τ>0是一個常數。
假設4[2]:系統的偽雅可比矩陣PJMΦc(k) 是滿足如下條件的對角占優矩陣,即
(3)
且Φc(k) 中所有元素的符號對任何時刻k保持不變。
引理1[3]非線性離散時間系統(1)若滿足上述4個假設,則可以把系統(1)轉化成如下緊格式動態線性化(compact form dynamic linearization,CFDL)數據模型
Δy(k+1)=Φc(k)Δu(k)+Δd(k)
(4)
其中,Φc(k) 為一個時變參數,稱為PJM,且對于任意k,Φc(k) 是有界的,Φc(k)∈Rn×n,Δd(k)=d(k)-d(k-1) 為相鄰兩個時刻外部干擾的輸出變化
(5)
證明:由非線性非仿射離散MIMO系統(1)可得
Δy(k+1)=f(y(k),y(k-1),…,y(k-ny),u(k),u(k-1),…,u(k-nu))-
f(y(k-1),y(k-2),…,y(k-ny-1),u(k-1),u(k-2),…,u(k-nu-1))+Δd(k)=
f(y(k),y(k-1),…,y(k-ny),u(k),u(k-1),…,u(k-nu))-f(y(k),y(k-1),…,y(k-ny),u(k-1),u(k-1),…,u(k-nu))+
f(y(k),y(k-1),…,y(k-ny),u(k-1),u(k-1),…,u(k-nu))-
f(y(k-1),y(k-2),…,y(k-ny-1),u(k-1),u(k-2),…,u(k-nu-1))+Δd(k)
(6)
令
Υ(k)=f(y(k),y(k-1),…,y(k-ny),u(k-1),u(k-1),…,u(k-nu))-
f(y(k-1),y(k-2),…,y(k-ny-1),u(k-1),u(k-2),…,u(k-nu-1))
(7)
由假設2和拉格朗日中值定理[3],式(6)可轉化為如下形式
(8)


Υ(k)=?(k)Δu(k)
(9)
令

則式(8)可以寫為
Δy(k+1)=Φc(k)Δu(k)+Δd(k)
(10)
再由假設3可得,Φc(k) 有界。
由于二維直線電機數學模型未知,顯然無法應用傳統的(sliding mode control,SMC)方法設計,因此采用數據驅動控制策略進行控制器的設計。
針對非線性系統(1),傳統滑模面可設計為如下形式
s(k+1)=c[e(k+1)e(k)]T
(11)
其中,c=[Ic0] 是滑模面的參數向量,c0=diag(c01,c02)∈R2×2,c0i∈(-1,0)∪(0,1),i=1,2,I∈R2×2,e(k+1)=y(k+1)-y*(k+1) 為跟蹤誤差,且y*(k+1) 為期望軌跡。
由線性系統(10)和傳統滑模面(11)聯立可得一類模型未知并帶有有界擾動的MIMO非線性離散系統的數據驅動滑模面如下
s(k+1)=c[e(k+1)e(k)]T=
[Ic0][e(k+1)e(k)]T=
e(k+1)+c0e(k)=e(k+1)-e(k)+
c0(e(k)-e(k-1))+e(k)+c0e(k-1)=
e(k+1)-e(k)+c0(e(k)-e(k-1))+s(k)=
y(k+1)-y*(k+1)-y(k)+y*(k)+
c0(e(k)-e(k-1))+s(k)=
y(k+1)-y(k)+s(k)+y*(k)-y*(k+1)+
c0(e(k)-e(k-1))=
Φc(k)Δu(k)+Δd(k)+s(k)+y*(k)-
y*(k+1)+c0(e(k)-e(k-1))
(12)
若二維直線電機滿足假設1至假設4,則一定存在一個PJMΨ(k), 使得滑模面(12)可以寫成
s(k+1)=Ψ(k)Δu(k)+Δd(k)+s(k)+
y*(k)-y*(k+1)+c0(e(k)-e(k-1))
(13)
其中
令
g(k)=c0(e(k)-e(k-1))-(y*(k+1)-y*(k))
則式(13)可以寫為
s(k+1)=Ψ(k)Δu(k)+Δd(k)+s(k)+g(k)
(14)
新型滑模面設計如式(14)所示,為了使系統控制在存在外界干擾以及無法測量擾動的情況下也可以自適應地更新,實現魯棒輸出,則在滑模面的設計中引入s(k) 的反饋以調整系統響應。
若PJMΨ(k) 的每個變量不是很大,則在某些采樣時刻會變得特別小,因此加入m來保證偽雅可比矩陣Ψ(k) 在一個合適的范圍。即滑模面(14)進一步可寫為
s(k+1)=(Ψ(k)+m)Δu(k)+Δd(k)+s(k)+g(k)
(15)
其中
注1:所推導出來的新型滑模面不需要二維直線電機系統精確的數學模型,且將控制輸入與期望建立了聯系。
對于MIMO非線性系統,由于被控對象數學模型未知,僅知道系統到當前時刻為止之前的I/O數據,系統輸入輸出數據關系的對角占優條件僅是描述系統各變量之間耦合的唯一可行選擇[1]。因此滑模面(15)可以進一步寫為
(16)

則所設計的滑模面為以下形式
(17)

根據式(17),在Matlab/simulink中建立如圖2所示的數據驅動滑模面仿真模型。

圖2 數據驅動滑模面仿真模型
針對二維直線電機系統,定義二階離散滑平面函數如下
σ(k)=s(k)+βs(k-1)
(18)
其中,β=diag{β1,β2}, 且β∈[0,1],i=1,2以保證σ(k) 的收斂。
通過分析一階離散滑??刂坡傻挠嬎氵^程,得出滑平面函數(18)的等效控制可從以下公式推導得出
σ(k+1)=σ(k)=0
(19)
由式(18)和式(19)可得
s(k+1)=-βs(k)
(20)
將式(17)帶入到式(20)中可得
(21)
由此可得等效控制律如下
(22)
通過增加新符號函數sign(σ(k)) 來提高控制系統的魯棒性和減緩被控系統的抖振現象[16],附加不連續控制項

(23)
其中,ε=diag{ε1,ε2},εi>0,i=1,2為一個正常數,ε為系統干擾最大值,隨著系統干擾的增大而增大。
因此,二維直線電機的控制輸入為
Δu(k)=Δueq(k)+Δudis(k)
(24)
證明:為了使控制誤差趨于0,就要使得滑模面s=0,則式(11)為
e(k+1)=-c0e(k)
(25)
又因c0∈(-1,0)∪(0.1), 則k趨于無窮時,可以看到系統誤差是收斂函數。因此,滑模面可使系統誤差收斂為0。
結合式(17)和式(22)進行推導得
s(k+1)=-(I+β)s(k)-g(k)-D(k)+
s(k)+g(k)+D(k)=-βs(k)
(26)
同理可得
s(k)=-βs(k-1)
(27)
則令
σ(k+1)=s(k+1)+βs(k)
(28)
根據壓縮映射法原理可得,σ是從s到s的一個壓縮映射,若把s中每兩點的距離至少壓縮β倍,且β∈[0,1], 則σ以速度β收斂到σ的不動點0。
綜上,系統滿足Lasalle原理,時間k趨于無窮時,二階離散滑平面(18)以速度β收斂到0,二維直線電機系統的實際輸出軌跡將收斂到期望軌跡。
注2:若不考慮二維直線電機系統內部存在的耦合作用影響,則可以根據滑模面式(15)和引進的二階離散滑平面函數式(18)推導出相應的無模型二階滑??刂坡扇缦?/p>
Δu(k)=(Ψ(k)+m)-1((Ψ(k-1)+m)Δudis(k-1)-
(I+β)s(k)-g(k)-Δd(k)-εsign(σ(k)))
(29)


選擇如下的性能指標函數[16]

(30)


(31)

(32)

根據式(31)、式(32),在Matlab/simulink中建立如圖3所示的PJM估計算法仿真模型。

圖3 PJM估計算法仿真模型
針對滑模面(17)以及控制律(22)~(24)中的未知項D(k), 設計如下離散擴張狀態觀測器
(33)

根據式(33),在Matlab/simulink中建立如圖4所示的離散擴張狀態觀測器仿真模型。

圖4 離散擴張狀態觀測器仿真模型


(34)
其中,I∈R2×2,ΔD(k)=D(k)-D(k-1)。
(35)
令

(36)
若二維直線電機系統滿足以上5個假設,且期望輸出軌跡是有界的,同時控制律(24)中新符號函數sign(σ(k)) 的幅值ε滿足ε>ν時,σ→0,二維直線電機的實際輸出軌跡收斂到期望軌跡。


圖5 基于PJM估計的DESO設計原理


(37)
(38)

(39)
Δu(k)=Δueq(k)+Δudis(k)
(40)
已知輸入的期望輸出信號y*(k) 和二維直線電機實際輸出y(k), 根據式(37)得到輸出滑模面s(k+1); 已知輸入的滑模面s(k+1), 根據式(40)得到輸出高階滑??刂坡蓇對二維直線電機XY軸進行控制。
注4:所設計的滑模面(37)用以建立期望軌跡和控制輸入之間關系,并且考慮了二維直線電機運行過程中所存在的非線性、擾動以及耦合特性。同時,所提出的控制律(40)可以消除滑模面間的耦合,其中控制律(40)包含了式(38)、式(39)兩部分,式(38)為基于二階離散滑模面(18)推導得出的等效控制律,式(39)為減緩被控對象的抖振現象附加的不連續控制項。
根據上述所設計的滑模面(37)和控制律(40),在Matlab/Simulink中建立無模型高階滑模解耦控制器的仿真模型如圖6所示。
通過基于多入多出緊格式動態線性化的無模型高階滑??刂撇呗栽诙S直線電機位置控制的應用研究,分別分析在不考慮系統內部耦合作用影響和考慮系統內部耦合作用影響的兩種前提下所設計的控制方案對二維直線電機系統的跟蹤特性,進而說明所設計的自適應解耦控制策略具有一定的解耦效果。最后通過實物驗證所提出控制方法的有效性和魯棒性。
二維直線電機平臺又被稱為XY平臺由兩臺永磁直線同步電機構成。根據參考文獻[1,2]可得到二維直線電機運動方程為
(41)
其中,M1,M2分別為二維直線電機X軸和Y軸動子質量,v1,v2分別為X軸和Y軸的運行速度,B1,B2分別為X軸和Y軸的粘滯摩擦系數,Af1,Af2分別為X軸和Y軸的庫侖摩擦力系數,C1為Y軸作用于X軸的粘滯摩擦系數,C2為X軸作用于Y軸的粘滯摩擦系數,Fd1,Fd2分別為X軸和Y軸的其它誤差和外部干擾,K為控制器輸入u的系數。
根據上述二維直線電機運動方程以及最小二乘法原理,得到參數估計結果,見表1。

表1 XY軸參數辨識結果
因此,得到二維直線電機平臺數學模型為

(42)
針對辨識出的二維直線電機數學模型(42),按照所設計的控制方案搭建Matlab/Simulink模塊進行仿真研究,其中二維直線電機的仿真模型如圖7所示,最后通過實物驗證其控制算法的有效性。
利用上述所闡述的二維直線電機數學模型(42)及第一節所設計的無模型高階滑??刂扑惴?model-free high order sliding mode control,MFHOSMC)和無模型高階滑模解耦控制算法(model-free high order sliding mode decoupling control,MFHOSMDC),按照圖1所示的整體控制結構搭建Simulink模塊進行仿真,根據跟蹤誤差來考察控制系統的控制效果。仿真中,采樣時間為20 s,給定X軸位置期望輸出為0.03sin(1.5t), Y軸位置期望輸出為0.015-0.015cos(1.5t),t為采樣時刻,采樣間隔為0.001 s。


圖8 3種控制下的X軸誤差比較
圖8和圖9分別為二維直線電機在3種控制方案下X軸和Y軸的位置跟蹤誤差圖,X軸和Y軸位置跟蹤誤差結果見表2,通過分析XY軸誤差圖可知,無模型高階滑模解耦控制(MFHOSMDC)較其它方法相比誤差最小。在表2

表2 XY軸位置跟蹤誤差

圖9 3種控制下的Y軸誤差比較
中更加直觀地看出,無模型高階滑模控制(MFHOSMC)比PID控制下位置跟蹤誤差縮小了約66%,基本穩定在±0.5 mm內;MFHOSMDC比MFHOSMC控制下位置跟蹤誤差縮小了約80%,基本穩定在±0.1 mm。通過PID,MFHOSMC仿真,MFHOSMC方法比傳統的PID方法跟蹤精度高,通過MFHOSMDC和MFHOSMC仿真,驗證了自適應解耦控制策略具有一定的解耦效果,同時也驗證了整體控制算法的有效性。
圖10、圖11所示為二維直線電機XY軸實際位置和期望位置的運行軌跡圖,從圖10、圖11中可以看出XY軸實際輸出軌跡無限趨近于期望軌跡,具有很好的運行特性。
本實驗使用的二維直線電機為WMU系列U型直線電機,U型設計使得動子雙側的引力彼此抵消,從而達到減輕導軌負擔的作用,如圖12所示,其有兩個軸,型號分別為:X軸:WMU512030-030;Y軸:WMU512075-090。

圖12 二維直線電機平臺
該系統配以Links-RT軟件,構成一套完整的二維直線電機控制系統開發驗證環境[7]。二維直線電機具體指標參數見表3。Links-RT系統可以實時監控二維直線電機的運動軌跡以及跟蹤誤差的變化,同時,還可以進行在線調整參數。首先在上位機中使用Matlab/simulink軟件對所設計的無模型高階滑模解耦控制算法進行模塊搭建,自動編譯生成可識別代碼,由RT-SIM仿真器讀取并配置,下載到硬件DSP控制器中,由DSP控制器控制二維直線電機驅動裝置,帶動二維直線電機運動,如圖13所示是實物實驗運行原理。

圖13 實物實驗運行原理


圖14 XY軸位置跟蹤軌跡

圖15 XY軸位置跟蹤放大圖
圖14、圖15所示為二維直線電機XY軸實際輸出和期望軌跡的跟蹤曲線,可以看出,系統實際輸出曲線與期望軌跡曲線可以很好擬合。圖16為XY軸跟蹤誤差,可以看出,系統在無模型高階滑模解耦控制下位置跟蹤誤差穩定在±0.25 mm范圍內。在仿真實驗中,無模型高階滑模控制(MFHOSMC)比PID控制下位置跟蹤誤差縮小了約66%,基本穩定在±0.5 mm內;無模型高階滑模解耦控制(MFHOSMDC)比無模型高階滑??刂?MFHOSMC)控制下位置跟蹤誤差縮小了約80%,基本穩定在±0.1 mm。由于實際實驗中存在隨機干擾和其它不確定因素,導致實物實驗結果與仿真結果相比存在更大的誤差,而無模型高階滑模解耦控制下的實物實驗誤差比無模型高階滑??刂葡碌姆抡嬲`差縮小了50%,驗證了整體控制算法的有效性。

圖16 XY軸跟蹤誤差
針對二維直線電機運動系統對擾動和系統參數變化過于敏感且受兩軸之間耦合作用、非線性不確定性等影響導致其定位精度低及其控制系統數學模型難以獲得的問題,提出了無模型高階滑模控制和自適應解耦控制策略相結合的無模型高階滑模解耦控制方案。仿真及實驗結果表明,無模型高階滑模解耦控制可以顯著減小位置跟蹤誤差,解決系統中存在的耦合作用,優于無模型高階滑模控制算法,優于傳統的兩個單軸PID控制二維直線電機xy軸的方法,并對整個控制系統進行穩定性和收斂性分析和證明。無模型高階滑模解耦控制表現出優越的跟蹤性能,在二維直線電機控制實際實驗中,將位置跟蹤誤差穩定在±0.25 mm范圍內,驗證了所提方法的有效性。