李小峰,于慧彬
(齊魯工業(yè)大學(xué)(山東省科學(xué)院),山東省科學(xué)院海洋儀器儀表研究所,山東省海洋監(jiān)測(cè)儀器裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,國(guó)家海洋監(jiān)測(cè)設(shè)備工程技術(shù)研究中心,山東 青島 266001)
船舶航向控制是船舶航行操縱的重要組成部分,其性能的優(yōu)劣決定了航行的安全性和經(jīng)濟(jì)性,船舶航向控制系統(tǒng)是船舶的關(guān)鍵設(shè)備之一。船舶航向運(yùn)動(dòng)模型是一種典型非線性時(shí)變系統(tǒng),為便于進(jìn)行控制系統(tǒng)設(shè)計(jì),在船舶航行保持階段可將此運(yùn)動(dòng)模型進(jìn)行簡(jiǎn)化,用一階KT模型對(duì)船舶航向運(yùn)動(dòng)進(jìn)行描述,這種傳統(tǒng)PID控制系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn)[1]。對(duì)于船舶航向運(yùn)動(dòng)這種大慣性系統(tǒng)而言,控制系統(tǒng)的穩(wěn)定性是系統(tǒng)設(shè)計(jì)時(shí)需重點(diǎn)考慮的問(wèn)題。常規(guī)的自適應(yīng)算法參數(shù)整定困難,一般都是憑借操作人員的經(jīng)驗(yàn),根據(jù)駕駛船舶的航速、海況、船舶裝載情況以及船體吃水等諸多因素,進(jìn)行人工航向調(diào)整,缺乏對(duì)船舶動(dòng)態(tài)及海況變化的自適應(yīng)能力,易受主觀人為因素的影響。由于船舶自身的非線性特性,控制效果與穩(wěn)定性難以保證。
為改善上述傳統(tǒng)控制系統(tǒng)的局限性,本文利用BP神經(jīng)網(wǎng)絡(luò)自身具備的良好逼近非線性系統(tǒng)的能力,再結(jié)合傳統(tǒng)的PID船舶控制理論,針對(duì)某型渡輪航行時(shí)的航向特性,設(shè)計(jì)了基于BP神經(jīng)網(wǎng)絡(luò)的自適應(yīng)控制策略。運(yùn)用神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力,辨識(shí)出PDI控制系統(tǒng)所需的三個(gè)關(guān)鍵參數(shù),通過(guò)動(dòng)態(tài)調(diào)整控制參數(shù)并優(yōu)化神經(jīng)網(wǎng)絡(luò)的收斂速度,實(shí)現(xiàn)自整定的PID控制器,在MATLAB/Simulink環(huán)境下對(duì)所設(shè)計(jì)系統(tǒng)的性能進(jìn)行了軟件仿真驗(yàn)證。
對(duì)于直線穩(wěn)定的船舶,根據(jù)一階KT方程描述出的船舶操縱運(yùn)動(dòng)響應(yīng)能夠滿意地逼近船舶的實(shí)際運(yùn)動(dòng)。為達(dá)到工程應(yīng)用的要求,將一階KT方程用于船舶控制系統(tǒng)控制器的設(shè)計(jì)中,把船舶整體看成剛體,并假定船舶在回轉(zhuǎn)時(shí)只受到轉(zhuǎn)艇時(shí)受到的力矩和水的阻力力矩的作用,船舶舵機(jī)采用下式模型表示:

(1)

航向控制系統(tǒng)是一種典型的自動(dòng)控制系統(tǒng),系統(tǒng)以船舶航向角為控制對(duì)象,接收電羅經(jīng)等航向測(cè)量設(shè)備輸出的船舶航向信號(hào)、舵角反饋機(jī)構(gòu)反饋的舵角信號(hào)、航向指令設(shè)定信號(hào)等輸入信號(hào),經(jīng)過(guò)航向控制系統(tǒng)綜合運(yùn)算給出指令舵角信號(hào),并控制舵機(jī)轉(zhuǎn)動(dòng),實(shí)現(xiàn)對(duì)船舶航向的有效控制。PID控制屬于線性控制方法,傳統(tǒng)PID控制系統(tǒng)原理如圖1所示[3]。根據(jù)航向操作給定指令r(t)與實(shí)際舵機(jī)輸出值y(t)構(gòu)成的方向控制偏差e(t),對(duì)實(shí)際輸出與預(yù)設(shè)值之間的差值分別進(jìn)行積分運(yùn)算、比例運(yùn)算及微分運(yùn)算,然后將前述各個(gè)運(yùn)算結(jié)果相加,如圖所示,即可得到對(duì)船舶舵機(jī)的控制輸出結(jié)果u(t),并將該結(jié)果輸出到舵機(jī)。反復(fù)此過(guò)程實(shí)現(xiàn)對(duì)船舶航向的控制。

