?

基于時空圖注意力網絡的服務機器人動態避障

2024-02-29 04:39杜海軍余粟
計算機工程 2024年2期
關鍵詞:行人注意力軌跡

杜海軍,余粟

(上海工程技術大學電子電氣工程學院,上海 201620)

0 引言

隨著機器人技術的快速發展,服務機器人的應用由結構化的實驗室場景逐漸轉移到非結構化的商超、餐廳等場景。非結構化場景中既存在靜態障礙物,也存在以行人為代表的動態障礙物。由于行人的意圖不能被直接觀測,因此機器人和行人之間存在的交互關系很難被建模,提高了機器人在動態環境中的碰撞概率[1]。因此,在動態環境下如何實現機器人避障具有一定的挑戰性。

動態避障屬于機器人導航系統中的局部路徑規劃,即在未知的環境中,機器人通過傳感器實時探測的數據來規劃無碰撞路徑,輸出速度指令[2]。在現有的研究工作中,服務機器人的動態避障大致分為基于交互的非學習方法和基于學習的方法這兩大類。

基于交互的方法包括最佳相互碰撞避免(ORCA)[3]、社會力模型(SF)[4]、動態窗口算法(DWA)[5]等。ORCA 將其他物體建模為速度障礙物,在每一步交互中不斷尋找最優無碰撞速度。SF 將行人和機器人的交互關系建模為吸引力和互斥力,通過合力確定機器人的方向和速度。DWA 在劃定的窗口中基于機器人的運動學模型采樣可行性速度,并根據代價函數選擇最優速度?;诮换サ姆椒▋H使用當前狀態作為決策輸入,缺少對歷史信息的利用。

基于學習的方法主要以深度強化學習(DRL)[6]為框架,該類方法的核心思想是將機器人避障建模為馬爾可夫決策過程(MDP),通過具有隱含編碼環境信息能力的神經網絡構建強化學習中的價值函數或者策略函數[7-8]。在決策過程中通過最大化累計獎勵使服務機器人學會導航和避障。

基于DRL 的學習方法大致分為基于傳感器級別的方法和基于代理級別的方法。文獻[9]和文獻[10]分別使用2D 激光雷達傳感器和RGB-D 傳感器作為神經網絡輸入,直接映射出機器人的速度指令。但是,高維度的傳感器數據加劇了DRL 的訓練時長,此外,原始傳感器數據包含的無關信息也會加劇機器人的抖動性?;诖砑墑e的方法將代理的可觀察狀態(位置、速度等信息)作為DRL 的輸入,然后映射為服務機器人的動作。CADRL(Collision Avoidance with Deep Reinforcement Learning)[11]是較早使用神經網絡擬合價值函數解決機器人動態避障問題的算法。為了解決行人數量不一致的問題,GA3C-CADRL[12]采用長短期記憶(LSTM)按照距離由近到遠來提取行人特征,然后通過狀態價值網絡輸出機器人動作。文獻[13]采用虛擬目標點的方法來解決機器人容易陷入局部最優的問題。但是,以上方法沒有充分考慮機器人和行人之間的交互。

隨著圖神經網絡[14-15]在非結構化數據中的廣泛應用,服務機器人和行人的關系可以描述為圖結構。文獻[16]基于圖卷積網絡(GCN)編碼行人-機器人、行人-行人的交互關系。文獻[17]基于Structural-RNN(Structural Recurrent Neural Network)構建環境的圖結構,采用3 個RNN 網絡建模行人和機器人之間的隱式關系。以上方法證明了圖結構在非結構化導航場景中的優勢,然而這些方法只考慮機器人和行人在空間中的交互性,并沒有利用行人的歷史消息。文獻[18]將注意力機制整合到基于圖的強化學習框架中,表征行人對機器人導航的重要程度,但是該方法需要基于人類注視數據集來手動指定鄰接矩陣。

