?

規則約束下基于深度強化學習的船舶避碰方法

2020-12-09 01:58周雙林劉克中吳曉烈劉炯炯王偉強
中國航海 2020年3期
關鍵詞:航向局面航行

周雙林,楊 星,b,劉克中,b,熊 勇,b,吳曉烈,劉炯炯,王偉強

(武漢理工大學 a.航運學院; b.內河航運技術湖北省重點實驗室, 武漢 430063)

隨著海上交通密度的增加和船舶航速的提升,人為制定船舶航行避碰決策正面臨巨大的壓力。[1]調查顯示,80%的碰撞事故是由船員因素造成的,其中船員未遵守《國際海上避碰規則》是船舶之間發生碰撞的主要因素。[2]自主避碰技術作為保障船舶在海上安全航行的關鍵技術,其研究受到各國學者的關注。ABDALLAH等[3]采用非線性優化方法解決兩船避碰問題,并將COLREGS(International Regulations for Preventing Collisions at Sea,COLREGs)作為優化算法的約束條件,通過仿真試驗驗證該避碰算法的有效性;倪生科等[4]基于多種群的遺傳算法進行船舶避碰輔助決策研究,通過合理設置算法的終止條件對遺產算法的適應度函數進行評價,從而為船舶避碰提供有效的輔助決策;ZHANG等[5]和張金奮等[6]提出一種基于分布式框架的實時多船決策支持系統,建立讓路船和直航船的行動方式和幅度等避碰模型,并將其應用于多船避碰;李麗娜等[7-8]結合避碰規則和良好船藝,提出一種船舶擬人智能避碰決策方法,通過實時處理避碰參數計算模型和目標交會特征模型等避碰模型,實現對多個危險目標船舶的避讓;SZLAPCZYNSKI等[9]采用船舶域評估船舶的碰撞危險,并采用光柵海圖優化算法中的搜索策略得到能適用于開闊水域和受限水域的多船避碰方法;沈海青等[10]基于深度競爭Q學習和A*算法提出一種無人船智能避碰方法,將COLREGs轉化成動態航行限制線,使避碰決策符合COLREGs;于家根等[11-12]分別基于擬態物理學優化算法和社會情感優化算法對船舶特定會遇場景下的轉向避碰決策問題進行研究。

在船舶自主避碰相關研究中,仍存在對COLREGs考慮不夠充分和構建復雜環境模型時避碰算法計算量較大的問題。當前人工智能技術飛速發展,具有模型簡單、魯棒性強和能自主學習適應環境等特點,其深度強化學習技術廣泛應用于智能避碰和路徑規劃研究中。本文針對當前自動避碰算法存在的不足,結合船舶航行特性和COLREGs基于深度強化學習中的深度Q網絡(Deep Q Network,DQN)算法,提出一種針對多種會遇場景的船舶智能避碰方法,利用深度神經網絡對智能體進行訓練,并通過數值仿真對兩船會遇和多船會遇場景進行測試,驗證該方法的有效性。

1 基于深度強化學習的船舶智能避碰方法

1.1 深度強化學習原理

強化學習算法理論框架基于馬爾可夫決策過程(Markov Decision Process, MDP),其本質是agent與環境不斷交互實現學習適應環境的過程,通過不斷更新agent行為策略,使其獲得最大累計獎勵Rt。[13]

(1)

式(1)中:γ∈[0,1]為折扣系數,可調節未來獎勵對當前動作的影響;rk為k時刻獲得的瞬時獎勵。

累計回報獎勵期望即動作值函數Qπ(s,a)和狀態值函數Vπ(s),通常作為評價策略π的標準,其中:s為agent所處狀態;a為agent采取的動作;Qπ(s,a)為agent依據策略π在處于狀態s時采取動作a獲得的期望獎勵值;Vπ(s)為agent處于s時采取策略π獲得的期望獎勵值。

Qπ(s,a)=Eπ{Rt|st=s,at=a}

(2)

Vπ(s)=Eπ{Rt|st=s}

(3)

強化學習的目標是得到最優動作值函數Q*(s,a)和最優狀態值函數V*(s),有

(4)

(5)

將式(2)代入式(4),可得Q*(s,a)的迭代形式為

(6)

