武俊峰++賈婧媛
摘要:針對三自由度直升機模型的穩(wěn)定運行控制問題,根據(jù)各個自由度運動特性,采用牛頓力學原理,建立了直升機系統(tǒng)的數(shù)學模型.采用自適應神經(jīng)模糊算法對模型進行控制,通過編寫MATLAB的M文件和應用ANFIS工具箱結合simulink對控制效果進行仿真,得到仿真曲線,對比模型原廠自帶PID控制器的控制效果,神經(jīng)模糊控制俯仰軸調(diào)整時間縮短,超調(diào)降低,結果驗證了自適應模糊神經(jīng)算法在三自由度直升機模型的穩(wěn)定運行控制問題上是有效可行的.
關鍵詞:三自由度直升機;自適應模糊神經(jīng);極點配置:MATLAB; ANFIS工具箱
DOI: 10.15938/j.jhust.2015.02.007
中圖分類號:TP273
文獻標志碼:A
文章編號:1007-2683(2015)02-0035-06
0 引 言
三自由度直升機模型是典型的非線性、強耦合、多輸入多輸出的復雜控制系統(tǒng),是可以驗證各種控制算法有效性的理想試驗平臺.直升機飛行控制系統(tǒng)的非線性、強耦合的特點和廣闊的應用前景使得許多研究人員投入了大量的精力來研究這一控制系統(tǒng).通過進行直升機系統(tǒng)的建模、設計、仿真與實驗,不斷提高直升機飛行器的控制性能,文建立了3-DOF直升機的神經(jīng)網(wǎng)絡模型,采川APC方法解決直升機的飛行姿態(tài)控制問題,義將二次型最優(yōu)控制、滑??刂坪瓦z傳算法融合在控制系統(tǒng)中,使直升機系統(tǒng)得以穩(wěn)定,國內(nèi)高校對直升機控制問題關注較早的趙笑笑多次撰文研究直升機多種研究算法控制器的設計,均獲得了不錯的效果.
模糊控制系統(tǒng)與神經(jīng)網(wǎng)絡控制時,無需獲得被控對象精確的數(shù)學模型.模糊控制系統(tǒng)憑人的經(jīng)驗知識進行控制,而神經(jīng)網(wǎng)絡則是通過樣本學習,調(diào)整改變網(wǎng)絡的連接權重達到控制目的,因此,把神經(jīng)網(wǎng)絡的學習機制引入模糊系統(tǒng),使模糊系統(tǒng)具有自學習、自適應能力,而神經(jīng)網(wǎng)絡也能夠利用已有的經(jīng)驗知識,既發(fā)揮二者的優(yōu)點,又可彌補各自的不足.
本文采用由固高公司生產(chǎn)的三自由度直升機模型為研究對象,將現(xiàn)代控制理論中的極點配置控制應用于模型中,通過對直升機模型的運動原理進行數(shù)學描述,選取適當?shù)臓顟B(tài)變量獲得狀態(tài)空間模型,從而設計了極點配置控制器并進行了仿真,然后將極點配置控制的仿真結果作為訓練數(shù)據(jù),利用自適應神經(jīng)模糊推理系統(tǒng)ANFIS的控制數(shù)據(jù)得到神經(jīng)模糊控制器,對其控制效果進行仿真分析.
1 系統(tǒng)模型分析
三自由度直升機控制系統(tǒng)的工作原理如圖1所示,上位機輸出電壓控制量經(jīng)過運動控制卡驅動螺旋槳旋轉,電壓值的改變引起螺旋槳轉速和方向的變化.位置編碼器按照設定的采樣周期將直升機當前狀態(tài)傳送給運動控制卡后傳送到上位機,再根據(jù)設計的算法求出相應的控制量輸送給電機.
三自由度直升機模型如圖2所示,基于三自由度直升機系統(tǒng)的特點,忽略各個軸之間的耦合,系統(tǒng)分為三個軸分別建模.
1.1俯仰軸
基于三自由度直升機實驗系統(tǒng)動態(tài)特性,俯仰運動簡化模型如圖3所示,
假定直升機初始位置是懸在空中并保持平衡狀態(tài),根據(jù)力學原理可得到下列等式:其中:Je是俯仰軸的轉動慣量,V1和V2是兩個電機的電壓,由它們產(chǎn)生升力F1和F2;Kc代表螺旋槳的電機升力常數(shù);l1.是支點到電機的距離;l2是支點到平衡塊的距離;Tg是由俯仰軸的重力G產(chǎn)生的有效重力矩,是俯仰軸的俯仰加速度.
1.2橫側軸
橫側運動簡化示意圖如圖4所示,
其動力學方程如下:其中:Jp代表橫側軸轉動慣量;P為橫側軸運動方向的角加速度.
1.3旋轉軸
旋轉軸的簡化示意圖如圖5所示.直升機旋轉軸動力學的方程如下:
其中:r為旋轉軸的旋轉速度,單位rad/s;Jt是旋轉軸的轉動慣量,
俯仰軸狀態(tài)變量選取x1=[εε]T,輸入量為螺旋槳電機的電壓和;橫側軸狀態(tài)變量選取x2=[p,P]T輸入量為螺旋槳電機的電壓差;由于旋轉軸的運動可以通過橫側軸來控制,因此在本文中不做單獨狀態(tài)反饋控制器的設計,仍采用原系統(tǒng)自帶的PID控制器控制.其中:Je為俯仰軸轉動慣量;Jp為橫側軸轉動慣量;l1為螺旋槳到俯仰軸的距離;lp為螺旋槳到橫側軸的距離;Kc為電機力常數(shù),
文對三自由度直升機模型的PID控制方法及參數(shù)淵節(jié)研究詳細,在此不再詳述,其PID控制仿真曲線如圖6所示.
2 極點配置控制器設計及仿真
2.1 極點配置控制器設計
現(xiàn)代控制理論,經(jīng)常采用的是狀態(tài)反饋,所謂的狀態(tài)反饋,就是把系統(tǒng)狀態(tài)變量與對應的反饋系數(shù)相乘,然后反饋到輸入端與參考輸入相加形成控制律,作為受控系統(tǒng)的控制輸入,即狀態(tài)反饋M=一紙[吲.只要系統(tǒng)足能控的,通過這種方法,極點配置的線性狀態(tài)反控制可以滿足被控對象對于控制器的要求.
對于上述俯仰軸與橫側軸的狀態(tài)空間模型通過計算,得到Tc=[B AB]滿秩,即俯仰軸、橫側軸系統(tǒng)可控,閃此直升機模型俯仰軸和橫側軸可以分別設計極點配置控制器,
調(diào)用MATLAB控制系統(tǒng)命令step(A,B,C,D),可得到系統(tǒng)的單位階躍響應曲線如圖7所示.
由圖可看出,未加控制器的系統(tǒng)很顯然是發(fā)散的,不穩(wěn)定的,
極點配置控制器設計時,期望極點的選擇嚴重影響控制系統(tǒng)的性能.通過多次仿真試驗,為獲得較好控制效果,俯仰軸阻尼比ζ1=0.783,橫側軸阻尼比ζ2=0.477,Matlab運行后可確定期望的閉環(huán)極點:
wn=log(1/deta*sqrt(1-kosi.^2))1(kosi*t),
s=-kosi*wn+j*wn*sqrt(1-kosi.^2).
運行結果俯仰軸Sl=-1.7186+1.3653i,橫側軸S2=-3.7829+6.9703i.
通過計算得到俯仰軸和橫側軸的狀態(tài)反饋矩陣分別為Kl=[0.9996 0.5906]; K2=[0.9887 0.0604].
2.2仿真
在Simulink環(huán)境下進行極點配置仿真,各模塊連接框圖,如圖8所示.
給定俯仰角角度為30°,旋轉速度給定值為10rad/s,根據(jù)計算得出的反饋矩陣K搭建模型,利用狀態(tài)方程的解隨著時間的變化來觀察狀態(tài)變量的變化,仿真結果如圖9所示,
由圖9可知,俯仰角經(jīng)過短時間調(diào)整后穩(wěn)定于30°,跟蹤效果良好,直升機旋轉速度由0到給定值產(chǎn)牛一定的橫側角,隨著旋轉速度的增加,橫側角逐漸減小,旋轉速度超調(diào)時,橫側角減小到負值,旋轉速度完成跟蹤后,橫側角穩(wěn)定到0°.
3 自適應神經(jīng)模糊控制
3.1 自適應神經(jīng)模糊控制器設計
將通過極點配置控制得到的數(shù)據(jù)作為訓練數(shù)據(jù),輸入隸屬度函數(shù)個數(shù)為5,類型為鐘形,輸出類型為線性,訓練次數(shù)為40次.可通過編輯M文件進行控制,采用genfsl()函數(shù)自動生成Takagi-Sugeno型模糊推理系統(tǒng),利用函數(shù)anfis()訓練白適應神經(jīng)模糊系統(tǒng);也可使用ANFIS工具箱進行控制.將神經(jīng)模糊網(wǎng)絡進行訓練后導出,就可作為控制器對直升機模型進行控制,
以控制俯仰軸角度為例分別用M文件控制和ANFIS工具箱控制.
3.1.1 M文件
numpts= 68
data=E:
trndata= data(1:2:numpts,:);%訓練數(shù)據(jù)對集
chkdata=data(2:2:numpts,:);%檢驗數(shù)據(jù)對集
%%采用genfisl()函數(shù)直接由訓練數(shù)據(jù)生成TS型模糊推理系統(tǒng)
numMfs=5;mfType='gbellmf';
fisMat=genfisl(trnData, numMfs, mfType);
%%根據(jù)給定訓練數(shù)據(jù)訓練自適應神經(jīng)模糊系統(tǒng)
epochs=40;%訓練次數(shù)為40
trnOpt=[epochs NaN NaN NaN NaN];
disOpt=[];
[Fis, error, stepsize, chkFis, chkEr]=anfis(trn-data, fisMat, trnOpt, disOpt, chkdata);
%%計算訓練后神經(jīng)模糊系統(tǒng)的輸出與訓練數(shù)據(jù)的均方根誤差trnRMSF
trnOutl=evalfis(trndata(:,1),F(xiàn)is);
trnOut2=evalfis(trndata(:,1),chkFis);
trnRMSEJ=norm(trnOutl-trndata(:,2))/sqrt(length(trnOutl));
trnRMSE2=norm(trnOut2-trndata(:,2))/sqrt(length(trnOut2));
%%計算神經(jīng)模糊推理系統(tǒng)的輸出
anfis_y1=evalfis(x,F(xiàn)is);
anfis_v2=evalfis(x,chkFis);
程序運行后繪制曲線如圖10所示.
可知,經(jīng)過訓練后的隸屬度函數(shù)產(chǎn)生了變化,訓練后ANFIS的輸出可以進行很好的跟蹤擬合.
3.1.2
ANFIS工具箱
在ANFIS工具箱中,導人訓練數(shù)據(jù),輸入隸屬度函數(shù)個數(shù)為3,類型為鐘形,輸出類型為線性,訓練次數(shù)為50次,進行訓練,如圖11所示.
將訓練好的神經(jīng)模糊網(wǎng)絡導出,對三自由度直升機模型的俯仰軸進行控制,如圖12所示.
3.2仿真
給定俯仰軸角度30°,仿真結果如圖13所示,可知自適應神經(jīng)模糊控制可實現(xiàn)直升機模型俯仰軸的穩(wěn)定控制.
通過比較圖13與圖6(a),明顯看出,自適應神經(jīng)模糊控制調(diào)節(jié)時間為5s左右,而PID控制俯仰軸調(diào)節(jié)時間為16s,神經(jīng)模糊控制俯仰軸達到穩(wěn)定狀態(tài)的時間明顯優(yōu)于PID控制器,同時,神經(jīng)模糊控制曲線上來看幾乎不存在超調(diào)量,而從PID控制曲線來看,明顯存在超調(diào)量.通過以上比較可以得出自適應神經(jīng)模糊控制方法效果更優(yōu).比較俯仰軸的自適應神經(jīng)模糊控制與極點配置控制仿真效果,可以看出兩種控制方法的控制效果基本一致,但是,極點配置控制需要依賴數(shù)學模型,而自適應神經(jīng)模糊控制是一種智能的控制方法,僅需要經(jīng)驗控制數(shù)據(jù),因此,自適應神經(jīng)模糊控制對于基于數(shù)據(jù)的經(jīng)驗控制易于實現(xiàn),具有一定的實際意義.
3 結 論
本文首先對三自由度直升機模型進行分析,建立其數(shù)學模型,將系統(tǒng)分為三個子系統(tǒng),及俯仰軸、橫側軸和旋轉軸,對俯仰軸和橫側軸進行了極點配置;然后以俯仰軸為例采用自適應神經(jīng)模糊控制,通過分析仿真結果表明自適應神經(jīng)模糊控制器實現(xiàn)了對三自由度直升機模型俯仰軸的穩(wěn)定控制,通過控制俯仰軸的實例表明了該方法的有效性,因此自適應神經(jīng)模糊算法也適用于直升機模型的橫側軸及其他類似控制系統(tǒng).