李榮輝,陳志娟,李宗宣,卜仁祥
(1.大連海事大學航海學院,遼寧 大連 116026;2.廣東海洋大學海運學院,廣東 湛江 524088)
由于欠驅動船舶運動具有模型不確定、受外界干擾以及舵角輸入受約束等特性,所以對其路徑跟蹤控制是比較復雜的。Fossen 提出Line of Sight(LOS)制導法[1],將路徑跟蹤三維控制轉換為對船首向角的一維控制。文獻[2-3]在滑??刂浦薪Y合增量反饋,避免對不確定項進行估計。文獻[4-6]利用自抗擾控制器的核心(即擴張狀態觀測器)對內部未知項和外部擾動進行估計。文獻[7]利用神經網絡進行參數優化,避免不確定項和外界干擾。文獻[8-10]均采用自適應算法對外界干擾進行處理。文獻[11]設計最小二乘法與神經元自適應相結合的控制器,使船在風浪流干擾下仍能跟蹤上曲線航跡。文獻[12]將Lyapunov 直接法和神經網絡結合,使船在外界干擾下仍能跟蹤上正弦路徑。文獻[13]提出結合 backstepping 與徑向基函數(radial basis function,RBF)神經網絡的簡捷魯棒自適應控制器,有效地解決風浪流干擾。文獻[14]為防止所計算的控制律超出約束范圍,便引入輔助系統。文獻[2]利用雙曲正切函數本身的極值約束性對舵角輸入進行了限制。文獻[15]提出模型預測控制(model predictive control,MPC),使船能在有風流的環境中跟蹤上參考路徑。文獻[16]設計了軌跡跟蹤MPC控制器,能同時處理輸入及輸入增量約束。文獻[17]提出線性和非線性MPC,線性MPC 在計算量上更小卻在控制精度上不如非線性MPC 高,但兩者均能有效地處理約束問題。
從以上研究可以看出,對處理外界干擾及模型不確定項的研究已多有成果,而對于舵角約束處理的方案則較少。在舵角約束方面,本研究考慮到MPC 只需在求解二次型(Quadratic Programming,QP)[18]時加入舵角的限制值,便可自然地解決舵角約束問題,因此提出一種歐拉迭代MPC 控制算法,對船舶路徑跟蹤進行控制。多數MPC 算法是將卷積模型或狀態空間模型作為預測模型,來預測未來狀態值[16,19]。而船舶實際模型中各個狀態之間都是高度耦合的,需要對其簡化處理。本研究為提高預測精度,采用分離型船舶模型(mathematical model group,MMG)作為預測模型,與簡化后的船舶模型相比,MMG 與實際船舶運動情況更為符合。由于MMG 非線性和耦合程度較高,所需船舶參數較多且計算量大,因此本研究采用歐拉迭代法對MMG 模型進行離散并預測,并通過仿真結果驗證所提控制器的有效性。
分離型模型(MMG)是基于深層次的理論分析結合大量的試驗進行研究的,其將作用于船舶上的流體動力和力矩分解為作用于船體、螺旋槳和舵上的流體動力和力矩,并考慮各流體動力和力矩之間的相互影響[2]。船舶在平面內的位置與運動參數的關系如圖1 所示。

圖1 在流干擾下的船舶平面位置與運動參數Fig.1 Planimetric position and kinematicswith of ship under current disturbance
其中,在空間固定坐標系中,船舶重心在固定坐標系的位置用x0、y0表示,規定x軸指向正北,船首尾中心線與x軸的夾角即船首向角用φ表示。φc和Vc分別為流的流向和流速,ur為對水前進速度,vr為對水橫移速度,對水合速度U=(ur2+vr2)1/2。船舶運動速度在oxyz坐標系上沿x軸和y軸上的分量分別為u和v,u為對地前進速度,v為對地橫移速度,船首繞z軸旋轉的角速度為r,對地合速度V=(u2+v2)1/2,漂角β=arctan(v/u),δ為舵角。由圖1,考慮了風、浪、流干擾和舵機響應特性的船舶MMG 模型如下:

式中,δr為命令舵角,KE為舵機控制增益,TE為舵機時間常數,m為船舶質量,mx和my為附加質量,XH、YH和NH為作用于船體的黏性類流體動力(矩),XP、YP和NP為螺旋槳力(矩),XW、YW和NW為風力(矩),XWave、YWave和NWave為浪力(矩),IZZ為船舶繞豎直軸的慣性矩,JZZ為附加慣性矩。XR、YR和NR為舵力(矩),其計算公式如下:

式中,tR是舵阻力減額份數,aH是操舵引起的船體附加橫向力與舵橫向力的比值,xH是操舵誘導船體橫向力作用中心到船舶重心的距離,FN是舵正壓力。
本研究假設所有船舶系統狀態值x,y,φ,u,v,r均可被獲取到。給定螺旋槳轉速,只對橫向位移進行控制,控制目標是設計合適的舵角,使船舶跟蹤參考路徑。
本研究將MPC 作為路徑跟蹤控制器,MPC 算法包括預測模型、反饋校正、滾動優化三個要素[20]。它的主要優點是只需通過在約束下計算標準的QP二次型,便可直接解決系統輸入限制的問題。首先,根據預測模型和當前系統狀態來對預測時域Np內的所有未來狀態進行預測。然后,建立包含預測誤差在內的優化函數。最后通過在有約束下求解此優化函數,便可計算出最優控制輸入。到下一時刻,利用系統新的測量數據的反饋,重復相同的流程,即滾動優化。本研究直接將MMG 模型作為預測模型,并基于歐拉迭代法對系統狀態進行離散和預測。控制結構如圖2 所示。

圖2 船舶路徑跟蹤MPC 控制設計結構Fig.2 Structural diagram of MPC for ship path following
在當前時刻,船舶運動系統輸出當前狀態值,RBF 神經網絡通過狀態歷史信息對未知干擾項進行逼近。然后,根據預測模型和當前狀態對預測時域Np內的所有未來狀態進行預測。利用預測路徑與參考路徑之間的預測誤差建立優化函數。最后通過在有約束下求解此優化函數,可計算出最優控制舵角。待下一時刻,船舶運動系統繼續將狀態值反饋給控制器,進行滾動優化,以此類推。
對式(1)中的各個狀態進行離散和預測,式(1)中動力學微分方程中的各個力矩之間是高度耦合的,很難轉化為狀態空間矩陣形式,即不能通過矩陣進行預測。本研究采用歐拉法[21],通過各個狀態之間的迭代,在保留原來各狀態之間耦合及非線性關系的基礎上進行預測:

式中,Tc是預測采樣時間,即連續兩個預測值之間的時間間隔。和分別是對式(1)中各微分方程的離散化,計算公式如下。


通過式(5)的預測結果和參考橫向位移yd,計算路徑預測誤差其中j=1,2,…,Np。

根據預測誤差,構造優化函數如式(7):

式中,Q是權重矩陣,通過求解QP 二次型或者在約束條件δmin≤δ≤δmax下求解方程?f*(ēy,δ)/?δ=0,可以計算出最優控制律δ*。由于MPC是利用計算機在線進行運算的[22],所以只能在線通過每步優化來計算控制律,而不能直接寫出控制律的解析式。對于優化函數中所包含的未知干擾項,利用RBF 進行逼近并補償。Np是預測時域,Nc是控制時域,即在預測系統未來狀態時需要的未來輸入個數δk+1,δk+2,…,δk+Nc。Np、Nc和Tc作為控制參數,需要進行設計。其穩定性分析如下:
引理1:當h(x)在兩端點a、b處的函數值A、B 異號時,在開區間(a,b)內必存在至少一點ξ,使h(ξ)=0。
引理2[23]:一個函數能夠取到極值的充要條件:(1)存在使導數等于0 的點;(2)使導數等于0的那個x值,左右兩邊導數符號相反。
由式(1)、(2)、(3)和(4),有

式中,Fr為正的不含舵角的常系數,為不含舵角的其它項總和,γ是整流系數,與βR的值如下:

式中,L是船長,Cb是方形系數,B是船寬。船舶在正常行駛時,船速為常速且漂角不太大,本研究取|β|≤25°,U≤7.5 m/s,轉首角速度|r|≤3°/s。將式(8)對δ求偏導,式(8)為差分方程,本不可以對其求導,本研究視其為各個時刻連續值的累加和,通過對每個時刻偏導數的累加來求近似整體的偏導數。并根據船舶參數可得:

由式(3)和(4),有

將(11)對δ求偏導,并把式(10)代入,得

對式(4)第2 項做三角函數變換,得


將式(14)對δ求偏導,由于參考位移yd不含舵角δ,并且舵力在速度u、v上的分量相對于在轉首角速度上的十分小[24],所以忽略它們對舵角的導數,則有

式中,z1、z2以及z3如下:

由于舵角|δ|≤35°,所以z3恒小于零。將式(8)和(11)代入式(16)最后一項,有

由于舵角|δ|≤35°,所以cosδ> 0。h、j和i的大小均受預測時域Np限制。由于漂角較小且船首向角初始值是定值,故θe的符號和大小僅取決于δ、Np和Tc。因此,設計合適的控制參數Np和Tc便可以使式(15)有如下變化:

由于船舶運動過程是連續的,所以f也是連續的。則根據式(18)和引理1,存在最優舵角δ*可使?f/ ?δ=0。并且,當δ<δ*時,?f/ ?δ< 0,當δ>δ*時,?f/ ?δ> 0。則根據引理2 可知,f在δ*處取極小值,則每一時刻滾動求解δ*,使f與(k+j)通過每次得最小值而逐漸趨于零,從而使得y逐漸跟蹤上yd。
本節利用船舶歷史信息(即上一采樣時刻的船舶輸出狀態值)和RBF 的梯度下降法訓練權重值,使RBF 的輸出逼近外界未知項[25]。以(k) 為例,設計過程如下:

式中yn是RBF 輸出,即(k),m 是神經元數,w是權重,h是隱含層輸出,計算如下:

式中,x是輸入,即[δ,],cj是中心點矢量值,bj是寬度矢量值,計算如下:

式中,α∈(0,1) 是動量因子,利用梯度下降法調節w、b和c,計算如下:

式中,η∈(0,1) 是學習速率,yh是船舶歷史狀態信息與控制器中對應的水動力之間的誤差數據,E為逼近偏差。通過誤差數據的訓練,可以使RBF逼近船舶實際系統狀態與控制器中所用模型之間的偏差,即外界干擾項,用來補償MPC 中的預測模型。當外界為定常干擾時,最終權值會穩定。本研究為處理時變干擾,每隔3 個采樣時間便對RBF訓練一次。逼近流程與相同。
為驗證所設計控制器的有效性,以大連海事大學實習船育龍輪為仿真對象,在MATLAB 中進行仿真[26],以式(1)中MMG 模型為仿真模型。育龍輪參數[27]:滿載吃水8 m,滿載排水量14 635 t,船長126 m,船寬20.8 m,方形系數0.681,正面受風面積369.9 m2,側面受風面積1031.94 m2,螺旋槳直徑4.6 m,螺距3.66 m,舵面積18.8 m2,展弦比1.72,舵機時間常數TE2.5 s,設定螺旋槳轉速100 轉/分鐘。
仿真1:初始狀態:u=7.2 m/s,v=0,r=0,φ=0,(x0,y0)=(0,200 m);外界干擾,風速:10m/s,風向:30°sin(0.02t)+45°;流速:1.0 m/s,流向:10°sin(0.005t)+45°;控制器參數:Np=18,Nc=1,Tc=2.0 s;RBF 參數:η=0.15,α=0.05,c0=[-1 -0.5 0 0.5 1;-1 -0.5 0 0.5 1],b0=5,w0=0。
由圖3 可看出,船舶路徑產生了小于7%的超調,但都小于船寬20.4 m。系統穩定后,由于時變干擾的影響,所以路徑一直存在小波動,但波動的最大幅值也小于5 m,即不到船寬的25%,這在實際航行中屬于正常。因此我們可以認為船舶在受到風流時變干擾的情況下,所設計控制器仍能使船準確地跟蹤上直線參考路徑。所用仿真實驗船本身的舵角幅度限制值為35°。由舵角變化可以看出,在系統穩定后,由于時變風流干擾的影響,船首向角與舵角時刻變化,以抵抗時變外界干擾。但船首向角和舵角變化平穩,舵角幅度限制在10°以內,驗證了所提MPC 控制器可有效處理舵角約束。
仿真2:初始狀態u=7.2 m/s,v=0,r=0,φ=0,(x0,y0)=(0,0);參考路徑:yd=200sin(0.00035πx);外界干擾,風速:10 m/s,風向:30°sin(0.01t)+45°;流速:1.0 m/s,流向:10°sin(0.005t)+45°;控制器參數:Np=15,Nc=1,Tc=2.5 s,RBF 參數與仿真3相同。

圖3 有風流干擾的直線路徑跟蹤Fig.3 Straight line path following with wind/current disturbances

圖4 有風流干擾的曲線路徑跟蹤Fig.4 Curve path following with wind/current disturbances
由圖4 可以看出,在風流時變干擾下,船舶仍能準確地跟蹤上曲線路徑。從舵角的變化可以看出,整個過程中舵角都被限制在較小的范圍,并且光滑沒有振蕩或抖動。曲線路徑跟蹤與舵角變化的結果,說明了所設計的控制器能有效處理曲線跟蹤過程中的外界干擾以及舵角約束問題。
本研究考慮欠驅動船舶在運動過程中具有受外部風流干擾、控制輸入受約束等問題,基于歐拉迭代法設計了船舶路徑跟蹤MPC 控制器。利用MPC 本身在處理系統約束問題上的優點,解決了舵角輸入受約束問題。并采用歐拉迭代法離散并預測船舶未來狀態,以保留船舶運動狀態之間的非線性和耦合性并簡化MPC 的運算量。直接以MMG 船舶運動模型作為MPC 的預測模型,彌補了歐拉迭代法精度的不足。利用徑向基函數神經網絡通過歷史信息的訓練,對外界干擾進行逼近及補償。仿真結果表明所設計的MPC 控制器使船舶在外界干擾下仍能準確地跟蹤上設定的路徑,舵角變化小,光滑平穩。在風流時變干擾的情況下,控制舵角被限制在較小的幅度范圍內,說明了所設計MPC 控制器可以有效處理舵角約束問題的能力。