式(6)中:s′和a′為下一時刻的狀態和動作,Q*(s,a)滿足Bellman方程。由此可求得最優策略函數π*(s)為

(7)

利用深度神經網絡對Q*(s,a)進行估計,其代價函數為

L(θi)=E{(yi-Q(s,a;θi))2}

(8)

式(8)中:θ為深度神經網絡中的參數;i為訓練回合數。

神經網絡優化目標為

(9)

深度強化學習采用記憶回放技術解決樣本數據關聯性問題,加速估計Q*(s,a)的訓練過程。

1.2 基于DQN的船舶智能避碰模型

船舶會遇場景復雜,避碰行動受操縱性和COLREGS的約束,因此選擇具有良好魯棒性的DQN算法構建船舶智能避碰模型,該模型的核心工作是合理設計MDP中的各個要素。根據船舶間實時獲取的航行信息,從全局的角度建立包含會遇環境信息的狀態集St,保證輸入神經網絡中船舶航行信息的完整性。船舶避碰行為at主要考慮轉向,保證避碰決策的可執行性。獎勵函數rt是船舶DQN避碰模型中最核心的部分,是船舶智能避碰決策制定的依據。當不存在碰撞危險時,船舶在海上通常按規定航向航行;當存在碰撞危險時,船舶采取的避碰決策既需考慮船舶間避碰過程的安全有效性,又要考慮船舶在避碰過程中是否遵守COLREGs。因此,應綜合考慮航向跟隨、船舶碰撞和規則符合等因素,對船舶智能避碰模型DQN獎勵函數進行設計?;贒QN的船舶智能避碰模型框架見圖1。

2 船舶智能避碰深度強化學習算法方案

2.1 狀態集設計

船舶航行時衡量本船與周圍船舶危險度的直接

且重要的標準是兩船在最近會遇點時的距離和方位。[14]船舶避碰行動通常開始于6 n mile,為提高避碰算法處理本船與周圍船舶會遇信息的可計算性,以半徑rencounter=6 n mile作為本船對周圍環境感知并記錄的范圍。

1) 為減小計算量,縮短訓練時間,以12°為1個單位,將本船可航行范圍分成30個區域,每個區域的邊界弧長L=2 327.29 m,小于大多數船舶航行的安全距離,保證在開闊水域中每個區域內最多有1艘目標船。記錄每個區域中目標船到本船的距離d0,沒有目標船的區域記錄di=rencounter=6,并以距離值作為強化學習的狀態因數之一,有

xt=[dt,1,dt,2,…,dt,30]

(10)

2) 為量化兩船會遇的緊迫程度,引入最近會遇時間(Time to Closest Point of Approaching,tCPA)和最近會遇距離(Distance of Closest Point of Approaching,dCPA)作為指標,該狀態因數為

Tt=[TCPA1,Tt,CPA2,…,Tt,CPA30],

dt=[dt,CPA1,dt,CPA2,…,dt,CPA30]

(11)

將本船相對目標船的方位作為狀態因數之一,有

θt=[θt,1,θt,2,…,θt,30]

(12)

綜上,強化學習的狀態集為

(13)

2.2 動作集選擇

頻繁改變船舶航速易對主機造成損害,且花費的時間較長,為保證算法輸出的避碰決策具有良好的可操作性,系統動作集選擇航向變化量,本船進行避碰行為采取的轉向角度設計為:A={-Δψ,0,Δψ},左轉為負,右轉為正,Δψ>0,其中Δψ可根據實際船舶操作特性進行合理設置。

2.3 獎勵函數設計

船舶智能避碰深度強化學習算法中的獎勵函數是船舶智能避碰決策制定的依據。當船舶不存在碰撞危險時,本船應按預先規定航向航行;當船舶存在碰撞危險時,本船應采取合理的避碰決策,其執行的避碰行動既要考慮船舶間避碰過程的安全有效性,又要考慮船舶在避碰過程中是否遵守COLREGS。

2.3.1航向保持獎勵函數

當本船周圍不存在需要避讓的目標船時,應按照預先規定的航向航行。觀察本船每一時刻的航向,并將其與規定的航向相比較,計算其偏差。當偏差值大于可接受的最大誤差時,認為此時的狀態處于偏離航向狀態,需對其進行懲罰。因此,設計航向保持獎勵函數為

