国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

復(fù)雜開放水域下智能船舶路徑規(guī)劃與避障方法

2022-08-11 00:48:06楊琪森王慎執(zhí)桑金楠王朝飛宋士吉
關(guān)鍵詞:障礙物航行船舶

楊琪森,王慎執(zhí),桑金楠,王朝飛,黃 高,吳 澄,宋士吉

(清華大學(xué) 自動(dòng)化系,北京 100084)

0 引言

自《中國制造2025》[1]頒布以來,我國智能制造技術(shù)發(fā)展的步伐明顯加快,“十四五規(guī)劃”進(jìn)一步將智能制造和綠色制造確定為我國制造業(yè)優(yōu)化升級的重點(diǎn)方向。現(xiàn)階段,我國船舶行業(yè)面臨大而不強(qiáng)的局面,與造船業(yè)國際先進(jìn)水平仍然存在明顯差距。無論是從供給側(cè)結(jié)構(gòu)性改革來看,還是從搶占未來發(fā)展制高點(diǎn)來看,智能化都是我國船舶制造和航運(yùn)領(lǐng)域?qū)崿F(xiàn)高質(zhì)量發(fā)展的必由之路。智能駕駛是智能船舶的一項(xiàng)核心技術(shù),通過自動(dòng)感知、自動(dòng)計(jì)算處理等技術(shù),輔助人工或自主實(shí)施決策,執(zhí)行船舶航行任務(wù)。智能駕駛技術(shù)可以顯著減少每艘船舶的平均在船人數(shù),充分節(jié)省人員成本,并有效減少由于人為疏忽所導(dǎo)致的安全事故等[2]。在技術(shù)更加成熟的情況下,甚至可以實(shí)現(xiàn)無人駕駛、自主航行。無人駕駛船舶除了具有降低人工成本、節(jié)能降耗、減少事故等優(yōu)點(diǎn)外,還可以在復(fù)雜的水況下執(zhí)行高難度、高危險(xiǎn)性的任務(wù),如海防巡邏、極險(xiǎn)科考、監(jiān)控搜救等,在軍事、科考、救援等領(lǐng)域有著巨大的應(yīng)用價(jià)值。

船舶智能駕駛系統(tǒng)主要分為環(huán)境及航行態(tài)勢感知、認(rèn)知計(jì)算及決策和船只航行控制等主要子系統(tǒng),其中認(rèn)知計(jì)算及決策子系統(tǒng)是目前船舶智能駕駛系統(tǒng)相關(guān)研究的重點(diǎn),而路徑規(guī)劃和避障是該子系統(tǒng)構(gòu)建與開發(fā)中的核心問題[3]。路徑規(guī)劃問題是針對船舶的當(dāng)前位置與目標(biāo)位置,在一定的限制條件下(如考慮已知的航行禁區(qū)和障礙等),結(jié)合外界環(huán)境與船舶自身情況,達(dá)到航行路徑上相應(yīng)指標(biāo)(如航程、資源消耗量、時(shí)間等)或綜合指標(biāo)的最優(yōu)化或相對優(yōu)化[4]。避障問題則是在航行過程中,對于傳感系統(tǒng)實(shí)時(shí)檢測到的未知?jiǎng)討B(tài)環(huán)境中的障礙物進(jìn)行躲避,并進(jìn)行局部路徑及船只行為的調(diào)整與規(guī)劃[5]。總體而言,智能船舶路徑規(guī)劃和避障的目標(biāo)可定義為:根據(jù)已知的環(huán)境和航行狀態(tài)信息以及實(shí)時(shí)探測到的動(dòng)態(tài)信息[6],在與他船、動(dòng)態(tài)及靜態(tài)障礙、航行禁區(qū)等保證安全距離的情況下,做出相應(yīng)的航行決策,在最短時(shí)間、或最短路程、或最低能耗、或最優(yōu)化某一指標(biāo)、或最優(yōu)化綜合指標(biāo)的情況下從當(dāng)前區(qū)域到達(dá)目標(biāo)區(qū)域。

目前,智能船舶的路徑規(guī)劃與避障主要分為傳統(tǒng)方法和智能化方法兩大類[7]。傳統(tǒng)方法一般指確定性方法,旨在通過分析船只在每個(gè)決策時(shí)刻所獲取的融合信息,在決策層面給出一個(gè)由人為制定規(guī)則的、可以自動(dòng)執(zhí)行的確定性的完備解。傳統(tǒng)方法的核心在于人為的根據(jù)問題場景所制定的決策規(guī)則,其關(guān)鍵因素包括算法框架與實(shí)現(xiàn)框架。常見的算法框架包括昆蟲算法(BUG)、快速探索隨機(jī)數(shù)算法(Rapid-exploration Random Tree, RRT)、確定搜索、規(guī)劃、布線、模糊決策等,實(shí)現(xiàn)框架包括決策樹、樹或圖搜索等方法。根據(jù)算法框架來分,傳統(tǒng)方法主要分為兩種路線:①不借助全局信息,實(shí)時(shí)與環(huán)境交互進(jìn)行決策;②利用全局信息預(yù)先進(jìn)行路徑規(guī)劃,再進(jìn)入實(shí)際場景直接執(zhí)行或微調(diào)。因?yàn)榇氨苷系淖顑?yōu)路徑受很多重要因素的影響,如航行環(huán)境條件、國際海上避碰規(guī)則等,其中大多是定性的抽象因素,很難用確定的數(shù)理方法來量化,而航行過程中又常常會(huì)遇到突發(fā)的障礙等情況,很難通過人為制定的規(guī)則做到完全合理的覆蓋,所以確定性方法具有明顯的局限性。

