王 群 張慶年* 楊 杰 叢 喆 涂 敏
(武漢理工大學交通學院1) 武漢 430063) (武漢理工大學信息工程學院2) 武漢 430070)
無人駕駛船舶可利用高清視頻、激光雷達和AIS系統等多維信息實現智能感知,利用機器學習方法實現智能駕駛行為決策,通過與環境的不斷交互學習積累經驗,模仿有人駕駛船舶船長駕駛經驗積累的過程.船舶無人駕駛代表了未來發展的方向,可提高水上交通安全性[1-2].
在無人駕駛研究領域,與無人機、無人駕駛車輛相比,針對無人駕駛船舶的研究相對滯后[3].在無人駕駛車輛駕駛行為決策方面,熊璐等[4]對國內外無人駕駛車輛的駕駛行為決策系統的研究,發現現階段無人駕駛車輛的行為決策主要有以有限狀態機為代表的基于規則的駕駛行為決策和以各類機器學習為代表的基于學習算法的駕駛行為決策兩大類;杜明博[5]結合駕駛員在復雜交通下的駕駛行為決策過程,提出了一種基于決策樹的無人車行為決策方法;耿新力[6]采用本體論和馬爾科夫理論構建了一種針對城區不確定環境下的無人車行為決策模型.Zheng等[7]提出了一種利用強化學習來解決復雜交通狀態下的自動駕駛車輛駕駛行為決策模型.在無人駕駛飛行器駕駛行為決策方面,Ma等[8]利用深度卷積神經網絡和強化學習來構建無人機的反應式避障行為決策模型,模仿人類進行駕駛決策行為;丁林靜等[9]利用動態模糊Q學習模型來設計無人機的空戰機動決策模型; Temize等[10]利用MDPPOMDP構建了無人機的避碰駕駛行為決策模型.通過以上無人駕駛車輛和無人駕駛飛行器的駕駛行為決策方法可知,機器學習應用居多.對于無人駕駛船舶駕駛行為決策來說,主要是要解決路線導航和障礙物避碰兩方面的問題[11],研究較多的為海上無人船避碰決策,采用改進多目標算法[12]、決策樹[13]、強化學習[14]和深度強化學習[15]等方法.總的來說,無人駕駛船舶駕駛行為決策方面的研究還處于起步階段,但機器學習給予了無人駕駛船舶發展的技術支持,使其得以迅速發展.
目前,對船舶無人駕駛的研究主要存在以下兩個問題:①對無人駕駛船舶行為決策研究較多的為開闊的海上水域,鮮有針對內河受限水域的研究;②在進行無人駕駛船舶避碰行為決策設計時沒有考慮遵循《中華人民共和國內河避碰規則(2003修正版)》.文中通過構建內河船舶碰撞危險度函數來確定避碰時機,利用強化學習來構建無人駕駛船舶駕駛行為決策模型.
引入資格跡的Q-Learning算法——Q(λ)算法來構建內河無人駕駛船舶行為決策模型,可加快模型的學習速度,縮短學習時間.資格跡的更新公式:
(1)
式中:γ為折扣因子;λ為資格跡衰減因子.
Q(λ)算法中Q值更新公式為
qt+1(si,aj)=qt(si,aj)+αδt+1et(si,aj)
(2)
(3)
式中:α為學習率.
內河船舶碰撞危險度直接影響無人駕駛船舶的駕駛行為決策.根據內河特點和專家經驗,最終選取DCPA(無人船與障礙物最接近點距離)、TCPA(到達最接近點時間)、無人船與障礙物的距離D和內河航道尺寸R作為構建船舶碰撞危險度函數的四項指標,采用各指標的隸屬度函數來表示船舶碰撞危險度.
1)DCPA影響船舶避碰最重要的因素之一,DCPA越小,船舶的碰撞危險度越大,UDCPA為DCPA的碰撞危險隸屬度函數.
(4)
式中:d1為能安全駛過的最小距離;d2為安全會遇距離.
2)TCPA影響船舶避碰最重要的因素之一,表示船舶碰撞在時間上的緊迫程度,當TCPA較小時,存在碰撞的可能性較大.UTCPA為TCPA的碰撞危險隸屬度函數.
(5)
式中:t1為無人船最晚進行避碰操作的時間;t2為障礙物與本船相對距離為D2時的航行時間.
3) 無人船與障礙物的距離D直接影響船舶避碰情況,當障礙物與本船的距離越近時,本船的碰撞危險度就越大.UD為無人船與障礙物距離D的碰撞危險隸屬度函數.
(6)
式中:D1為最晚避讓距離;D2為可采取避讓措施距離.
4) 內河航道尺寸R內河水域較狹窄,船舶行駛時會受到航道寬度限制,當船舶離岸距離較小時,會受到水流和岸吸的作用,使得碰撞危險度增大.UR為內河航道尺寸R的碰撞危險隸屬度函數.
(7)
式中:R為無人船距離內河航道邊界的距離;R1為無人船距離航道邊界的最小安全距離;R2為無人船與航道邊界有足夠的空間進行避碰操作的距離.
內河無人船碰撞危險度與以上四個因素有著密不可分的影響,但是對于不同的情況,四個因素對其影響有所不同,根據其影響程度賦予不同的權重.內河無人船碰撞危險度UCR的表達式為
UCR=w1UDCPA+w2UTCPA+w3UD+w4UR
(8)
式中:w1,w2,w3,w4分別為UDCPA,UTCPA,UD和UR在內河無人船碰撞危險度中所占的權重,權重之和為1.設置Ua(可根據實際情況進行調節),當內河無人船碰撞危險度UCR大于Ua時,無人船需要進行避碰操作.
內河無人駕駛船舶進行駕駛行為決策時,要完全遵守內河避碰規則.根據《中華人民共和國內河避碰規則(2003年修正本)》[17],在無人駕駛船舶避碰行為決策里加上基于避碰規則的先驗知識,見圖1.設定無人船位于O點處,以無人船的船艏向建立坐標系,將來船與本船的相對方位角θT劃分為6個區域:A、B、C、D、E、F.在進行避碰決策時,綜合考慮來船相對于無人船的相對方位θT和兩船間的航向偏差角CT([0°,180°)),確定規則見表1.
圖1 無人駕駛船舶會遇態勢圖
表1 內河無人駕駛船舶航行規則
無人船進行避碰行為決策時,一旦根據會遇態勢確定了直航船和讓路船,不管隨后相對方位和航向偏差角發生什么變化都不再改變,直到讓路船駛過讓清.當確定本船為直航船時,一般不采取行動,若兩船的碰撞危險度到緊迫局面而讓路船還沒有采取避碰措施,本船應采取相應的緊急避碰動作.
2.3.1狀態空間輸入
無人駕駛船舶通過傳感器等探測技術和精確的定位系統,可以獲得無人船自身和障礙物的信息,包括無人船的位置、航速、航向,障礙物的位置、航速和航向,目的地的位置等.
將無人船與障礙物間的距離D,無人船與障礙物的相對方位角θT,無人船與障礙物的航向偏差角CT,無人船航向和無人船與目的地連線的夾角φ作為狀態空間的輸入,需要將其進行離散處理.將無人船與障礙物之間的距離D劃分為3種狀態,當D>D2時,為狀態S;當D1
2.3.2動作空間輸出
船舶進行行為決策的常見動作有右轉舵、左轉舵、加速、減速、停車、倒車等,為了保證無人船在航行過程中的速度穩定性和方向穩定性,在進行行為決策時,不能同時改變速度和方向,以小角度轉向為主要的避碰方式.θ為無人船進行轉向操作時的最小轉向角,利用自動舵進行操作,規定向右轉向為正,向左轉向為負.動作集A為{±kθ},kθ≤30°,k=0,1,2….
2.3.3回報函數設計
回報函數由避碰和導向目的地這兩部分組成.無人船處于安全狀態時,決策行為以導向目的地為主,處于有碰撞危險狀態時,決策行為以避碰為主.故回報函數為
r=μrc+(1-μ)rD
(9)
1) 避碰 采用內河無人船碰撞危險度的變化來定義避碰的回報函數,無人船的碰撞危險度變小,就給予一定的獎勵;無人船的碰撞危險度變大,就給予一定的懲罰.當UDCPA,UTCPA,UD或UR各分碰撞危險度中有任一個的值為1,就給與一個較大的懲罰值.
(10)
2) 導向目的地 無人船接近目的地,給與一定的獎勵,無人船遠離目的地,給與一定的懲罰.L(t)為無人船與目的地在t時刻的距離.
(11)
當UCR(t) 2.3.4動作選擇策略 一般Q學習算法采用的動作選擇策略為ε-greedy算法,此算法是以概率1-ε來選擇動作值函數最優的動作,以概率ε來隨機選擇其他動作.相對于傳統的貪心算法,ε-greedy算法加強了對環境的探索能力,避免使算法陷入局部最優的困境中. 在本模型中,動作選擇策略為:先采用ε-greedy算法選擇動作ar,然后再判斷所選動作是否符合規則,如果符合,則所選動作at=ar;如果不符合,則用ε-greedy算法重新選擇動作ap,再進行判斷是否符合規則,如果符合,則at=ap,若還不符合,則再用ε-greedy算法選擇動作直到符合規則. 通過仿真實驗來驗證基于Q(λ)算法的內河無人駕駛船舶駕駛行為決策模型的有效性,利用python編程完成模型的訓練和仿真任務.此模型中只考慮兩船會遇場景行為決策情況,對于多船會遇場景行為決策沒有進行討論.在內河水域中,水域狹窄,兩船對駛相遇和交叉相遇較為常見,進行仿真時只考慮了這兩種場景.無人船從起始位置到達終止狀態(無人船到達目的地或者無人船與障礙物碰撞)或者step達到最大值時,一個周期結束.當一個周期結束后,又重新開始新一輪的訓練,直到Q值完全收斂,訓練完成.經查閱資料,在天然和渠化河流一級航道中,3 000 t船舶代表船型中駁船長度為90.0 m、貨船長度為110 m,故在此仿真中采用兩者長度平均值,設置本船和障礙船的船長都為100 m.設置其它參數:折扣因子γ為0.9,資格跡衰減因子λ為0.9,學習率α為0.6. 設置本船的起點為(100,100),目標點為(100,3 100),船首向為0°,速度為7.72 m/s,障礙船起點為(100,3 100),船艏向為180°,速度也為7.72 m/s.仿真結果見圖2. 圖2 對駛相遇場景仿真結果圖 兩船形成對駛相遇局面,虛線為無人駕駛船舶航跡,實線為障礙船航跡.對駛相遇場景中,兩船均為讓路船,在進行仿真實驗中,障礙船的運動方向設置為固定的,無人駕駛船舶采用強化學習的方法進行為行決策,故只有無人駕駛船舶采取了避碰行動.由圖2a)可知,在判斷沒有碰撞危險時,無人駕駛船舶的駕駛行為決策是沿著船艏向往目的地方向行駛.在113.99 s時,判斷有碰撞危險,無人駕駛船舶進入避碰階段,采取避碰措施,進行右轉向,在198.12 s時碰撞危險解除,開始恢復原來的航向,在311.28 s時回到了原始航線,最終在428.1 s時到達目標點.由圖2b)可知,從開始進入避碰階段,無人駕駛船舶采取大角度右轉向措施,并不斷加大轉向幅度,最終解除碰撞危險,恢復初始航向.結果表明無人駕駛船舶能夠準確到達目的地,并遵守內河避碰規則. 設置本船的起點為(100,200),目標點為(100,2 440),船艏向為0°,速度為7.72 m/s,障礙船起點為(700,2440),船艏向為210°,速度也為7.72 m/s.仿真結果見圖3. 圖3 交叉相遇場景仿真結果圖 兩船形成交叉相遇局面.由圖3a)可知,無人駕駛船舶在88.41 s時采取了避碰措施,在160.43 s結束避碰并駛向目標點,在228.47 s時恢復了原來的航向,最終在311.74 s時到達目標點.由圖3b)可知,無人駕駛船舶采取了右轉向避碰措施,符合避碰規則,并在解除碰撞危險后,通過不斷調整舵角恢復初始航向,最終成功達到目的地. 文中利用DCPA、TCPA、無人船與障礙物的距離D和內河航道尺寸R這四個指標的隸屬度函數構建的內河船舶碰撞危險度函數,能夠很好的確定無人駕駛船舶采取避碰行動的時機,包括開始避碰行動時機和結束避碰行動時機.無人駕駛船舶采取的駕駛行為決策遵守內河避碰規則,能夠與有人駕駛船舶共同行駛在同一水域.通過python編程對兩船對駛相遇和交叉相遇的場景進行仿真,仿真結果給出了無人駕駛船舶的船舶航跡圖和無人駕駛船舶駕駛行為決策圖,無人船能夠遵守內河避碰規則進行避碰決策并準確到達目標點. 此模型的仿真結果比較理想,在后續的研究中,會將云計算與強化學習結合起來,提高模型的計算和儲存能力,縮短模型的決策周期和精度.3 訓練仿真
3.1 對駛相遇
3.2 交叉相遇
4 結 束 語