(14)

式(14)中:Δφe為此時本船航向與規定航向之間的偏差;Δφe,max為可接受的最大航向偏差值;-rcf為航向偏差的懲罰值。

2.3.2避碰獎勵函數

當存在碰撞危險時,本船應采取避碰決策,始終與周圍船舶保持安全的物理距離,對船舶間距離小于安全會遇距離(Safe Distance of Approach,SDA)的狀態給予懲罰。[14]因此,設計避碰獎勵函數為

(15)

式(15)中:Pt,0為本船在t時刻的位置;Pt,Ti為目標船i在t時刻的位置;SDA為兩船間的安全會遇距離;-rcollision為發生碰撞的懲罰值。

2.3.3遵守規則獎勵函數

船舶避碰過程除保證避讓的安全有效性外,還要考慮避讓過程是否遵守COLREGs。通過對該規則進行解讀分析,量化部分要求,設計針對避碰決策是否符合規則的獎勵函數。分析每一時刻輸入到強化學習系統中的狀態信息,通過對局面和階段進行判斷,確定船舶責任和會遇態勢,分別針對不同情況逐一設計對應的獎勵函數,在訓練時視不同情況對獎勵函數進行調用。

2.3.3.1 直航船

COLREGs第17條規定:兩船中的一艘船應給另一艘船讓路時,另一艘船應保持航向和航速。[15]當本船判定為直航船時,應對其采取變向的行為進行懲罰,設計直航船獎勵函數為

(16)

式(16)中:Δφ為本船作為直航船時航向改變量;Δφmax為直航船可接受的最大航向改變量;-rcourse為直航船采取變向行為的懲罰值。

2.3.3.2 讓路船

COLREGs第16條規定:須給他船讓路的船舶,應盡可能及早地采取大幅度的行動,寬裕地讓清他船。[15]因此,當檢測到存在碰撞危險且判定本船為讓路船時,本船應及早地采取避碰行動,對遲緩的動作進行懲罰。設計讓路船及早行動獎勵函數為

(17)

式(17)中:φtdetect為檢測到危險時刻的本船航向;φtdetect-1為檢測到危險上一時刻的航向;Δt為檢測到發生危險的時刻與采取動作的時刻之間的差值;-rsoon為對應的懲罰值。

根據COLREGs要求,讓路船應該寬裕地讓清他船。因此,定義本船最近會遇距離的預警范圍dpre和發生碰撞的物理距離dcol見圖2。[16]當船舶會遇時,計算船舶間的最近會遇距離dCPA,通過判斷dCPA是否小于各閾值來判斷船舶間是否存在碰撞危險,進而判斷避讓行動是否寬裕。預警范圍dpre和物理距離dcol與船舶尺度、船舶運動特性和船舶操縱性等相關,各船舶可根據自身屬性設定不同的dCPA閾值dpre和dcol,設計寬裕獎勵函數Rwide為

(18)

綜上,讓路船獎勵函數設計為

Rgive-way=Rsoon+Rwide

(19)

考慮本船同時與多船形成復雜會遇場景的情況,判斷本船為讓路船或直航船的依據見式(20)。若相對其中至少1艘目標船本船判斷為讓路船,則認為本船需采取避讓行動,即本船為讓路船;若相對所有目標船本船判斷為直航船,則本船為直航船。

(20)

式(20)中:fi為本船相對第i條目標船的船舶責任;f為本船同時應對多船會遇時的船舶責任。

2.3.3.3 對遇局面

根據COLREGs第十四條的要求,當2艘機動船在相反的或接近相反的航向上相遇致有構成碰撞危險時,應各向右轉向從他船的左舷駛過。[16]兩船處于對遇局面時,本船應采取轉向動作,保證兩船在最近會遇點時本船處于他船左舷位置,即本船相對他船的相對方位角θcpa為180°~360°,對該狀態給予獎勵。因此,設計對遇局面下的獎勵函數如式(21)所示,其函數示意見圖3。

(21)

式(21)中:rhead-on為對遇局面獎勵值系數。

圖2 船舶周圍預警范圍示意圖3 對遇局面獎勵函數

