鄭 帥 賈寶柱,2* 張昆陽(yáng) 張 程
1(大連海事大學(xué)輪機(jī)工程學(xué)院 遼寧 大連 116026) 2(廣東海洋大學(xué)海運(yùn)學(xué)院 廣東 湛江 524088)
海上應(yīng)急救援往往受海況惡劣、時(shí)間緊迫等因素限制,救援成功的關(guān)鍵在于遇險(xiǎn)目標(biāo)位置的確定和如何快速靠近遇險(xiǎn)目標(biāo)。海上遇險(xiǎn)目標(biāo)會(huì)隨著風(fēng)、浪、流的作用而發(fā)生漂移,由于各種海洋漂浮物的受風(fēng)面積與水下面積不盡相同,即使在同一風(fēng)場(chǎng)與流場(chǎng)中,落水物的漂移軌跡也不相同[1]。相關(guān)研究表明,落水人員在20 ℃海水中最長(zhǎng)存活時(shí)間為16小時(shí)20分鐘,而在0 ℃海水中最長(zhǎng)存活時(shí)間僅為12 分鐘[2],即使遇險(xiǎn)人員能夠利用救生艇、筏等延長(zhǎng)存活時(shí)間,但也受到淡水、食物等補(bǔ)給限制。
目前,海上救援主要依靠人工的經(jīng)驗(yàn)駕駛船舶應(yīng)對(duì)海上多變的復(fù)雜環(huán)境追蹤遇險(xiǎn)目標(biāo),但是海上環(huán)境惡劣,使執(zhí)行救援任務(wù)時(shí)有較高的安全風(fēng)險(xiǎn)。隨著船舶無(wú)人駕駛技術(shù)的發(fā)展,海上無(wú)人救援研究受到了廣泛重視[3]。
針對(duì)遇險(xiǎn)目標(biāo)位置漂移問(wèn)題,多數(shù)研究采用了預(yù)測(cè)遇險(xiǎn)目標(biāo)漂移軌跡的辦法。曠芳芳等[4]結(jié)合風(fēng)場(chǎng)和流場(chǎng)的數(shù)值模擬,給出了落水人員和救生筏的風(fēng)致漂移系數(shù),用于預(yù)測(cè)落水人員以及救生筏的實(shí)時(shí)位置。劉同木等[5]基于MMG模型研究了風(fēng)、浪、流的作用下船舶的漂移數(shù)學(xué)模型。Gao等[6]通過(guò)蒙特卡洛方法在疑似馬航370航班遇難海域?qū)ζ錃埡〉钠栖壽E進(jìn)行預(yù)測(cè)。漂移模型預(yù)測(cè)方法的不足在于無(wú)法找到一個(gè)通用的預(yù)測(cè)模型對(duì)不同漂移目標(biāo)的位置進(jìn)行預(yù)測(cè)。同時(shí),已有的多數(shù)研究工作僅僅關(guān)注預(yù)測(cè)方法準(zhǔn)確度,卻沒(méi)有考慮遇險(xiǎn)目標(biāo)的快速追蹤及靠近的問(wèn)題。根據(jù)SOLAS公約規(guī)定,每艘救生艇、筏要求至少配備一臺(tái)搜救雷達(dá)應(yīng)答器(Search and Rescue Radar Transponder,SART),用來(lái)近距離確定遇難船舶、救生艇、救生筏,以及幸存者位置[7]。因此,實(shí)際救援場(chǎng)景中更可靠的是根據(jù)SART所提供的實(shí)時(shí)目標(biāo)位置信號(hào)開展?fàn)I救。
當(dāng)遇險(xiǎn)目標(biāo)的位置已知,就要考慮如何快速靠近遇險(xiǎn)目標(biāo)的問(wèn)題。Park等[8]基于視覺(jué)的估計(jì)和制導(dǎo)方法,控制無(wú)人機(jī)追蹤移動(dòng)目標(biāo)。李靜等[9]提出交通道路網(wǎng)絡(luò)環(huán)境下的局部搜索樹移動(dòng)目標(biāo)追蹤算法。Woo等[10]設(shè)計(jì)了強(qiáng)化學(xué)習(xí)控制器,使無(wú)人船具備了自主路徑跟蹤的能力。本文嘗試將DDPG深度強(qiáng)化學(xué)習(xí)算法應(yīng)用于海上無(wú)人救援,結(jié)合SART所提供遇險(xiǎn)目標(biāo)位置信號(hào),設(shè)計(jì)了基于機(jī)器人操作系統(tǒng)[11](Robot Operating System,ROS)仿真實(shí)驗(yàn)平臺(tái)。在Gazebo物理仿真器中模擬水文環(huán)境以及船舶的運(yùn)動(dòng)特性,使搜救無(wú)人船在感知環(huán)境信息的同時(shí),通過(guò)對(duì)不同漂移軌跡的落水物進(jìn)行追蹤實(shí)驗(yàn),訓(xùn)練其追蹤漂移遇險(xiǎn)目標(biāo)的能力。
一般情況下,船舶運(yùn)動(dòng)研究通常只考慮三個(gè)自由度的運(yùn)動(dòng),通過(guò) Gazebo插件實(shí)現(xiàn)雙體船操縱的非線性運(yùn)動(dòng)學(xué)模型,船舶操縱公式[12]如下:
Mv+C(v)v+D(v)v=τ+τenv
(1)
η=J(η)v
(2)
式中:M是慣性矩陣;C(v)是科里奧利矩陣;D(v)是阻尼矩陣;τ是推進(jìn)系統(tǒng)產(chǎn)生的力和力矩向量;τenv是通過(guò)Gazebo插件模擬的風(fēng)、浪、流干擾力;向量η描述了慣性參考系北(N)、東(E)中的位置和繞Z軸的轉(zhuǎn)首角度φ;η= [x,y,φ]T和向量v包含船體固定坐標(biāo)系中的船體的縱向速度u、橫向速度v和轉(zhuǎn)首角速度r,即v=[u,v,r]T。船體坐標(biāo)系到慣性坐標(biāo)系的坐標(biāo)轉(zhuǎn)換關(guān)系為:
(3)
為追蹤到不同的遇險(xiǎn)目標(biāo),使算法具有一定的泛化性,搜救船的環(huán)境模型需要考慮遇險(xiǎn)目標(biāo)的位置,得到遇險(xiǎn)目標(biāo)與搜救船的相對(duì)位置關(guān)系,這種關(guān)系包括二者之間的距離d以及船舶的首向與二者連線方向的夾角φ,環(huán)境模型狀態(tài)如圖1所示,定義狀態(tài)s為:
s=[d,φ]T
(4)
圖1 狀態(tài)示意圖
當(dāng)搜救船捕獲到SART反射的雷達(dá)信號(hào),在雷達(dá)屏幕上形成12個(gè)一連串的光點(diǎn),這種顯示方式用來(lái)區(qū)別于其他雷達(dá)回波信號(hào),其中最靠近雷達(dá)中心點(diǎn)的光點(diǎn)便是遇險(xiǎn)目標(biāo)的位置(xt,yt)。另外,通過(guò)船舶運(yùn)動(dòng)模型計(jì)算我們船的位置信息(xv,yv),可以計(jì)算出二者之間的距離d。
(5)
φ=φ1-φ2(-180<φ,φ1,φ2≤180);φ1通過(guò)模型計(jì)算得出,其為首向角,即船首方向與正北方向的夾角;φ2為遇險(xiǎn)目標(biāo)和搜救船的相對(duì)方位,即二者連線與正北方向的夾角。
φ2=arctan((xt-xv)/(yt-yv))
(6)
對(duì)環(huán)境狀態(tài)的改變依賴于智能體通過(guò)驅(qū)動(dòng)裝置使船舶發(fā)生運(yùn)動(dòng),雙體船通過(guò)電機(jī)指令驅(qū)動(dòng)兩個(gè)螺旋槳產(chǎn)生差速推力來(lái)驅(qū)動(dòng)搜救船移動(dòng)。動(dòng)作空間由一組電機(jī)指令組成,指令發(fā)布時(shí)間間隔為1 s,定義動(dòng)作空間a為:
a={[m+n,m-n]T|m∈[-0.5,0.5],n∈[-0.5,0.5]}
(7)
式中:m表示雙體船的雙槳轉(zhuǎn)速值;n表示左右螺旋槳差動(dòng)值。參考文獻(xiàn)[12]中的系柱實(shí)驗(yàn)得出的單漿推力與電機(jī)指令之間映射關(guān)系,得到搜救船的驅(qū)動(dòng)力τ,根據(jù)船舶操縱模型以及坐標(biāo)轉(zhuǎn)換公式可以計(jì)算出當(dāng)前指令執(zhí)行后船舶的位置姿態(tài)。
由于救援任務(wù)具有時(shí)間相關(guān)性,所以獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)需要考慮時(shí)間與距離因素。獎(jiǎng)勵(lì)函數(shù)用rt表示。
(8)
式中:t表示時(shí)間環(huán)境反饋獎(jiǎng)勵(lì)值為(2-0.01×t),設(shè)計(jì)成為時(shí)間相關(guān)函數(shù),目的是引導(dǎo)搜救船用盡量短的時(shí)間完成追蹤任務(wù);dt表示當(dāng)前采樣獲得的搜救船與遇險(xiǎn)目標(biāo)的距離;dt-1表示上一次采樣的距離。將上一次的距離與當(dāng)前的距離做差,如果當(dāng)前距離比上次距離短,差值為正,反之為負(fù),φ角同理,這種設(shè)計(jì)目的是引導(dǎo)搜救船朝著遇險(xiǎn)目標(biāo)的方向逐漸靠近,獲得相對(duì)較高的獎(jiǎng)勵(lì)值。
環(huán)境觀測(cè)值與動(dòng)作值由深度確定性策略梯度下降(Deep Deterministic Policy Gradient,DDPG)[13]算法進(jìn)行處理。DDPG算法需要兩套神經(jīng)網(wǎng)絡(luò),分別為主網(wǎng)絡(luò)與目標(biāo)網(wǎng)絡(luò)。每套網(wǎng)絡(luò)都由一個(gè)Actor(演員)網(wǎng)絡(luò)與一個(gè)Critic(評(píng)論家)網(wǎng)絡(luò)構(gòu)成。兩套網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)完全相同,只是參數(shù)不同。
該算法是在梯度下降法的基礎(chǔ)上,對(duì)Actor-Critic算法進(jìn)行改進(jìn),將輸出動(dòng)作選擇概率轉(zhuǎn)變?yōu)檩敵龃_定動(dòng)作值的強(qiáng)化學(xué)習(xí)算法,這個(gè)確定性的zs915121動(dòng)作是隨機(jī)策略梯度的極限值。Actor-Critic算法框架由兩個(gè)網(wǎng)絡(luò)構(gòu)成,包含了以求解值函數(shù)為核心的Critic網(wǎng)絡(luò),還有以策略為核心的Actor網(wǎng)絡(luò)。其中Actor網(wǎng)絡(luò)的輸入為狀態(tài)矩陣,輸出確定的動(dòng)作值at,而Critic網(wǎng)絡(luò)的輸入為動(dòng)作值at與狀態(tài)值st,輸出動(dòng)作的Q值,Q值對(duì)當(dāng)前回合的一系列動(dòng)作策略做出評(píng)價(jià),因此,訓(xùn)練該網(wǎng)絡(luò)的過(guò)程是判斷動(dòng)作策略優(yōu)劣的學(xué)習(xí)過(guò)程,通過(guò)訓(xùn)練,得出Q值最大的一系列動(dòng)作策略。
每一步采集的樣本(st,at,r,st+1)輸入到主網(wǎng)絡(luò)中訓(xùn)練,采樣過(guò)程如圖2所示,同時(shí)開辟一個(gè)記憶庫(kù)來(lái)存儲(chǔ)采樣的結(jié)果,目標(biāo)網(wǎng)絡(luò)則隨機(jī)抽取記憶庫(kù)中的數(shù)據(jù)作為輸入,記憶庫(kù)的數(shù)據(jù)不斷更新,切斷了樣本數(shù)據(jù)間的相關(guān)性。主網(wǎng)絡(luò)的參數(shù)通過(guò)回合更新的方式,若干回合后,將主網(wǎng)絡(luò)參數(shù)賦值給目標(biāo)網(wǎng)絡(luò),進(jìn)行目標(biāo)網(wǎng)絡(luò)的參數(shù)更新。
圖2 樣本采集過(guò)程
算法具體流程如下:
(1) 構(gòu)建Actor網(wǎng)絡(luò)與Critic網(wǎng)絡(luò),主網(wǎng)絡(luò)參數(shù)分別為θμ、θQ,并進(jìn)行隨機(jī)初始化。Critic網(wǎng)絡(luò)得到的Q值為Q(s,a|θQ),Actor網(wǎng)絡(luò)得到狀態(tài)到動(dòng)作的映射μ(s|θμ)。
(2) 通過(guò)網(wǎng)絡(luò)參數(shù)θμ、θQ來(lái)初始化所要求解的目標(biāo)網(wǎng)絡(luò)的參數(shù)θμ′、θQ′,同時(shí)開辟一個(gè)記憶庫(kù)存儲(chǔ)空間。
(3) 初始化狀態(tài)s1,通過(guò)主網(wǎng)絡(luò)加上高斯擾動(dòng)Nt,從動(dòng)作庫(kù)中選擇一個(gè)動(dòng)作at進(jìn)行探索:
at=u(s|θμ)+Nt
(9)
(4) 執(zhí)行該動(dòng)作,得到相應(yīng)的獎(jiǎng)勵(lì)rt和下一個(gè)狀態(tài)st+1,并且形成元組(st,at,rt,st+1),作為一條采樣值存到記憶庫(kù)存儲(chǔ)空間中。
(5) 通過(guò)當(dāng)前網(wǎng)絡(luò)Q(s,a|θQ)進(jìn)行估計(jì),同時(shí)從記憶庫(kù)中選取一小批元組數(shù)據(jù),通過(guò)Bellman方程對(duì)Q值進(jìn)行估計(jì),估計(jì)結(jié)果表示為:
q(ai)=ri+γQ(si+1,μ(st+1|θμ′)|θQ′)
(10)
式中:γ表示折扣率,反映未來(lái)估計(jì)的獎(jiǎng)勵(lì)對(duì)當(dāng)前決策的影響程度,如果γ=0,則不考慮未來(lái)任何價(jià)值;如果γ=1,則未來(lái)的價(jià)值不會(huì)隨時(shí)間衰減。
將計(jì)算出的兩個(gè)值做差,得到損失函數(shù)TD_error。然后使用梯度下降法對(duì)Critic網(wǎng)絡(luò)的參數(shù)進(jìn)行更新。
(6) 主要采取策略梯度的方式進(jìn)行Actor網(wǎng)絡(luò)的更新,即:
▽?duì)圈苔?s|θμ)|si
(11)
在得到策略梯度后,通過(guò)最大化期望獎(jiǎng)勵(lì)的方式對(duì)總獎(jiǎng)勵(lì)進(jìn)行梯度上升更新參數(shù)。
(7) 若干回合后,將主網(wǎng)絡(luò)的參數(shù)賦值給目標(biāo)網(wǎng)絡(luò),對(duì)目標(biāo)網(wǎng)絡(luò)參數(shù)更新。
(12)
算法結(jié)構(gòu)如圖3所示。
圖3 DDPG算法結(jié)構(gòu)圖
使用TensorFlow搭建Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò),Actor網(wǎng)絡(luò)的輸入為狀態(tài)矩陣,網(wǎng)絡(luò)結(jié)構(gòu)有兩個(gè)隱藏層,每個(gè)隱藏層的節(jié)點(diǎn)分別為400、300,輸出動(dòng)作矩陣。將狀態(tài)矩陣輸入到Critic網(wǎng)絡(luò)中,該網(wǎng)絡(luò)第二層有400個(gè)節(jié)點(diǎn),第三層有300個(gè)節(jié)點(diǎn)。動(dòng)作矩陣也輸入到Critic網(wǎng)絡(luò),第二層有300個(gè)神經(jīng)元節(jié)點(diǎn),并將狀態(tài)空間矩陣輸入的網(wǎng)絡(luò)的第三層神經(jīng)元與動(dòng)作矩陣輸入的網(wǎng)絡(luò)的第二層神經(jīng)元節(jié)點(diǎn)合并進(jìn)行線性變換,輸入到第四層網(wǎng)絡(luò)神經(jīng)元節(jié)點(diǎn)上,該層共有300個(gè)神經(jīng)元節(jié)點(diǎn),最后輸出動(dòng)作的Q值。網(wǎng)絡(luò)的所有神經(jīng)元節(jié)點(diǎn)之間的連接方式均為全連接方式,網(wǎng)絡(luò)結(jié)構(gòu)圖如圖4所示。
圖4 Actor-Critic網(wǎng)絡(luò)結(jié)構(gòu)圖
實(shí)驗(yàn)設(shè)計(jì)基于ROS,在Gazebo物理仿真器中創(chuàng)建三維實(shí)驗(yàn)環(huán)境與智能體,模擬海上救援場(chǎng)景,設(shè)定環(huán)境場(chǎng)景邊界為50×50的范圍,初始狀態(tài)下搜救船位于(0,0)的位置,并在環(huán)境擾動(dòng)的干擾下運(yùn)動(dòng),遇險(xiǎn)目標(biāo)位于(20,10)的位置。當(dāng)搜救船與遇險(xiǎn)目標(biāo)的距離小于5時(shí),視為滿足成功救援的條件。Actor網(wǎng)絡(luò)的學(xué)習(xí)率為0.000 1,Critic網(wǎng)絡(luò)的學(xué)習(xí)率為0.001,折扣因子為0.99。每次實(shí)驗(yàn)的總回合數(shù)為1 000,每個(gè)回合最多采集200個(gè)樣本數(shù)據(jù),由于搜救船執(zhí)行電機(jī)指令需要一定的時(shí)間,設(shè)置樣本采集的時(shí)間間隔為1 s。記憶庫(kù)的容積為10 000,批數(shù)據(jù)的容量為64。獎(jiǎng)勵(lì)函數(shù)的系數(shù)為ξ,ζ均為1,目標(biāo)網(wǎng)絡(luò)更新參數(shù)κ為0.01。
3.2.1直線軌跡目標(biāo)追蹤
從圖5中可以看出,實(shí)驗(yàn)初期(前200回合),由于探索的概率比較大,這一階段搜救船在探索環(huán)境,采集環(huán)境樣本數(shù)據(jù),很難準(zhǔn)確追蹤到遇險(xiǎn)目標(biāo),平均Q值Qa也較低,只有少數(shù)成功的情況,Q值較高。從圖6中可以看出,這一階段用時(shí)都相對(duì)較長(zhǎng)。實(shí)驗(yàn)中期(200~500回合),隨著樣本數(shù)量的累積,逐漸建立起了獎(jiǎng)勵(lì)函數(shù)與動(dòng)作策略之間的聯(lián)系,搜救船從探索環(huán)境知識(shí)逐漸轉(zhuǎn)為利用環(huán)境知識(shí),逐漸可以追蹤到遇險(xiǎn)目標(biāo),算法快速收斂,但是會(huì)走一些彎路。隨著訓(xùn)練的不斷深入,搜救船會(huì)不斷地調(diào)整自己的運(yùn)動(dòng)趨勢(shì),以最短的時(shí)間靠近遇險(xiǎn)目標(biāo),最終Qa穩(wěn)定在10,平均時(shí)長(zhǎng)ta穩(wěn)定在70 s。從Q值以及時(shí)間的變化趨勢(shì)來(lái)看,算法符合救援過(guò)程中時(shí)間緊迫性的要求。
圖5 Q值以及平均Q值(Qa)變化曲線一
圖6 回合時(shí)長(zhǎng)以及平均時(shí)長(zhǎng)(ta)變化曲線一
從三個(gè)階段中選取第105回合、第263回合、第634回合,以及第975回合訓(xùn)練過(guò)程進(jìn)行分析,如圖7所示,分別對(duì)應(yīng)(a)、(b)、(c)、(d)的四幅軌跡圖,其中虛線軌跡為搜救船的運(yùn)動(dòng)軌跡,實(shí)線軌跡為遇險(xiǎn)目標(biāo)的漂移軌跡??梢钥闯鲋挥械?05回合訓(xùn)練失敗,結(jié)合圖5可以看出,獎(jiǎng)勵(lì)值最低,其他三個(gè)回合均成功追蹤到了遇險(xiǎn)目標(biāo)。隨著訓(xùn)練深入,第263、第634、第975回合搜救船的軌跡漸短,Q值越高,結(jié)合圖6可以看出所用的時(shí)間也越來(lái)越短。
圖7 搜救船及遇險(xiǎn)目標(biāo)運(yùn)動(dòng)軌跡一
在Gazebo仿真環(huán)境中可以觀察到以上四個(gè)回合結(jié)束時(shí)搜救船與遇險(xiǎn)目標(biāo)的相對(duì)位置如圖8所示,其中黑色的圓點(diǎn)為回合結(jié)束時(shí)遇險(xiǎn)目標(biāo)的位置。
圖8 回合結(jié)束時(shí)Gazebo場(chǎng)景一
由圖9可以直觀地看出上述四個(gè)回合的樣本的實(shí)時(shí)獎(jiǎng)勵(lì)值變化趨勢(shì)。第105回合(曲線a)獎(jiǎng)勵(lì)值多數(shù)情況下是負(fù)數(shù),表明搜救船一直在遠(yuǎn)離遇險(xiǎn)目標(biāo),因此Q值比較低,為-21。而第975回合(曲線d)則每一個(gè)動(dòng)作都是在靠近遇險(xiǎn)目標(biāo),因此獎(jiǎng)勵(lì)值很高,高達(dá)20.4。其他兩個(gè)回合(曲線b和曲線c)均有正有負(fù),表明追蹤過(guò)程有遠(yuǎn)離的情況,這兩個(gè)過(guò)程中的動(dòng)作策略不是最優(yōu)的策略。從圖7的軌跡圖中也可以看出這一點(diǎn),證明獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)可以引導(dǎo)搜救船快速追蹤到救援目標(biāo),是有效的。
圖9 單個(gè)回合獎(jiǎng)勵(lì)值隨時(shí)間的變化曲線對(duì)比一
3.2.2不規(guī)則軌跡目標(biāo)追蹤
由于不同落水物體在海上的軌跡不同,為證明算法的有效性,補(bǔ)充了不規(guī)則軌跡落水物的追蹤實(shí)驗(yàn)。從圖10中可以看出與直線軌跡追蹤實(shí)驗(yàn)結(jié)果相似,隨著環(huán)境狀態(tài)樣本采樣數(shù)量的增加,搜救船由探索環(huán)境轉(zhuǎn)變?yōu)槔铆h(huán)境知識(shí),從第200回合開始算法逐漸收斂;平均Q值(Qa)逐漸增加,最終穩(wěn)定在15左右。從圖11中可以看出完成任務(wù)所需的平均時(shí)間(ta)逐漸減少,用時(shí)較少的回合可達(dá)28 s。由此可見,盡管不同的遇險(xiǎn)目標(biāo)漂移的軌跡不同,甚至軌跡變得不規(guī)則,搜救船仍然可以通過(guò)DDPG算法達(dá)到快速追蹤到遇險(xiǎn)目標(biāo)的目的,算法仍能夠收斂。
圖10 Q值以及平均Q值(Qa)變化曲線二
圖11 回合時(shí)長(zhǎng)以及平均時(shí)長(zhǎng)(ta)變化曲線二
選擇第50、第330、第840、第915回合,運(yùn)動(dòng)軌跡分別如圖12(a)、(b)、(c)、(d)所示,同樣虛線軌跡為搜救船的運(yùn)動(dòng)軌跡,實(shí)線軌跡為遇險(xiǎn)目標(biāo)的漂移軌跡。第50回合中搜救船沒(méi)有能夠追蹤到遇險(xiǎn)目標(biāo),而第330、第840、第915回合均完成了對(duì)遇險(xiǎn)目標(biāo)的追蹤任務(wù),并且第915回合的軌跡是最短的,用時(shí)最少,Q值也是最高的。
圖12 搜救船及遇險(xiǎn)目標(biāo)運(yùn)動(dòng)軌跡二
上述四個(gè)回合在回合結(jié)束時(shí), Gazebo中顯示的相對(duì)位置如圖13所示,黑點(diǎn)表示回合結(jié)束時(shí)遇險(xiǎn)目標(biāo)的位置。
圖13 回合結(jié)束時(shí)Gazebo場(chǎng)景二
通過(guò)對(duì)以上四個(gè)回合中的每一次采樣獲得的獎(jiǎng)勵(lì)值變化進(jìn)行分析,如圖14所示。從曲線e可以看出,算法未建立起獎(jiǎng)勵(lì)函數(shù)與動(dòng)作策略之間的關(guān)系,與遇險(xiǎn)目標(biāo)的距離時(shí)遠(yuǎn)時(shí)近,曲線在0附近波動(dòng)。而曲線g和曲線h表示在這兩個(gè)回合中每次采樣的獎(jiǎng)勵(lì)值大多位于0.5以上,表明搜救船與遇險(xiǎn)目標(biāo)正在快速靠近,再一次說(shuō)明獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)是有效的。
圖14 單個(gè)回合獎(jiǎng)勵(lì)值隨時(shí)間的變化曲線對(duì)比二
在海上無(wú)人救援過(guò)程中,針對(duì)遇險(xiǎn)目標(biāo)漂移問(wèn)題,本文提出一種基于DDPG算法的目標(biāo)追蹤方法,本文所做的研究工作及相應(yīng)結(jié)論可為實(shí)船實(shí)驗(yàn)提供參考。主要結(jié)論如下:
(1) 分析了強(qiáng)化學(xué)習(xí)算法應(yīng)用于海上無(wú)人救援情景的技術(shù)難點(diǎn),在未知遇險(xiǎn)目標(biāo)的漂移模型情況下,當(dāng)獲取遇險(xiǎn)目標(biāo)與自身相對(duì)位置時(shí),算法可以使搜救船自主做出恰當(dāng)?shù)牟倏v決策,以較短的時(shí)間靠近遇險(xiǎn)目標(biāo),通過(guò)直線漂移軌跡的遇險(xiǎn)目標(biāo)追蹤實(shí)驗(yàn)和不規(guī)則漂移軌跡的遇險(xiǎn)目標(biāo)追蹤仿真實(shí)驗(yàn)得以驗(yàn)證。
(2) 將強(qiáng)化學(xué)習(xí)算法與海上實(shí)際救援情況相結(jié)合,設(shè)計(jì)狀態(tài)、動(dòng)作空間、相應(yīng)的獎(jiǎng)勵(lì)函數(shù),獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)考慮了時(shí)間因素與距離因素。經(jīng)過(guò)仿真實(shí)驗(yàn)驗(yàn)證,獎(jiǎng)勵(lì)函數(shù)能夠引導(dǎo)無(wú)人搜救船快速地追蹤到遇險(xiǎn)目標(biāo),并且具有一定的泛化性,符合海上搜救時(shí)間緊迫性的要求以及目標(biāo)追蹤距離逐漸縮短的要求。