為了更好地提取機器人和行人的交互特征,本文從時間和空間2 個維度出發,提出基于時空圖注意力網絡的避障算法。首先通過GRU[19]來選擇性地記憶行人和機器人的歷史狀態,其次使用GATs[20]編碼機器人-行人的空間關系,最后將環境的時空特征送入鄰近策略優化(PPO)算法[21],映射出機器人當前時刻的動作指令。

1 基于深度強化學習的避障模型建立

服務機器人的導航環境如圖1 所示,服務機器人需要穿過不定數量的行人和靜態障礙物實現無碰撞到達目標位置。為了方便建模,將靜態障礙物簡化為靜態行人,將行人和服務機器人統稱為智能體。

圖1 導航環境示意圖Fig.1 Navigation environment schematic diagram

在圖1 中,虛線箭頭代表智能體根據自身決策形成的運動軌跡。行人和機器人之間沒有通信,因此,機器人無法知道行人的運動意圖和目的地。

1.1 避障問題建模

服務機器人的導航問題可以表示為強化學習中的序列決策問題,因此,可以將其建模為MDP。MDP 由五元組<S,A,ρ,R,γ>表示,其中:S代表環境的狀態集;A代表機器人的動作集;ρ代表狀態s∈S轉化為狀態s'∈S的狀態轉移函數;R表示累計獎勵;γ∈(0,1)表示折扣因子。根據MDP 的定義,機器人在t時刻與環境交互得到狀態st,策略π從動作集A中選擇最大概率的動作at,并得到即時獎勵rt,然后根據狀態轉移函數ρ得到下一狀態st+1。強化學習的目標是尋找最優策略π*,使累計獎勵R最大化,如式(1)所示:

其中:Rt(st,at)代表在t時刻機器人根據狀態st執行動作at后得到的即時獎勵;ρ(st+1|(st,at))代表根據狀態st和動作at轉移到下一個狀態st+1的概率;V*(st+1)代表狀態st+1的最優價值函數[6]。

1.2 狀態空間

狀態空間指整個環境中可能存在的所有狀態的集合。在本文中,智能體的狀態信息由被觀測狀態和隱藏狀態組成。被觀測狀態指能被其他智能體通過傳感器的形式直接或者間接得到的信息,包含位置p=[px,py]、速度v=[vx,vy]、半徑δ。隱藏狀態指只有智能體本身能獲取、其他智能體無法獲取的信息,包括目標坐標g=[gx,gy]、期望速度vpref、朝向?。假設在t時刻環境中的智能體數量為m(m>0),則狀態空間如式(2)所示:

為了保證狀態空間不受旋轉、平移的影響,將全局坐標系轉化為以機器人質點為中心、x軸正方向指向目標位置的機器人坐標系[22]。轉化后的狀態空間如式(3)所示:

其中:dg=||p-g||為機器人到目標的距離;d=||p0-pm||為第m個行人與機器人的距離。

1.3 動作空間

在t時刻服務機器人的動作at被定義為:

其中:vt為機器人的線速度;wt為機器人的角速度。本文動作空間采用離散形式,即將vt在[0,vpref]內均勻離散為6 個值,將wt在內均勻離散為9 個值,因此,服務機器人的動作空間含有54 個不同動作。

1.4 獎勵函數

獎勵函數是強化學習中的重要一環,它是指導和評估智能體動作好壞的重要指標之一。文獻[12]提出以機器人避免碰撞為目標的獎勵函數的基礎形態,但是,該獎勵函數旨在解決2 個非通信智能體之間的導航問題,隨著場景的擴大,訓練的收斂性變差[23-24]。本文的獎勵函數由到達目標獎勵rtg、碰撞獎勵rtc、與所有行人保持安全距離獎勵rts這3 個部分組成。t時刻獎勵函數定義如下:

2 避障算法

本節首先將導航場景構建為時空圖,其次建立時空圖注意力網絡作為決策函數,最后介紹基于策略PPO 算法。

2.1 時空圖

