朱坤財,徐鄭攀,趙自奇,彭榮發,洪曉斌
(1.華南理工大學機械與汽車工程學院,廣東 廣州 510641; 2.廣船國際有限公司,廣東 廣州 511462)
水面無人艇作為一種新型的水上智能工作平臺,在科研、軍事及民用等諸多領域如水文勘測、水質監測、漁業養殖、海上巡邏任務[1-3]等方面發揮著巨大的作用,而無人艇的避障能力是無人艇能順利完成海上作業的首要前提。無人艇的避障問題屬于平面移動機器人的局部路徑規劃領域,多年來對局部避障的路徑規劃問題已進行多方面研究,如Fox等提出了一種動態窗口法,該避障算法計算有效的速度搜索區間在一定時間間隔內產生的運動軌跡,根據軌跡產生的避障代價來獲取最佳避障速度[4];Fiorini等提出了一種基于碰撞錐的速度障礙避障方法,該方法利用相對速度來構造速度障礙區域,并通過代價函數來計算避障速度[5]。近年來,隨著無人艇動態避障問題研究的興起,在局部路徑規劃研究的基礎上,國內外學者也提出了一些針對性的解決方法。如魏新勇等提出一種基于VFH*算法的前向預測水面無人艇局部避障方法,利用連續的激光雷達數據幀和無人艇實時位姿信息進行雷達前后幀數據融合,并以此為基礎建立障礙物向量場直方場來規劃避障路徑[6];Liang Hu提出了一種新穎的分層多目標粒子群優化(H-MOPSO)智能算法,該算法使用多目標優化方法生成安全且符合海事規則的路徑[7];Jeonghong Park使用概率方法計算障撞風險,并在預測的軌跡上配置障撞風險區來避開動態障礙[8];Johansen結合船舶航行動力學提出了一種基于模型預測控制的船舶動態避障方法[9];針對USV在海洋環境中的安全航行問題,Benjamin提出一種適合USV在海洋環境中安全航行的海事規則,并以USV的海事規則為基礎提出了一種基于協議的動態礙航物規避的方法[10];鄧乃銘等提出一種基于隱馬爾可夫模型的操船意圖預報方法,將生成的目標船意圖預報結果與經典速度障礙法相融合,提出了一種反應型避障規劃方法[11]等。
目前的無人艇常用避障算法如VFH避障算法、速度障礙法等應用于實際避障過程時都是基于無人艇當前的傳感信息做出避障動作[12-13],而不考慮障礙船舶未來可能的運動趨勢,在動態避障過程中可能會帶來潛在的障撞危險。因此,本文提出了一種基于LSTM航跡預測的避障方法,將航跡預測與速度障礙法結合起來,用航跡預測的結果來指導無人艇的避障動作,實現動態避障條件下安全可靠的路徑規劃。
長短期記憶網絡(long short-term memory,LSTM)是一種特殊的循環神經網絡(recurrent neural network,RNN),LSTM將傳統RNN的隱藏層單元替換為一組相互聯系的遞歸子網絡,即記憶模塊。記憶模塊包含一個或多個記憶細胞(cell),并通過忘記門(forget gate)、輸入門(input gate)和輸出門(output gate)來修改當前時刻的細胞狀態以及決定輸出的內容。在本文的航跡預測網絡中,輸入門、輸出門和遺忘門分別對應著船舶航跡特征數據序列的寫入、讀取和之前狀態的重置操作。
圖1 LSTM記憶模塊
與陸地車輛的軌跡預測問題不同,船舶在海面行駛時,會受到風、浪和暗涌的影響,航行軌跡呈現出一定的非線性特征,難以通過線性擬合的方式較為精準地預測出船舶的軌跡。而LSTM航跡預測模型作為神經網絡模型具備優秀的非線性擬合條件,其時序性特征保證了網絡能通過多個歷史時刻的航跡來進行預測從而保證預測精度。
本文的航跡預測模型以n個歷史時刻的航跡特征來預測當前時刻的船舶位置,當前時刻的航跡特征表達式如式(1)所示,輸出的特征如式(2)所示:
式中:lat——緯度;
lon——經度;
v——航速;
c——當前船舶艏向。
網絡的輸入特征在量程方面可能存在數量級的差異,為了避免不同特征的數據大小對預測精度產生影響,本文使用離差標準化方法(min-max normalization)對輸入特征進行歸一化處理,保證所有輸入特征的范圍在[0,1]之間。歸一化公式如下所示:
式中:xtrans——歸一化數據;
xraw——原始數據;
min(xraw)——原始數據中的最小值;
max(xraw)——原始數據中的最大值。
LSTM網絡的隱藏層節點數會對預測精度造成較大影響,對于隱藏層節點數目的確定,通常采用經驗公式確定初值,然后通過實驗在初值附近的區間內確定最佳節點數。經驗公式如式(5)所示:
式中:M——隱藏層節點數;
n——輸入層節點數;
m——輸出層節點數;
a——常數,一般取[0,10]。
在本文的預測網絡中,隱藏層節點數設為16。
本文使用在廣州南沙區龍穴島海域采集的2 184個時刻的航跡數據作為數據集,其中訓練集和測試集的比例為 4∶1。采用均方誤差(mean squared error,MSE)函數作為神經網絡訓練的損失函數。MSE表示的是預測值與真實值之差的平方的期望值,具體公式如下:
本文使用Pytroch框架作為訓練框架,epoch設置為 100,batch-size設置為 128,learning rate設為0.01,數據集的訓練結果如圖2所示,部分航跡的擬合結果如圖3所示。通過對預測結果進行定量分析,可獲得預測網絡的預測精度,如表1所示。實驗結果表明,預測航跡與真實航跡基本一致,預測精度可以滿足動態避障的需要。
表1 航跡預測精度
圖2 數據集訓練結果
圖3 部分航跡預測擬合圖
本文的動態避障方法以速度障礙法為基礎,根據無人艇與障礙艇的相對速度建立速度障礙區域,根據航跡預測的結果對速度障礙區域進行疊加拓展處理,獲得了一個具有障礙預測信息的速度障礙區域,最后通過代價函數來計算當前的最佳避障速度實現動態避障。
將航跡預測結果與速度障礙法結合的原理如圖4所示,Pu處橢圓代表無人艇,Po處的紅色橢圓區域代表膨化后的障礙艇,VO代表障礙艇速度,Vu為無人艇的速度,Vr為無人艇與障礙艇的相對速度。從Pu出發,作障礙橢圓的兩條切線λl和λr,λl和λr構成了一個碰撞錐RCCUO,根據經典速度障礙法原理,當相對速度Vr位于碰撞錐內時,代表無人艇與障礙艇在當前速度下存在避障風險。由于碰撞錐定義在相對速度空間里面,當存在多條障礙艇時,將會導致多個碰撞錐無法進行統一描述。為了解決這個問題,可以將相對速度空間轉換到基于水面無人艇自身的絕對速度空間進行統一描述。類似地,定義導致水面無人艇和障礙發生碰撞的所有水面無人艇絕對速度Vu集合為速度障礙區域VOUO。
圖4 結合航跡預測的速度障礙法原理
式中,⊕為閔可夫斯基矢量和運算,實際物理意義是將相對碰撞區域RCCUO沿著障礙船舶速度VO進行平移,當無人艇速度Vu位于VOUO內時,代表當前速度存在碰撞風險。
角速度窗口ωd的表達式為:
艏向窗口θd的表達式為:
為了方便工程運算,將速度窗口vd和角速度窗口ωd進行離散化處理。具體可將速度v按等間距網格離散為M個速度,將艏向θ按等間距網格離散為個N艏向,每一個離散速度和離散艏向可以組成一個完整的速度矢量,最終將整個RAV集合離散為MN個速度矢量。
獲得離散化的速度矢量后,需要通過代價函數來選取最佳避障速度,本文使用的代價函數如式(12)和式(13)所示:
式中:vg——水面無人艇到下一個局部子目標點的目標速度矢量;
vc——水面無人艇當前的速度大小;
θc——水面無人艇當前的艏向;
Pg——下一個局部子目標點的位置矢量;
Pu——水面無人艇當前的位置矢量;
ω1和ω2——兩個權重系數。
國際海上避障規則(COLREGS)將海上的船舶會遇避障場景根據無人艇與障礙艇的相對航向角分為對遇、追越和左交叉和右交叉四種,具體劃分規則如圖5所示。
圖5 海上避障場景劃分
根據COLREGS對避障場景的劃分,本文設置了對遇、追越和左交叉和右交叉四種避障場景下的避障實驗來驗證本文動態避障算法的有效性。實船避障實驗場景在廣州市南沙區龍穴島海域進行,避障實驗的初始參數如表2~表5所示,其中航速單位為節(kn),1 kn=0.514 m/s。
表2 右交叉避障實驗初始參數
表3 左交叉避障實驗初始參數
表4 對遇避障實驗初始參數
表5 追越避障實驗初始參數
避障實驗使用的無人艇尺寸為 7.5 m×1.2 m,障礙艇尺寸為10 m×1.5 m,考慮到傳感器測量誤差的影響和海面風浪的影響,需保證一定的避障安全裕量,因此對障礙艇進行膨化處理,即在相對運動過程中將無人艇視為質點,同時將無人艇的尺寸和預設定的碰撞安全裕度疊加到障礙艇上,最后確定障礙艇膨化后的障礙橢圓區域尺寸為24 m×5 m,當無人艇航行過程中進入障礙艇的膨脹橢圓范圍內時意味著即將發生碰撞。在此膨脹橢圓尺寸下進行的避障實驗結果如表6所示,避碰航跡如圖6所示,無人艇艏向角變化如圖7所示,無人艇與障礙艇的相對距離變化如圖8所示。從實驗結果可知,無人艇能在發現避障風險時及時地變換速度,做出轉向反應,并在脫離危險避障區域時進入返航模式,繼續朝著預向設定的目標點前進,在存在動態障礙物的情況下實現了無人艇的局部巡航功能。與此同時,避障過程中無人艇與障礙艇的相對距離始終大于安全極限距離,無人艇的安全性能也得到了保證,這說明了本文動態避障算法的有效性。
圖6 單船會遇避碰航跡圖
圖7 無人艇航向角變化
圖8 兩船相對距離變化
表6 單船會遇避障實驗結果
本文提出了一種基于航跡預測的水面無人艇動態避障方法。構建基于LSTM的船舶航跡實時預測模型,模型的經度預測平均誤差約為 0.000 016 5°,緯度預測平均誤差約為 0.000 015 0°,預測精度足以滿足動態避障的需求;將障礙物航跡預測結果作為速度障礙法的輸入,構建了一個擴展的速度障礙區域,并通過代價函數獲得無人艇在當前時刻的最優避障速度,最終實現了動態場景下的避障功能。四種動態避障場景下的實船實驗表明,在小于12 kn的航速下,本文所提出的動態避障算法能結合航跡預測模型得到合理的局部避障速度,并在15 s內完成避碰到返航的運動轉換過程,在保證一定避障安全裕度的前提下實現了無人艇的局部路徑規劃,滿足水面無人艇在實際環境中的動態避障需求。