趙海濱, 陸志國, 劉 沖, 于清文, 顏世玉
(東北大學(xué) 機械工程與自動化學(xué)院, 沈陽 110819)
在普通的滑模變結(jié)構(gòu)控制中[1-2],選擇的線性滑模面使得系統(tǒng)軌跡在到達滑動模態(tài)后的運動是漸進穩(wěn)定的,狀態(tài)跟蹤誤差不能在有限時間內(nèi)收斂到零。為了獲得更好的控制性能,近年來一些學(xué)者提出了終端滑模(Terminal Sliding Mode, TSM)控制方法[3-4],在滑動超平面中采用非線性函數(shù),使得在滑模面上跟蹤誤差能夠在有限時間內(nèi)收斂到零。終端滑模控制對模型誤差和外部干擾信號具有較好的魯棒性,能夠在有限時間內(nèi)收斂[5-6],且具有較高的穩(wěn)態(tài)精度,廣泛用于高速、高精度控制系統(tǒng)。由于在系統(tǒng)狀態(tài)接近平衡狀態(tài)時,終端滑模控制存在奇異問題,有些學(xué)者提出了非奇異終端滑模(Nonsingular Terminal Sliding Mode, NTSM)控制方法,并用于永磁同步電動機[7-8]和機器人[9-11]等的控制。
本文以二階非線性系統(tǒng)為研究對象,采用非奇異終端滑模控制器進行控制。在非奇異終端滑模控制器中,對普通指數(shù)趨近律進行改進,提出一種變速指數(shù)趨近律。為了抑制抖振現(xiàn)象,在控制器中采用飽和函數(shù)代替符號函數(shù)。采用Matlab/Simulink軟件建立了非奇異終端滑??刂品抡鎸嶒炏到y(tǒng),對提出的方法進行了驗證。該仿真實驗系統(tǒng)將理論和編程實現(xiàn)相結(jié)合,不僅有助于學(xué)生對基本理論的理解,而且讓學(xué)生了解滑??刂频膶嶋H應(yīng)用。通過仿真過程,提高學(xué)生的編程能力和創(chuàng)新意識,并激發(fā)學(xué)生的學(xué)習(xí)興趣。
對于二階不確定非線性系統(tǒng)
(1)
式中:x=[x1,x2]T為系統(tǒng)的狀態(tài)變量;f(x)和g(x)為已知連續(xù)非線性函數(shù),g(x)≠0;d(t)為外部干擾,且|d(t)|≤μ,μ>0;u為控制輸入。
傳統(tǒng)終端滑模的滑模面為:
(2)
式中:β>0;p和q為正奇數(shù),p>q。采用以下指數(shù)趨近律:
(3)
傳統(tǒng)終端滑??刂破髟O(shè)計為:
(4)
式中,由于q/p-1<0,在x1=0,x2≠0時會有奇異問題。
為了克服傳統(tǒng)終端滑??刂拼嬖诘钠娈悊栴},很多學(xué)者提出了非奇異終端滑模方法,能夠很好地解決奇異問題。非奇異終端滑??刂品椒ǖ幕C鏋椋?/p>
(5)
式中:β>0;p和q為正奇數(shù),p>q且1
(6)
在式(3)的指數(shù)趨近律中,其中的參數(shù)k和ε為固定值,不具有自動調(diào)整功能。本文提出如下的變速指數(shù)趨近律:
(7)
采用變速指數(shù)趨近律時,非奇異終端滑模控制器設(shè)計為:
(8)
為了削弱抖振,在控制器中采用飽和函數(shù)sat(s)代替符號函數(shù)sgn(s),飽和函數(shù)的表達式為:
(10)
式中:δ>0稱為邊界層。在邊界層之外采用切換控制,在邊界層內(nèi)采用線性化反饋控制。用飽和函數(shù)sat(s)代替sgn(s)后,采用普通指數(shù)趨近律時,非奇異終端滑模控制器為:
(11)
用飽和函數(shù)sat(s)代替sgn(s)后,采用變速指數(shù)趨近律時,非奇異終端滑??刂破鳛椋?/p>
(12)
Matlab/Simulink軟件具有強大的數(shù)學(xué)運算能力,并且對問題的描述和求解符合人們的思維習(xí)慣和數(shù)學(xué)表達習(xí)慣,已經(jīng)廣泛應(yīng)用于動態(tài)系統(tǒng)仿真[12-14]。對于使用普通Simulink模塊不易搭建的復(fù)雜控制系統(tǒng),可以利用Matlab語言編寫M-Function或S-Function文件,通過User-Defined Functions模塊嵌入到Simulink仿真環(huán)境中[15]。M-Function文件采用Matlab語言編寫,程序代碼比較短,且容易實現(xiàn)。因此本文采用M-Function實現(xiàn)非奇異終端滑??刂葡到y(tǒng)。
本文采用的二階非線性系統(tǒng)[16]為:
(13)
式中:f(x)=-16x2;g(x)=125;x=[x1,x2]T,外部干擾信號為d(t)=0.1sin(20t)。
在仿真過程中,采用變步長的ode45算法,最大步長為1 ms,仿真時間為12 s。利用Matlab/Simulink軟件建立的仿真實驗系統(tǒng),如圖1所示。圖中,非線性系統(tǒng)1和2完全相同,都是根據(jù)式(13)建立的二階非線性系統(tǒng)模型。在圖1中,NTSM1模塊為采用普通的指數(shù)趨近律的非奇異終端滑??刂破?,NTSM2模塊為采用變速指數(shù)趨近律的非奇異終端滑模控制器。積分模塊Integrator的初始值通過外部輸入確定。通過手動開關(guān),對狀態(tài)變量的初始值進行選擇,x(0)=[0.1,0.1]T或x(0)=[30,30]T。仿真結(jié)果可以通過Scope模塊直接顯示,同時利用To Workspace模塊保存到工作空間中。
圖1 非奇異終端滑??刂品抡鎸嶒炏到y(tǒng)
在所有的控制器中,參數(shù)選擇為:μ=0.1,β=1,p=5,q=3,k=1,ε=0.1。利用飽和函數(shù)代替符號函數(shù)時,邊界層通常取非常小的數(shù),本文取δ=0.005。采用變指數(shù)趨近律時,非奇異終端滑??刂破髦械膮?shù)c根據(jù)狀態(tài)變量的初始值進行選取。當(dāng)狀態(tài)變量的初始值比較小時,選擇比較大的參數(shù)c;反之,選擇比較小的參數(shù)c。
選取狀態(tài)變量的位置距離平衡點比較近。狀態(tài)變量的初始值為x(0)=[0.1,0.1]T。在圖1中,NTSM1模塊為采用普通的指數(shù)趨近律,采用式(11)對二階非線性系統(tǒng)進行控制。在圖1中,NTSM1模塊內(nèi)的程序如下:
function u1 = fcn(x2, x1)
fx=-16*x2; gx=125;
beta=1; p=5; q=3; mu=0.1; epsilon=0.1; k=1;
s=x1+1/beta*(abs(x2))^(p/q)*sign(x2);
t=beta*q/p*abs(x2)^(2-p/q)*sign(x2);
delta=0.005; d=abs(s/delta);
if d<=1
sat=s/delta;
else
sat=sign(s/delta);
end
u1=-(fx+t+(mu+epsilon)*sat+k*s)/gx;
在圖1中,NTSM2模塊為采用變速指數(shù)趨近律,采用式(12)對二階非線性系統(tǒng)進行控制。狀態(tài)變量的初始值比較小,因此參數(shù)c選擇比較大的值,本文取c=60。在圖1中,NTSM2模塊內(nèi)的程序如下:
function u2 = fcn(x2, x1)
fx=-16*x2; gx=125;
beta=1; p=5; q=3; mu=0.1; epsilon=0.1; k=1;
s=x1+1/beta*(abs(x2))^(p/q)*sign(x2);
t=beta*q/p*abs(x2)^(2-p/q)*sign(x2);
delta=0.005; d=abs(s/delta);
if d<=1
sat=s/delta;
else
sat=sign(s/delta);
end
c=60; m=c*(abs(x1)+abs(x2));
n=fx+t+mu*sat;
u2=-(n+epsilon*sat/(1+m)+(k+m)*s)/gx;
圖2 狀態(tài)初始值較小時x1的響應(yīng)
圖3 狀態(tài)初始值較小時x2的響應(yīng)
采用變速指數(shù)趨近律的非奇異終端滑??刂破鞯氖諗克俣雀臁?/p>
圖4 狀態(tài)初始值較小時的控制輸入
非奇異終端滑??刂破髂軌?qū)崿F(xiàn)狀態(tài)變量的有限時間收斂,并能夠有效的避免奇異現(xiàn)象。采用飽和函數(shù)代替符號函數(shù),使得控制輸入沒有出現(xiàn)抖振現(xiàn)象,并且比較平滑。
圖5 狀態(tài)初始值較大時x1的響應(yīng)
圖6 狀態(tài)初始值較大時x2的響應(yīng)
圖7 狀態(tài)初始值較大時的控制輸入
本實驗以二階非線性系統(tǒng)為研究對象,分別采用普通指數(shù)趨近律和變速指數(shù)趨近律的非奇異終端滑??刂破鬟M行控制。非奇異終端滑??刂破髂軌蛴行У谋苊馄娈惉F(xiàn)象,能夠?qū)崿F(xiàn)有限時間內(nèi)狀態(tài)變量的收斂。對普通的指數(shù)趨近律進行改進,采用變速指數(shù)趨近律時具有更快的收斂速度。采用飽和函數(shù)代替符號函數(shù),能夠有效的抑制抖振現(xiàn)象。采用Matlab/Simulink軟件進行了控制系統(tǒng)仿真實驗,并對實驗結(jié)果進行了分析和討論。通過該仿真實驗有助于學(xué)生對非奇異終端滑??刂评碚摵蛻?yīng)用的理解,讓學(xué)生了解滑??刂频木幊虒崿F(xiàn)。以該仿真實驗系統(tǒng)為平臺,學(xué)生還可以自己編寫程序進行仿真實驗,對控制方法進行驗證,從而激發(fā)學(xué)生的學(xué)習(xí)興趣,提高編程能力和創(chuàng)新意識。
學(xué)校要求教師在他的本職工作上成為一種藝術(shù)家。
——愛因斯坦