圖1 PID控制系統(tǒng)原理框圖Fig.1 Principle block diagram of PID control system
傳統(tǒng)航向PID控制器的輸入輸出關(guān)系為:

(2)
式中,u(t)為輸出值,e(t)為取樣偏差值,即e(t)=r(t)-y(t);Kp為比例系數(shù),Ti為積分時(shí)間常數(shù);Td為微分時(shí)間常數(shù)[4]。
根據(jù)傳統(tǒng)PID(proportion(比例)-integral(積分)-derivative(微分))系統(tǒng)控制理論,需要調(diào)配PID控制系統(tǒng)中積分、微分以及比例運(yùn)算三個(gè)環(huán)節(jié)的控制作用,使各運(yùn)算環(huán)節(jié)相互制約又相互配合。三種運(yùn)算環(huán)節(jié)不能僅僅進(jìn)行簡(jiǎn)單的線性組合疊加,而是需要在各種多樣化的非線性組合中找出符合實(shí)際船舶操控的最佳組合方式[5]。神經(jīng)網(wǎng)絡(luò)在處理非線性函數(shù)時(shí)具有極強(qiáng)的逼近能力,同時(shí)自身還具備自學(xué)習(xí)能力,依據(jù)船舶的實(shí)際參數(shù)情況設(shè)定最優(yōu)指標(biāo),神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)船舶航向操縱控制系統(tǒng)的反饋結(jié)果,根據(jù)反饋情況自動(dòng)調(diào)整神經(jīng)網(wǎng)絡(luò)系統(tǒng)內(nèi)部的設(shè)計(jì)參數(shù),重復(fù)此過(guò)程直至控制結(jié)果達(dá)到航向PID控制的預(yù)設(shè)誤差要求范圍內(nèi)為止。使PID控制器能夠快速響應(yīng)船舶結(jié)構(gòu)、相關(guān)運(yùn)行參數(shù)以及輸入信號(hào)的變換,并在有外界擾動(dòng)輸入時(shí)能夠抵御其對(duì)控制系統(tǒng)的影響。應(yīng)用BP神經(jīng)網(wǎng)絡(luò)理論,設(shè)計(jì)基于船舶控制參數(shù)Kd、Ki、Kp的具有自學(xué)習(xí)能力的PID控制器[6]。
基于BP網(wǎng)絡(luò)設(shè)計(jì)的具備自學(xué)習(xí)能力的PID控制系統(tǒng)結(jié)構(gòu)框圖如圖2所示。該控制系統(tǒng)以傳統(tǒng)經(jīng)典PID控制系統(tǒng)為基礎(chǔ),經(jīng)典PID船舶航向控制器直接對(duì)舵機(jī)進(jìn)行閉環(huán)控制,系統(tǒng)內(nèi)3個(gè)主要參數(shù):積分系數(shù)Ki、微分系數(shù)Kd及比例系數(shù)Kp均為在線調(diào)整方式。在該基礎(chǔ)上設(shè)計(jì)增加BP神經(jīng)網(wǎng)絡(luò)控制單元,該單元將接收系統(tǒng)的運(yùn)行狀態(tài),結(jié)果自學(xué)習(xí)后輸出用于Kp、Ki、Kd這三個(gè)用于航向控制調(diào)整的參數(shù)到PID控制器中作為控制器的輸入。通過(guò)BP神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)及加權(quán)調(diào)整,使輸出參數(shù)對(duì)應(yīng)于預(yù)設(shè)工況情景下的最優(yōu)控制PID參數(shù)[7]。