智能化方法是指隨機(jī)搜索算法、深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)這類方法,它們通過在預(yù)先計(jì)算得到的無碰撞區(qū)域進(jìn)行優(yōu)化,或者直接在優(yōu)化目標(biāo)中考慮碰撞約束來實(shí)現(xiàn)動(dòng)作的實(shí)時(shí)決策。相較確定性方法,智能化方法對于處理抽象和定性的影響因素具有較好的效果,更加適用于船舶的路徑規(guī)劃與避障系統(tǒng)。近年來,深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)相關(guān)理論與技術(shù)的進(jìn)步給智能化方法的發(fā)展提供了新的空間[8]。深度學(xué)習(xí)具有強(qiáng)大的數(shù)據(jù)分析和知識感知能力,可以從大量的多模態(tài)信息中獲取有用的知識。強(qiáng)化學(xué)習(xí)不需要先驗(yàn)知識,通過智能體與環(huán)境的交互,以最大化累計(jì)收益為目標(biāo),學(xué)習(xí)最優(yōu)策略。深度強(qiáng)化學(xué)習(xí)結(jié)合深度學(xué)習(xí)的感知能力與強(qiáng)化學(xué)習(xí)的決策能力,在復(fù)雜動(dòng)態(tài)環(huán)境下的路徑規(guī)劃與實(shí)時(shí)避障方面取得了一系列成就[9-10]。對比于傳統(tǒng)方法在復(fù)雜環(huán)境中的局限性,深度強(qiáng)化學(xué)習(xí)方法展現(xiàn)出了更高的實(shí)時(shí)性與決策能力?;谏疃葟?qiáng)化學(xué)習(xí)的方法可以通過黑箱的模式完成由多信道信息端到?jīng)Q策行為結(jié)果端的映射,而不需要通過人為制定的規(guī)則來分別進(jìn)行多信道信息融合與基于融合信息的決策分析,且這類方法在理論上可以包含任何的確定性決策分支,給船舶決策的完備性和安全性帶來更加堅(jiān)實(shí)的保障。

結(jié)合理論與實(shí)際場景分析,本文將船舶航運(yùn)中的路徑規(guī)劃與實(shí)時(shí)避障環(huán)境進(jìn)行數(shù)學(xué)建模,抽象成為算法模型,并引入了強(qiáng)化學(xué)習(xí)理論和方法。在仿真實(shí)驗(yàn)中,針對不同的環(huán)境復(fù)雜度,本文分析、驗(yàn)證并比較了傳統(tǒng)方法和智能化方法的可行性、有效性和優(yōu)劣性。實(shí)驗(yàn)顯示,深度強(qiáng)化學(xué)習(xí)方法在不同場景下均展現(xiàn)出超越傳統(tǒng)方法的優(yōu)秀決策能力。

1 研究進(jìn)展

1.1 船舶的路徑規(guī)劃和避障的傳統(tǒng)方法

確定性算法中成熟的解決方案出現(xiàn)于20世紀(jì)90年代。確定性算法的一般邏輯為:在已知全局信息或相當(dāng)充足的局部信息的情況下,根據(jù)實(shí)際需求,人為制定路徑及選擇避碰的策略,設(shè)計(jì)出能夠自動(dòng)執(zhí)行避碰的算法。上世紀(jì)九十年代至本世紀(jì)前十年為這類算法研究的熱點(diǎn)時(shí)期和成果集中產(chǎn)出時(shí)期。參考引言中對傳統(tǒng)類方法的描述及關(guān)鍵詞提取,基于搜索、規(guī)劃等傳統(tǒng)類算法的部分文獻(xiàn)回顧如表1所示。

表1 傳統(tǒng)型方法文獻(xiàn)回顧表

傳統(tǒng)方法中,相關(guān)的典型代表如LIJIMA等[11]的工作,在系統(tǒng)中采用寬度優(yōu)先搜索方法對避碰路徑進(jìn)行選擇和規(guī)劃,評估每一路徑分支的逐次逼近條件:碰撞危險(xiǎn)、最短軌跡、最小舵角和與國際海上避碰規(guī)則一致,避碰路徑以10 s為間隔進(jìn)行評價(jià),按照目標(biāo)的優(yōu)先級進(jìn)行處理并假設(shè)目標(biāo)船保持在檢測時(shí)的方位上。該系統(tǒng)作為船舶的避碰導(dǎo)航工具,在設(shè)計(jì)時(shí)沒有考慮航行環(huán)境的影響。同一時(shí)期,CHURKIN等[12]嘗試采用連續(xù)和離散的研究方法建立避碰路徑規(guī)劃策略的數(shù)學(xué)模型。連續(xù)的方法采用線性規(guī)劃使偏航變化率的價(jià)值函數(shù)最小化;而離散的方法通過離散化路徑以及在每個(gè)頂點(diǎn)采用分支定界法評估路徑的最優(yōu),最終確定解決方案。由于連續(xù)方法的計(jì)算復(fù)雜性較高,在多船會(huì)遇情景下不可行,且兩種方法都沒有考慮環(huán)境條件的影響。隨后,HWANG等[13]運(yùn)用模糊集合理論建立知識庫系統(tǒng)來評價(jià)船舶碰撞危險(xiǎn)并確定避碰策略,算法中解空間采用船舶附近的圓形領(lǐng)域來確定,滿足了船舶避碰的空間需求。與以前的知識庫系統(tǒng)類似,這個(gè)系統(tǒng)只是在每個(gè)階段處理目標(biāo)船,并在避碰策略上給出建議,而在整個(gè)交通情景下最終的結(jié)果并不是最優(yōu)的;CHANG等[14]提出一種采用迷宮布線算法在柵格圖上計(jì)算避碰路徑的模型。該模型采用離散化的圓形船舶領(lǐng)域來構(gòu)建障礙物空間,目標(biāo)船領(lǐng)域和本船根據(jù)各自的船速行進(jìn),若本船占用的單元同時(shí)被目標(biāo)船領(lǐng)域侵占,這個(gè)單元可視為不通的區(qū)域,本船只允許在其他區(qū)域通過,最后采用迷宮布線算法,在解空間中確定出一條最短避碰航行路徑。其不足之處是未考慮國際海上避碰規(guī)則和航行環(huán)境條件。對此,SZLAPCYNSKI等[15]對文獻(xiàn)[14]的迷宮布線方法進(jìn)行了改進(jìn),加入了對轉(zhuǎn)向懲罰、時(shí)變禁區(qū)和本船減速能力等因素的考慮。但由于未考慮航行環(huán)境條件以及只能處理本船減速問題,其最終計(jì)算的路徑仍然不是最優(yōu)的。

但在很多情況下,受限于探測能力和水域的復(fù)雜性,智能船舶在路徑規(guī)劃與避障的過程中也需要高度或完全應(yīng)激的方法,如BUG方法[16]等。BUG方法由于規(guī)則簡單、完全應(yīng)激、不需要依賴過多全局信息而可以較好地完成局部路徑規(guī)劃與避障的特性,在很多路徑規(guī)劃與避障的應(yīng)用場景下有著不錯(cuò)的效果[17]。

