李小峰,于慧彬
(齊魯工業(yè)大學(山東省科學院),山東省科學院海洋儀器儀表研究所,山東省海洋監(jiān)測儀器裝備技術重點實驗室,國家海洋監(jiān)測設備工程技術研究中心,山東 青島 266001)
船舶航向控制是船舶航行操縱的重要組成部分,其性能的優(yōu)劣決定了航行的安全性和經濟性,船舶航向控制系統(tǒng)是船舶的關鍵設備之一。船舶航向運動模型是一種典型非線性時變系統(tǒng),為便于進行控制系統(tǒng)設計,在船舶航行保持階段可將此運動模型進行簡化,用一階KT模型對船舶航向運動進行描述,這種傳統(tǒng)PID控制系統(tǒng)結構簡單,易于實現[1]。對于船舶航向運動這種大慣性系統(tǒng)而言,控制系統(tǒng)的穩(wěn)定性是系統(tǒng)設計時需重點考慮的問題。常規(guī)的自適應算法參數整定困難,一般都是憑借操作人員的經驗,根據駕駛船舶的航速、海況、船舶裝載情況以及船體吃水等諸多因素,進行人工航向調整,缺乏對船舶動態(tài)及海況變化的自適應能力,易受主觀人為因素的影響。由于船舶自身的非線性特性,控制效果與穩(wěn)定性難以保證。
為改善上述傳統(tǒng)控制系統(tǒng)的局限性,本文利用BP神經網絡自身具備的良好逼近非線性系統(tǒng)的能力,再結合傳統(tǒng)的PID船舶控制理論,針對某型渡輪航行時的航向特性,設計了基于BP神經網絡的自適應控制策略。運用神經網絡的自學習能力,辨識出PDI控制系統(tǒng)所需的三個關鍵參數,通過動態(tài)調整控制參數并優(yōu)化神經網絡的收斂速度,實現自整定的PID控制器,在MATLAB/Simulink環(huán)境下對所設計系統(tǒng)的性能進行了軟件仿真驗證。
對于直線穩(wěn)定的船舶,根據一階KT方程描述出的船舶操縱運動響應能夠滿意地逼近船舶的實際運動。為達到工程應用的要求,將一階KT方程用于船舶控制系統(tǒng)控制器的設計中,把船舶整體看成剛體,并假定船舶在回轉時只受到轉艇時受到的力矩和水的阻力力矩的作用,船舶舵機采用下式模型表示:
(1)
航向控制系統(tǒng)是一種典型的自動控制系統(tǒng),系統(tǒng)以船舶航向角為控制對象,接收電羅經等航向測量設備輸出的船舶航向信號、舵角反饋機構反饋的舵角信號、航向指令設定信號等輸入信號,經過航向控制系統(tǒng)綜合運算給出指令舵角信號,并控制舵機轉動,實現對船舶航向的有效控制。PID控制屬于線性控制方法,傳統(tǒng)PID控制系統(tǒng)原理如圖1所示[3]。根據航向操作給定指令r(t)與實際舵機輸出值y(t)構成的方向控制偏差e(t),對實際輸出與預設值之間的差值分別進行積分運算、比例運算及微分運算,然后將前述各個運算結果相加,如圖所示,即可得到對船舶舵機的控制輸出結果u(t),并將該結果輸出到舵機。反復此過程實現對船舶航向的控制。
圖1 PID控制系統(tǒng)原理框圖Fig.1 Principle block diagram of PID control system
傳統(tǒng)航向PID控制器的輸入輸出關系為:
(2)
式中,u(t)為輸出值,e(t)為取樣偏差值,即e(t)=r(t)-y(t);Kp為比例系數,Ti為積分時間常數;Td為微分時間常數[4]。
根據傳統(tǒng)PID(proportion(比例)-integral(積分)-derivative(微分))系統(tǒng)控制理論,需要調配PID控制系統(tǒng)中積分、微分以及比例運算三個環(huán)節(jié)的控制作用,使各運算環(huán)節(jié)相互制約又相互配合。三種運算環(huán)節(jié)不能僅僅進行簡單的線性組合疊加,而是需要在各種多樣化的非線性組合中找出符合實際船舶操控的最佳組合方式[5]。神經網絡在處理非線性函數時具有極強的逼近能力,同時自身還具備自學習能力,依據船舶的實際參數情況設定最優(yōu)指標,神經網絡能夠學習船舶航向操縱控制系統(tǒng)的反饋結果,根據反饋情況自動調整神經網絡系統(tǒng)內部的設計參數,重復此過程直至控制結果達到航向PID控制的預設誤差要求范圍內為止。使PID控制器能夠快速響應船舶結構、相關運行參數以及輸入信號的變換,并在有外界擾動輸入時能夠抵御其對控制系統(tǒng)的影響。應用BP神經網絡理論,設計基于船舶控制參數Kd、Ki、Kp的具有自學習能力的PID控制器[6]。
基于BP網絡設計的具備自學習能力的PID控制系統(tǒng)結構框圖如圖2所示。該控制系統(tǒng)以傳統(tǒng)經典PID控制系統(tǒng)為基礎,經典PID船舶航向控制器直接對舵機進行閉環(huán)控制,系統(tǒng)內3個主要參數:積分系數Ki、微分系數Kd及比例系數Kp均為在線調整方式。在該基礎上設計增加BP神經網絡控制單元,該單元將接收系統(tǒng)的運行狀態(tài),結果自學習后輸出用于Kp、Ki、Kd這三個用于航向控制調整的參數到PID控制器中作為控制器的輸入。通過BP神經網絡的自學習及加權調整,使輸出參數對應于預設工況情景下的最優(yōu)控制PID參數[7]。
圖2 基于BP神經網絡的航向PID控制系統(tǒng)原理框圖Fig.2 PID control system block diagram based on BP neural network
經典的PID控制器算法我們采用增量式數字PID控制算法,該算法在控制過程中每次輸出的控制值僅是控制的增量,執(zhí)行器每次變化量較小,被控對象參數變化平緩,控制系統(tǒng)相對穩(wěn)定。其控制算法公式為:
u(k)=u(k-1)+Δu(k),
(3)
式中,Δu(k)為PID控制器第k次相對于第(k-1)次控制量的增量,即
Δu(k)=Kp(e(k)-e(k-1))+Kie(k)+Kd(e(k)-2e(k-1)+e(k-2))。
(4)
認為Kp、Ki、Kd為隨系統(tǒng)運行狀態(tài)的可調系數,則有:
u(k)=f[u(k-1),Kp,Ki,Kd,e(k)],
(5)
即u(k)是與u(k-1),y(k),Kp,Ki,Kd相關的非線性函數,可通過樣本訓練,利用BP神經網絡獲得最優(yōu)解,從而得到船舶航向控制的最優(yōu)控制系統(tǒng)。
此次的BP神經網絡設計采用結構如圖3所示的三層BP網絡結構。網絡分為輸入層、隱含層與輸出層三層。其中,輸入層設置有輸入節(jié)點M個,隱含層設置有運算節(jié)點N個,輸出層設置有網絡節(jié)點Q個。船舶航行控制系統(tǒng)的運行狀態(tài)數據通過輸入節(jié)點錄入神經網絡,數據在輸入神經網絡時需預先進行歸一化處理。設計BP神經網絡的輸出節(jié)點分別對應于PID航向控制系統(tǒng)的調節(jié)參數Ki、Kd、Kp。考慮到航向PID控制系統(tǒng)中上述三個參數的取值范圍均不能為負,因此在輸出層神經元激活函數設計時,該函數設計選取非負的Sigmoid函數。對于BP神經網絡隱含層神經元激活函數,在設計時則相應地選取了正負對稱的Sigmoid函數[8]。
圖3 BP神經網絡單元組成結構圖Fig.3 Structure diagram of BP neural network unit
由BP神經網絡單元組成結構圖可知,輸入層為:Oj=Xj,j=1,2,3,…,M,其中,Oj為輸入層第j個節(jié)點的輸出,輸入節(jié)點的數量M取決于被控系統(tǒng)的復雜程度。
網絡隱含層的輸入輸出為:
(6)
式中,φ(k)為神經網絡某一層的輸入函數;上標 (1),(2),(3)分別代表神經網絡的輸入層、隱含層及輸出層;ωij(2)為神經網絡隱含層加權系數,θi(2)為神經網絡隱含層神經元閾值函數;f[x]為神經網絡隱含層神經元激活函數,如前所述取正負對稱的Sigmoid函數。即:
f[x]=tanh(x)=(ex-e-x)/(ex+e-x)。
(7)
BP神經網絡輸出層的輸入輸出為:
(8)
。
(9)
BP神經網絡的性能指標函數則設計選取為:
(10)
其中,rin(k)為期望輸出,yout(k)為實際輸出。為能夠快速獲得自學習結果,設計采用梯度下降法來修正BP神經網絡的加權系數。將E(k)對加權系數的負梯度方向設定為該法的搜索方向,考慮到該方法越接近目標值,步長越小,收斂速度越慢,故設置一個使搜索快速收斂的全局極小的常數閾值,則有:
(11)
其中,η為學習速率,η>0,α為慣性系數,其通常取值范圍在0~1之間[9]。
。
(12)
其中
(13)
。
(14)
。
(15)
由以上各式可推導BP神經網絡輸出層的加權系數計算公式為:
(16)
BP神經網絡隱含層加權系數的計算公式可參考前述輸出層的推導過程,進行推算可得:
(17)
仿真結果如圖5所示,Kp、Ki、Kd的變化趨勢如圖6所示。從圖中可以看出,基于BP神經網絡的PID控制器可以實現舵的實時控制,使船舶航向角跟蹤上給定值,只要預定航向角實時航向角存在誤差,舵機就能不斷工作,直至誤差為零,此時舵角歸零。航向角在約100 s時有外界干擾介入,舵角一開始迅速下降,之后迅速上升,最后舵角誤差歸零,船舶達到預定航向角。系統(tǒng)的超調很小,魯棒性好,可以長時間穩(wěn)定工作,穩(wěn)態(tài)誤差可控。從仿真結果看,與周蓉[3]、霍星星等[8]、彭秀艷等[9]在該領域進行實驗取得的相關仿真結果一致,表明該方法應用到實船工程設計中后,可以有效減少船舶舵機的損耗。
圖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
本文針對船舶航向運動特性建立了基于一階KT模型的船舶航向控制系統(tǒng)模型,根據航向控制系統(tǒng)特性給出基于BP神經網絡的PID控制參數的訓練獲取方法??刂葡到y(tǒng)設計完成后,根據真實渡輪船舶特征參數,利用MATLAB/Simulink仿真軟件建立船舶航向運動控制系統(tǒng)模型并進行航向控制仿真模擬運算。仿真結果表明,基于BP神經網絡的PID航向控制系統(tǒng)具有自學習能力,超調小、魯棒性好,控制系統(tǒng)可長時間穩(wěn)定工作,幾乎無穩(wěn)態(tài)誤差。仿真結果顯示設計的船舶航向控制系統(tǒng)實現了對船舶航向的有效控制,證明基于BP神經網絡的PID控制算法對船舶航向控制的有效性。由于BP神經網絡自學習速度不夠迅速,收斂速度還需要調整,雖然仿真結構較為理想,但在仿真時沒有考慮加入海浪對控制的影響,這與實際航向環(huán)境也有較大差距,需在今后進一步地加以研究。目前此項工作還處在仿真實驗階段,并未真正應用于船舶舵機設備,隨著算法研究的不斷深入和提高,以及神經網絡方法的日趨完善,該設計方法將能夠通過硬件設計應用于船舶自動舵設備中,未來將具有廣闊的應用前景。