圖2 基于BP神經(jīng)網(wǎng)絡(luò)的航向PID控制系統(tǒng)原理框圖Fig.2 PID control system block diagram based on BP neural network
經(jīng)典的PID控制器算法我們采用增量式數(shù)字PID控制算法,該算法在控制過(guò)程中每次輸出的控制值僅是控制的增量,執(zhí)行器每次變化量較小,被控對(duì)象參數(shù)變化平緩,控制系統(tǒng)相對(duì)穩(wěn)定。其控制算法公式為:
u(k)=u(k-1)+Δu(k),
(3)
式中,Δu(k)為PID控制器第k次相對(duì)于第(k-1)次控制量的增量,即
Δu(k)=Kp(e(k)-e(k-1))+Kie(k)+Kd(e(k)-2e(k-1)+e(k-2))。
(4)
認(rèn)為Kp、Ki、Kd為隨系統(tǒng)運(yùn)行狀態(tài)的可調(diào)系數(shù),則有:
u(k)=f[u(k-1),Kp,Ki,Kd,e(k)],
(5)
即u(k)是與u(k-1),y(k),Kp,Ki,Kd相關(guān)的非線性函數(shù),可通過(guò)樣本訓(xùn)練,利用BP神經(jīng)網(wǎng)絡(luò)獲得最優(yōu)解,從而得到船舶航向控制的最優(yōu)控制系統(tǒng)。
此次的BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)采用結(jié)構(gòu)如圖3所示的三層BP網(wǎng)絡(luò)結(jié)構(gòu)。網(wǎng)絡(luò)分為輸入層、隱含層與輸出層三層。其中,輸入層設(shè)置有輸入節(jié)點(diǎn)M個(gè),隱含層設(shè)置有運(yùn)算節(jié)點(diǎn)N個(gè),輸出層設(shè)置有網(wǎng)絡(luò)節(jié)點(diǎn)Q個(gè)。船舶航行控制系統(tǒng)的運(yùn)行狀態(tài)數(shù)據(jù)通過(guò)輸入節(jié)點(diǎn)錄入神經(jīng)網(wǎng)絡(luò),數(shù)據(jù)在輸入神經(jīng)網(wǎng)絡(luò)時(shí)需預(yù)先進(jìn)行歸一化處理。設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò)的輸出節(jié)點(diǎn)分別對(duì)應(yīng)于PID航向控制系統(tǒng)的調(diào)節(jié)參數(shù)Ki、Kd、Kp??紤]到航向PID控制系統(tǒng)中上述三個(gè)參數(shù)的取值范圍均不能為負(fù),因此在輸出層神經(jīng)元激活函數(shù)設(shè)計(jì)時(shí),該函數(shù)設(shè)計(jì)選取非負(fù)的Sigmoid函數(shù)。對(duì)于BP神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元激活函數(shù),在設(shè)計(jì)時(shí)則相應(yīng)地選取了正負(fù)對(duì)稱的Sigmoid函數(shù)[8]。

圖3 BP神經(jīng)網(wǎng)絡(luò)單元組成結(jié)構(gòu)圖Fig.3 Structure diagram of BP neural network unit
由BP神經(jīng)網(wǎng)絡(luò)單元組成結(jié)構(gòu)圖可知,輸入層為:Oj=Xj,j=1,2,3,…,M,其中,Oj為輸入層第j個(gè)節(jié)點(diǎn)的輸出,輸入節(jié)點(diǎn)的數(shù)量M取決于被控系統(tǒng)的復(fù)雜程度。
網(wǎng)絡(luò)隱含層的輸入輸出為:
(6)
式中,φ(k)為神經(jīng)網(wǎng)絡(luò)某一層的輸入函數(shù);上標(biāo) (1),(2),(3)分別代表神經(jīng)網(wǎng)絡(luò)的輸入層、隱含層及輸出層;ωij(2)為神經(jīng)網(wǎng)絡(luò)隱含層加權(quán)系數(shù),θi(2)為神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元閾值函數(shù);f[x]為神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元激活函數(shù),如前所述取正負(fù)對(duì)稱的Sigmoid函數(shù)。即:
f[x]=tanh(x)=(ex-e-x)/(ex+e-x)。
(7)
BP神經(jīng)網(wǎng)絡(luò)輸出層的輸入輸出為:
(8)
。
(9)
BP神經(jīng)網(wǎng)絡(luò)的性能指標(biāo)函數(shù)則設(shè)計(jì)選取為:

(10)
其中,rin(k)為期望輸出,yout(k)為實(shí)際輸出。為能夠快速獲得自學(xué)習(xí)結(jié)果,設(shè)計(jì)采用梯度下降法來(lái)修正BP神經(jīng)網(wǎng)絡(luò)的加權(quán)系數(shù)。將E(k)對(duì)加權(quán)系數(shù)的負(fù)梯度方向設(shè)定為該法的搜索方向,考慮到該方法越接近目標(biāo)值,步長(zhǎng)越小,收斂速度越慢,故設(shè)置一個(gè)使搜索快速收斂的全局極小的常數(shù)閾值,則有:

(11)
其中,η為學(xué)習(xí)速率,η>0,α為慣性系數(shù),其通常取值范圍在0~1之間[9]。
。
(12)
其中
(13)
。
(14)
。
(15)
由以上各式可推導(dǎo)BP神經(jīng)網(wǎng)絡(luò)輸出層的加權(quán)系數(shù)計(jì)算公式為:
(16)
BP神經(jīng)網(wǎng)絡(luò)隱含層加權(quán)系數(shù)的計(jì)算公式可參考前述輸出層的推導(dǎo)過(guò)程,進(jìn)行推算可得:
(17)

仿真結(jié)果如圖5所示,Kp、Ki、Kd的變化趨勢(shì)如圖6所示。從圖中可以看出,基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器可以實(shí)現(xiàn)舵的實(shí)時(shí)控制,使船舶航向角跟蹤上給定值,只要預(yù)定航向角實(shí)時(shí)航向角存在誤差,舵機(jī)就能不斷工作,直至誤差為零,此時(shí)舵角歸零。航向角在約100 s時(shí)有外界干擾介入,舵角一開(kāi)始迅速下降,之后迅速上升,最后舵角誤差歸零,船舶達(dá)到預(yù)定航向角。系統(tǒng)的超調(diào)很小,魯棒性好,可以長(zhǎng)時(shí)間穩(wěn)定工作,穩(wěn)態(tài)誤差可控。從仿真結(jié)果看,與周蓉[3]、霍星星等[8]、彭秀艷等[9]在該領(lǐng)域進(jìn)行實(shí)驗(yàn)取得的相關(guān)仿真結(jié)果一致,表明該方法應(yīng)用到實(shí)船工程設(shè)計(jì)中后,可以有效減少船舶舵機(jī)的損耗。

圖4 船舶航向控制系統(tǒng)仿真框圖[10]Fig.4 Simulation diagram of ship course control system [10]

圖5 航向變化圖Fig.5 Vessel heading curve

圖6 Kp,Ki,Kd變化圖Fig.6 Kp,Ki,Kd curve
本文針對(duì)船舶航向運(yùn)動(dòng)特性建立了基于一階KT模型的船舶航向控制系統(tǒng)模型,根據(jù)航向控制系統(tǒng)特性給出基于BP神經(jīng)網(wǎng)絡(luò)的PID控制參數(shù)的訓(xùn)練獲取方法??刂葡到y(tǒng)設(shè)計(jì)完成后,根據(jù)真實(shí)渡輪船舶特征參數(shù),利用MATLAB/Simulink仿真軟件建立船舶航向運(yùn)動(dòng)控制系統(tǒng)模型并進(jìn)行航向控制仿真模擬運(yùn)算。仿真結(jié)果表明,基于BP神經(jīng)網(wǎng)絡(luò)的PID航向控制系統(tǒng)具有自學(xué)習(xí)能力,超調(diào)小、魯棒性好,控制系統(tǒng)可長(zhǎng)時(shí)間穩(wěn)定工作,幾乎無(wú)穩(wěn)態(tài)誤差。仿真結(jié)果顯示設(shè)計(jì)的船舶航向控制系統(tǒng)實(shí)現(xiàn)了對(duì)船舶航向的有效控制,證明基于BP神經(jīng)網(wǎng)絡(luò)的PID控制算法對(duì)船舶航向控制的有效性。由于BP神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)速度不夠迅速,收斂速度還需要調(diào)整,雖然仿真結(jié)構(gòu)較為理想,但在仿真時(shí)沒(méi)有考慮加入海浪對(duì)控制的影響,這與實(shí)際航向環(huán)境也有較大差距,需在今后進(jìn)一步地加以研究。目前此項(xiàng)工作還處在仿真實(shí)驗(yàn)階段,并未真正應(yīng)用于船舶舵機(jī)設(shè)備,隨著算法研究的不斷深入和提高,以及神經(jīng)網(wǎng)絡(luò)方法的日趨完善,該設(shè)計(jì)方法將能夠通過(guò)硬件設(shè)計(jì)應(yīng)用于船舶自動(dòng)舵設(shè)備中,未來(lái)將具有廣闊的應(yīng)用前景。