1.2 強(qiáng)化學(xué)習(xí)及其在路徑規(guī)劃和避障上的應(yīng)用

強(qiáng)化學(xué)習(xí)通過智能體(agent)與環(huán)境(environment)交互,在不斷試錯(cuò)中獲得反饋并調(diào)整策略(policy),最終實(shí)現(xiàn)累計(jì)收益(reward)最大化。強(qiáng)化學(xué)習(xí)的算法可以分為三大類[18]:基于值(value-based)的算法、基于策略(policy-based)的算法和兩者混合的算法。基于值的方法以時(shí)序差分法(Temporal Difference, TD[19])、Q學(xué)習(xí)(Q-Learning[20])、狀態(tài)動(dòng)作收益算法(State-Action-Reward-State-Action, SARSA[21])、Dyna[22]為代表,根據(jù)值函數(shù)的大小選擇動(dòng)作,適用于離散動(dòng)作空間?;诓呗缘乃惴ㄒ圆呗蕴荻?policy gradient)[23]、模仿學(xué)習(xí)(imitation learning)[24]為代表,更新策略參數(shù)來選擇動(dòng)作,適用于高維或連續(xù)動(dòng)作空間。兩者混合的算法以演員—評價(jià)者(actor-critic)[25]為代表,能同時(shí)實(shí)現(xiàn)處理連續(xù)動(dòng)作和單步更新,進(jìn)一步提升算法效率。

深度學(xué)習(xí)具有強(qiáng)大的感知能力,在高維數(shù)據(jù)的處理方面展現(xiàn)出了明顯的優(yōu)勢。用深度神經(jīng)網(wǎng)絡(luò)來近似強(qiáng)化學(xué)習(xí)中的值函數(shù)、策略或者模型[26],從而有效結(jié)合深度學(xué)習(xí)的感知能力和強(qiáng)化學(xué)習(xí)的決策能力。深度強(qiáng)化學(xué)習(xí)在游戲、機(jī)器人、自然語言處理等領(lǐng)域已經(jīng)取得了很多突破性成就,如深度Q網(wǎng)絡(luò)(Deep Q-Network, DQN)[27]和阿爾法圍棋(AlphaGo)[28]。

王珂等[29]在深度強(qiáng)化學(xué)習(xí)訓(xùn)練的基礎(chǔ)上加入景深約束,優(yōu)化了狀態(tài)空間的搜索與采集,提高了機(jī)器人路徑規(guī)劃的訓(xùn)練速率;凌濤[30]以機(jī)器人視覺圖像為輸入,利用卷積神經(jīng)網(wǎng)絡(luò)評估機(jī)器人的運(yùn)動(dòng)狀態(tài),結(jié)合值函數(shù)建立決策,從而獲取最優(yōu)避障路徑;李文韜等[31]改進(jìn)了深度確定性策略梯度(Deep Deterministic Policy Gradient, DDPG)算法的損失函數(shù)并引入丟棄(dropout)機(jī)制,在無人駕駛汽車的避障任務(wù)上獲得了更高的平均獎(jiǎng)勵(lì);王文璽等[32]在強(qiáng)化學(xué)習(xí)過程中融入歷史信息,提升了機(jī)器人在龐大狀態(tài)空間和動(dòng)態(tài)變化環(huán)境下路徑規(guī)劃任務(wù)的學(xué)習(xí)效率。為解決復(fù)雜環(huán)境下的無數(shù)據(jù)訓(xùn)練問題,薛均曉等[33]在深度強(qiáng)化學(xué)習(xí)中加入預(yù)測模型,在航母甲板的路徑規(guī)劃仿真實(shí)驗(yàn)中,準(zhǔn)確率、路徑長度、收斂速度、平均獎(jiǎng)勵(lì)值和穩(wěn)定性等指標(biāo)均達(dá)到了較高的水平。

1.3 基于強(qiáng)化學(xué)習(xí)的船舶路徑規(guī)劃和避障問題

本文延續(xù)利用深度強(qiáng)化學(xué)習(xí)進(jìn)行路徑規(guī)劃與避障的思路,在智能船舶領(lǐng)域進(jìn)行了探索和研究。不同于以往的研究工作,本文首先將船舶的航運(yùn)任務(wù)進(jìn)行馬爾可夫決策過程建模,結(jié)合實(shí)際海圖與海上避碰規(guī)則,在動(dòng)作空間、智能體狀態(tài)、收益函數(shù)等設(shè)計(jì)上進(jìn)行了多種嘗試,最終完成智能船舶海上航運(yùn)任務(wù)的仿真平臺搭建。本文進(jìn)一步引入深度強(qiáng)化學(xué)習(xí)理論與算法,討論了不同的強(qiáng)化學(xué)習(xí)算法在智能船舶航運(yùn)任務(wù)中的表現(xiàn)差異。最后,與傳統(tǒng)方法進(jìn)行分析比對,實(shí)驗(yàn)驗(yàn)證了強(qiáng)化學(xué)習(xí)在智能船舶路徑規(guī)劃與避障方面的可行性與有效性。

2 問題定義

為方便分析與研究,本文將船舶路徑規(guī)劃與避障問題進(jìn)行簡化和具體化,將目標(biāo)定義為:船舶從起點(diǎn)出發(fā),在保證航行安全和遵守航行規(guī)則的情況下,以最短時(shí)間到達(dá)終點(diǎn)。

船舶路徑規(guī)劃與避障問題涉及的主要要素包括:船舶、海域、障礙物、起點(diǎn)與終點(diǎn)。如圖1所示為本文構(gòu)造的仿真平臺中各個(gè)要素的示意圖。

(1)船舶 即算法控制的主體,通常搭載探測器,如聲納、雷達(dá)等,能夠在航行方向上探測一定角度和一定距離內(nèi)的區(qū)域(如圖1中虛線)。根據(jù)《1972年國際海上避碰規(guī)則》,船舶在航行時(shí)必須保持安全航速,因此仿真平臺對船舶的最大航速vmax進(jìn)行了限制。此外,由于大型船舶在航行中可能難以急轉(zhuǎn)彎,平臺對船舶每次轉(zhuǎn)向的角度θturn也做了限制。vmax和θturn均為可調(diào)節(jié)的參數(shù)。

