張柏鑫,楊毅鑌,朱華中,劉安東,倪洪杰
(浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310012)
為了豐富全民公共文化服務(wù),特別是滿(mǎn)足基層文化多樣化服務(wù)需求,需要在基層小型文化服務(wù)綜合體[1]活動(dòng)空間中開(kāi)展文化演出、會(huì)議議事、展覽閱覽以及民俗活動(dòng)等文化服務(wù)功能。因服務(wù)空間不同,其功能空間內(nèi)的配置設(shè)施和使用要求也不同。為了達(dá)到小型文化綜合體“一廳多用”要求,往往要通過(guò)移動(dòng)機(jī)器人協(xié)助完成多種功能空間相互快速組合以及切換,實(shí)現(xiàn)小型綜合體空間內(nèi)擁擠環(huán)境下的動(dòng)態(tài)路徑規(guī)劃與快速搬運(yùn)服務(wù)等,從而滿(mǎn)足單一空間多種文化服務(wù)需求。
路徑規(guī)劃[2-3]是移動(dòng)機(jī)器人實(shí)現(xiàn)各種功能的基礎(chǔ),分為全局靜態(tài)路徑規(guī)劃[4]和局部動(dòng)態(tài)路徑規(guī)劃[5]。在舞臺(tái)環(huán)境這種充滿(mǎn)動(dòng)態(tài)障礙物的環(huán)境下對(duì)移動(dòng)機(jī)器人的動(dòng)態(tài)路徑規(guī)劃算法要求很高。目前的動(dòng)態(tài)路徑規(guī)劃算法可以分成兩類(lèi):基于反應(yīng)的避障算法[6]和基于預(yù)測(cè)的避障算法[7]?;诜磻?yīng)的避障算法有人工勢(shì)場(chǎng)法[8-9],通過(guò)假設(shè)機(jī)器人在一種虛擬立場(chǎng)下運(yùn)動(dòng)受到障礙物的斥力和目標(biāo)點(diǎn)的引力,但是在復(fù)雜環(huán)境下會(huì)陷入局部最優(yōu)解或震蕩。最佳反向碰撞(ORCA)[10-11]通過(guò)引入一個(gè)時(shí)間窗口,將相對(duì)位置轉(zhuǎn)化為速度,給每個(gè)動(dòng)態(tài)障礙物都設(shè)定速度區(qū)間,最后對(duì)所有線性空間用線性規(guī)劃求出最優(yōu)解,從而計(jì)算出最優(yōu)路徑。但是會(huì)存在抖動(dòng)問(wèn)題以及在復(fù)雜環(huán)境下規(guī)劃不流暢的問(wèn)題?;诜磻?yīng)的算法不能預(yù)測(cè)其他障礙物的運(yùn)動(dòng)趨勢(shì),從整個(gè)規(guī)劃上來(lái)看,有時(shí)會(huì)產(chǎn)生不自然的軌跡,由于只考慮當(dāng)前狀態(tài),依賴(lài)傳感器快速更新速率對(duì)障礙物作出快速反應(yīng),所以規(guī)劃出來(lái)的路徑往往不是最優(yōu)的。
基于預(yù)測(cè)的算法有動(dòng)態(tài)窗口法[12-14]和基于深度強(qiáng)化學(xué)習(xí)的方法[15-18],動(dòng)態(tài)窗口法是在速度空間中采樣多組速度,并模擬機(jī)器人在這些速度下一定時(shí)間內(nèi)的軌跡,得到多組軌跡之后,選取最優(yōu)軌跡對(duì)應(yīng)的速度來(lái)驅(qū)動(dòng)機(jī)器人移動(dòng)?;谏疃葟?qiáng)化學(xué)習(xí)的方法將深度學(xué)習(xí)的感知能力和強(qiáng)化學(xué)習(xí)的決策能力相結(jié)合,可以實(shí)現(xiàn)端到端的控制方法。通過(guò)傳感器直接獲得周?chē)臓顟B(tài)信息,經(jīng)過(guò)網(wǎng)絡(luò)處理,輸出動(dòng)作指令,具有非常好的自適應(yīng)性,成為路徑規(guī)劃領(lǐng)域新的研究熱點(diǎn)。
文獻(xiàn)[19]提出了一種基于深度強(qiáng)化學(xué)習(xí)的分布式多機(jī)器人避障策略(CADRL),假設(shè)動(dòng)態(tài)障礙物會(huì)主動(dòng)避讓機(jī)器人,通過(guò)值函數(shù)網(wǎng)絡(luò)對(duì)周?chē)鷦?dòng)態(tài)障礙物的狀態(tài)進(jìn)行編碼,通過(guò)預(yù)測(cè)障礙物的運(yùn)動(dòng)趨勢(shì),來(lái)規(guī)劃出動(dòng)態(tài)路徑。文獻(xiàn)[20]在文獻(xiàn)[19]的基礎(chǔ)上通過(guò)引入雙經(jīng)驗(yàn)池來(lái)提高算法的收斂速度。文獻(xiàn)[21]提出了LSTM策略,通過(guò)引入長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)來(lái)將動(dòng)態(tài)障礙物的可變大小狀態(tài)轉(zhuǎn)換為固定長(zhǎng)度向量,并以與機(jī)器人距離相反的順序輸入人類(lèi)狀態(tài)。上述的文獻(xiàn)只考慮單個(gè)動(dòng)態(tài)障礙物對(duì)機(jī)器人的影響,卻沒(méi)有考慮多個(gè)動(dòng)態(tài)障礙物同時(shí)對(duì)機(jī)器人的影響。文獻(xiàn)[22]提出了社會(huì)注意力機(jī)制,通過(guò)對(duì)動(dòng)態(tài)障礙物的運(yùn)動(dòng)趨勢(shì)分析,來(lái)捕獲環(huán)境中動(dòng)態(tài)障礙物的相對(duì)重要性。文獻(xiàn)[23]提出了SARL策略,使用了一種圖形結(jié)構(gòu)來(lái)表示人群,并預(yù)測(cè)導(dǎo)航任務(wù)中的行人注意力得分。文獻(xiàn)[24]直接將原始傳感器數(shù)據(jù)和目標(biāo)信息映射到控制命令上。文獻(xiàn)[25]采用漸進(jìn)式的由易到難的訓(xùn)練策略,將DQN與遷移學(xué)習(xí)相結(jié)合應(yīng)用在導(dǎo)航中,提高了收斂網(wǎng)絡(luò)收斂速度。文獻(xiàn)[26]利用Delaunay三角剖分對(duì)障礙物進(jìn)行編碼,并結(jié)合擴(kuò)展的混合A*方法,在時(shí)間-狀態(tài)空間中有效地搜索最優(yōu)解。
在現(xiàn)實(shí)環(huán)境下或擁擠的環(huán)境中,障礙物類(lèi)型復(fù)雜,不僅存在動(dòng)態(tài)障礙物,還存在靜態(tài)障礙物。機(jī)器人對(duì)不同類(lèi)型的障礙物處理應(yīng)該也不相同。針對(duì)上述現(xiàn)有技術(shù)存在的問(wèn)題,本文提出一種新的基于深度強(qiáng)化學(xué)習(xí)的動(dòng)態(tài)路徑規(guī)劃算法。主要工作有:
1)將LSTM網(wǎng)絡(luò)和社會(huì)注意力機(jī)制融合建立的新的神經(jīng)網(wǎng)絡(luò)模型來(lái)處理動(dòng)態(tài)路徑規(guī)劃問(wèn)題。
2)建立局部地圖和全局地圖來(lái)分別處理動(dòng)靜態(tài)障礙物信息,設(shè)計(jì)新的獎(jiǎng)勵(lì)函數(shù)來(lái)針對(duì)不同障礙物的情況。
3)針對(duì)訓(xùn)練前期收斂慢的問(wèn)題,通過(guò)模仿學(xué)習(xí)對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行預(yù)訓(xùn)練,引入優(yōu)先級(jí)經(jīng)驗(yàn)回放技術(shù)來(lái)提高網(wǎng)絡(luò)的收斂速度。
4)設(shè)計(jì)不同的障礙物環(huán)境來(lái)對(duì)比不同策略的動(dòng)態(tài)避障效果。
如圖1所示,在強(qiáng)化學(xué)習(xí)框架下,機(jī)器人通過(guò)與環(huán)境的交互來(lái)學(xué)習(xí)動(dòng)作能夠使其在給定環(huán)境中所獲得的累計(jì)獎(jiǎng)勵(lì)最大化。然而機(jī)器人僅僅依靠與環(huán)境的交互以及動(dòng)作的獎(jiǎng)勵(lì)來(lái)學(xué)習(xí),在復(fù)雜環(huán)境下的表現(xiàn)往往不是很好。由于深度學(xué)習(xí)具有強(qiáng)大的感知能力,不僅能夠?yàn)閺?qiáng)化學(xué)習(xí)帶來(lái)端到端優(yōu)化的優(yōu)勢(shì),而且使得強(qiáng)化學(xué)習(xí)不再受限于低維的空間中,為此引入深度學(xué)習(xí)來(lái)提高系統(tǒng)的感知能力,極大地拓展了強(qiáng)化學(xué)習(xí)的使用范圍。
圖1 基于深度強(qiáng)化學(xué)習(xí)的動(dòng)態(tài)路徑規(guī)劃流程
基于強(qiáng)化學(xué)習(xí)的移動(dòng)機(jī)器人的路徑規(guī)劃問(wèn)題首先需要通過(guò)利用馬爾可夫決策過(guò)程(MDP,markov decision process)來(lái)實(shí)現(xiàn)問(wèn)題的形式化。MDP可以描述為:機(jī)器人在某一時(shí)刻t下的狀態(tài)為St,根據(jù)最優(yōu)策略π*選擇動(dòng)作at,機(jī)器人根據(jù)狀態(tài)轉(zhuǎn)移概率P,從當(dāng)前狀態(tài)轉(zhuǎn)移到下一個(gè)狀態(tài)S(t+1),時(shí)間間隔為△t然后根據(jù)當(dāng)前狀態(tài)得到獎(jiǎng)勵(lì)rt,再更新?tīng)顟B(tài)值函數(shù):
V*(St)=∑γ△tP(St,at)
(1)
其中:狀態(tài)值函數(shù)V*(St)是從狀態(tài)st出發(fā),按照最優(yōu)策略π*選取動(dòng)作后得到的期望回報(bào),機(jī)器人不僅要考慮當(dāng)前的獎(jiǎng)勵(lì)還要考慮未來(lái)的獎(jiǎng)勵(lì),所以設(shè)置折扣率γ∈ (0,1)。
最優(yōu)策略則通過(guò)最大化累計(jì)回報(bào)獲得:
V*(uut+△t)dut+△t
(2)
其中:ut表示當(dāng)前移動(dòng)機(jī)器人和障礙物的聯(lián)合狀態(tài),at表示t時(shí)刻的動(dòng)作,γ表示折扣率,△t表示兩個(gè)動(dòng)作之間的時(shí)間間隔,V*表示最優(yōu)值函數(shù),P表示狀態(tài)轉(zhuǎn)移函數(shù),R表示為獎(jiǎng)勵(lì)函數(shù);模型的好壞主要在于狀態(tài)空間S、動(dòng)作空間A和獎(jiǎng)勵(lì)空間R的設(shè)計(jì)。
動(dòng)態(tài)路徑規(guī)劃的狀態(tài)空間包含機(jī)器人的狀態(tài)和動(dòng)靜態(tài)障礙物的狀態(tài),機(jī)器人、動(dòng)態(tài)障礙物和靜態(tài)障礙物的狀態(tài)分別定義為:
Sr=[Px,Py,Gx,Gy,Vx,Vy,θ,r]
(3)
SD=[Px,Py,Vx,Vy,r]
(4)
SS=[Px,Py,r]
(5)
其中:[Px,Py]是物體的當(dāng)前坐標(biāo),[Gx,Gy]是機(jī)器人的目標(biāo)點(diǎn),[Vx,Vy]是機(jī)器人或者動(dòng)態(tài)障礙物的當(dāng)前時(shí)刻的速度,θ是機(jī)器人當(dāng)前時(shí)刻的航向角,r是物體膨脹后的半徑。
機(jī)器人周?chē)恼系K物在T時(shí)刻內(nèi)的聯(lián)合狀態(tài)即為網(wǎng)絡(luò)的輸入層:
ut=[Sr,SD,SS]
(6)
機(jī)器人在移動(dòng)過(guò)程中需要盡量避免與動(dòng)態(tài)障礙物發(fā)生碰撞。由于動(dòng)態(tài)障礙物的不確定性,隨著與動(dòng)態(tài)障礙物距離的減少,發(fā)生碰撞的概率就越大,而面對(duì)靜態(tài)障礙物,隨著距離的靠近并不會(huì)增加發(fā)生碰撞的概率。所以針對(duì)以上情況,設(shè)計(jì)了如下的獎(jiǎng)勵(lì)函數(shù)。
(7)
其中:Dd,Ds分別為為機(jī)器人和動(dòng)態(tài)障礙物和靜態(tài)障礙物之間的距離,為了減了機(jī)器人和動(dòng)態(tài)障礙物發(fā)生碰撞的概率,當(dāng)機(jī)器人靠近動(dòng)態(tài)障礙物0.5米時(shí),即Dd<0.5時(shí),則認(rèn)為機(jī)器人可能會(huì)和動(dòng)態(tài)障礙物發(fā)生碰撞,隨著距離的減少逐漸增加負(fù)獎(jiǎng)勵(lì)的值,從而降低移動(dòng)機(jī)器人與動(dòng)態(tài)障礙物發(fā)生碰撞的概率。而機(jī)器人靠近靜態(tài)障礙物時(shí),由于靜態(tài)障礙物沒(méi)有運(yùn)動(dòng)趨勢(shì),只要機(jī)器人不接觸靜態(tài)障礙物就不會(huì)發(fā)生碰撞,當(dāng)機(jī)器人與靜態(tài)障礙物發(fā)生碰撞時(shí),即Ds≤0時(shí),給予負(fù)的獎(jiǎng)勵(lì)。從而在動(dòng)態(tài)規(guī)劃過(guò)程中,實(shí)現(xiàn)對(duì)動(dòng)靜態(tài)障礙物的不同應(yīng)對(duì)策略。
機(jī)器人的動(dòng)作空間由線速度和角速度組成A=[w,v],v為線速度w為角速度。為了符合動(dòng)力學(xué)約束,本文將角速度在[0,90]區(qū)間內(nèi)分成15等分,線速度按照函數(shù)y=1/x,x取1,2,3,4,5可獲得5個(gè)變化平滑的線速度,動(dòng)作空間共有75種動(dòng)作組合,其中不同的顏色代表那個(gè)區(qū)間動(dòng)作選擇的可能性,如圖2所示。
圖2 動(dòng)作空間
文獻(xiàn)[19]使用一個(gè)淺層的網(wǎng)絡(luò)編碼了障礙物信息,缺乏對(duì)障礙物信息的處理,本文此基礎(chǔ)上通過(guò)引入LSTM網(wǎng)絡(luò)[21]來(lái)編碼障礙物信息。通過(guò)局部地圖和社會(huì)注意力機(jī)制[22]來(lái)提取動(dòng)態(tài)障礙物的特征,預(yù)測(cè)動(dòng)態(tài)障礙物的運(yùn)動(dòng)趨勢(shì),通過(guò)全局地圖來(lái)避開(kāi)靜態(tài)障礙物,網(wǎng)絡(luò)模型具有更強(qiáng)的自適應(yīng)性以及魯棒性。
如圖3所示,網(wǎng)絡(luò)處理流程主要有:首先建立全局地圖獲取機(jī)器人和周?chē)系K物的狀態(tài),然后通過(guò)建立局部地圖,通過(guò)LSTM網(wǎng)絡(luò)編碼動(dòng)態(tài)障礙物狀態(tài)和機(jī)器人狀態(tài)輸入社會(huì)注意力機(jī)制網(wǎng)絡(luò),來(lái)確定周?chē)總€(gè)動(dòng)態(tài)障礙物的注意力分?jǐn)?shù),然后通過(guò)LSTM網(wǎng)絡(luò)處理靜態(tài)障礙物的信息,將處理后的狀態(tài)輸入全連接層,最后通過(guò)激活函數(shù)對(duì)其進(jìn)行歸一化處理來(lái)得到最優(yōu)值函數(shù)。
圖3 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)的輸入?yún)?shù)由三部分組成:移動(dòng)機(jī)器人的狀態(tài)、動(dòng)態(tài)障礙物的狀態(tài)和靜態(tài)障礙物的狀態(tài)。靜態(tài)障礙物的狀態(tài)可視為已知信息存儲(chǔ),通過(guò)預(yù)先建立環(huán)境地圖。動(dòng)態(tài)障礙物的狀態(tài)通過(guò)局部地圖獲得。本文以機(jī)器人為中心將地圖參數(shù)化建立二維柵格局部地圖。如圖4所示,機(jī)器人位于原點(diǎn),構(gòu)造一個(gè)L×L× 3 映射張量Mi,來(lái)編碼動(dòng)態(tài)障礙物Di的位置和速度信息,張量Mi表示為:
Mi(a,b)=∑j∈Ni?Di
(8)
其中:Di是第i個(gè)動(dòng)態(tài)障礙物的狀態(tài)信息,(a,b)用來(lái)存放坐標(biāo)信息,? 是一個(gè)特征函數(shù)來(lái)確保障礙物在范圍之內(nèi),Ni是周?chē)袆?dòng)態(tài)障礙物的狀態(tài)信息的集合。
圖4 維柵格局部地圖
社會(huì)注意力機(jī)制由多個(gè)多層感知器(MLP)組成,首先將移動(dòng)機(jī)器人的狀態(tài)和動(dòng)態(tài)障礙物的狀態(tài)以及映射張量Mi通過(guò)MLP編碼到固定長(zhǎng)度的向量ei中,然后再將ei送入到下一層MLP中來(lái)獲得機(jī)器人與動(dòng)態(tài)障礙物之間的交互特征hi,然后再送入下一層MLP中來(lái)獲得不同動(dòng)態(tài)障礙物的注意力分?jǐn)?shù)αi,注意力分?jǐn)?shù)代表著動(dòng)態(tài)障礙物與移動(dòng)機(jī)器人發(fā)生碰撞的可能性。然后將所有的交互特征通過(guò)加權(quán)組合來(lái)表示所有動(dòng)態(tài)障礙物對(duì)移動(dòng)機(jī)器人的下一步動(dòng)作的整體影響,將聯(lián)合狀態(tài)和交互特征輸入到MLP來(lái)作為最優(yōu)值函數(shù)的估計(jì)值。
ei=?e(s,Mi;we)
(9)
hi=Φh(ei;wh)
(10)
(11)
αi=Φα(ei,em;wα)
(12)
(13)
V=fv(s,ss,c;wv)
(14)
其中:?e是激活函數(shù),we是權(quán)重,Φh是一個(gè)具有ReLU非線性的全連通層,wh是網(wǎng)絡(luò)權(quán)值。em是所有ei向量的總和,Φα是具有ReLU激活的MLP,wα是權(quán)重。fv是具有ReLU激活的MLP,權(quán)重用wv表示。s是機(jī)器人的狀態(tài),ss是靜態(tài)障礙物的狀態(tài)。
圖5 社會(huì)注意力機(jī)制模型
前饋神經(jīng)網(wǎng)絡(luò)需要固定長(zhǎng)度的輸入。然而移動(dòng)機(jī)器人在移動(dòng)的過(guò)程中遇到的障礙物的數(shù)量不固定,從而導(dǎo)致網(wǎng)絡(luò)輸入層的輸入的參數(shù)也會(huì)發(fā)生變化,目前的方法通過(guò)設(shè)定固定的輸入層參數(shù),當(dāng)障礙物數(shù)量過(guò)多或者很少的時(shí)候都會(huì)影響網(wǎng)絡(luò)的性能。長(zhǎng)短期記憶網(wǎng)絡(luò)可以接收任意長(zhǎng)度的序列參數(shù),產(chǎn)生固定長(zhǎng)度的輸出,因此本文引入LSTM網(wǎng)絡(luò)優(yōu)化深度強(qiáng)化網(wǎng)絡(luò)模型的性能。
LSTM 網(wǎng)絡(luò)由其權(quán)重{wi,wf,wo}和偏差 {bi,bf,bo}參數(shù)化,其中{i,f,o}對(duì)應(yīng)于輸入門(mén)、遺忘門(mén)和輸出門(mén)。如圖6所示,機(jī)器人周?chē)恼系K物按照距離依次送入LSTM單元,每個(gè) LSTM 單元具有3個(gè)輸入:障礙物的狀態(tài)S、先前的隱藏狀態(tài)hi和先前的單元狀態(tài)ci。
圖6 LSTM網(wǎng)絡(luò)模型
在每個(gè)決策步驟中,每個(gè)障礙物的狀態(tài)依次輸入到LSTM 單元中。 LSTM單元的初始狀態(tài)h0,c0為0,然后通過(guò)輸入第一個(gè)狀態(tài)s1生成 {h1,c1},然后運(yùn)送到第二個(gè)LSTM單元生成 {h2,c2},從而編碼所有障礙物的狀態(tài)信息。在輸出障礙物信息時(shí),可以通過(guò)LSTM網(wǎng)絡(luò)調(diào)整障礙物信息的順序,通過(guò)訓(xùn)練網(wǎng)絡(luò)權(quán)重參數(shù),通過(guò)遺忘門(mén)將遠(yuǎn)離機(jī)器人的障礙物信息遺忘,將靠近機(jī)器人的障礙物信息優(yōu)先放置在最后編碼的向量中。最后通過(guò)隱藏狀態(tài)hn將機(jī)器人周?chē)系K物的狀態(tài)信息編碼成一個(gè)固定長(zhǎng)度的向量,并輸送到前饋網(wǎng)絡(luò)處。不僅可以解決前饋網(wǎng)絡(luò)參數(shù)不固定的問(wèn)題,還可以對(duì)障礙物狀態(tài)信息進(jìn)行排序,使移動(dòng)機(jī)器人具有更好的性能。
網(wǎng)絡(luò)訓(xùn)練初期,由于環(huán)境復(fù)雜,障礙物多,發(fā)生碰撞的概率很大,網(wǎng)絡(luò)需要很長(zhǎng)時(shí)間才能度過(guò)探索階段,網(wǎng)絡(luò)的初始權(quán)重很差,機(jī)器人需要很久才能到達(dá)目標(biāo)點(diǎn)。如圖7所示。
圖7 未引入模仿學(xué)習(xí)和引入模仿學(xué)習(xí)的回報(bào)曲線
左圖是未引入模仿學(xué)習(xí)的回報(bào)函數(shù),總獎(jiǎng)勵(lì)在很長(zhǎng)一段時(shí)間內(nèi)處于負(fù)值狀態(tài),而引入模仿學(xué)習(xí)的總獎(jiǎng)勵(lì)一直處于正值狀態(tài)。所以通過(guò)使用模仿學(xué)習(xí),對(duì)網(wǎng)絡(luò)進(jìn)行一定次數(shù)的預(yù)訓(xùn)練來(lái)優(yōu)化網(wǎng)絡(luò)權(quán)重。由于仿真環(huán)境一樣,只是改變機(jī)器人使用的避障策略,可以使策略度過(guò)探索期,所以通過(guò)預(yù)訓(xùn)練的網(wǎng)絡(luò)可以提高收斂的速度。
DQN算法采用了經(jīng)驗(yàn)回放機(jī)制來(lái)解決經(jīng)驗(yàn)數(shù)據(jù)的相關(guān)性和非平穩(wěn)分布的問(wèn)題,但存在一個(gè)問(wèn)題是其采用均勻采樣和批次更新,導(dǎo)致特別少但價(jià)值特別高的經(jīng)驗(yàn)沒(méi)有被高效的利用。本文采用一種“優(yōu)先級(jí)經(jīng)驗(yàn)回放”技術(shù)解決采樣問(wèn)題,從而提高算法的收斂速度。在優(yōu)先級(jí)經(jīng)驗(yàn)回放中,通過(guò)TD-error來(lái)給每一條經(jīng)驗(yàn)添加重要性,TD-error是某個(gè)時(shí)刻動(dòng)作的值函數(shù)和當(dāng)前網(wǎng)絡(luò)的最優(yōu)值函數(shù)的一個(gè)差值,差值越大則說(shuō)明當(dāng)前的經(jīng)驗(yàn)比較差。所以我們定義:
Pt=(|δt|+ε)α(15)
其中:Pt是選擇當(dāng)前經(jīng)驗(yàn)的概率,α、ε為常數(shù),δt為T(mén)D-error。
本節(jié)主要對(duì)改進(jìn)后的策略和當(dāng)前主流策略的動(dòng)態(tài)避障效果進(jìn)行對(duì)比分析。本文的網(wǎng)絡(luò)模型在Python中使用Pytorch實(shí)現(xiàn),在GeForce RTX 970 GPU和i7-4790K的電腦上訓(xùn)練并測(cè)試。仿真環(huán)境實(shí)驗(yàn)是基于python中的gym庫(kù)搭建的,動(dòng)態(tài)障礙物在6X6的正方形邊上隨機(jī)生成起點(diǎn),目標(biāo)點(diǎn)為對(duì)應(yīng)邊上的一點(diǎn),半徑大小為0.3的圓,靜態(tài)障礙物隨機(jī)在環(huán)境下隨機(jī)位置生成,為半徑為0.5~1.3的圓。動(dòng)態(tài)障礙物通過(guò)ORCA策略控制移動(dòng),可以避免動(dòng)態(tài)障礙物之間以及和靜態(tài)障礙物發(fā)生碰撞,其仿真參數(shù)如表1所示,通過(guò)時(shí)間差分法來(lái)對(duì)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,通過(guò)Adam優(yōu)化器[27]來(lái)優(yōu)化最優(yōu)值函數(shù),網(wǎng)絡(luò)的訓(xùn)練流程如下所示。
表1 仿真參數(shù)
算法1:網(wǎng)絡(luò)訓(xùn)練流程。
步驟1:使用模仿學(xué)習(xí)對(duì)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練;
步驟2:預(yù)訓(xùn)練結(jié)果初始化經(jīng)驗(yàn)池;
步驟3:初始化目標(biāo)網(wǎng)絡(luò)參數(shù);
步驟4:開(kāi)始訓(xùn)練;
步驟5:隨機(jī)生成障礙物位置;
步驟6:是否發(fā)生碰撞、到達(dá)目標(biāo)或者超出限制時(shí)間;
步驟7:步驟6成立結(jié)束當(dāng)前episode否則執(zhí)行步驟8;
步驟8:將聯(lián)合狀態(tài)輸入網(wǎng)絡(luò);
步驟9:根據(jù)當(dāng)前狀態(tài)使用最大化獎(jiǎng)勵(lì)選擇動(dòng)作;
步驟10:獲得獎(jiǎng)勵(lì),更新下一刻狀態(tài);
步驟11:將狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì)和下一刻狀態(tài)存儲(chǔ)到經(jīng)驗(yàn)池;
步驟12:使用優(yōu)先級(jí)經(jīng)驗(yàn)回放從經(jīng)驗(yàn)池里選擇batch;
步驟13:根據(jù)batch 優(yōu)化價(jià)值網(wǎng)絡(luò);
步驟14:通過(guò)Adam 優(yōu)化器優(yōu)化網(wǎng)絡(luò)參數(shù);
步驟15:更新目標(biāo)網(wǎng)絡(luò)參數(shù);
步驟16:返回最優(yōu)值函數(shù)。
本節(jié)主要將本文的策略模型與CADRL[19]、LSTM-RL[21]和SARL[23]3種策略模型進(jìn)行比較,來(lái)驗(yàn)證網(wǎng)絡(luò)模型的性能。
圖8(a)比較了不同策略的累計(jì)回報(bào)曲線,從圖中可以看出我們的模型由于引入優(yōu)先經(jīng)驗(yàn)回放技術(shù),在預(yù)訓(xùn)練的時(shí)候就獲得了很好的效果,初始經(jīng)驗(yàn)很高,所以收斂速度也是最快的。圖8(b)、(c)和(d)中比較了不同模型到達(dá)目標(biāo)點(diǎn)所花費(fèi)的時(shí)間,以及在仿真過(guò)程中的成功率和碰撞率,從圖中可以看出我們的模型在相同起點(diǎn)和終點(diǎn)的條件下到達(dá)終點(diǎn)所花費(fèi)的時(shí)間最短、碰撞率較低以及成功率很高。說(shuō)明引入率LSTM網(wǎng)絡(luò)和社會(huì)注意力機(jī)制后的模型效果表現(xiàn)很好,結(jié)合模仿學(xué)習(xí)以及最優(yōu)經(jīng)驗(yàn)回放后的網(wǎng)絡(luò)訓(xùn)練效果更好,很好的驗(yàn)證了本文的網(wǎng)絡(luò)模型的有效性。
由于我們的模型對(duì)動(dòng)態(tài)障礙物和靜態(tài)障礙物都做了訓(xùn)練,因此設(shè)計(jì)了兩組實(shí)驗(yàn)用來(lái)做對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)測(cè)試了4種策略在500次的實(shí)驗(yàn)下的動(dòng)態(tài)規(guī)劃結(jié)果。
3.3.1 不存在靜態(tài)障礙物
首先在沒(méi)有靜態(tài)障礙物的環(huán)境下對(duì)比了不同策略的路徑規(guī)劃效果,設(shè)定了5個(gè)動(dòng)態(tài)障礙物,動(dòng)態(tài)障礙物采用ORCA策略,不會(huì)主動(dòng)避讓移動(dòng)機(jī)器人。
本文的策略通過(guò)注意力機(jī)制,可以預(yù)測(cè)動(dòng)態(tài)障礙物的運(yùn)動(dòng)趨勢(shì),避免與動(dòng)態(tài)障礙物發(fā)生碰撞,當(dāng)面對(duì)多個(gè)動(dòng)態(tài)障礙物的時(shí)候,通過(guò)對(duì)障礙物排序可以實(shí)現(xiàn)更好的動(dòng)作抉擇,成功的避開(kāi)障礙物。LSTM_RL雖然可以對(duì)障礙物進(jìn)行排序,優(yōu)先躲避最近的障礙物,但是卻忽略了即將到來(lái)的障礙物對(duì)將來(lái)動(dòng)作的影響,會(huì)出現(xiàn)即使躲避開(kāi)當(dāng)前障礙物,又在移動(dòng)過(guò)程中與下一個(gè)障礙物相遇,導(dǎo)致規(guī)劃的時(shí)間過(guò)長(zhǎng)。SARL雖然能夠預(yù)測(cè)動(dòng)態(tài)障礙物的趨勢(shì),但是太注重未來(lái)的障礙物而忽視了靠近的動(dòng)態(tài)障礙物。從表2中和圖9可以看到本文的策略,到達(dá)目標(biāo)點(diǎn)的時(shí)間最短且路徑更加平滑。
圖8 10 000次訓(xùn)練結(jié)果
表2 不存在靜態(tài)障礙物的500次測(cè)試結(jié)果
圖9 不同策略的一次測(cè)試案例
圖10 不同策略的一次測(cè)試案例
3.3.2 存在靜態(tài)障礙物
由于障礙物的增加,為了更好的體現(xiàn)避障效果擴(kuò)大了地圖環(huán)境,由于靜態(tài)障礙物的隨機(jī)生成,本文主要分析了不同策略的避障效果,設(shè)定了4個(gè)靜態(tài)障礙物和3個(gè)動(dòng)態(tài)障礙物。
如圖10所示CADRL僅使用一個(gè)淺層的網(wǎng)絡(luò)不能很好的提取復(fù)雜動(dòng)態(tài)環(huán)境中的信息,當(dāng)環(huán)境復(fù)雜時(shí)很容易發(fā)生碰撞,LSTM_RL策略根據(jù)離障礙物的距離進(jìn)行排序,但是容易陷死在擁擠的環(huán)境下,SARL策略提取了行人的交互特征的有較好的避障效果,但是當(dāng)被障礙物包圍時(shí),會(huì)出現(xiàn)"凍結(jié)"的問(wèn)題,只有當(dāng)障礙物離開(kāi)時(shí)才能繼續(xù)移動(dòng)。而我們的策略不僅提取了行人的交互特征,而且排序了障礙物,針對(duì)不同的障礙物設(shè)置了不同的獎(jiǎng)勵(lì)策略,使機(jī)器人有更好的動(dòng)作選擇,更好的躲避不同的障礙物,即使在擁擠的環(huán)境下,也能規(guī)劃出平滑的路徑。如表3所示本文的模型成功率最高,花費(fèi)的時(shí)間最短,均優(yōu)于其他策略。
表3 存在靜態(tài)障礙物的500次測(cè)試結(jié)果
本文提出了一種基于深度強(qiáng)化學(xué)習(xí)的動(dòng)態(tài)路徑規(guī)劃算法。首先通過(guò)構(gòu)建全局地圖獲取移動(dòng)機(jī)器人周?chē)恼系K物信息,將障礙物分類(lèi)成動(dòng)態(tài)障礙物和靜態(tài)障礙物。然后建立局部地圖通過(guò)LSTM網(wǎng)絡(luò)編碼動(dòng)態(tài)障礙物信息,通過(guò)社會(huì)注意力機(jī)制計(jì)算每個(gè)動(dòng)態(tài)障礙物的重要性來(lái)實(shí)現(xiàn)更好的避障。通過(guò)構(gòu)建新的獎(jiǎng)勵(lì)函數(shù)來(lái)應(yīng)對(duì)動(dòng)靜態(tài)障礙物的不同躲避情況。最后通過(guò)模仿學(xué)習(xí)和優(yōu)先級(jí)經(jīng)驗(yàn)回放技術(shù)來(lái)提高網(wǎng)絡(luò)的收斂速度,實(shí)驗(yàn)結(jié)果驗(yàn)證了該模型的準(zhǔn)確性和有效性,表明了該模型能夠?qū)崿F(xiàn)更好的動(dòng)態(tài)避障效果,但是沒(méi)有現(xiàn)實(shí)機(jī)器人上實(shí)現(xiàn),因此下一步研究如何在現(xiàn)實(shí)機(jī)器人上實(shí)現(xiàn)動(dòng)態(tài)路徑規(guī)劃。