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