(2)海域 即船舶能夠航行的最大范圍。一旦船舶駛出該最大范圍即視為航行失敗。在仿真平臺中,為了防止船舶航行進(jìn)入其他海域,海域邊界同樣被視為障礙物。

(3)障礙物 即船舶在航行中需要避碰的對象。一般分為移動(dòng)障礙物和固定障礙物,移動(dòng)障礙物包括但不限于冰山、其他船舶等,固定障礙物包括但不限于島礁等。根據(jù)《1972年國際海上避碰規(guī)則》,船舶在航行中需要保持安全距離,因此平臺設(shè)置了船舶與障礙物的最小間距參數(shù)dsafe,若船舶與障礙物的距離小于該最小間距即視為航行失敗。此外,為展示算法的泛化性,仿真平臺提供多種移動(dòng)障礙物和固定障礙物的搭配模式,且每輪仿真障礙物的初始位置都是隨機(jī)的。

(4)起點(diǎn)與終點(diǎn) 即船舶航行的起點(diǎn)和終點(diǎn)。由于障礙物的初始位置在每輪仿真中都是隨機(jī)的,仿真中可以采用固定起點(diǎn)和終點(diǎn)位置的方式。這種策略不會(huì)削弱算法的泛化能力,因?yàn)榇芭c障礙物的相對位置依然是多樣且變化的。此外,由于船舶航行的目的地通常為大型港口,在仿真中,只要船舶行駛到港口一定范圍內(nèi)(入港距離參數(shù)darrive),即認(rèn)為航行成功。

另外,仿真平臺在抽象海上航行環(huán)境時(shí),對實(shí)際環(huán)境做了一些簡化。例如,仿真平臺將其他船舶也視作障礙物的一種,忽略了其他船舶和障礙物在運(yùn)動(dòng)方式上的區(qū)別。此外,本文暫不考慮氣候、海浪以及洋流方向等隨機(jī)因素對船舶航行的影響。

3 基于規(guī)則的船舶路徑規(guī)劃與避障

3.1 基于規(guī)則方法的需求分析

在傳統(tǒng)場景中,船舶路徑規(guī)劃與避障問題的一般解決方案是:考慮實(shí)際情況下的環(huán)境及需求信息,使用人為制定的規(guī)則來完成船舶的路徑判定,或具體到船舶本身的運(yùn)行行為。規(guī)則的制定依據(jù)包括應(yīng)激性決策、人工勢場、圖搜索等方法??紤]本文中的應(yīng)用場景:該場景下智能船舶所明確的全局信息僅包括起點(diǎn)與終點(diǎn),在出發(fā)前并不清楚整個(gè)活動(dòng)海域中的可通行區(qū)域與障礙,且需要躲避的障礙物和船只均為可運(yùn)動(dòng)的,因此所制定的船舶在路徑規(guī)劃與避障過程中的運(yùn)行規(guī)則需滿足對全局信息的依賴度較低;且船舶感知探索的結(jié)果在每個(gè)時(shí)刻均為小范圍的動(dòng)態(tài)更新,因此需要相當(dāng)高的應(yīng)激性;同時(shí)考慮到船舶運(yùn)行中較大的慣性,實(shí)現(xiàn)的規(guī)則中應(yīng)該帶有一定的預(yù)測性。綜合分析可知,該場景需要高度應(yīng)激、帶有預(yù)測性的完備局部實(shí)時(shí)決策方法。因此,在傳統(tǒng)基于規(guī)則的方法中,本文選擇BUG系列方法作為該場景的應(yīng)用研究對象。

3.2 BUG系列方法

BUG算法的原理來自于昆蟲爬行的運(yùn)動(dòng)決策策略。BUG算法的基本規(guī)則是:在沒有障礙阻擋警告的情況下,沿直線向目標(biāo)運(yùn)動(dòng),而在有障礙碰撞危險(xiǎn)的區(qū)域內(nèi),沿著障礙物的邊界實(shí)施繞行。BUG系列方法中不同算法的區(qū)別主要就在直線運(yùn)動(dòng)狀態(tài)與繞行狀態(tài)的互相切換條件上。

BUG系列方法中,最常用的有BUG1和BUG2兩種。BUG1算法的基本規(guī)則是:每次繞開障礙之后,選擇相對障礙物的安全區(qū)域內(nèi),距離目標(biāo)位置最近點(diǎn)到目標(biāo)位置的連線,作為進(jìn)入直線運(yùn)動(dòng)狀態(tài)之后的軌跡;而BUG2算法的基本規(guī)則是:未遇到障礙時(shí),運(yùn)動(dòng)的直線路徑是出發(fā)位置到目標(biāo)位置的連線。二者對比,BUG1算法更加保守安全,而BUG2更容易獲得較短的路徑。此外,更改進(jìn)入直線運(yùn)動(dòng)狀態(tài)或避障狀態(tài)的判定條件可以獲得BUG算法的其他變種,如加入預(yù)判信息可以引入正切昆蟲(Tangent BUG)規(guī)則。

4 基于強(qiáng)化學(xué)習(xí)的船舶路徑規(guī)劃與避障

基于規(guī)則的方法雖然能夠在一定程度上解決船舶海上航行的路徑規(guī)劃和避障問題,但是其通常依賴于先驗(yàn)知識以及人工設(shè)計(jì)的規(guī)則,算法的魯棒性和泛化性可能會(huì)受到影響[18]?;谏鲜隹紤],本文提出使用強(qiáng)化學(xué)習(xí)算法解決船舶路徑規(guī)劃與避障問題。

強(qiáng)化學(xué)習(xí)算法通常是針對馬爾可夫決策過程的優(yōu)化算法。為了能夠在仿真平臺上應(yīng)用強(qiáng)化學(xué)習(xí)算法,本章首先介紹將仿真平臺的環(huán)境抽象建模成馬爾可夫決策過程,并對其中的關(guān)鍵要素進(jìn)行分析設(shè)計(jì)的方法。然后簡要介紹實(shí)驗(yàn)應(yīng)用的兩種強(qiáng)化學(xué)習(xí)算法:柔性演員—評價(jià)者(Soft Actor-Critic, SAC)算法[35]和近端策略優(yōu)化(Proximal Policy Optimization, PPO)算法[36]。兩者都是目前效果最好的強(qiáng)化學(xué)習(xí)算法之一,但是在實(shí)現(xiàn)方式上有所不同。

