賈立校,喬前防,牛 童
(江蘇航運(yùn)職業(yè)技術(shù)學(xué)院 航海技術(shù)學(xué)院,江蘇 南通 226010)
北極圈與南極圈氣候環(huán)境與地理環(huán)境極為復(fù)雜,不但存在大量浮冰同時(shí)還有許多移動中的冰山,各類船舶在此區(qū)域航行過程中經(jīng)常遭遇極端惡劣環(huán)境與諸多障礙問題,尤其是能見度較低情況下,憑借船員的駕駛經(jīng)驗(yàn)很難避開這些海上障礙物。由于高緯度地區(qū)的浮冰分布較為復(fù)雜且連續(xù)程度較高,經(jīng)過該區(qū)域時(shí)需要保持精神高度集中并且多人相互協(xié)作才能確保船舶航行的安全,這一過程操作難度大,航路切換頻繁,帶來較大壓力。童幫裕等提出使用改進(jìn)蟻群算法實(shí)現(xiàn)船舶的航行避障路徑優(yōu)化,該方法利用人工勢場法改進(jìn)粒子群算法,確定海冰覆蓋率后,構(gòu)建海面航行柵格模型,在該模型中驗(yàn)證方法的規(guī)劃效果,研究結(jié)果證明該方法能夠準(zhǔn)確避開海面上的浮冰,但是如果遇到浮冰數(shù)量較多的情況,避障效果就沒有那么理想。楊琪森等提出以復(fù)雜水域?yàn)檠芯繉ο?,使用長短神經(jīng)網(wǎng)絡(luò)預(yù)測船舶航行軌跡,確定最優(yōu)避障速度。這種方法常見于動態(tài)避障,對于運(yùn)動速度較慢的浮冰并沒有較好的避障效果。
本文使用深度網(wǎng)絡(luò),計(jì)算最優(yōu)策略,為船舶在海面避冰航行規(guī)劃出更加優(yōu)異的路線。
深度網(wǎng)絡(luò)能夠準(zhǔn)確感知復(fù)雜環(huán)境,將該方法應(yīng)用于船舶冰區(qū)航行避障,能夠獲得更加理想效果。深度網(wǎng)絡(luò)能夠一定程度提升神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性,該過程主要依靠空間以及目標(biāo)值網(wǎng)絡(luò)(),為提升深度網(wǎng)絡(luò)處理復(fù)雜控制問題的能力,值更新使用隨機(jī)梯度下降函數(shù),這也幫助網(wǎng)絡(luò)無需額外數(shù)據(jù)信息實(shí)現(xiàn)訓(xùn)練。深度網(wǎng)絡(luò)的基本形式見下式:
式中:(,)為 動作值函數(shù);為船舶航行當(dāng)前避冰動作;a為 船舶的下一個(gè)避冰動作;與s分別為海洋冰區(qū)當(dāng)前以及下一個(gè)狀態(tài);為 獎勵(lì);γ為獎勵(lì)衰減系數(shù); m(s,a) 用于描述s狀態(tài)下動作極大值,α代表學(xué)習(xí)率。
深度網(wǎng)絡(luò)通過構(gòu)建值表找尋最佳線路,但是這種算法會出現(xiàn)維度災(zāi)難,不能實(shí)現(xiàn)復(fù)雜路徑規(guī)劃,如果冰區(qū)障礙物較多,無法準(zhǔn)確實(shí)現(xiàn)避障,所以需要引入卷積神經(jīng)網(wǎng)絡(luò),在卷積神經(jīng)網(wǎng)路中輸入原始數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)智能處理。改進(jìn)后的深度網(wǎng)絡(luò)能夠與環(huán)境交互,獲取含獎勵(lì)值的樣本數(shù)據(jù),促進(jìn)在線網(wǎng)絡(luò)參數(shù)更新。一段時(shí)間后,目標(biāo)值網(wǎng)絡(luò)接收在線值網(wǎng)絡(luò)復(fù)制的參數(shù),目標(biāo)值經(jīng)目標(biāo)子網(wǎng)絡(luò)計(jì)算獲取。深度網(wǎng)絡(luò)的詳細(xì)計(jì)算流程如圖1所示。圖1中,ω表示主網(wǎng)絡(luò)權(quán)值,ω用于描述目標(biāo)網(wǎng)絡(luò)權(quán)值。本文考慮海洋冰區(qū)不同狀態(tài)(與s),利用使用深度學(xué)習(xí)確定船舶當(dāng)前以及下一個(gè)避冰動作(與) ,同時(shí)獲取獎勵(lì),最終規(guī)劃船舶避冰路線。該方法中最關(guān)鍵的步驟是船舶避障路線的狀態(tài)、動作空間以及獎勵(lì)機(jī)制。
1.2.1 海洋環(huán)境建模
圖1 深度Q網(wǎng)絡(luò)計(jì)算流程Fig. 1 Calculation flow of deep Q network
使用柵格法能夠?qū)⒚懿急鶋K的海洋環(huán)境信息清晰地顯示出來,只要柵格選取合適,可以確保整個(gè)海洋環(huán)境的清晰程度,能夠提升船舶冰區(qū)避障路徑規(guī)劃的速度。柵格化模型之中使用黑色區(qū)域表示海洋中的冰塊障礙物,正常無障礙海域使用空白表示,利用二進(jìn)制“0”及“1”描述柵格化地圖,利用該二進(jìn)制組成的矩陣構(gòu)建20×20的二維柵格圖,使用整數(shù)實(shí)現(xiàn)網(wǎng)格標(biāo)記,確保坐標(biāo)系單位長度一致。利用正交坐標(biāo)系制定障礙物坐標(biāo)點(diǎn)。使用描述柵格序號值(取整數(shù)),從起點(diǎn)開始記錄,一直標(biāo)記至400,使用下式表述柵格坐標(biāo):
其中, mod 與int 分別取余運(yùn)算與整運(yùn)算,代表柵格上各行上的格數(shù)量。通過兩點(diǎn)式坐標(biāo)標(biāo)識柵格,最終完成海洋環(huán)境的模型構(gòu)建:
1.2.2 避障路線狀態(tài)空間確定
根據(jù)柵格模型的構(gòu)建結(jié)果,可以確定柵格中的各柵格個(gè)體都代表一個(gè)環(huán)境狀態(tài),這些狀態(tài)都能使用式(4)描述。海洋環(huán)境變幻莫測,假設(shè)狀態(tài)共有個(gè),使用式(3)定義環(huán)境空間:
1.2.3 避障路線動作空間確定
研究過程中發(fā)現(xiàn),路徑規(guī)劃時(shí)需要在柵格模型中簡化模擬船舶模型,將船舶簡化成1×1像素大小的像素點(diǎn),從實(shí)際航行狀態(tài)考慮,船舶的狀態(tài)空間可以劃分成4個(gè)基本動作,分別為上動作、下動作、左動作、右動作,動作空間設(shè)計(jì)時(shí)使用 ε貪婪策略,航行路徑上的新海洋環(huán)境探索需要通過 ε概率選擇船舶的隨機(jī)動作,值最大動作選 取通過1 -ε概率確定,使用下式描述探索-利用機(jī)制:
通過 ε貪婪策略,不但可以確保船舶選取較優(yōu)航行路徑,同時(shí)還能確保全部航行區(qū)域的狀態(tài)空間都能被搜索到。
1.2.4 設(shè)計(jì)獎勵(lì)函數(shù)
可以看出,船舶航行的動作空間較為有限,同時(shí)還具有離散化特點(diǎn),所以可以泛化處理獎勵(lì)函數(shù),一旦船舶到達(dá)目的地,可以將100設(shè)置為獎勵(lì)值;如果在柵格模型上出現(xiàn)船舶像素點(diǎn)與黑色方格重合的情況,可以判斷船舶沒有有效躲避冰區(qū)中的冰塊,出現(xiàn)碰撞情況,此時(shí)設(shè)置-100為獎勵(lì)值,表示懲罰機(jī)制。在柵格模型中,把全部無障礙的白色區(qū)域獎勵(lì)值設(shè)置為0,使用下式描述獎勵(lì)函數(shù):
1.2.5 航路平滑設(shè)置
研究表明柵格模型會限制船舶路徑規(guī)劃,通過計(jì)算規(guī)劃出的船舶航行路徑中會存在諸多節(jié)點(diǎn),但是在冰區(qū)實(shí)際航行過程中,駕駛船舶躲避冰塊的難度較大,所以采取算法處理深度網(wǎng)絡(luò)規(guī)劃后船舶航行節(jié)點(diǎn)序列 {,···,P,P}上的冗余節(jié)點(diǎn),由此獲得船舶航行線路規(guī)劃的平滑處理,使得規(guī)劃后的船舶航線線路具有較高指導(dǎo)意義。遍歷船舶航行路徑上各個(gè)節(jié)點(diǎn)序列,分析節(jié)點(diǎn)之間相連所獲得的線路是否從冰塊上通過,以此為依據(jù)將規(guī)劃后船舶航行的路線上非必需節(jié)點(diǎn)剔除。如果經(jīng)過分析后發(fā)現(xiàn)每2個(gè)節(jié)點(diǎn)之間形成的路線沒有從冰塊上穿越,就可以把非必要節(jié)點(diǎn)剔除,獲得平滑處理后的船舶航行避冰線路。
選擇北半球高緯度某海域作為本文所研究的冰區(qū),收集該區(qū)域的具體環(huán)境資料,構(gòu)建該冰區(qū)的柵格模型。該區(qū)域緯度為北緯67.34°,海域最深區(qū)域超過5 000 m,最淺區(qū)域僅為1 097 m,氣候較為寒冷,最低氣溫能夠達(dá)到-70℃,全年平均溫度在-1.5℃~8℃,大部分時(shí)間洋面密集分布浮冰,尤其是冬季,80%海面均為浮冰,導(dǎo)致船舶航行困難較大。舶情況參考“海冰722”破冰船,長度與寬度分別為85 m與16 m,滿載情況下排水量達(dá)到9 191 t,可抗12級大風(fēng),最大航速為18 kn。由于試驗(yàn)環(huán)境限制,不能在真實(shí)海域開展研究,因此將這些海洋數(shù)據(jù)與船舶數(shù)據(jù)一起輸入模擬試驗(yàn)平臺中,利用柵格模型開展模擬試驗(yàn)。試驗(yàn)過程深度網(wǎng)絡(luò)中所需要使用的參數(shù)為:學(xué)習(xí)率α=0.01,目標(biāo)網(wǎng)絡(luò)更新間隔=200,獎勵(lì)衰減因子=1.0,ε概率=0.15,迭代步數(shù)=8 000。
為了確定迭代步數(shù)變化下獎勵(lì)值的變化趨勢,設(shè)置8 000步迭代次數(shù),訓(xùn)練深度網(wǎng)絡(luò),在該迭代次數(shù)之下獎勵(lì)值的變化趨勢如圖2所示??梢钥闯觯S著迭代次數(shù)的不斷增加,獎勵(lì)值無限接近于0,根據(jù)式(6)中的內(nèi)容可知,獎勵(lì)值為0時(shí)代表船舶在冰區(qū)中航行并未與冰塊發(fā)生碰撞而安全抵達(dá)終點(diǎn),由此可以確定,獎勵(lì)值的這一變化趨勢,證明本文方法能夠?qū)崿F(xiàn)船舶航行的冰區(qū)避障,且算法能夠向收斂靠近。
圖2 獎勵(lì)值變化趨勢Fig. 2 Change trend of reward value
算法訓(xùn)練開始階段與訓(xùn)練結(jié)束階段,損失函數(shù)波動情況會發(fā)生變化,2個(gè)階段的損失函數(shù)變化規(guī)律如圖3所示。可知,訓(xùn)練初期,真實(shí)值與算法預(yù)估值之間存在較大差異,該階段損失函數(shù)出現(xiàn)較為劇烈的波動,這個(gè)階段所規(guī)劃的船舶航行路徑并沒有學(xué)會準(zhǔn)確躲避冰區(qū)中的浮冰,迭代次數(shù)增加,算法已經(jīng)能夠熟練捕捉特性,訓(xùn)練結(jié)束以后,算法已經(jīng)平均損失波動較為平緩且稀疏,損失出現(xiàn)明顯收斂,說明該節(jié)點(diǎn)算法已經(jīng)可以明確避障,該階段船舶路徑規(guī)劃結(jié)果已經(jīng)可以準(zhǔn)確躲避冰區(qū)中的浮冰
本文方法在船舶航行冰區(qū)避障研究中添加路徑平滑處理,因此規(guī)劃后路徑節(jié)點(diǎn)更少,對比平滑處理前后路徑規(guī)劃效果,結(jié)果如圖4所示。能夠看出,使用本文方法規(guī)劃后的冰區(qū)船舶航行路徑,不但能夠有效避開航行區(qū)域上的浮冰干擾,同時(shí)路徑更加平滑,減少眾多不必要節(jié)點(diǎn),實(shí)際航行中能夠有效提升船舶在冰區(qū)中的航行速度,同時(shí)降低船舶與浮冰碰撞而出現(xiàn)的事故概率,有效提升冰區(qū)船舶航行的安全性。
圖3 損失函數(shù)變化Fig. 3 Change of loss function
圖4 平滑處理前后路徑規(guī)劃效果Fig. 4 Effect of path planning before and after smoothing
所研究區(qū)域每年不同季節(jié)下,海域浮冰面積不同,綜合考慮多種氣候影響下冰區(qū)浮冰障礙物的面積,使用模擬試驗(yàn)平臺模擬出不同浮冰面積下,本文方法路徑規(guī)劃的效果,結(jié)果如圖5所示??芍?,使用本文方法,無論船舶所處冰區(qū)環(huán)境如何復(fù)雜,船舶仍舊可以準(zhǔn)確躲避浮冰,準(zhǔn)確且安全抵達(dá)最終目的地,完成船舶航行目標(biāo)。
圖5 不同浮冰面積下船舶避障效果Fig. 5 Obstacle avoidance effect of ships under different floating ice areas
本文基于深度網(wǎng)絡(luò)的冰區(qū)船舶路徑規(guī)劃,使用深度網(wǎng)絡(luò)實(shí)現(xiàn)路線規(guī)劃,同時(shí)引入平滑處理機(jī)制,減少路徑規(guī)劃結(jié)果中的節(jié)點(diǎn),節(jié)省船舶航行時(shí)間。試驗(yàn)結(jié)果表明,本文方法能夠?qū)崿F(xiàn)冰區(qū)船舶的避障路線的準(zhǔn)確規(guī)劃,即使面對較為密集的冰區(qū)障礙,仍舊能夠保持安全平穩(wěn)地避障航行,提升船舶在冰區(qū)航行的安全性。