王 偉, 王 勇, 周晨光, 張 曄, 壽康力, 朱國棟
(合肥工業(yè)大學(xué) 機械工程學(xué)院,安徽 合肥 230009)
科技發(fā)展使無人艇在軍事和民用領(lǐng)域的應(yīng)用日益廣泛[1]。航向控制器的設(shè)計是無人艇實現(xiàn)完全自主航行和智能控制的核心,經(jīng)典比例、積分和微分(proportional integral derivative,PID)控制器在早期船舶航向控制中應(yīng)用廣泛,但經(jīng)典PID控制器在抗干擾能力、穩(wěn)定性及精度等方面難以滿足日益復(fù)雜的軍用和民用任務(wù)要求[2]。
近年來,國內(nèi)外研究學(xué)者對無人艇的航向控制進行了大量研究,并取得了一定的成果。文獻[3]將擴展的卡爾曼濾波法應(yīng)用在級聯(lián)結(jié)構(gòu)形式的模塊化非線性航向控制系統(tǒng)中;文獻[4]通過建立PID航向控制算法的KP、KI、KD初始值計算模型,實現(xiàn)了對模糊自整定PID航向控制算法的優(yōu)化;文獻[5]采用機理建模的方法建立了無人艇三自由度運動模型,針對無人艇的航向控制問題設(shè)計了魯棒PID滑??刂破?文獻[6]采用基于局部控制網(wǎng)絡(luò)的非線性自動駕駛技術(shù)來解決無人艇的控制問題。上述研究多數(shù)偏重于理論分析,而面向?qū)嶋H應(yīng)用的無人艇控制方法與可靠性研究仍不充分。
本文將模糊控制的非線性控制作用和神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)、自適應(yīng)特點結(jié)合起來,設(shè)計一種模糊神經(jīng)網(wǎng)絡(luò)PID控制器,以提高無人艇的航向控制精度,并通過仿真及實驗對設(shè)計的控制器進行驗證。
航向控制器設(shè)計的關(guān)鍵是建立準確的無人艇實際運動模型??紤]到無人艇的大慣性、大時滯特點,將其運動模型簡化為二階野本傳遞函數(shù)模型[7],即
(1)
其中:K′為回轉(zhuǎn)性指數(shù);T0為應(yīng)舵指數(shù)。
無人艇用舵機來控制船舶轉(zhuǎn)向,進而改變航向[8]。一般將舵機系統(tǒng)看作一個一階慣性過程[9],傳遞函數(shù)為:
(2)
其中:δ為實際舵角;δE為目標舵角;TE為舵機時間常數(shù)。
本文所設(shè)計的模糊神經(jīng)網(wǎng)絡(luò)PID控制器原理如圖1所示,主要由3個部分[10]組成:
(1) 傳統(tǒng)PID控制器。對被控對象進行在線閉環(huán)控制。
(2) 模糊處理模塊。針對系統(tǒng)的狀態(tài)變量做模糊化和歸一化處理,具有魯棒性和非線性控制作用。
(3) 神經(jīng)網(wǎng)絡(luò)模塊。神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)能力,可以對輸入數(shù)據(jù)樣本集進行學(xué)習(xí)分類以在線調(diào)整隸屬函數(shù)。
控制器特點是將神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力應(yīng)用于模糊算法中,使得模糊算法的各步驟如模糊化變量、模糊推理及清晰化變量融于神經(jīng)網(wǎng)絡(luò)的各層,從而實時調(diào)整網(wǎng)絡(luò)權(quán)值和隸屬函數(shù),最后輸出PID控制器的最優(yōu)參數(shù)。
圖1 模糊神經(jīng)網(wǎng)絡(luò)PID控制器原理圖
本文采用增量式PID控制算法,即
u(k)=u(k-1)+KP[e(k)-e(k-1)]+
KIe(k)+KD[e(k)-2e(k-1)+e(k-2)]
(3)
其中:u(k)、u(k-1)分別為第k次、第k-1次采樣周期的輸出值;e(k)、e(k-1)分別為第k次、第k-1次采樣周期的輸入偏差;KP、KI、KD分別為比例、積分、微分系數(shù)。
根據(jù)無人艇航向控制器的實時性要求,本文設(shè)計的模糊神經(jīng)網(wǎng)絡(luò)分為5層,結(jié)構(gòu)如圖2所示。
圖2 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
各層的具體算法步驟[11]如下:
(1) 確定輸入層。該層節(jié)點數(shù)N1=2,取航向角的偏差值e和偏差變化率ec作為輸入變量,輸出為:
(4)
(2) 計算隸屬函數(shù)。將輸入變量的模糊論域都設(shè)置為[-6,6],并分割為7個模糊集合,分別為NB、NM、NS、ZO、PS、PM、PB,因此該層節(jié)點數(shù)N2=14,選用高斯函數(shù)作為隸屬函數(shù),輸出為:
(5)
(3) 確定模糊規(guī)則。該層的節(jié)點數(shù)N3=49,每個節(jié)點對應(yīng)一條模糊規(guī)則,則每條規(guī)則的適應(yīng)度為:
(6)
(4) 歸一化計算。第4層節(jié)點數(shù)N4同樣為49個,目的是實現(xiàn)歸一化,即
(7)
(5) 確定輸出層。輸出層共有3個輸出量,分別表示PID控制器的比例、積分、微分系數(shù),即
(8)
由上可知,可以調(diào)整的參數(shù)有連接權(quán)值wkl、隸屬函數(shù)的中心值cij和寬度σij。本文采用反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)訓(xùn)練給定的學(xué)習(xí)樣本,設(shè)置最大迭代次數(shù)為5 000次,期望誤差為0.005,以此來優(yōu)化wkl、cij和σij。
在MATLAB軟件中根據(jù)上述設(shè)計流程,搭建無人艇航向控制系統(tǒng)的Simulink仿真模型。為了更直觀地體現(xiàn)出模糊神經(jīng)網(wǎng)絡(luò)PID航向控制器的優(yōu)點,將常規(guī)PID、模糊PID與模糊神經(jīng)網(wǎng)絡(luò)PID置于同一仿真系統(tǒng)中。
所設(shè)計的無人艇傳遞函數(shù)和舵機傳遞函數(shù)分別為0.57/(2.37s2+s)和1/(3s+1);采用試湊法調(diào)節(jié)PID控制器3個參數(shù)的初始值KP、KI、KD分別為0.940 0、0.003 3、2.610 0;根據(jù)仿真系統(tǒng)輸入與輸出范圍及設(shè)置的模糊論域[12],取模糊系統(tǒng)的量化因子ke=0.330、kec=0.004,比例因子kKP=0.300 0、kKI=0.002 5、kKD=10.000 0。控制系統(tǒng)的輸入量為航向角的設(shè)定值,仿真取航向角為15°,輸出為所控制無人艇的輸出航向角,仿真結(jié)果如圖3所示。
圖3 仿真結(jié)果對比
根據(jù)上述仿真實驗結(jié)果計算3種不同控制方式的時域性能指標,結(jié)果見表1所列。表1中調(diào)節(jié)時間上下浮動幅度為5%。
表1 仿真結(jié)果分析
從圖3和表1可以看出,模糊神經(jīng)網(wǎng)絡(luò)PID方法對航向角的控制性能最好,超調(diào)量有較大程度的減少,上升時間和調(diào)節(jié)時間也有了不同程度的改善。
在實際設(shè)計中,考慮到無人艇的傳遞函數(shù)是通過艇長、艇寬、排水量、方形系數(shù)、尾舵面積、艇速和吃水深度等參數(shù)確定的,而這些參數(shù)在測量取值過程中難免會存在誤差,從而導(dǎo)致真實的被控?zé)o人艇的傳遞函數(shù)與仿真系統(tǒng)的傳遞函數(shù)并不完全一致。為了驗證本文設(shè)計的模糊神經(jīng)網(wǎng)絡(luò)PID航向控制器相較于常規(guī)PID仍具有較好的控制能力和穩(wěn)定性,在仿真系統(tǒng)中使傳遞函數(shù)在一定范圍內(nèi)變動,所得到的航向角響應(yīng)曲線如圖4、圖5所示。
從圖4、圖5可以看出,即使由于無人艇自身參數(shù)誤差導(dǎo)致傳遞函數(shù)發(fā)生小范圍改變,本文設(shè)計的模糊神經(jīng)網(wǎng)絡(luò)PID控制器同樣具有較好的控制效果。
圖4 無人艇傳遞函數(shù)為0.8/(2.81s2+s)航向器控制效果對比
圖5 無人艇傳遞函數(shù)為0.45/(2.25s2+s)航向器控制效果對比
為了驗證模糊神經(jīng)網(wǎng)絡(luò)PID航向控制算法的優(yōu)越性,在合肥工業(yè)大學(xué)斛兵塘進行無人艇水面實驗。水面無人艇模型及上位機實驗平臺如圖6所示。
無人艇控制系統(tǒng)由PC端的岸站監(jiān)控系統(tǒng)和艇載控制系統(tǒng)2個部分組成,總體結(jié)構(gòu)框圖如圖7所示。實驗過程中為證明所設(shè)計無人艇的實用性,同時進行斛兵塘水域水質(zhì)的監(jiān)測。
圖6 水面無人艇模型及上位機
圖7 無人艇控制系統(tǒng)總體框圖
無人艇下水實驗時,通過上位機設(shè)置的起始點與目標點自動規(guī)劃出一條避障路徑并生成沿途路徑點,無人艇分別在常規(guī)PID航向控制算法和模糊神經(jīng)網(wǎng)絡(luò)PID航向控制算法下按序沿著路徑點進行自主航行。到達目標點后,對下位機在航行過程中發(fā)送的數(shù)據(jù)包進行解析,得到速度、航向角及TDS值等參數(shù),在上位機中對這些參數(shù)進行可視化處理,結(jié)果如圖8所示。
圖8 無人艇自主航行測試結(jié)果
從圖8可以看出無人艇的航行運動規(guī)律及區(qū)域水質(zhì)分布規(guī)律。
為了更直觀地對比2個不同航向控制算法的差異性,將航行過程中下位機發(fā)送的位置及航向角進行數(shù)據(jù)處理和曲線擬合,得到無人艇航行軌跡和航向角的對比結(jié)果,如圖9所示。
圖9 控制效果對比
由圖9a可知,基于模糊神經(jīng)網(wǎng)絡(luò)PID控制算法的航行軌跡更接近于理論軌跡;由圖9b可知,基于常規(guī)PID控制算法的航向角相較于理論值的標準差為17.594,而基于模糊神經(jīng)網(wǎng)絡(luò)PID控制算法的航向角相較于理論值的標準差為12.499。因此,本文提出的模糊神經(jīng)網(wǎng)絡(luò)PID控制器與常規(guī)PID控制器相比誤差更小,對航向角的變化反應(yīng)更為迅速,提高了無人艇的航向控制精度。
本文面向無人艇航向控制方法和實用性進行研究,提出了模糊神經(jīng)網(wǎng)絡(luò)PID控制算法,通過仿真與實驗得到如下結(jié)論:
(1) 與常規(guī)PID控制器和模糊PID控制器相比,模糊神經(jīng)網(wǎng)絡(luò)PID控制器在超調(diào)量及調(diào)節(jié)時間等性能指標上有不同程度的改善與提升。
(2) 模糊神經(jīng)網(wǎng)絡(luò)PID控制器對傳遞函數(shù)的微小變動仍有較好的控制效果。
(3) 在無人艇實際應(yīng)用中,模糊神經(jīng)網(wǎng)絡(luò)PID控制器反應(yīng)迅速,控制精度高。