4.1 環(huán)境的數(shù)學(xué)抽象及建模

馬爾可夫決策過程主要包括以下幾個(gè)組成部分:觀察、動(dòng)作、獎(jiǎng)勵(lì)和狀態(tài)轉(zhuǎn)移。本文建模的馬爾科夫決策過程為部分觀察的馬爾可夫決策過程,即認(rèn)為船舶在每個(gè)時(shí)刻都只能獲取環(huán)境的部分信息。因此,本文用“觀察”這一術(shù)語,以區(qū)分完全觀察的馬爾可夫決策過程中的“狀態(tài)”。

本節(jié)首先介紹部分觀察的馬爾可夫模型理論基礎(chǔ);然后詳細(xì)介紹本研究對馬爾可夫決策過程中觀察、動(dòng)作和獎(jiǎng)勵(lì)進(jìn)行的設(shè)計(jì)與建模。

4.1.1 部分觀察的馬爾可夫模型

部分觀察的馬爾可夫決策過程可以用八元組(S,A,O,T,d0,E,r,γ)描述[34]。其中:S為狀態(tài)空間,A為動(dòng)作空間,O為觀察空間,分別表示所有的狀態(tài)、動(dòng)作或者觀察組成的集合;T(st+1|st,a)描述了環(huán)境中狀態(tài)轉(zhuǎn)移的條件概率;d0為環(huán)境的初始狀態(tài)分布;E(ot|st)定義了在狀態(tài)st下可以觀測到的觀察ot的條件分布;r(st,at,st+1)為獎(jiǎng)勵(lì)函數(shù),定義了智能體能從一次狀態(tài)轉(zhuǎn)移(在狀態(tài)st采取動(dòng)作at后到新狀態(tài)st+1)中能夠獲得的獎(jiǎng)勵(lì),若獎(jiǎng)勵(lì)與st+1無關(guān),也可以表示為r(st,at);γ為折扣因子。

策略是強(qiáng)化學(xué)習(xí)算法優(yōu)化的對象,通常記為π(at|ot),表示在觀察到ot的條件下選取動(dòng)作at的分布。策略優(yōu)化的目標(biāo)是最大化期望累積回報(bào)。期望累積回報(bào)通常記作J(π),表示采用策略π時(shí)累積回報(bào)的期望,

(1)

式中:τ=(s0,a0,r0,s1,a1,r1,…,sH-1,aH-1,rH-1)表示一條軌跡;H為軌跡的長度;pπ(τ)為執(zhí)行策略π時(shí)采樣到的軌跡分布,

(2)

強(qiáng)化學(xué)習(xí)算法的最終目標(biāo)是找到最優(yōu)策略π*,滿足:

π*=argmaxπJ(π)。

(3)

在本文的船舶海上航行的場景中,由于環(huán)境的復(fù)雜性和可行策略的多樣性,強(qiáng)化學(xué)習(xí)算法實(shí)際上很難通過優(yōu)化得到理論上的最優(yōu)策略π*。但下文介紹的獎(jiǎng)勵(lì)函數(shù)的設(shè)置方法和強(qiáng)化學(xué)習(xí)的優(yōu)化算法將給出可行的方法來逼近最優(yōu)策略π*,從而使船舶盡可能快地到達(dá)目的地。

4.1.2 觀察與動(dòng)作

(1)觀察 即船舶在航行的某一時(shí)刻能夠觀察到的所有信息。仿真環(huán)境中船舶在航行中可以觀察到的信息包括:探測器讀數(shù)、離目的地距離、與目的地夾角的正弦值和余弦值、船舶行駛角度以及船舶行駛速度。在馬爾可夫決策過程中,船舶每一個(gè)時(shí)刻接收到的觀察為以上信息拼接成的觀察向量,所有可能的觀察向量組成觀察空間。

(2)動(dòng)作 即船舶在某一時(shí)刻能夠采用的操作。仿真環(huán)境中船舶可以采取的操作包括加速、減速、左轉(zhuǎn)0.2弧度、右轉(zhuǎn)0.2弧度以及保持運(yùn)動(dòng)狀態(tài)不變。在本文構(gòu)建的馬爾可夫決策模型中,分別用aup,adown,aleft,aright,aremain表示上述5種動(dòng)作,{aup,adown,aleft,aright,aremain}也是該馬爾可夫決策過程的動(dòng)作空間。

4.1.3 獎(jiǎng)勵(lì)函數(shù)

獎(jiǎng)勵(lì)是人們運(yùn)用先驗(yàn)知識設(shè)計(jì)的激勵(lì)機(jī)制,其目的是鼓勵(lì)強(qiáng)化學(xué)習(xí)算法朝著人們期望的方向?qū)W習(xí)。本文設(shè)計(jì)了兩種獎(jiǎng)勵(lì)函數(shù),分別為稀疏獎(jiǎng)勵(lì)和勢能引導(dǎo)獎(jiǎng)勵(lì)。下面將介紹這兩種獎(jiǎng)勵(lì)的具體設(shè)計(jì)。

稀疏獎(jiǎng)勵(lì)為一種相對簡單的獎(jiǎng)勵(lì)方式。當(dāng)船舶到達(dá)目的地(即航行成功)時(shí),給予+1.5的獎(jiǎng)勵(lì);當(dāng)船舶超出海域范圍或者撞上障礙物(即航行失敗)時(shí),給予-1.5的獎(jiǎng)勵(lì);航行途中每單位時(shí)間給予-0.001的獎(jiǎng)勵(lì),以鼓勵(lì)船舶盡快到達(dá)目的地。

稀疏獎(jiǎng)勵(lì)

(4)

由式(4)可以看出,若強(qiáng)化學(xué)習(xí)算法尋求最大化累積回報(bào),則需要控制船舶用盡可能短的時(shí)間到達(dá)終點(diǎn)。具體地,若船舶經(jīng)過T個(gè)單位時(shí)間到達(dá)目的地,則累積回報(bào)為(1.5-0.001T);若船舶經(jīng)過T個(gè)單位時(shí)間后航行失敗,則累積回報(bào)為(-1.5-0.001T)。由于環(huán)境中限制船舶航行的最大單位時(shí)間數(shù)為1 000,若航行成功,則累積回報(bào)的范圍為[0.5,1.5];若航行失敗,則累積回報(bào)的范圍為[-2.5,-1.5]。