本文將導航場景建模為時空圖,如圖2 所示。在t時刻的時空圖表示為,其由節點n∈N、時間邊es∈ES、空間邊eT∈ET組成。如圖2(a)所示,圓圈代表節點,實線代表空間邊關系,虛線代表時間邊關系。時空圖中的節點為智能體,空間邊連接機器人和其他行人,代表機器人-行人的交互關系,時間邊連接相鄰時刻的相同智能體,代表智能體自身對歷史信息的記憶關系。時空圖展開如圖2(b)所示。

圖2 導航時空圖Fig.2 Navigation spatio-temporal graph

本文的目標是學習時間邊和空間邊的特征,如圖2(c)所示,其中,黑色方框和灰色方框代表需要學習的參數。為了減小參數量,空間邊共享參數,和行人節點相連的時間邊共享參數,該方法使時空圖具有伸縮性,可以處理不同時刻、智能體數目不一致的問題[17]。

2.2 時空圖注意力網絡結構

本文使用神經網絡擬合策略函數π,該神經網絡的輸入為服務機器人觀測的環境狀態,輸出狀態價值和離散動作概率aprob。網絡結構分為時間特征網絡、空間特征網絡和Actor-Critic 網絡。網絡結構如圖3 所示。

圖3 時空圖注意力網絡結構Fig.3 Structure of spatio-temporal graph attention network

2.2.1 時間特征網絡

如圖3(a)所示,時間特征網絡主要由2 個GRU網絡構成,用于捕獲智能體自身的時間信息。GRU使用門控制信息流,以確定序列中信息被記憶或被丟棄,使網絡具有保存機器人和行人重要歷史信息的能力[19]。另外,GRU 網絡參數少,方便訓練。

首先對機器人和行人進行非線性變換,然后將變換結果輸入GRU 單元,得到隱藏輸出狀態,計算如式(9)所示:

其中:為服務機器人在t時刻的隱藏狀態;為第i個行人在t時刻的隱藏狀態;f(·)代表全連接網絡。根據第2.1 節所述,所有和行人相連的時間邊共享網絡參數,因此,所有行人的狀態均會通過GRUh網絡。時間特征網絡可以同時解決記憶問題和機器人狀態空間與行人狀態空間維度不一致的問題。

2.2.2 空間特征網絡

如圖3(b)所示,空間特征網絡由GATs 網絡構成。GATs 網絡由多層圖注意力層組成,利用注意力機制,中心節點可以自動學習其一階鄰居的重要性,并根據注意力權重更新中心節點的節點特征。GATs 的參數在節點之間共享,因此,可以接收任意數量的節點作為輸入,能夠解決導航過程中智能體數量在不同時刻不一致的問題。首先將時間特征網絡的輸出作為機 器人節點的節點特征,將作為第i個行人節點的節點特征。機器人節點和行人節點之間存在邊的關系,行人和行人之間不存在連接關系。每條邊之間存在相應的注意力權重,節點i對節點j的注意力值cij計算如式(10)所示:

其中:A={Aij}為時空圖的鄰接矩陣;||為矩陣的連接操作;W是對輸入節點特征進行線性變換的可學習參數;aT為GATs 的可學習參數。參數W、aT將在深度強化學習中學習。

對注意力值cij進行歸一化,得到注意力權重αij,計算如式(11)所示:

其中:Ni表示節點i的一階鄰居節點。

根據注意力權重αij計算其他節點對于節點i的影響特征,計算如式(12)所示:

其中:σ為非線性激活函數。因為單頭注意力機制在學習過程中不穩定,所以采用多頭注意力機制來提高算法的穩定性,即對式(12)獨立計算K次,然后求平均,得到平均輸出特征,計算如式(13)所示:

最后,可以得到聚合后的機器人特征,其聚合了周圍行人節點的特征。

2.2.3 Actor-Critic 網絡

本文使用策略梯度算法中的PPO 算法[21],該算法使用Actor-Critic 框架,Actor 網絡學習動作,Critic網絡評價動作的好壞[25]。PPO 為同策略,不依賴專家經驗,學習出來的策略更適合高動態的環境。

Actor-Critic 網絡均使用全連接層。Critic 網絡輸出價值標量用于評估動作的好壞,Actor 網絡輸出離散動作概率。最后選擇概率最大的動作at作為服務機器人的運動指令。上述計算如式(14)所示:

