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