雖然稀疏獎(jiǎng)勵(lì)簡單且符合直覺,但是由于關(guān)于航行成功或失敗的信息需要等到一次航行結(jié)束后才能得到,這種完全依據(jù)航行結(jié)果給出的獎(jiǎng)勵(lì)會(huì)過于稀疏。在一些需要長遠(yuǎn)規(guī)劃的任務(wù)中,稀疏獎(jiǎng)勵(lì)通常會(huì)因?yàn)樵谲壽E中途缺乏引導(dǎo),使得智能體無法學(xué)習(xí)到如何達(dá)成目標(biāo)[38]。

為解決上述問題,本文設(shè)計(jì)了另一種獎(jiǎng)勵(lì),即勢能引導(dǎo)獎(jiǎng)勵(lì)。勢能引導(dǎo)獎(jiǎng)勵(lì)在航行成功或失敗時(shí)給予的獎(jiǎng)勵(lì)與稀疏獎(jiǎng)勵(lì)一致,但在其余時(shí)刻,勢能引導(dǎo)獎(jiǎng)勵(lì)通過引入兩個(gè)勢能函數(shù)(即距離勢能函數(shù)Φdist(d)和角度勢能函數(shù)Φangle(θ)為船舶航行提供額外的激勵(lì)。具體地,距離勢能函數(shù)Φdist(d)的表達(dá)式如下:

Φdist(d)=-αd。

(5)

式中:d為船舶與終點(diǎn)之間的距離;α為常數(shù)。由式(5)可以推導(dǎo)出船舶在執(zhí)行一個(gè)動(dòng)作后的距離勢能變化

ΔΦdist=-α(d2-d1)。

(6)

式中:d1和d2分別為執(zhí)行動(dòng)作前后船舶距終點(diǎn)的距離。

角度勢能函數(shù)Φangle(θ)的表達(dá)式如下:

Φangle(θ)=-βθ。

(7)

式中:θ為船舶行駛方向和船舶至終點(diǎn)連線之間的夾角;β為常數(shù)。由式(7)可知,在執(zhí)行一個(gè)動(dòng)作后的角度勢能變化

ΔΦangle=-β(θ2-θ1)。

(8)

θ1和θ2分別為執(zhí)行動(dòng)作前后船舶行駛方向和船舶至終點(diǎn)連線的夾角。

在船舶航行途中,勢能引導(dǎo)獎(jiǎng)勵(lì)rΦ為ΔΦdist與ΔΦangle的組合,即:

rΦ=ΔΦdist+ΔΦangle,

(9)

=-[α(d2-d1)+β(θ2-θ1)]。

(10)

從式(9)和式(10)可以看出,勢能引導(dǎo)獎(jiǎng)勵(lì)在稀疏獎(jiǎng)勵(lì)的基礎(chǔ)上,通過在行駛途中給予船舶獎(jiǎng)勵(lì),以鼓勵(lì)船舶朝著距終點(diǎn)距離更小、或者行駛方向與船舶至終點(diǎn)的直線方向夾角更小的方向優(yōu)化。

勢能引導(dǎo)獎(jiǎng)勵(lì)

(11)

4.2 SAC算法

SAC(soft actor-critic)算法是目前表現(xiàn)最好的異策略(off-policy)強(qiáng)化學(xué)習(xí)算法之一。不同于式(1)中定義的最大化目標(biāo)J(π),SAC算法在最大化目標(biāo)中加入了信息熵H(π(·|st)),形成了新的最大化目標(biāo)J′(π):

αH(π(·|st)))]。

(12)

式中第二項(xiàng)即為添加的熵項(xiàng),其中α為常數(shù)。根據(jù)信息熵的定義,狀態(tài)st下選擇的動(dòng)作分布越分散,熵項(xiàng)H(π(·|st))越大。因此,加入信息熵可以鼓勵(lì)算法同時(shí)探索多種最優(yōu)的策略,而不僅拘泥于某一種(局部)最優(yōu)策略[35]。

4.3 PPO算法

近端策略優(yōu)化( Proximal Policy Optimization, PPO)算法是目前表現(xiàn)最好的同策略(on-policy)強(qiáng)化學(xué)習(xí)算法之一。該算法主要基于信賴域策略優(yōu)化(Trust Region Policy Optimization, TRPO)算法[37]改進(jìn)而成。TRPO算法中最大化目標(biāo)LCLIP(θ)定義為:

(13)

PPO算法的貢獻(xiàn)之一是提出了一種截?cái)嗍降淖畲蠡繕?biāo)LCLIP(θ),

(14)

式中:ε為一個(gè)較小的常數(shù);clip(·)為截?cái)嗪瘮?shù),其在式(14)中的作用為將rt(θ)截?cái)嘣赱1-ε,1+ε]的范圍內(nèi)。截?cái)嗍阶畲蠡繕?biāo)的意義在于可以懲罰過度偏離舊策略πθold的策略πθ,使得πθ在訓(xùn)練中不會(huì)出現(xiàn)過于激進(jìn)的更新[37]。

5 船舶海上航行仿真實(shí)驗(yàn)與結(jié)果分析

本文在大量不同的仿真環(huán)境設(shè)置中測驗(yàn)了3種基于規(guī)則的算法(BUG1,BUG2和Tangent BUG)與兩種強(qiáng)化學(xué)習(xí)算法(SAC和PPO)的表現(xiàn)。下面將首先介紹船舶海上航行的仿真實(shí)驗(yàn)設(shè)置,然后展示實(shí)驗(yàn)結(jié)果,最后基于實(shí)驗(yàn)結(jié)果給出分析結(jié)論。

5.1 仿真實(shí)驗(yàn)設(shè)置

本文的仿真平臺使用Pymunk作為物理引擎,并用Pygame作為渲染工具。強(qiáng)化學(xué)習(xí)算法基于Pytorch深度學(xué)習(xí)框架和Tianshou開源代碼庫實(shí)現(xiàn)。