2.3.3.4 交叉讓路局面

根據COLREGs第15條的要求,當2艘機動船交叉相遇,并構成碰撞危險時,有他船在本船右舷的船舶應給他船讓路,且應避免橫越他船的前方。[16]在交叉讓路局面下,本船應從他船艉部經過,因此定義相對方位閾值θε=[90°,270°],通過判斷在最近會遇點時本船相對他船的相對方位θcpa是否屬于θε來判斷本船是否橫越他船的前方,設計交叉讓路局面獎勵函數Rcross為

(22)

式(22)中:rcross為交叉讓路局面獎勵值系數。通過對局面和階段進行判斷確定本船的責任和會遇態勢,訓練時視不同情況對獎勵函數進行調用。處于各局面與責任下本船調用獎勵函數具體情況為:對遇局面Rhead-on+Rgive-way;交叉讓路局面Rcross+Rgive-way;追越局面Rgive-way;交叉直航局面Rstand-on;被追越局面Rstand-on。

2.4 算法步驟

船舶避碰深度強化學習過程是DQN算法中神經網絡收斂的過程,將本船的航行狀態集作為神經網絡輸入數據,初始給定一個避讓策略求出值函數,并利用值函數更新避碰策略,如此循環即可訓練出收斂的最優避碰策略。完整算法步驟如下:

Input:rt={Rgive-way,Rstand-on,Rhead-on,Rcross} %輸入船舶可調用獎勵函數集

Input:at%輸入動作集1. Initialize replay memoryDto capacityN

2. Initialize action-value function Q with random weights

3. for episode = 1;Mdo

4. Initialize sequences1={x1} and preprocessed sequencedφ1=

φ(s1)

5. fort=1,Tdo

6. With probability ∈ select a random actionat

8. Execute actionatin emulator and observe rewardrtand imagex(t+1)

9. Setst+1=st,at,xt+1and preprocessφt+1=φ(st+1)

10. Store transition (φt,at,rt,φt+1) inD

11. Sample random minibatch of transitions

(φj,aj,rj,φj+1) fromD

13. Perform a gradient descent step on (yj-Q(φj,aj;θ))2

14. end for

15. end for

3 船舶避碰仿真驗證

基于TensorFlow深度學習框架編程實現提出的避碰算法。訓練開始時設置1艘用于訓練的本船agent,并設置其初始位置、航速、航向、dpre(1.5 n mile)和dcol(0.5 n mile)等參數。[14]根據訓練場景的要求增加一定數量長寬與agent相同的目標船,針對不同會遇場景設置目標船的初始位置、航向和航速等參數,目標船航行時具備自主航行能力,用以模擬多種會遇場景的情形。

設置DQN算法的相關參數如下:記憶回放池的大小為2 000;批量數據集的大小為500;最大訓練回合為10 000;學習率γ=0.99;獎勵折扣系數ε為0.9;設計神經網絡結構為[120,128,128,3],即1個輸入層、2個隱藏層和1個輸出層,輸入層包含120個節點,輸入為船舶智能避碰深度強化學習算法中的狀態集數據;每個隱藏層都有128個節點,隱藏層節點的激活函數選擇ReLU非線性激活函數;輸出為動作集中對應3個動作的動作值;層與層之間的節點全連接;采用Adam優化算法進行訓練,得到基于深度強化學習的船舶智能避碰模型。

3.1 兩船會遇局面的避碰仿真驗證

為驗證提出的避碰算法在兩船會遇局面下能使船舶在COLREGs的要求下有效避讓來船,分別對不同會遇局面進行仿真驗證。

3.1.1對遇局面

兩船的初始參數設置見表1,仿真的船舶航行軌跡和兩船距離隨時間的變化曲線分別見圖4和圖5。由圖4和圖5可知,本船按照COLREGs的要求向右轉向實現與目標船左對左安全通過,并在駛過讓清后恢復原航向,整個避碰過程安全有效。

表1 對遇局面的船舶初始參數設置

圖4 對遇局面中兩船的航行軌跡圖5 對遇局面中兩船距離隨時間變化曲線

3.1.2交叉相遇局面