2.2.4 PPO 算法

PPO 算法的主要目標是從策略函數π中尋找最優策略函數π*。PPO 算法使用策略函數πθ'(at|st)作為采樣 策略去 采集軌 跡{st,at,rt,st+1},其 中,θ'為 舊網絡參數,在采集過程中為固定值。當采集到一定數量的軌跡后訓練策略函數πθ(at|st),得到新的網絡參數θ。在θ更新一定次數后,使用新網絡參數θ去更新舊網絡參數θ',保證采樣策略和評估策略滿足重采樣定理。整個策略網絡的優化目標如式(15)所示:

其中:θ為優化參數;ρθ(at|st)為策略參數θ下根據狀態st執行動作at的概率;ρθ'(at|st)為策略參數θ'下根據狀態st執行動作at的概率;Aθ'(st,at)為策略參數θ'下根據狀態st和動作at計算的優勢函數。參數采用梯度上升方式進行更新,如式(16)所示:

3 實驗驗證

本節主要實現時空圖注意力網絡訓練,并將所提算法和其他相關避障算法進行對比,以驗證該算法的可行性和有效性。

3.1 仿真環境設置

仿真環境基于Gym 搭建,行人的運動模型采用全向模型,通過ORCA 策略進行控制。本文假設機器人對于行人處于隱藏狀態,即行人“看不見”機器人,避免出現機器人強迫行人避障的極端現象[18]。仿真環境采用半徑為4 m 的圓,所有智能體的起始點和目標點關于原點對稱并位于圓周上。為保證環境的多樣性,在每一個回合中智能體的起始點、目標點隨機,并且智能體之間存在最小0.5 m 的間距,行人數量隨機,范圍為[7,12]。

在訓練過程中,訓練批次為16,選取Adam[26]作為優化器,折扣因子γ=0.98,學習率初始值為3×10-4,學習率隨著訓練回合數而線性遞減,訓練步數為2×107,優勢函數的估計采用GAE(Generalized Advantage Estimation)[21]。時間特征網絡中的f1(·)、f2(·)網絡參 數均為[32,64],GRUr(·)、GRUh(·)網絡參數均為[64,64]??臻g特 征網絡采用2 個GATs(·),網絡參數為[64,128,64]。Actor-Critic 網絡中的f3(·)、f4(·)網絡參數分別為[64,32,16,1]、[64,128,64,54]。

為了方便敘述,將本文所提基于時空圖注意力網絡的避障算法命名為STGAT-RL。選取非學習型避障算法DWA[5]、學習型避障算法CADRL[11]和基于時空圖的算法DSRNN-RL[17]作為對比。為了分別證明時間特征網絡、空間特征網絡的有效性,采用只包含時間特征的RNN-RL、只包含空間特征的GATRL 進行消融實驗。

CADRL 采用基于價值的Q-learning 算法來實現,價值網絡使用4 層全連接網絡進行擬合,網絡參數為[150,100,100,4],其中的4 代表機器人的輸出為4 個離散動作。DSRNN-RL 采用基于策略的PPO 算法來實現,首先將行人和機器人的關系建模為時空圖,然后轉化為因子圖,因子圖中包含時間邊因子、空間邊因子和節點邊因子,每個因子使用RNN 進行學習,網絡大小分別為[64,256]、[64,256]、[128,128],動作空間為連續空間,PPO 相關參數和STGAT-RL保持一致。在評估時,所有算法的獎勵函數和本文算法保持一致。

為了表征導航能力,使用成功率(SR)、碰撞率(CR)、超時率(TR)、導航時間(Navigation Time)、導航距離(Dis)、獎勵(R)作為評價指標,各指標詳細描述如下:

1)成功率:機器人成功到達目標的比例。2)碰撞率:機器人和其他智能體發生碰撞的比例。3)超時率:機器人未在規定時間內到達目標的比例。

4)導航時間:機器人在安全到達目標前提下的平均導航時間,單位為s。