如表2所示,仿真平臺針對障礙物數(shù)量與障礙物是否移動(dòng)這兩個(gè)變量,設(shè)計(jì)了4種不同難度的仿真場景。在實(shí)驗(yàn)中,算法的超參數(shù)對于環(huán)境的難度變化不敏感,因此對于4種難度的環(huán)境,算法的超參數(shù)保持一致。每輪仿真中,障礙物的初始位置和大小都是在一定范圍內(nèi)隨機(jī)生成,以充分測試算法在不同場景下的魯棒性。為了消除隨機(jī)因素的影響,下文的實(shí)驗(yàn)數(shù)據(jù)均為重復(fù)仿真100次的結(jié)果。

表2 仿真環(huán)境不同難度設(shè)置

為了公正準(zhǔn)確地評價(jià)算法的效果,本文選取成功率和航行時(shí)間步作為實(shí)驗(yàn)的評價(jià)指標(biāo)。成功率是指100次重復(fù)實(shí)驗(yàn)中成功到達(dá)目的地的仿真次數(shù)占總仿真次數(shù)的比例;航行時(shí)間步是指在100次重復(fù)仿真中,所有成功航行的仿真到達(dá)終點(diǎn)所耗單位時(shí)間步數(shù)的平均值。由上述定義可知,成功率越高,算法航行的安全性越高;航行時(shí)間步越短,算法航行的效率越高。

5.2 算法實(shí)現(xiàn)細(xì)節(jié)

5.2.1 基于規(guī)則的算法實(shí)現(xiàn)細(xì)節(jié)

基于規(guī)則的算法采用決策樹的方式實(shí)現(xiàn)。本文采用的BUG相關(guān)算法框架采用了深度為4,葉節(jié)點(diǎn)數(shù)為12的決策樹系統(tǒng)。選取依據(jù)為,一般情況下,決策樹的深度取決于決策依據(jù)的層次,在本文的船舶航行路徑規(guī)劃及實(shí)時(shí)避障的任務(wù)中,需要關(guān)注的要素包括終點(diǎn)、障礙物和自身運(yùn)動(dòng)情況3個(gè)維度??紤]到一般的平面剛體的運(yùn)動(dòng)表示理論,這里的船舶運(yùn)動(dòng)情況可以用速度大小和航向角兩個(gè)值來進(jìn)行描述,因此,這里BUG算法的決策樹深度4,即每個(gè)分支有不多于4層的決策系統(tǒng),每一層的決策依據(jù)分別為終點(diǎn)距離判定、障礙物探測判定、航向判定和速度判定,以上關(guān)鍵參數(shù)的調(diào)節(jié)可以實(shí)現(xiàn)BUG系列中的不同種方法。決策樹的葉節(jié)點(diǎn)數(shù)即為分支數(shù),考慮一般系統(tǒng)的部署規(guī)則,每個(gè)決策節(jié)點(diǎn)優(yōu)先采用2個(gè)分支的方法,即決策樹會(huì)表現(xiàn)為一個(gè)完全二叉樹,此時(shí)葉節(jié)點(diǎn)數(shù)為16??紤]到臨近終點(diǎn)的情況,由于靠港位置確定,可以進(jìn)行剪枝簡化,不需額外判斷障礙物,因此這個(gè)子樹只需2層,計(jì)算葉節(jié)點(diǎn)總數(shù)量為8+4=12。本文采取的具體參數(shù)如表3所示。

表3 基于規(guī)則的算法參數(shù)

續(xù)表3

5.2.2 強(qiáng)化學(xué)習(xí)算法實(shí)現(xiàn)細(xì)節(jié)

下面將分別詳細(xì)介紹SAC算法和PPO算法的實(shí)現(xiàn)細(xì)節(jié)。

SAC算法的策略網(wǎng)絡(luò)(actor)和兩個(gè)評價(jià)網(wǎng)絡(luò)(critic)均為包含兩個(gè)128神經(jīng)元隱藏層的全連接神經(jīng)網(wǎng)絡(luò)。訓(xùn)練時(shí),策略網(wǎng)絡(luò)采用的學(xué)習(xí)率為1×10-4,評價(jià)網(wǎng)絡(luò)采用的學(xué)習(xí)率為1×10-3。為提高樣本采樣效率,SAC算法使用了可以儲(chǔ)存20 000條狀態(tài)轉(zhuǎn)移數(shù)據(jù)的回放緩存(replay buffer),每步訓(xùn)練時(shí)從中取出128條數(shù)據(jù),并且每10步訓(xùn)練更新一次回放緩存。折扣因子γ=0.95??傆?xùn)練過程包含200代(epoch),每一代包含10 000步訓(xùn)練。

PPO算法的策略網(wǎng)絡(luò)和評價(jià)網(wǎng)絡(luò)均為包含68個(gè)神經(jīng)元隱藏層的全連接網(wǎng)絡(luò)。訓(xùn)練時(shí),策略網(wǎng)絡(luò)和評價(jià)網(wǎng)絡(luò)均采用1×10-3的學(xué)習(xí)率。不同于SAC算法,PPO算法沒有使用回放緩存,但在每次更新網(wǎng)絡(luò)前,需要與環(huán)境交互收集20條軌跡的狀態(tài)轉(zhuǎn)移數(shù)據(jù),每步訓(xùn)練從中取出64條轉(zhuǎn)移數(shù)據(jù)。折扣因子γ=0.99??傆?xùn)練過程包含200代,每一代包含50 000步訓(xùn)練。

5.3 基于規(guī)則的算法仿真結(jié)果

如表4所示為不同難度的仿真場景下,BUG1、BUG2和Tangent BUG三種基于規(guī)則的算法的表現(xiàn)。

表4 基于規(guī)則的算法仿真實(shí)驗(yàn)結(jié)果

由仿真結(jié)果可以看出,Tangent BUG算法在安全性方面表現(xiàn)出了顯著優(yōu)勢;在效率方面,BUG2算法明顯高于另外兩種算法。

然而,隨著仿真環(huán)境的難度逐漸增大,3種算法的成功率均出現(xiàn)較大幅度的下滑,說明基于規(guī)則的方法魯棒性較差,對于環(huán)境條件較為敏感。

此外,3種算法在各個(gè)環(huán)境難度下的成功率普遍偏低,某些場景下甚至低于50%,遠(yuǎn)遠(yuǎn)達(dá)不到安全航行的要求。

