杜海軍,余粟
(上海工程技術(shù)大學(xué)電子電氣工程學(xué)院,上海 201620)
隨著機(jī)器人技術(shù)的快速發(fā)展,服務(wù)機(jī)器人的應(yīng)用由結(jié)構(gòu)化的實(shí)驗室場景逐漸轉(zhuǎn)移到非結(jié)構(gòu)化的商超、餐廳等場景。非結(jié)構(gòu)化場景中既存在靜態(tài)障礙物,也存在以行人為代表的動態(tài)障礙物。由于行人的意圖不能被直接觀測,因此機(jī)器人和行人之間存在的交互關(guān)系很難被建模,提高了機(jī)器人在動態(tài)環(huán)境中的碰撞概率[1]。因此,在動態(tài)環(huán)境下如何實(shí)現(xiàn)機(jī)器人避障具有一定的挑戰(zhàn)性。
動態(tài)避障屬于機(jī)器人導(dǎo)航系統(tǒng)中的局部路徑規(guī)劃,即在未知的環(huán)境中,機(jī)器人通過傳感器實(shí)時探測的數(shù)據(jù)來規(guī)劃無碰撞路徑,輸出速度指令[2]。在現(xiàn)有的研究工作中,服務(wù)機(jī)器人的動態(tài)避障大致分為基于交互的非學(xué)習(xí)方法和基于學(xué)習(xí)的方法這兩大類。
基于交互的方法包括最佳相互碰撞避免(ORCA)[3]、社會力模型(SF)[4]、動態(tài)窗口算法(DWA)[5]等。ORCA 將其他物體建模為速度障礙物,在每一步交互中不斷尋找最優(yōu)無碰撞速度。SF 將行人和機(jī)器人的交互關(guān)系建模為吸引力和互斥力,通過合力確定機(jī)器人的方向和速度。DWA 在劃定的窗口中基于機(jī)器人的運(yùn)動學(xué)模型采樣可行性速度,并根據(jù)代價函數(shù)選擇最優(yōu)速度?;诮换サ姆椒▋H使用當(dāng)前狀態(tài)作為決策輸入,缺少對歷史信息的利用。
基于學(xué)習(xí)的方法主要以深度強(qiáng)化學(xué)習(xí)(DRL)[6]為框架,該類方法的核心思想是將機(jī)器人避障建模為馬爾可夫決策過程(MDP),通過具有隱含編碼環(huán)境信息能力的神經(jīng)網(wǎng)絡(luò)構(gòu)建強(qiáng)化學(xué)習(xí)中的價值函數(shù)或者策略函數(shù)[7-8]。在決策過程中通過最大化累計獎勵使服務(wù)機(jī)器人學(xué)會導(dǎo)航和避障。
基于DRL 的學(xué)習(xí)方法大致分為基于傳感器級別的方法和基于代理級別的方法。文獻(xiàn)[9]和文獻(xiàn)[10]分別使用2D 激光雷達(dá)傳感器和RGB-D 傳感器作為神經(jīng)網(wǎng)絡(luò)輸入,直接映射出機(jī)器人的速度指令。但是,高維度的傳感器數(shù)據(jù)加劇了DRL 的訓(xùn)練時長,此外,原始傳感器數(shù)據(jù)包含的無關(guān)信息也會加劇機(jī)器人的抖動性?;诖砑墑e的方法將代理的可觀察狀態(tài)(位置、速度等信息)作為DRL 的輸入,然后映射為服務(wù)機(jī)器人的動作。CADRL(Collision Avoidance with Deep Reinforcement Learning)[11]是較早使用神經(jīng)網(wǎng)絡(luò)擬合價值函數(shù)解決機(jī)器人動態(tài)避障問題的算法。為了解決行人數(shù)量不一致的問題,GA3C-CADRL[12]采用長短期記憶(LSTM)按照距離由近到遠(yuǎn)來提取行人特征,然后通過狀態(tài)價值網(wǎng)絡(luò)輸出機(jī)器人動作。文獻(xiàn)[13]采用虛擬目標(biāo)點(diǎn)的方法來解決機(jī)器人容易陷入局部最優(yōu)的問題。但是,以上方法沒有充分考慮機(jī)器人和行人之間的交互。
隨著圖神經(jīng)網(wǎng)絡(luò)[14-15]在非結(jié)構(gòu)化數(shù)據(jù)中的廣泛應(yīng)用,服務(wù)機(jī)器人和行人的關(guān)系可以描述為圖結(jié)構(gòu)。文獻(xiàn)[16]基于圖卷積網(wǎng)絡(luò)(GCN)編碼行人-機(jī)器人、行人-行人的交互關(guān)系。文獻(xiàn)[17]基于Structural-RNN(Structural Recurrent Neural Network)構(gòu)建環(huán)境的圖結(jié)構(gòu),采用3 個RNN 網(wǎng)絡(luò)建模行人和機(jī)器人之間的隱式關(guān)系。以上方法證明了圖結(jié)構(gòu)在非結(jié)構(gòu)化導(dǎo)航場景中的優(yōu)勢,然而這些方法只考慮機(jī)器人和行人在空間中的交互性,并沒有利用行人的歷史消息。文獻(xiàn)[18]將注意力機(jī)制整合到基于圖的強(qiáng)化學(xué)習(xí)框架中,表征行人對機(jī)器人導(dǎo)航的重要程度,但是該方法需要基于人類注視數(shù)據(jù)集來手動指定鄰接矩陣。
為了更好地提取機(jī)器人和行人的交互特征,本文從時間和空間2 個維度出發(fā),提出基于時空圖注意力網(wǎng)絡(luò)的避障算法。首先通過GRU[19]來選擇性地記憶行人和機(jī)器人的歷史狀態(tài),其次使用GATs[20]編碼機(jī)器人-行人的空間關(guān)系,最后將環(huán)境的時空特征送入鄰近策略優(yōu)化(PPO)算法[21],映射出機(jī)器人當(dāng)前時刻的動作指令。
服務(wù)機(jī)器人的導(dǎo)航環(huán)境如圖1 所示,服務(wù)機(jī)器人需要穿過不定數(shù)量的行人和靜態(tài)障礙物實(shí)現(xiàn)無碰撞到達(dá)目標(biāo)位置。為了方便建模,將靜態(tài)障礙物簡化為靜態(tài)行人,將行人和服務(wù)機(jī)器人統(tǒng)稱為智能體。
圖1 導(dǎo)航環(huán)境示意圖Fig.1 Navigation environment schematic diagram
在圖1 中,虛線箭頭代表智能體根據(jù)自身決策形成的運(yùn)動軌跡。行人和機(jī)器人之間沒有通信,因此,機(jī)器人無法知道行人的運(yùn)動意圖和目的地。
服務(wù)機(jī)器人的導(dǎo)航問題可以表示為強(qiáng)化學(xué)習(xí)中的序列決策問題,因此,可以將其建模為MDP。MDP 由五元組<S,A,ρ,R,γ>表示,其中:S代表環(huán)境的狀態(tài)集;A代表機(jī)器人的動作集;ρ代表狀態(tài)s∈S轉(zhuǎn)化為狀態(tài)s'∈S的狀態(tài)轉(zhuǎn)移函數(shù);R表示累計獎勵;γ∈(0,1)表示折扣因子。根據(jù)MDP 的定義,機(jī)器人在t時刻與環(huán)境交互得到狀態(tài)st,策略π從動作集A中選擇最大概率的動作at,并得到即時獎勵rt,然后根據(jù)狀態(tài)轉(zhuǎn)移函數(shù)ρ得到下一狀態(tài)st+1。強(qiáng)化學(xué)習(xí)的目標(biāo)是尋找最優(yōu)策略π*,使累計獎勵R最大化,如式(1)所示:
其中:Rt(st,at)代表在t時刻機(jī)器人根據(jù)狀態(tài)st執(zhí)行動作at后得到的即時獎勵;ρ(st+1|(st,at))代表根據(jù)狀態(tài)st和動作at轉(zhuǎn)移到下一個狀態(tài)st+1的概率;V*(st+1)代表狀態(tài)st+1的最優(yōu)價值函數(shù)[6]。
狀態(tài)空間指整個環(huán)境中可能存在的所有狀態(tài)的集合。在本文中,智能體的狀態(tài)信息由被觀測狀態(tài)和隱藏狀態(tài)組成。被觀測狀態(tài)指能被其他智能體通過傳感器的形式直接或者間接得到的信息,包含位置p=[px,py]、速度v=[vx,vy]、半徑δ。隱藏狀態(tài)指只有智能體本身能獲取、其他智能體無法獲取的信息,包括目標(biāo)坐標(biāo)g=[gx,gy]、期望速度vpref、朝向?。假設(shè)在t時刻環(huán)境中的智能體數(shù)量為m(m>0),則狀態(tài)空間如式(2)所示:
為了保證狀態(tài)空間不受旋轉(zhuǎn)、平移的影響,將全局坐標(biāo)系轉(zhuǎn)化為以機(jī)器人質(zhì)點(diǎn)為中心、x軸正方向指向目標(biāo)位置的機(jī)器人坐標(biāo)系[22]。轉(zhuǎn)化后的狀態(tài)空間如式(3)所示:
其中:dg=||p-g||為機(jī)器人到目標(biāo)的距離;d=||p0-pm||為第m個行人與機(jī)器人的距離。
在t時刻服務(wù)機(jī)器人的動作at被定義為:
其中:vt為機(jī)器人的線速度;wt為機(jī)器人的角速度。本文動作空間采用離散形式,即將vt在[0,vpref]內(nèi)均勻離散為6 個值,將wt在內(nèi)均勻離散為9 個值,因此,服務(wù)機(jī)器人的動作空間含有54 個不同動作。
獎勵函數(shù)是強(qiáng)化學(xué)習(xí)中的重要一環(huán),它是指導(dǎo)和評估智能體動作好壞的重要指標(biāo)之一。文獻(xiàn)[12]提出以機(jī)器人避免碰撞為目標(biāo)的獎勵函數(shù)的基礎(chǔ)形態(tài),但是,該獎勵函數(shù)旨在解決2 個非通信智能體之間的導(dǎo)航問題,隨著場景的擴(kuò)大,訓(xùn)練的收斂性變差[23-24]。本文的獎勵函數(shù)由到達(dá)目標(biāo)獎勵rtg、碰撞獎勵rtc、與所有行人保持安全距離獎勵rts這3 個部分組成。t時刻獎勵函數(shù)定義如下:
本節(jié)首先將導(dǎo)航場景構(gòu)建為時空圖,其次建立時空圖注意力網(wǎng)絡(luò)作為決策函數(shù),最后介紹基于策略PPO 算法。
本文將導(dǎo)航場景建模為時空圖,如圖2 所示。在t時刻的時空圖表示為,其由節(jié)點(diǎn)n∈N、時間邊es∈ES、空間邊eT∈ET組成。如圖2(a)所示,圓圈代表節(jié)點(diǎn),實(shí)線代表空間邊關(guān)系,虛線代表時間邊關(guān)系。時空圖中的節(jié)點(diǎn)為智能體,空間邊連接機(jī)器人和其他行人,代表機(jī)器人-行人的交互關(guān)系,時間邊連接相鄰時刻的相同智能體,代表智能體自身對歷史信息的記憶關(guān)系。時空圖展開如圖2(b)所示。
圖2 導(dǎo)航時空圖Fig.2 Navigation spatio-temporal graph
本文的目標(biāo)是學(xué)習(xí)時間邊和空間邊的特征,如圖2(c)所示,其中,黑色方框和灰色方框代表需要學(xué)習(xí)的參數(shù)。為了減小參數(shù)量,空間邊共享參數(shù),和行人節(jié)點(diǎn)相連的時間邊共享參數(shù),該方法使時空圖具有伸縮性,可以處理不同時刻、智能體數(shù)目不一致的問題[17]。
本文使用神經(jīng)網(wǎng)絡(luò)擬合策略函數(shù)π,該神經(jīng)網(wǎng)絡(luò)的輸入為服務(wù)機(jī)器人觀測的環(huán)境狀態(tài),輸出狀態(tài)價值和離散動作概率aprob。網(wǎng)絡(luò)結(jié)構(gòu)分為時間特征網(wǎng)絡(luò)、空間特征網(wǎng)絡(luò)和Actor-Critic 網(wǎng)絡(luò)。網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。
圖3 時空圖注意力網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of spatio-temporal graph attention network
2.2.1 時間特征網(wǎng)絡(luò)
如圖3(a)所示,時間特征網(wǎng)絡(luò)主要由2 個GRU網(wǎng)絡(luò)構(gòu)成,用于捕獲智能體自身的時間信息。GRU使用門控制信息流,以確定序列中信息被記憶或被丟棄,使網(wǎng)絡(luò)具有保存機(jī)器人和行人重要?dú)v史信息的能力[19]。另外,GRU 網(wǎng)絡(luò)參數(shù)少,方便訓(xùn)練。
首先對機(jī)器人和行人進(jìn)行非線性變換,然后將變換結(jié)果輸入GRU 單元,得到隱藏輸出狀態(tài),計算如式(9)所示:
其中:為服務(wù)機(jī)器人在t時刻的隱藏狀態(tài);為第i個行人在t時刻的隱藏狀態(tài);f(·)代表全連接網(wǎng)絡(luò)。根據(jù)第2.1 節(jié)所述,所有和行人相連的時間邊共享網(wǎng)絡(luò)參數(shù),因此,所有行人的狀態(tài)均會通過GRUh網(wǎng)絡(luò)。時間特征網(wǎng)絡(luò)可以同時解決記憶問題和機(jī)器人狀態(tài)空間與行人狀態(tài)空間維度不一致的問題。
2.2.2 空間特征網(wǎng)絡(luò)
如圖3(b)所示,空間特征網(wǎng)絡(luò)由GATs 網(wǎng)絡(luò)構(gòu)成。GATs 網(wǎng)絡(luò)由多層圖注意力層組成,利用注意力機(jī)制,中心節(jié)點(diǎn)可以自動學(xué)習(xí)其一階鄰居的重要性,并根據(jù)注意力權(quán)重更新中心節(jié)點(diǎn)的節(jié)點(diǎn)特征。GATs 的參數(shù)在節(jié)點(diǎn)之間共享,因此,可以接收任意數(shù)量的節(jié)點(diǎn)作為輸入,能夠解決導(dǎo)航過程中智能體數(shù)量在不同時刻不一致的問題。首先將時間特征網(wǎng)絡(luò)的輸出作為機(jī) 器人節(jié)點(diǎn)的節(jié)點(diǎn)特征,將作為第i個行人節(jié)點(diǎn)的節(jié)點(diǎn)特征。機(jī)器人節(jié)點(diǎn)和行人節(jié)點(diǎn)之間存在邊的關(guān)系,行人和行人之間不存在連接關(guān)系。每條邊之間存在相應(yīng)的注意力權(quán)重,節(jié)點(diǎn)i對節(jié)點(diǎn)j的注意力值cij計算如式(10)所示:
其中:A={Aij}為時空圖的鄰接矩陣;||為矩陣的連接操作;W是對輸入節(jié)點(diǎn)特征進(jìn)行線性變換的可學(xué)習(xí)參數(shù);aT為GATs 的可學(xué)習(xí)參數(shù)。參數(shù)W、aT將在深度強(qiáng)化學(xué)習(xí)中學(xué)習(xí)。
對注意力值cij進(jìn)行歸一化,得到注意力權(quán)重αij,計算如式(11)所示:
其中:Ni表示節(jié)點(diǎn)i的一階鄰居節(jié)點(diǎn)。
根據(jù)注意力權(quán)重αij計算其他節(jié)點(diǎn)對于節(jié)點(diǎn)i的影響特征,計算如式(12)所示:
其中:σ為非線性激活函數(shù)。因為單頭注意力機(jī)制在學(xué)習(xí)過程中不穩(wěn)定,所以采用多頭注意力機(jī)制來提高算法的穩(wěn)定性,即對式(12)獨(dú)立計算K次,然后求平均,得到平均輸出特征,計算如式(13)所示:
最后,可以得到聚合后的機(jī)器人特征,其聚合了周圍行人節(jié)點(diǎn)的特征。
2.2.3 Actor-Critic 網(wǎng)絡(luò)
本文使用策略梯度算法中的PPO 算法[21],該算法使用Actor-Critic 框架,Actor 網(wǎng)絡(luò)學(xué)習(xí)動作,Critic網(wǎng)絡(luò)評價動作的好壞[25]。PPO 為同策略,不依賴專家經(jīng)驗,學(xué)習(xí)出來的策略更適合高動態(tài)的環(huán)境。
Actor-Critic 網(wǎng)絡(luò)均使用全連接層。Critic 網(wǎng)絡(luò)輸出價值標(biāo)量用于評估動作的好壞,Actor 網(wǎng)絡(luò)輸出離散動作概率。最后選擇概率最大的動作at作為服務(wù)機(jī)器人的運(yùn)動指令。上述計算如式(14)所示:
2.2.4 PPO 算法
PPO 算法的主要目標(biāo)是從策略函數(shù)π中尋找最優(yōu)策略函數(shù)π*。PPO 算法使用策略函數(shù)πθ'(at|st)作為采樣 策略去 采集軌 跡{st,at,rt,st+1},其 中,θ'為 舊網(wǎng)絡(luò)參數(shù),在采集過程中為固定值。當(dāng)采集到一定數(shù)量的軌跡后訓(xùn)練策略函數(shù)πθ(at|st),得到新的網(wǎng)絡(luò)參數(shù)θ。在θ更新一定次數(shù)后,使用新網(wǎng)絡(luò)參數(shù)θ去更新舊網(wǎng)絡(luò)參數(shù)θ',保證采樣策略和評估策略滿足重采樣定理。整個策略網(wǎng)絡(luò)的優(yōu)化目標(biāo)如式(15)所示:
其中:θ為優(yōu)化參數(shù);ρθ(at|st)為策略參數(shù)θ下根據(jù)狀態(tài)st執(zhí)行動作at的概率;ρθ'(at|st)為策略參數(shù)θ'下根據(jù)狀態(tài)st執(zhí)行動作at的概率;Aθ'(st,at)為策略參數(shù)θ'下根據(jù)狀態(tài)st和動作at計算的優(yōu)勢函數(shù)。參數(shù)采用梯度上升方式進(jìn)行更新,如式(16)所示:
本節(jié)主要實(shí)現(xiàn)時空圖注意力網(wǎng)絡(luò)訓(xùn)練,并將所提算法和其他相關(guān)避障算法進(jìn)行對比,以驗證該算法的可行性和有效性。
仿真環(huán)境基于Gym 搭建,行人的運(yùn)動模型采用全向模型,通過ORCA 策略進(jìn)行控制。本文假設(shè)機(jī)器人對于行人處于隱藏狀態(tài),即行人“看不見”機(jī)器人,避免出現(xiàn)機(jī)器人強(qiáng)迫行人避障的極端現(xiàn)象[18]。仿真環(huán)境采用半徑為4 m 的圓,所有智能體的起始點(diǎn)和目標(biāo)點(diǎn)關(guān)于原點(diǎn)對稱并位于圓周上。為保證環(huán)境的多樣性,在每一個回合中智能體的起始點(diǎn)、目標(biāo)點(diǎn)隨機(jī),并且智能體之間存在最小0.5 m 的間距,行人數(shù)量隨機(jī),范圍為[7,12]。
在訓(xùn)練過程中,訓(xùn)練批次為16,選取Adam[26]作為優(yōu)化器,折扣因子γ=0.98,學(xué)習(xí)率初始值為3×10-4,學(xué)習(xí)率隨著訓(xùn)練回合數(shù)而線性遞減,訓(xùn)練步數(shù)為2×107,優(yōu)勢函數(shù)的估計采用GAE(Generalized Advantage Estimation)[21]。時間特征網(wǎng)絡(luò)中的f1(·)、f2(·)網(wǎng)絡(luò)參 數(shù)均為[32,64],GRUr(·)、GRUh(·)網(wǎng)絡(luò)參數(shù)均為[64,64]??臻g特 征網(wǎng)絡(luò)采用2 個GATs(·),網(wǎng)絡(luò)參數(shù)為[64,128,64]。Actor-Critic 網(wǎng)絡(luò)中的f3(·)、f4(·)網(wǎng)絡(luò)參數(shù)分別為[64,32,16,1]、[64,128,64,54]。
為了方便敘述,將本文所提基于時空圖注意力網(wǎng)絡(luò)的避障算法命名為STGAT-RL。選取非學(xué)習(xí)型避障算法DWA[5]、學(xué)習(xí)型避障算法CADRL[11]和基于時空圖的算法DSRNN-RL[17]作為對比。為了分別證明時間特征網(wǎng)絡(luò)、空間特征網(wǎng)絡(luò)的有效性,采用只包含時間特征的RNN-RL、只包含空間特征的GATRL 進(jìn)行消融實(shí)驗。
CADRL 采用基于價值的Q-learning 算法來實(shí)現(xiàn),價值網(wǎng)絡(luò)使用4 層全連接網(wǎng)絡(luò)進(jìn)行擬合,網(wǎng)絡(luò)參數(shù)為[150,100,100,4],其中的4 代表機(jī)器人的輸出為4 個離散動作。DSRNN-RL 采用基于策略的PPO 算法來實(shí)現(xiàn),首先將行人和機(jī)器人的關(guān)系建模為時空圖,然后轉(zhuǎn)化為因子圖,因子圖中包含時間邊因子、空間邊因子和節(jié)點(diǎn)邊因子,每個因子使用RNN 進(jìn)行學(xué)習(xí),網(wǎng)絡(luò)大小分別為[64,256]、[64,256]、[128,128],動作空間為連續(xù)空間,PPO 相關(guān)參數(shù)和STGAT-RL保持一致。在評估時,所有算法的獎勵函數(shù)和本文算法保持一致。
為了表征導(dǎo)航能力,使用成功率(SR)、碰撞率(CR)、超時率(TR)、導(dǎo)航時間(Navigation Time)、導(dǎo)航距離(Dis)、獎勵(R)作為評價指標(biāo),各指標(biāo)詳細(xì)描述如下:
1)成功率:機(jī)器人成功到達(dá)目標(biāo)的比例。2)碰撞率:機(jī)器人和其他智能體發(fā)生碰撞的比例。3)超時率:機(jī)器人未在規(guī)定時間內(nèi)到達(dá)目標(biāo)的比例。
4)導(dǎo)航時間:機(jī)器人在安全到達(dá)目標(biāo)前提下的平均導(dǎo)航時間,單位為s。
5)導(dǎo)航距離:機(jī)器人在安全到達(dá)目標(biāo)前提下的平均導(dǎo)航距離,單位為m。
6)獎勵:機(jī)器人在安全到達(dá)目標(biāo)前提下的平均獎勵。
為了驗證圖注意力機(jī)制的有效性,本文在含有10 個智能體的環(huán)境中分別捕獲機(jī)器人進(jìn)入人群和離開人群的瞬間,如圖4 所示。其中,實(shí)心圓代表機(jī)器人,空心圓代表行人,圓圈中的直線表示智能體的瞬時朝向,圓圈旁邊的數(shù)值代表機(jī)器人對行人的注意力權(quán)重,實(shí)心五角星代表機(jī)器人的目標(biāo)位置。
圖4 機(jī)器人對行人的注意力值Fig.4 The attention values of robots towards pedestrians
圖4(a)為3.8s時刻的注意力權(quán)重示意圖,代表機(jī)器人剛進(jìn)入人群的時刻。由于行人2、行人3 和行人5 離機(jī)器人最近并相對而行,因此機(jī)器人給予這3 位行人較大的注意力權(quán)重,說明圖網(wǎng)絡(luò)提取機(jī)器人和行人的隱式交互特征能防止機(jī)器人發(fā)生即時碰撞。另外,行人7 雖然離機(jī)器人較遠(yuǎn),但是相對而行,是潛在的碰撞目標(biāo),因此,機(jī)器人也對其賦予較大的注意力權(quán)重,說明GRU 網(wǎng)絡(luò)依據(jù)行人的歷史軌跡,對其有一定的預(yù)測作用,可以防止機(jī)器人發(fā)生潛在碰撞。圖4(b)為6.1 s 時刻的注意力權(quán)重示意圖,代表機(jī)器人剛離開人群的時刻。此時機(jī)器人和行人背道而馳,注意力權(quán)重基本上按照距離遞減,說明機(jī)器人不再關(guān)心碰撞,目標(biāo)位置為導(dǎo)航的主要影響因素。
為了顯示不同導(dǎo)航算法的運(yùn)動規(guī)律,本文基于導(dǎo)航軌跡進(jìn)行定性分析,設(shè)定含有10 個智能體的環(huán)境,智能體的初始位置固定,可視化6 種不同導(dǎo)航算法的運(yùn)動軌跡,如圖5 所示,其中實(shí)線代表機(jī)器人的軌跡,虛線代表行人的軌跡,圓圈上的數(shù)字代表智能體到達(dá)該位置的時刻。
圖5 機(jī)器人導(dǎo)航軌跡Fig.5 Robot navigation trajectories
1)對比實(shí)驗分析
圖5(a)為DWA 算法的運(yùn)動軌跡,在DWA 算法的決策下機(jī)器人不能突破行人到達(dá)目的地。DWA需要在采樣窗口中根據(jù)可行性速度計算可行性軌跡。然而,在行人密集的中心區(qū)域,機(jī)器人無法找到可行性軌跡,從而導(dǎo)致碰撞或者假死;圖5(b)是CADRL 算法的運(yùn)動軌跡,在CADRL 的決策下機(jī)器人成功到達(dá)目的地,由于CADRL 未獲取機(jī)器人和行人之間的關(guān)系特征,因此在人群密集的環(huán)境中發(fā)生較大的轉(zhuǎn)向,導(dǎo)致軌跡不平滑;圖5(c)是DSRNN-RL算法的運(yùn)動軌跡,該算法通過3 個RNN 網(wǎng)絡(luò)解析時空圖,機(jī)器人學(xué)會提前轉(zhuǎn)向,繞過行人可能聚集的中心點(diǎn),以弧線軌跡到達(dá)目標(biāo);圖5(d)是本文STGATRL 算法的運(yùn)動軌跡,該算法通過GRU 提取環(huán)境的時間特征,使機(jī)器人前期通過提前減速來觀測行人運(yùn)動趨勢,防止進(jìn)入中心密集區(qū)而發(fā)生碰撞,中期通過GATs 獲取行人的空間信息,實(shí)現(xiàn)無碰撞穿過密集人群,后期由于機(jī)器人觀測前方無行人,則加速到達(dá)目的地。通過對比實(shí)驗可以看出,非學(xué)習(xí)的DWA 算法無法應(yīng)對高動態(tài)場景下的避障任務(wù),基于學(xué)習(xí)的CADRL 和DSRNN-RL 算法可以實(shí)現(xiàn)動態(tài)避障,本文提出的基于時空圖注意力網(wǎng)絡(luò)的學(xué)習(xí)算法在實(shí)現(xiàn)避障的同時,可以使運(yùn)動軌跡更加平滑。
2)消融實(shí)驗分析
圖5(e)為空間網(wǎng)絡(luò)GAT-RL 算法的決策軌跡,圖注意力網(wǎng)絡(luò)獲取行人和機(jī)器人的空間關(guān)系特征,并通過注意力權(quán)重對不同方位的行人賦予不同的關(guān)注度,使其能完成無碰撞導(dǎo)航任務(wù),和STGAT-RL 算法的軌跡相比,GAT-RL 算法的軌跡較長;圖5(f)是只有時間網(wǎng)絡(luò)的RNN-RL 算法的決策軌跡,由于RNN 只抓取機(jī)器人和行人的時間特征,相當(dāng)于機(jī)器人對行人有隱式的預(yù)測能力,因此機(jī)器人只學(xué)會通過減速來避免碰撞,導(dǎo)致導(dǎo)航任務(wù)失敗。通過消融實(shí)驗可以看出,空間網(wǎng)絡(luò)在時空圖注意力中發(fā)揮主導(dǎo)作用,保證機(jī)器人能實(shí)現(xiàn)避障,時間網(wǎng)絡(luò)起輔助作用,通過隱式預(yù)測并以減速的方式提前規(guī)避障礙物,從而平滑機(jī)器人的運(yùn)動軌跡。
由于定性的軌跡分析存在一定的偶然性,因此使用第3.1 節(jié)提出的6 種評價指標(biāo)進(jìn)行定量分析。鑒于強(qiáng)化學(xué)習(xí)的隨機(jī)性特點(diǎn),本文對于不同算法均在含有10 個智能體的測試環(huán)境中運(yùn)行500 個回合,實(shí)驗結(jié)果如表1 所示,最優(yōu)結(jié)果加粗標(biāo)注。
表1 定量分析實(shí)驗結(jié)果 Table 1 Experimental results of quantitative analysis
從表1 可以看出,本文STGAT-RL 算法成功率最高,碰撞率最低,導(dǎo)航路徑最短。和相類似的DSRNN-RL 算法相比,STGAT-RL 成功率提高3 個百分點(diǎn),碰撞率降低2 個百分點(diǎn),導(dǎo)航路徑減少0.21 m。雖然STGAT-RL 的導(dǎo)航時間較長,但是考慮到碰撞帶來的人身傷害和機(jī)器損傷,導(dǎo)航時間增加1.76 s 可以接受。
為了驗證算法的穩(wěn)定性,本文在智能體數(shù)量分別為5、10、15、20 個的環(huán)境中統(tǒng)計CADRL、DSRNN-RL、STGAT-RL 和DWA 的成功率,統(tǒng)計結(jié)果如表2 所示。
表2 不同智能體數(shù)量下算法的成功率對比 Table 2 Comparison of success rates of algorithms under different numbers of intelligent agents
從表2 可以看出:隨著智能體數(shù)量的增加,本文STGAT-RL 算法均保持0.90 以上的成功率;DSRNNRL 算法在智能體數(shù)量增加到20 時成功率出現(xiàn)大幅下降;CADRL 算法在行人增加到10 個時成功率出現(xiàn)大幅下降;當(dāng)行人數(shù)量過多時,DWA 算法由于規(guī)劃軌跡無解,大多以超時結(jié)束,成功率極低。上述結(jié)果表明本文算法在高密度環(huán)境中有較好的穩(wěn)定性。
由于Gym 仿真環(huán)境假設(shè)算法規(guī)劃的速度指令可以瞬時實(shí)現(xiàn),無運(yùn)動規(guī)劃模塊,不符合實(shí)時導(dǎo)航需求,因此本文在Gazebo 環(huán)境中驗證算法的實(shí)時性。仿真機(jī)器人使用Xbot-U,機(jī)器人的運(yùn)動規(guī)劃使用ros_control 軟件包實(shí)現(xiàn),算法所需的狀態(tài)信息通過服務(wù)“/gazebo/get_model_state”獲取。電腦的GPU 為GeForce RTX3060,CPU 為Intel?CoreTMi7-11700F@2.40 GHz,在Gazebo仿真環(huán)境中,在GPU 和CPU 上分別運(yùn)行100個回合,統(tǒng)計每個回合中每一步STGAT-RL的推理時間和導(dǎo)航時間,結(jié)果如表3 所示。
表3 算法運(yùn)行時間統(tǒng)計結(jié)果Table 3 Running time statistics of the algorithm 單位:ms
從表3 可以看出,在CPU 下,STGAT-RL 的推理時間最大為70.28 ms,平均為21.90 ms。ROS 的navigation 堆棧中負(fù)責(zé)速度指令發(fā)送的move_base 包對速度指令的更新時間默認(rèn)為50 ms,說明本文算法滿足實(shí)時性要求。此外,由于ROS 通信機(jī)制的影響,在GPU 上的導(dǎo)航時間無明顯提升。
本文針對動態(tài)環(huán)境中的機(jī)器人避障任務(wù),利用強(qiáng)化學(xué)習(xí)強(qiáng)大的決策能力,提出基于時空圖注意力機(jī)制的動態(tài)避障算法。使用GRU 網(wǎng)絡(luò)提取環(huán)境的時間信息,使機(jī)器人對行人有隱形預(yù)測能力,平滑運(yùn)動路徑;使用GATs 網(wǎng)絡(luò)獲取機(jī)器人的行人空間特征,使機(jī)器人具有避障能力,實(shí)現(xiàn)無碰撞導(dǎo)航。實(shí)驗結(jié)果表明,相比DSRNN-RL 算法,該算法的成功率提高3 個百分點(diǎn),碰撞率降低2 個百分點(diǎn),并具備實(shí)時導(dǎo)航能力。下一步將重點(diǎn)關(guān)注強(qiáng)化學(xué)習(xí)的sim-to-real問題,將避障算法部署在實(shí)物機(jī)器人上。