章滬淦,卜仁祥,李宗宣
(大連海事大學航海學院,遼寧 大連 116026)
由于欠驅動船舶路徑跟蹤存在速度不易測量、模型不確定以及外界干擾等問題,因此對其控制是比較困難的。近年以來,對船舶路徑跟蹤控制問題的研究,已有許多研究成果。
文獻[1]針對存在模型不確定和外界干擾的軌跡跟蹤問題,提出了一種基于動態(tài)面控制和最小學習參數法的自適應滑模算法,減少了計算量,避免了“維數災難”問題。文獻[2]針對船速與艏搖角速度均不可測的三自由度欠驅動船舶軌跡跟蹤問題,考慮在海洋環(huán)境擾動未知,提出帶非線性觀測器的動態(tài)面自適應輸出反饋控制方法。文獻[3]提出一種基于工程解耦思想的非線性迭代滑模航跡跟蹤控制器,實現欠驅動無人水下航行器,在未知海流干擾下的三維航跡跟蹤。文獻[4]設計了解析模型預測控制器(MPC),以對路徑跟蹤進行控制。文獻[5]提出基于神經網絡的電壓控制量學習算法,通過在風干擾下采用LOS-PD方法經多次調參后得到大量先驗數據,利用這些數據對神經網絡進行訓練,仿真驗證了該算法對于抵抗時變風干擾的有效性。文獻[6]針對模型參數不確定和外界干擾等問題,提出了一種基于上下界的滑??刂品椒?。文獻[7]針對內部動態(tài)與外部干擾不確定、控制輸入飽和以及運動狀態(tài)約束等控制問題,提出了滑模自抗擾控制方法。文獻[8]在Backstepping 方法基礎上,引入非線性函數逼近技術對模型中不確定因素進行補償控制。文獻[9]設計增量反饋迭代滑??刂破鳎苊饬讼到y中不確定項及風流干擾的影響。文獻[10]提出一種基于Lyapunov 穩(wěn)定性的神經元自適應迭代滑模控制算法。能有效地處理參數不確定和未知干擾問題。文獻[11]針對狀態(tài)不可測、外部干擾未知、以及狀態(tài)與輸入受限制的離散系統,將高階觀測器、干擾補償控制與標準MPC相結合,提出一種新的MPC方法。文獻[12]通過對跟蹤偏差進行輸入輸出解耦,設計了輸出反饋控制器,在僅有平面軌跡和船位已知條件下可完成欠驅動船舶軌跡跟蹤。
參考以上文獻研究成果,本文設計一種結合LESO的滑??刂破?。首先為了減小船舶運動至轉向點處的超調,對船舶路徑進行預測。根據此預測值和參考路徑值提前對未來路徑誤差進行計算,并采用Backstepping算法設計參考艏向角,以使船在轉向點處提前打舵轉彎。其次,利用雙曲正切函數設計滑??刂破?,對艏向進行控制。針對外界干擾和不確定參數問題,引入LESO對進行逼近,以提高控制器的魯棒性。并通過非線性觀測器和LESO對船舶縱向速度、橫向速度及轉艏角速度進行估計,避免速度不易測量問題。最終仿真結果驗證了所提控制算法的有效性。
本文以MMG (mathematical model group) 模型作為船舶運動數學模型進仿真。MMG模型是基于深層次的理論分析結合大量的試驗進行研究的,其將作用于船舶上的流體動力(矩)分解為作用于船體、螺旋槳和舵上的流體動力(矩),并考慮各流體動力(矩)之間的相互影響[7]。
在空間固定坐標系中,船舶重心在固定坐標系的位置用x0、y0表示,規(guī)定x0軸指向正北;船首尾中心線與x0軸的夾角即艏向角用φ表示;船舶運動速度在Oxyz坐標系上沿x軸和y軸上的分量分別為u和v,u為對地前進速度,v為對地橫移速度,船首繞z軸旋轉的角速度為r,對地合速度V=(u2+v2)1/2,漂角β=arctan(v/u),δ為舵角。船舶在平面內的位置與運動參數如圖1。
圖1 船舶平面位置與運動參數
考慮風浪流干擾的船舶MMG模型可表示為[6]
(1)
式中,m為船舶質量,mx和my為附加質量,XH、YH和NH為裸船體,XP、YP和NP為螺旋槳力(矩),φc和Vc分別為流的流向和流速,XW、YW和NW為風力(矩),XWave、YWave和NWave為浪力(矩),Izz為船舶繞豎直軸的慣性矩,Jzz為附加慣性矩,XR、YR和NR為舵力(矩),其計算如下
(2)
式中,tR是舵阻力減額份數,αH是操舵引起的船體附加橫向力與舵橫向力的比值,xH是操舵誘導船體橫向力作用中心到船舶重心的距離,FN是舵正壓力
路徑跟蹤不需要考慮時間因素,因此本文將螺旋槳轉速設為定值,只考慮舵角輸入。則式(1)可以簡化為如下式(3)的設計模型
(3)
式中,K是船舶旋回性指數,T是追隨性指數,f1是內部模型不確定項,d是外界干擾不確定項,f是模型不確定項f1和外界干擾d的總和,即總未知項。式中的縱向速度u、橫向速度v以及轉艏角速度r,在實際中均不易測量。
由于路徑跟蹤不需要考慮縱向位移,只需使橫向位移y鎮(zhèn)定為0,便可使船跟蹤上路徑。因此,本文控制目標是,提前設定螺旋槳轉速,設計合適的舵角使船跟蹤上參考路徑,即滿足橫向位移偏差ye=0。在設計控制器過程中,所需的假設條件如下:
1) 船舶狀態(tài)值,x、y和φ可以被獲得;
2) 不確定項f有界,即|f| 其中1)可以通過船舶上的測量設備來滿足,2)是系統可控的必要條件。3)位移是加速度隨時間推移的二次積分,相當于累加和,因此在前進運動時,加速度大于0,故其比位移要小,并且有界。 本文路徑跟蹤控制器由兩部分組成,第一部分是基于預測的未來誤差和backstepping算法設計參考艏向角;第二部分是利用非線性滑??刂破骱蚅ESO實現艏向控制??刂平Y構如圖2所示。 圖2 整體控制結構 本節(jié)利用backstepping算法根據預測的未來誤差,設計參考艏向角φd。首先對橫向位移偏差ye=y-yd求導,考慮到直線跟蹤為橫向位移y的鎮(zhèn)定問題,因此不失一般性地將yd導數設為0,并將式(3)代入 (4) 根據式(4)設計參考艏向角 φd1=-c0tanh(c1ye)-β (5) (6) 因此,所設計的參考艏向式(5)可以使路徑偏差趨于0。然而,在大多數研究中,只對當前時刻的路徑偏差ye進行了考慮,這容易在轉向點處產生超調。有鑒于此,本文通過對船舶未來路徑進行預測,進而對當前和未來時刻的路徑偏差都進行了考慮。這可使船提前預測前方路徑,從而盡早轉向,以避免超調。首先根據式(3)和歐拉迭代法,對未來時域n內的所有船舶路徑進行預測 (7) (8) 通過式(8)的預測值和參考路徑yd,計算未來誤差ēy(k+j),j=1, 2, …,n如下 (9) 根據式(9),構建包含當前時刻和未來時刻的路徑總誤差如下 (10) 式中,P、Q是權重,以調節(jié)當前時刻誤差與未來誤差之間的平衡。根據式(10)設計虛擬參考艏向為 φd=-c1tanh(c0yE)-β (11) 本節(jié)設計非線性滑??刂破?,對艏向進行控制,使艏向角φ跟蹤上參考艏向φd。首先利用雙曲正切函數設計滑模面 (12) 式中,c2和c3是正的設計參數,對式(12)求導有 (13) 將式(1)和(3)代入(13)則可得: (14) (15) (16) 因此,采用式(15)控制律可以使艏向跟蹤上參考艏向角。 本節(jié)利用LESO對艏向控制中的總未知項f和轉艏角速度r進行估計。韓京清先生基于PID提出一種以ESO為核心的ADRC控制算法[13],之后高志強博士進一步設計了以LESO為核心的線性ADRC技術[14]。本文參考LESO算法并根據式(3)中的第三、四項,設計艏向二階系統的LESO如下 (17) (18) (19) 式中,γ是正系數,對式(19)求導有 (20) (21) 為驗證所設計控制器的有效性,進行對比仿真。以大連海事大學實習船育龍輪為仿真對象,以式(1)中MMG模型為仿真模型。育龍輪參數見表1 表1 船舶參數 式(1)中的風力(矩)XW、YW和NW計算如下[7] (22) 式中,ρα是空氣密度,αR是相對風向角,UR是相對風速,Af和As分別是船舶水線以上的正投影面積和側投影面積,Loα是船舶總長,Cwx(αR)、Cwy(αR)和Cwn(αR) 分別是風壓力(矩)系數。 由于大型船舶在航行中本身就可以抵抗一階浪干擾,所以本文只考慮二階浪干擾,其浪力(矩)XWave、YWave和NWave計算如下[15] (23) 式中,λ是浪波長,χ是波浪遭遇角,ρ是海水密度,α是浪波幅,L是船長,CXw(λ)、CYw(λ)和CNw(λ)分別是波浪漂移力(矩)系數。 船舶初始狀態(tài):u=7.2m/s,v=0,r=0,φ=0, (x0,y0)=(0, 200m)。外界干擾,風速: 10m/s,風向:30sin(0.02t)+45;流速: 1.0 m/s,流向:10sin(0.005t)+45;浪波長:83m,波浪遭遇角:φ+135°-30°sin(0.02t)。控制器參數為co=0.003,c1=π/3,c2=0.1,c3=0.4,c4=0.1。參考路徑由相鄰的參考定點連接而成,定點位置:(0,0), (4000,0), (7000,1500), (10000,4000), (15000,4000)。 圖3 路徑跟蹤 圖4 艏向角和舵角 圖5 縱向速度u和橫向速度v 圖6 總未知項f和轉艏角速度r 圖3展示了路徑跟蹤結果,y1是預測了船舶未來路徑偏差而設計參考艏向的路徑圖,此處選擇預測范圍n=45,y2代表未經過預測的路徑,即n=0??梢钥吹絻蓚€控制器都可以使船準確地跟蹤上參考路徑,但由于y1提前對未來路徑和偏差進行了考慮,所以其跟蹤速度較快,并且在轉向點處可以提前打舵轉向,減小了超調。圖4展示了船舶運動過程中的艏向和舵角變化,由于時變風浪流干擾的影響,使其都有小幅度的振蕩,以抵抗干擾的外作用。圖5描述了所設計的非線性觀測器對縱向速度u和橫向速度v的估計能力,可以看出其可以精確地估計出u和v。圖6說明了所引入的LESO對轉艏角速度r和總未知項f的逼近能力,其結果表明了LESO可以有效地逼近r和f。 本文為解決欠驅動船舶路徑跟蹤中的速度不易測量、模型不確定與外界干擾等問題,提出一種結合LESO的滑模控制方法。首先,為了使船在轉向點處提前打舵進行轉彎,對船舶路徑進行了預測,據此預測值和參考路徑值提前對路徑未來誤差進行計算,并采用Backstepping算法設計參考艏向角。其次,采用雙曲正切函數設計滑??刂破?,對艏向進行控制。針對外界干擾和不確定參數問題,引入了LESO對其進行逼近,以提高控制器的魯棒性。并利用非線性觀測器和LESO對u、v以及r進行估計,避免速度不易測量問題。最終仿真結果表明,在各個速度不可測的情況下,所提控制器仍能使船在風浪流時變干擾下準確地跟蹤上參考路徑,并且在轉向點處可以提前打舵進行轉向,以避免超調。這些結果驗證了所提控制算法的有效性。3 路徑跟蹤控制器
3.1 Backstepping算法
3.2 非線性滑??刂破鞯脑O計
3.3 LESO設計
3.4 非線性觀測器
4 船舶路徑跟蹤控制的仿真研究
4.1 仿真模型與參數
4.2 仿真結果
5 結語