5.4 強(qiáng)化學(xué)習(xí)算法仿真結(jié)果

以SAC算法為例,仿真實(shí)驗(yàn)中的具體迭代步驟如下所示。

算法1強(qiáng)化學(xué)習(xí)SAC算法偽代碼。

初始化策略參數(shù)θ,Q函數(shù)參數(shù)φ1,φ2

初始化空的回放緩存D

初始化目標(biāo)Q函數(shù)參數(shù):φtarg,1←φ1,φtarg,2←φ2

for每次迭代 do

for 每個(gè)環(huán)境步 do

觀察到狀態(tài)st

選擇動(dòng)作a~πθ(·|st)

觀察到下一個(gè)狀態(tài)s′、獎(jiǎng)勵(lì)r及完成信號d(d=1表示完成,d=0表示未完成)

若s′是終止?fàn)顟B(tài),則重置狀態(tài)

end for

for 每次梯度更新 do

從D中隨機(jī)采樣一批轉(zhuǎn)移數(shù)據(jù),記作B={(s,a,r,s′,d)}

更新目標(biāo)網(wǎng)絡(luò):φtarg,i←ρφtarg,i+(1-ρ)φi,i=1,2

end for

end for

如表5所示為在不同難度的仿真場景和不同的獎(jiǎng)勵(lì)函數(shù)下,SAC和PPO這兩種強(qiáng)化學(xué)習(xí)算法的表現(xiàn)。

表5 強(qiáng)化學(xué)習(xí)算法仿真實(shí)驗(yàn)結(jié)果

續(xù)表5

由仿真結(jié)果可以看出,對于SAC和PPO算法來說,勢能引導(dǎo)獎(jiǎng)勵(lì)下的表現(xiàn)均明顯優(yōu)于稀疏獎(jiǎng)勵(lì)下的表現(xiàn)。尤其是在難度較大的難度3和難度4下,兩種算法在勢能引導(dǎo)獎(jiǎng)勵(lì)下的表現(xiàn)比在稀疏獎(jiǎng)勵(lì)下更加魯棒。這說明勢能引導(dǎo)獎(jiǎng)勵(lì)可能具有在探索階段引導(dǎo)策略向終點(diǎn)前進(jìn)的效果。

在相同的獎(jiǎng)勵(lì)和難度下,PPO算法的成功率也普遍高于SAC算法。特別是在稀疏獎(jiǎng)勵(lì)下,PPO算法的表現(xiàn)要遠(yuǎn)優(yōu)于SAC算法??梢酝茰yPPO算法具有比SAC算法更強(qiáng)的長遠(yuǎn)規(guī)劃能力。

此外,從表4和表5的對比可以看出,強(qiáng)化學(xué)習(xí)算法在各個(gè)難度下的成功率一般要高于基于規(guī)則的算法,并且前者的航行時(shí)間步通常要遠(yuǎn)低于后者。值得注意的是,在勢能引導(dǎo)獎(jiǎng)勵(lì)下的強(qiáng)化學(xué)習(xí)算法對于較難的場景比各種基于規(guī)則的算法都更加魯棒。以上的觀察表明,在船舶海上航行的任務(wù)下,強(qiáng)化學(xué)習(xí)算法相比于基于規(guī)則的方法,具有安全性高、航行時(shí)間短,且在較難的場景下表現(xiàn)更加穩(wěn)定等優(yōu)點(diǎn)。

6 結(jié)束語

相較于傳統(tǒng)確定性算法,深度強(qiáng)化學(xué)習(xí)方法不依賴于人為設(shè)定的規(guī)則,直接將避碰約束加入獎(jiǎng)勵(lì)函數(shù)中,通過試錯(cuò)學(xué)習(xí)優(yōu)化策略,應(yīng)對復(fù)雜環(huán)境與高維輸入的能力更強(qiáng)。本研究通過隨機(jī)初始化障礙物位置,搭建了一個(gè)適用性強(qiáng)的路徑規(guī)劃與避障環(huán)境,并將船舶的位置與航行狀態(tài)抽象建模成馬爾可夫決策過程。引入深度強(qiáng)化學(xué)習(xí)方法,并根據(jù)任務(wù)的特性設(shè)計(jì)了勢能引導(dǎo)獎(jiǎng)勵(lì),顯著優(yōu)于稀疏獎(jiǎng)勵(lì)下的決策性能。深度強(qiáng)化學(xué)習(xí)方法在仿真實(shí)驗(yàn)中表現(xiàn)出了更為可靠、高效、穩(wěn)定的規(guī)劃與避障能力,特別是在復(fù)雜動(dòng)態(tài)環(huán)境下,顯著優(yōu)于傳統(tǒng)方法。未來深度強(qiáng)化學(xué)習(xí)方法應(yīng)用于智能船舶路徑規(guī)劃與避障任務(wù)的探究,需要考慮更多的海上航行不確定因素,并進(jìn)一步部署于實(shí)際硬件設(shè)備開展驗(yàn)證優(yōu)化,以推動(dòng)深度強(qiáng)化學(xué)習(xí)在該領(lǐng)域的實(shí)際應(yīng)用。

猜你喜歡
障礙物航行船舶
《船舶》2022 年度征訂啟事
船舶(2021年4期)2021-09-07 17:32:22
到慧骃國的航行
高低翻越
SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計(jì)和處理
船舶!請加速
BOG壓縮機(jī)在小型LNG船舶上的應(yīng)用
小舟在河上航行
船舶壓載水管理系統(tǒng)
中國船檢(2017年3期)2017-05-18 11:33:09
航行
青年歌聲(2017年6期)2017-03-13 00:57:56
土釘墻在近障礙物的地下車行通道工程中的應(yīng)用
乐安县| 山丹县| 潞城市| 阜新市| 延长县| 额济纳旗| 南澳县| 张家口市| 华蓥市| 新宾| 双城市| 琼海市| 大兴区| 漳平市| 铜梁县| 紫云| 霸州市| 绥中县| 武平县| 太和县| 常州市| 平定县| 金秀| 白玉县| 通许县| 泗洪县| 二手房| 德庆县| 阜城县| 南漳县| 临洮县| 宿松县| 东兰县| 石林| 当涂县| 河池市| 娱乐| 邢台县| 张家口市| 唐山市| 工布江达县|