賈繼輝,曹榮敏+,侯忠生,周惠興
(1.北京信息科技大學(xué) 自動化學(xué)院,北京 100192;2.青島大學(xué) 自動化學(xué)院,山東 青島 266071;3.北京金鐸科技發(fā)展有限公司 技術(shù)部,北京 100000)
由于二維直線電機控制[1]性能受兩軸間耦合作用、非線性不確定性等影響,建立精確數(shù)學(xué)模型或者采用基于模型的控制方案來實現(xiàn)有效控制變得極為困難[1,2],因此,研究數(shù)據(jù)驅(qū)動控制技術(shù)以及自適應(yīng)解耦控制策略具有十分重要的意義。
無模型自適應(yīng)控制(model-free adaptive control,MFAC)不依賴于被控對象數(shù)學(xué)模型,僅需系統(tǒng)的I/O數(shù)據(jù)便可以設(shè)計控制器,且MFAC已被驗證可以應(yīng)用于模型未知非線性非仿射系統(tǒng)[3,4]。單獨使用傳統(tǒng)無模型自適應(yīng)控制,調(diào)節(jié)參數(shù)響應(yīng)速度因受系統(tǒng)和外界因素影響變得非常困難[5-8],從而限制了無模型自適應(yīng)控制方法在實際系統(tǒng)中的應(yīng)用。離散滑模變結(jié)構(gòu)控制(discrete sliding mode control,DSMC)能抑制外部干擾和對有界擾動不敏感而被認(rèn)為是一種魯棒技術(shù)[9-11],為解決傳統(tǒng)控制器存在的問題,很多學(xué)者提出了一些先進(jìn)的無模型自適應(yīng)滑??刂品桨?,能夠很好地實現(xiàn)快速工業(yè)過程的控制[12-14]。然而,這些方案并非完美無缺,離散滑模變結(jié)構(gòu)控制(DSMC)的不連續(xù)開關(guān)特性會造成一定的系統(tǒng)抖振,為了減小系統(tǒng)的抖振問題,采用高階滑??刂品椒?,不僅可以減小振幅,還可以保證系統(tǒng)魯棒性不變,可以在很大程度上減小系統(tǒng)的抖振現(xiàn)象[15-18],因此,將高階滑模控制的思想引入到無模型滑??刂品椒ㄖ芯哂兄匾囊饬x。同時,自適應(yīng)解耦控制策略將其它輸入對該輸出所產(chǎn)生的耦合作用視作為干擾,采用前饋補償?shù)姆绞揭韵詈献饔肹19],不依賴于被控對象數(shù)學(xué)模型,受到很多學(xué)者關(guān)注。離散擴張狀態(tài)觀測器(discrete extended state observer,DESO)被直接應(yīng)用,對各種復(fù)雜系統(tǒng)未建模動態(tài)和未知擾動等進(jìn)行在線觀測補償,進(jìn)一步提升系統(tǒng)控制精度[20,21]。可見,離散擴張狀態(tài)觀測器(DESO)作為一種特殊的自適應(yīng)解耦控制技術(shù)是可行的。
鑒于上述分析,為解決非線性、不確定性以及強耦合作用對二維直線電機控制精度的影響,提出一種改進(jìn)無模型高階滑??刂品椒ㄅc離散擴張狀態(tài)觀測器相結(jié)合的控制策略。一方面該方法減緩系統(tǒng)的抖振現(xiàn)象,同時避免對精確數(shù)學(xué)模型的依賴;另一方面引入離散擴張狀態(tài)觀測器(DESO)解決了系統(tǒng)間耦合問題,進(jìn)一步提高了跟蹤精度。較傳統(tǒng)的PID控制,具有抗干擾性強、調(diào)節(jié)參數(shù)少,控制難度低等優(yōu)點。仿真和實物實驗結(jié)果表明,基于離散擴張狀態(tài)觀測器(DESO)的無模型自適應(yīng)高階滑模解耦控制策略提高了二維直線電機跟蹤精度,增強了系統(tǒng)魯棒性。
由于二維直線電機存在建模困難且在運行過程中存在各種干擾,而MFAC無需精確的數(shù)學(xué)模型,便可以對其實時系統(tǒng)進(jìn)行有效控制,因此被廣泛應(yīng)用在電機控制領(lǐng)域?;?刂凭哂袑ο到y(tǒng)參數(shù)攝動和外部擾動不變性、魯棒性好、響應(yīng)速度快的優(yōu)勢,因此運用多入多出的緊格式動態(tài)線性化無模型控制技術(shù),建立一般非線性系統(tǒng)的線性數(shù)據(jù)模型,滑??刂朴糜谶M(jìn)行誤差補償,二者緊密結(jié)合,優(yōu)化控制性能。
圖1 控制算法整體控制框架
一般非線性非仿射離散MIMO系統(tǒng)可由如下表達(dá)式表示
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表示系統(tǒng)在k時刻的輸出和輸入,ny,nu表示系統(tǒng)的未知階次,f(…)表示多維函數(shù),d(k)=[d1(k),d2(k),…dn(k)] 表示系統(tǒng)的外部干擾。
離散時間條件下,非線性MIMO系統(tǒng)收斂條件已經(jīng)給出[3,4],上述系統(tǒng)緊格式動態(tài)線性化在以下假設(shè)條件下完成。
假設(shè)1:系統(tǒng)(1)在外部擾動d(k) 存在的情況下,對某一有界的期望輸出信號y*(k+1), 存在一有界的控制輸入信號u(k), 在u(k) 的作用下,系統(tǒng)輸出等于y*(k+1)。
假設(shè)2:f(…) 對每一個的控制輸入u(k) 都具有連續(xù)的偏導(dǎo)數(shù)。
假設(shè)3:系統(tǒng)(1)滿足廣義Lipschitz條件,即對任意時刻k,Δu(k)≠0有
(2)
其中,Δy(k+1)=y(k+1)-y(k),Δu(k+1)=u(k+1)-u(k),τ>0是一個常數(shù)。
假設(shè)4[2]:系統(tǒng)的偽雅可比矩陣PJMΦc(k) 是滿足如下條件的對角占優(yōu)矩陣,即
(3)
且Φc(k) 中所有元素的符號對任何時刻k保持不變。
引理1[3]非線性離散時間系統(tǒng)(1)若滿足上述4個假設(shè),則可以把系統(tǒng)(1)轉(zhuǎn)化成如下緊格式動態(tài)線性化(compact form dynamic linearization,CFDL)數(shù)據(jù)模型
Δy(k+1)=Φc(k)Δu(k)+Δd(k)
(4)
其中,Φc(k) 為一個時變參數(shù),稱為PJM,且對于任意k,Φc(k) 是有界的,Φc(k)∈Rn×n,Δd(k)=d(k)-d(k-1) 為相鄰兩個時刻外部干擾的輸出變化
(5)
證明:由非線性非仿射離散MIMO系統(tǒng)(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)
由假設(shè)2和拉格朗日中值定理[3],式(6)可轉(zhuǎn)化為如下形式
(8)
Υ(k)=?(k)Δu(k)
(9)
令
則式(8)可以寫為
Δy(k+1)=Φc(k)Δu(k)+Δd(k)
(10)
再由假設(shè)3可得,Φc(k) 有界。
由于二維直線電機數(shù)學(xué)模型未知,顯然無法應(yīng)用傳統(tǒng)的(sliding mode control,SMC)方法設(shè)計,因此采用數(shù)據(jù)驅(qū)動控制策略進(jìn)行控制器的設(shè)計。
針對非線性系統(tǒng)(1),傳統(tǒng)滑模面可設(shè)計為如下形式
s(k+1)=c[e(k+1)e(k)]T
(11)
其中,c=[Ic0] 是滑模面的參數(shù)向量,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) 為期望軌跡。
由線性系統(tǒng)(10)和傳統(tǒng)滑模面(11)聯(lián)立可得一類模型未知并帶有有界擾動的MIMO非線性離散系統(tǒng)的數(shù)據(jù)驅(qū)動滑模面如下
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)
若二維直線電機滿足假設(shè)1至假設(shè)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)
新型滑模面設(shè)計如式(14)所示,為了使系統(tǒng)控制在存在外界干擾以及無法測量擾動的情況下也可以自適應(yīng)地更新,實現(xiàn)魯棒輸出,則在滑模面的設(shè)計中引入s(k) 的反饋以調(diào)整系統(tǒng)響應(yīng)。
若PJMΨ(k) 的每個變量不是很大,則在某些采樣時刻會變得特別小,因此加入m來保證偽雅可比矩陣Ψ(k) 在一個合適的范圍。即滑模面(14)進(jìn)一步可寫為
s(k+1)=(Ψ(k)+m)Δu(k)+Δd(k)+s(k)+g(k)
(15)
其中
注1:所推導(dǎo)出來的新型滑模面不需要二維直線電機系統(tǒng)精確的數(shù)學(xué)模型,且將控制輸入與期望建立了聯(lián)系。
對于MIMO非線性系統(tǒng),由于被控對象數(shù)學(xué)模型未知,僅知道系統(tǒng)到當(dāng)前時刻為止之前的I/O數(shù)據(jù),系統(tǒng)輸入輸出數(shù)據(jù)關(guān)系的對角占優(yōu)條件僅是描述系統(tǒng)各變量之間耦合的唯一可行選擇[1]。因此滑模面(15)可以進(jìn)一步寫為
(16)
則所設(shè)計的滑模面為以下形式
(17)
根據(jù)式(17),在Matlab/simulink中建立如圖2所示的數(shù)據(jù)驅(qū)動滑模面仿真模型。
圖2 數(shù)據(jù)驅(qū)動滑模面仿真模型
針對二維直線電機系統(tǒng),定義二階離散滑平面函數(shù)如下
σ(k)=s(k)+βs(k-1)
(18)
其中,β=diag{β1,β2}, 且β∈[0,1],i=1,2以保證σ(k) 的收斂。
通過分析一階離散滑模控制律的計算過程,得出滑平面函數(shù)(18)的等效控制可從以下公式推導(dǎo)得出
σ(k+1)=σ(k)=0
(19)
由式(18)和式(19)可得
s(k+1)=-βs(k)
(20)
將式(17)帶入到式(20)中可得
(21)
由此可得等效控制律如下
(22)
通過增加新符號函數(shù)sign(σ(k)) 來提高控制系統(tǒng)的魯棒性和減緩被控系統(tǒng)的抖振現(xiàn)象[16],附加不連續(xù)控制項
(23)
其中,ε=diag{ε1,ε2},εi>0,i=1,2為一個正常數(shù),ε為系統(tǒng)干擾最大值,隨著系統(tǒng)干擾的增大而增大。
因此,二維直線電機的控制輸入為
Δu(k)=Δueq(k)+Δudis(k)
(24)
證明:為了使控制誤差趨于0,就要使得滑模面s=0,則式(11)為
e(k+1)=-c0e(k)
(25)
又因c0∈(-1,0)∪(0.1), 則k趨于無窮時,可以看到系統(tǒng)誤差是收斂函數(shù)。因此,滑模面可使系統(tǒng)誤差收斂為0。
結(jié)合式(17)和式(22)進(jìn)行推導(dǎo)得
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)
根據(jù)壓縮映射法原理可得,σ是從s到s的一個壓縮映射,若把s中每兩點的距離至少壓縮β倍,且β∈[0,1], 則σ以速度β收斂到σ的不動點0。
綜上,系統(tǒng)滿足Lasalle原理,時間k趨于無窮時,二階離散滑平面(18)以速度β收斂到0,二維直線電機系統(tǒng)的實際輸出軌跡將收斂到期望軌跡。
注2:若不考慮二維直線電機系統(tǒng)內(nèi)部存在的耦合作用影響,則可以根據(jù)滑模面式(15)和引進(jìn)的二階離散滑平面函數(shù)式(18)推導(dǎo)出相應(yīng)的無模型二階滑??刂坡扇缦?/p>
Δu(k)=(Ψ(k)+m)-1((Ψ(k-1)+m)Δudis(k-1)-
(I+β)s(k)-g(k)-Δd(k)-εsign(σ(k)))
(29)
選擇如下的性能指標(biāo)函數(shù)[16]
(30)
(31)
(32)
根據(jù)式(31)、式(32),在Matlab/simulink中建立如圖3所示的PJM估計算法仿真模型。
圖3 PJM估計算法仿真模型
針對滑模面(17)以及控制律(22)~(24)中的未知項D(k), 設(shè)計如下離散擴張狀態(tài)觀測器
(33)
根據(jù)式(33),在Matlab/simulink中建立如圖4所示的離散擴張狀態(tài)觀測器仿真模型。
圖4 離散擴張狀態(tài)觀測器仿真模型
(34)
其中,I∈R2×2,ΔD(k)=D(k)-D(k-1)。
(35)
令
(36)
若二維直線電機系統(tǒng)滿足以上5個假設(shè),且期望輸出軌跡是有界的,同時控制律(24)中新符號函數(shù)sign(σ(k)) 的幅值ε滿足ε>ν時,σ→0,二維直線電機的實際輸出軌跡收斂到期望軌跡。
圖5 基于PJM估計的DESO設(shè)計原理
(37)
(38)
(39)
Δu(k)=Δueq(k)+Δudis(k)
(40)
已知輸入的期望輸出信號y*(k) 和二維直線電機實際輸出y(k), 根據(jù)式(37)得到輸出滑模面s(k+1); 已知輸入的滑模面s(k+1), 根據(jù)式(40)得到輸出高階滑??刂坡蓇對二維直線電機XY軸進(jìn)行控制。
注4:所設(shè)計的滑模面(37)用以建立期望軌跡和控制輸入之間關(guān)系,并且考慮了二維直線電機運行過程中所存在的非線性、擾動以及耦合特性。同時,所提出的控制律(40)可以消除滑模面間的耦合,其中控制律(40)包含了式(38)、式(39)兩部分,式(38)為基于二階離散滑模面(18)推導(dǎo)得出的等效控制律,式(39)為減緩被控對象的抖振現(xiàn)象附加的不連續(xù)控制項。
根據(jù)上述所設(shè)計的滑模面(37)和控制律(40),在Matlab/Simulink中建立無模型高階滑模解耦控制器的仿真模型如圖6所示。
通過基于多入多出緊格式動態(tài)線性化的無模型高階滑??刂撇呗栽诙S直線電機位置控制的應(yīng)用研究,分別分析在不考慮系統(tǒng)內(nèi)部耦合作用影響和考慮系統(tǒng)內(nèi)部耦合作用影響的兩種前提下所設(shè)計的控制方案對二維直線電機系統(tǒng)的跟蹤特性,進(jìn)而說明所設(shè)計的自適應(yīng)解耦控制策略具有一定的解耦效果。最后通過實物驗證所提出控制方法的有效性和魯棒性。
二維直線電機平臺又被稱為XY平臺由兩臺永磁直線同步電機構(gòu)成。根據(jù)參考文獻(xiàn)[1,2]可得到二維直線電機運動方程為
(41)
其中,M1,M2分別為二維直線電機X軸和Y軸動子質(zhì)量,v1,v2分別為X軸和Y軸的運行速度,B1,B2分別為X軸和Y軸的粘滯摩擦系數(shù),Af1,Af2分別為X軸和Y軸的庫侖摩擦力系數(shù),C1為Y軸作用于X軸的粘滯摩擦系數(shù),C2為X軸作用于Y軸的粘滯摩擦系數(shù),F(xiàn)d1,F(xiàn)d2分別為X軸和Y軸的其它誤差和外部干擾,K為控制器輸入u的系數(shù)。
根據(jù)上述二維直線電機運動方程以及最小二乘法原理,得到參數(shù)估計結(jié)果,見表1。
表1 XY軸參數(shù)辨識結(jié)果
因此,得到二維直線電機平臺數(shù)學(xué)模型為
(42)
針對辨識出的二維直線電機數(shù)學(xué)模型(42),按照所設(shè)計的控制方案搭建Matlab/Simulink模塊進(jìn)行仿真研究,其中二維直線電機的仿真模型如圖7所示,最后通過實物驗證其控制算法的有效性。
利用上述所闡述的二維直線電機數(shù)學(xué)模型(42)及第一節(jié)所設(shè)計的無模型高階滑??刂扑惴?model-free high order sliding mode control,MFHOSMC)和無模型高階滑模解耦控制算法(model-free high order sliding mode decoupling control,MFHOSMDC),按照圖1所示的整體控制結(jié)構(gòu)搭建Simulink模塊進(jìn)行仿真,根據(jù)跟蹤誤差來考察控制系統(tǒng)的控制效果。仿真中,采樣時間為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軸位置跟蹤誤差結(jié)果見表2,通過分析XY軸誤差圖可知,無模型高階滑模解耦控制(MFHOSMDC)較其它方法相比誤差最小。在表2
表2 XY軸位置跟蹤誤差
圖9 3種控制下的Y軸誤差比較
中更加直觀地看出,無模型高階滑模控制(MFHOSMC)比PID控制下位置跟蹤誤差縮小了約66%,基本穩(wěn)定在±0.5 mm內(nèi);MFHOSMDC比MFHOSMC控制下位置跟蹤誤差縮小了約80%,基本穩(wěn)定在±0.1 mm。通過PID,MFHOSMC仿真,MFHOSMC方法比傳統(tǒng)的PID方法跟蹤精度高,通過MFHOSMDC和MFHOSMC仿真,驗證了自適應(yīng)解耦控制策略具有一定的解耦效果,同時也驗證了整體控制算法的有效性。
圖10、圖11所示為二維直線電機XY軸實際位置和期望位置的運行軌跡圖,從圖10、圖11中可以看出XY軸實際輸出軌跡無限趨近于期望軌跡,具有很好的運行特性。
本實驗使用的二維直線電機為WMU系列U型直線電機,U型設(shè)計使得動子雙側(cè)的引力彼此抵消,從而達(dá)到減輕導(dǎo)軌負(fù)擔(dān)的作用,如圖12所示,其有兩個軸,型號分別為:X軸:WMU512030-030;Y軸:WMU512075-090。
圖12 二維直線電機平臺
該系統(tǒng)配以Links-RT軟件,構(gòu)成一套完整的二維直線電機控制系統(tǒng)開發(fā)驗證環(huán)境[7]。二維直線電機具體指標(biāo)參數(shù)見表3。Links-RT系統(tǒng)可以實時監(jiān)控二維直線電機的運動軌跡以及跟蹤誤差的變化,同時,還可以進(jìn)行在線調(diào)整參數(shù)。首先在上位機中使用Matlab/simulink軟件對所設(shè)計的無模型高階滑模解耦控制算法進(jìn)行模塊搭建,自動編譯生成可識別代碼,由RT-SIM仿真器讀取并配置,下載到硬件DSP控制器中,由DSP控制器控制二維直線電機驅(qū)動裝置,帶動二維直線電機運動,如圖13所示是實物實驗運行原理。
圖13 實物實驗運行原理
圖14 XY軸位置跟蹤軌跡
圖15 XY軸位置跟蹤放大圖
圖14、圖15所示為二維直線電機XY軸實際輸出和期望軌跡的跟蹤曲線,可以看出,系統(tǒng)實際輸出曲線與期望軌跡曲線可以很好擬合。圖16為XY軸跟蹤誤差,可以看出,系統(tǒng)在無模型高階滑模解耦控制下位置跟蹤誤差穩(wěn)定在±0.25 mm范圍內(nèi)。在仿真實驗中,無模型高階滑??刂?MFHOSMC)比PID控制下位置跟蹤誤差縮小了約66%,基本穩(wěn)定在±0.5 mm內(nèi);無模型高階滑模解耦控制(MFHOSMDC)比無模型高階滑??刂?MFHOSMC)控制下位置跟蹤誤差縮小了約80%,基本穩(wěn)定在±0.1 mm。由于實際實驗中存在隨機干擾和其它不確定因素,導(dǎo)致實物實驗結(jié)果與仿真結(jié)果相比存在更大的誤差,而無模型高階滑模解耦控制下的實物實驗誤差比無模型高階滑??刂葡碌姆抡嬲`差縮小了50%,驗證了整體控制算法的有效性。
圖16 XY軸跟蹤誤差
針對二維直線電機運動系統(tǒng)對擾動和系統(tǒng)參數(shù)變化過于敏感且受兩軸之間耦合作用、非線性不確定性等影響導(dǎo)致其定位精度低及其控制系統(tǒng)數(shù)學(xué)模型難以獲得的問題,提出了無模型高階滑模控制和自適應(yīng)解耦控制策略相結(jié)合的無模型高階滑模解耦控制方案。仿真及實驗結(jié)果表明,無模型高階滑模解耦控制可以顯著減小位置跟蹤誤差,解決系統(tǒng)中存在的耦合作用,優(yōu)于無模型高階滑??刂扑惴?,優(yōu)于傳統(tǒng)的兩個單軸PID控制二維直線電機xy軸的方法,并對整個控制系統(tǒng)進(jìn)行穩(wěn)定性和收斂性分析和證明。無模型高階滑模解耦控制表現(xiàn)出優(yōu)越的跟蹤性能,在二維直線電機控制實際實驗中,將位置跟蹤誤差穩(wěn)定在±0.25 mm范圍內(nèi),驗證了所提方法的有效性。