5)導航距離:機器人在安全到達目標前提下的平均導航距離,單位為m。

6)獎勵:機器人在安全到達目標前提下的平均獎勵。

3.2 圖注意力機制分析

為了驗證圖注意力機制的有效性,本文在含有10 個智能體的環境中分別捕獲機器人進入人群和離開人群的瞬間,如圖4 所示。其中,實心圓代表機器人,空心圓代表行人,圓圈中的直線表示智能體的瞬時朝向,圓圈旁邊的數值代表機器人對行人的注意力權重,實心五角星代表機器人的目標位置。

圖4 機器人對行人的注意力值Fig.4 The attention values of robots towards pedestrians

圖4(a)為3.8s時刻的注意力權重示意圖,代表機器人剛進入人群的時刻。由于行人2、行人3 和行人5 離機器人最近并相對而行,因此機器人給予這3 位行人較大的注意力權重,說明圖網絡提取機器人和行人的隱式交互特征能防止機器人發生即時碰撞。另外,行人7 雖然離機器人較遠,但是相對而行,是潛在的碰撞目標,因此,機器人也對其賦予較大的注意力權重,說明GRU 網絡依據行人的歷史軌跡,對其有一定的預測作用,可以防止機器人發生潛在碰撞。圖4(b)為6.1 s 時刻的注意力權重示意圖,代表機器人剛離開人群的時刻。此時機器人和行人背道而馳,注意力權重基本上按照距離遞減,說明機器人不再關心碰撞,目標位置為導航的主要影響因素。

3.3 基于導航軌跡的定性分析

為了顯示不同導航算法的運動規律,本文基于導航軌跡進行定性分析,設定含有10 個智能體的環境,智能體的初始位置固定,可視化6 種不同導航算法的運動軌跡,如圖5 所示,其中實線代表機器人的軌跡,虛線代表行人的軌跡,圓圈上的數字代表智能體到達該位置的時刻。

圖5 機器人導航軌跡Fig.5 Robot navigation trajectories

1)對比實驗分析

圖5(a)為DWA 算法的運動軌跡,在DWA 算法的決策下機器人不能突破行人到達目的地。DWA需要在采樣窗口中根據可行性速度計算可行性軌跡。然而,在行人密集的中心區域,機器人無法找到可行性軌跡,從而導致碰撞或者假死;圖5(b)是CADRL 算法的運動軌跡,在CADRL 的決策下機器人成功到達目的地,由于CADRL 未獲取機器人和行人之間的關系特征,因此在人群密集的環境中發生較大的轉向,導致軌跡不平滑;圖5(c)是DSRNN-RL算法的運動軌跡,該算法通過3 個RNN 網絡解析時空圖,機器人學會提前轉向,繞過行人可能聚集的中心點,以弧線軌跡到達目標;圖5(d)是本文STGATRL 算法的運動軌跡,該算法通過GRU 提取環境的時間特征,使機器人前期通過提前減速來觀測行人運動趨勢,防止進入中心密集區而發生碰撞,中期通過GATs 獲取行人的空間信息,實現無碰撞穿過密集人群,后期由于機器人觀測前方無行人,則加速到達目的地。通過對比實驗可以看出,非學習的DWA 算法無法應對高動態場景下的避障任務,基于學習的CADRL 和DSRNN-RL 算法可以實現動態避障,本文提出的基于時空圖注意力網絡的學習算法在實現避障的同時,可以使運動軌跡更加平滑。

2)消融實驗分析

圖5(e)為空間網絡GAT-RL 算法的決策軌跡,圖注意力網絡獲取行人和機器人的空間關系特征,并通過注意力權重對不同方位的行人賦予不同的關注度,使其能完成無碰撞導航任務,和STGAT-RL 算法的軌跡相比,GAT-RL 算法的軌跡較長;圖5(f)是只有時間網絡的RNN-RL 算法的決策軌跡,由于RNN 只抓取機器人和行人的時間特征,相當于機器人對行人有隱式的預測能力,因此機器人只學會通過減速來避免碰撞,導致導航任務失敗。通過消融實驗可以看出,空間網絡在時空圖注意力中發揮主導作用,保證機器人能實現避障,時間網絡起輔助作用,通過隱式預測并以減速的方式提前規避障礙物,從而平滑機器人的運動軌跡。