兩船的初始參數設置見表2,仿真的船舶航行軌跡和兩船距離隨時間的變化曲線分別見圖6和圖7。由圖6和圖7可知:本船按照COLREGs要求向右轉向,并從目標船的艉部駛過,實現對目標船的避讓。

表2 交叉相遇局面的船舶初始參數設置

圖6 交叉相遇局面中兩船的航行軌跡圖7 兩船距離隨時間變化曲線

3.1.3追越局面

兩船的初始參數設置見表3,仿真的船舶航行軌跡和兩船距離隨時間的變化曲線分別見圖8和圖9。由圖8和圖9可知:本船追越他船局面中本船按照COLREGs在目標船的右舷作為讓路船從目標船的艉部通過,被追越目標船作為直航船保持原來的航行狀態繼續航行。

3.2 多船會遇局面的避碰仿真驗證

作為船舶避碰研究中的重要內容之一,多船避碰中各船面臨的會遇場景比兩船會遇局面更復雜。為驗證提出的避碰算法可使本船在應對復雜會遇場景時具備自主避碰能力,進一步進行多船避碰仿真試驗。

表3 交叉相遇局面的船舶初始參數設置

圖8 追越局面中兩船的航行軌跡 圖9 兩船距離隨時間的變化曲線

3.2.1多船會遇初始參數設置

以3艘船舶會遇場景為例進行多船避碰測試,船舶初始參數設置見表4。

表4 多船會遇場景船舶初始參數設置

3.2.2多船避碰仿真驗證結果分析

多船會遇仿真試驗中的單次訓練回合累計獎勵函數值的變化曲線和船舶航行軌跡分別見圖10和圖11。由圖10可知:隨著訓練回合數的增加,DQN算法中的累計獎勵函數值逐漸增大,算法在不斷地學習。通過足夠次數的訓練學習后,可得到符合COLREGs的深度強化學習多船避碰模型。由圖11可知:本船一開始與目標船1形成碰撞危險,因此本船采取向右轉向對目標船1進行避讓,在轉向過程中為避免與目標船2形成新的危險,本船進行左轉向,實現對目標船2的避讓并恢復航向,最終形成的多船避讓過程如圖11所示。

多船會遇場景中各船舶間距離隨時間變化曲線見圖12,其中OS-TS1、OS-TS2和TS1-TS2分為本船與目標船1、本船與目標船2、目標船1與目標船2之間的距離隨時間的變化曲線。由圖12可知:各船舶間的距離始終保持在安全會遇距離之外。

圖10 單次訓練回合累計獎勵函數值的變化曲線圖11 多船會遇場景中的船舶航行軌跡

圖12 多船會遇場景中各船舶間距離隨時間變化曲線

4 結束語

針對船舶自主避碰問題,在對COLREGs充分理解的基礎上,基于深度強化學習技術能自主學習適應環境的特點,提出一種COLREGs約束下的船舶DQN避碰算法,通過分析船舶避碰影響因素,設計船舶智能避碰DQN模型。將本船視為智能體,根據船舶間實時獲取的航行信息設計準確描述船舶避讓過程的狀態集和動作集,保證輸入神經網絡中船舶航行信息的完整性和可計算性;結合船舶避讓決策制定中對安全性和遵守COLREGs的要求,設計考慮航向跟隨、船舶碰撞和規則符合等要素的獎勵函數;利用深度神經網絡對智能體進行訓練,并采用Adam優化算法提高訓練速度。通過多種會遇場景的數值仿真試驗驗證了該算法的有效性。目前,針對兩船通過溝通繞開規則進行協同避讓的情況暫未考慮,今后可就平衡嚴格遵守COLREGs與船舶協商避讓開展進一步的研究,同時通過增加會遇船舶數量和會遇場景復雜度來優化算法。

猜你喜歡
航向局面航行
基于事件觸發的船舶航向邏輯切換自適應控制
風浪干擾條件下艦船航向保持非線性控制系統
打好同心牌 共筑“根魂夢” 開創港澳僑和海外統戰工作新局面
無人救撈艇的航向控制器設計*
到慧骃國的航行
海洋美景
新擔當 新作為 開創鶴壁人大工作新局面
第六章 邂逅“胖胖號”
用“國家使命”導引航向——大學之大,重在推進產學研深度融合和科技成果轉化
潛艇
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合