3.4 定量分析

由于定性的軌跡分析存在一定的偶然性,因此使用第3.1 節提出的6 種評價指標進行定量分析。鑒于強化學習的隨機性特點,本文對于不同算法均在含有10 個智能體的測試環境中運行500 個回合,實驗結果如表1 所示,最優結果加粗標注。

表1 定量分析實驗結果 Table 1 Experimental results of quantitative analysis

從表1 可以看出,本文STGAT-RL 算法成功率最高,碰撞率最低,導航路徑最短。和相類似的DSRNN-RL 算法相比,STGAT-RL 成功率提高3 個百分點,碰撞率降低2 個百分點,導航路徑減少0.21 m。雖然STGAT-RL 的導航時間較長,但是考慮到碰撞帶來的人身傷害和機器損傷,導航時間增加1.76 s 可以接受。

3.5 穩定性分析

為了驗證算法的穩定性,本文在智能體數量分別為5、10、15、20 個的環境中統計CADRL、DSRNN-RL、STGAT-RL 和DWA 的成功率,統計結果如表2 所示。

表2 不同智能體數量下算法的成功率對比 Table 2 Comparison of success rates of algorithms under different numbers of intelligent agents

從表2 可以看出:隨著智能體數量的增加,本文STGAT-RL 算法均保持0.90 以上的成功率;DSRNNRL 算法在智能體數量增加到20 時成功率出現大幅下降;CADRL 算法在行人增加到10 個時成功率出現大幅下降;當行人數量過多時,DWA 算法由于規劃軌跡無解,大多以超時結束,成功率極低。上述結果表明本文算法在高密度環境中有較好的穩定性。

3.6 實時性分析

由于Gym 仿真環境假設算法規劃的速度指令可以瞬時實現,無運動規劃模塊,不符合實時導航需求,因此本文在Gazebo 環境中驗證算法的實時性。仿真機器人使用Xbot-U,機器人的運動規劃使用ros_control 軟件包實現,算法所需的狀態信息通過服務“/gazebo/get_model_state”獲取。電腦的GPU 為GeForce RTX3060,CPU 為Intel?CoreTMi7-11700F@2.40 GHz,在Gazebo仿真環境中,在GPU 和CPU 上分別運行100個回合,統計每個回合中每一步STGAT-RL的推理時間和導航時間,結果如表3 所示。

表3 算法運行時間統計結果Table 3 Running time statistics of the algorithm 單位:ms

從表3 可以看出,在CPU 下,STGAT-RL 的推理時間最大為70.28 ms,平均為21.90 ms。ROS 的navigation 堆棧中負責速度指令發送的move_base 包對速度指令的更新時間默認為50 ms,說明本文算法滿足實時性要求。此外,由于ROS 通信機制的影響,在GPU 上的導航時間無明顯提升。

4 結束語

本文針對動態環境中的機器人避障任務,利用強化學習強大的決策能力,提出基于時空圖注意力機制的動態避障算法。使用GRU 網絡提取環境的時間信息,使機器人對行人有隱形預測能力,平滑運動路徑;使用GATs 網絡獲取機器人的行人空間特征,使機器人具有避障能力,實現無碰撞導航。實驗結果表明,相比DSRNN-RL 算法,該算法的成功率提高3 個百分點,碰撞率降低2 個百分點,并具備實時導航能力。下一步將重點關注強化學習的sim-to-real問題,將避障算法部署在實物機器人上。

猜你喜歡
行人注意力軌跡
讓注意力“飛”回來
毒舌出沒,行人避讓
軌跡
軌跡
路不為尋找者而設
軌跡
“揚眼”APP:讓注意力“變現”
進化的軌跡(一)——進化,無盡的適應
我是行人
A Beautiful Way Of Looking At Things
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合