王唯鑒,王 勇,楊 驍,呂宗喆,吳宗毅
1.北京機(jī)械工業(yè)自動化研究所,北京100120
2.北自所(北京)科技發(fā)展股份有限公司,北京100120
移動機(jī)器人近年來快速發(fā)展,其應(yīng)用場景也在不斷擴(kuò)展[1]。傳統(tǒng)移動機(jī)器人主要從事物料搬運(yùn)等簡單工作,由于工作場景相對固定,機(jī)器人移動過程中只需考慮對固定障礙的避讓。服務(wù)機(jī)器人近年來快速興起,其中具備自主移動能力的服務(wù)機(jī)器人需要適應(yīng)復(fù)雜多樣的工作場景,例如行人眾多的車站、餐廳等。這些人員密集的應(yīng)用場景對移動機(jī)器人對動態(tài)障礙的避讓能力提出了新的要求。移動機(jī)器人需要在時刻與行人保持安全距離的前提下,盡可能高效地到達(dá)目標(biāo)點(diǎn)?;跓o碰撞假設(shè)提出的動態(tài)避障方法,比如RVO或者ORCA[2],采用被動躲避的方式避讓動態(tài)障礙,由于相對固定的避讓方法只依賴于機(jī)器人當(dāng)前與障礙的交互,因此機(jī)器人難以做出長遠(yuǎn)的決策。另外,在面對多行人場景帶來的復(fù)雜限制時,這類算法無法給出有效動作,導(dǎo)致機(jī)器人面臨“凍結(jié)”問題。
移動機(jī)器人如果能夠像人一樣分析判斷行人未來的行動,就可以據(jù)此做出更加符合人類行為邏輯的動作。依照這種想法,部分學(xué)者提出了通過預(yù)測行人軌跡指導(dǎo)移動機(jī)器人進(jìn)行避障的方法,包括一系列人工設(shè)計(jì)的模型[3]和數(shù)據(jù)驅(qū)動的模型[4-5]。前者由于準(zhǔn)確建模的難度過大,對行人動作的預(yù)測準(zhǔn)確度較低;后者(例如長短期記憶細(xì)胞模型,生成對抗網(wǎng)絡(luò)模型)高度依賴大量真實(shí)數(shù)據(jù)作為訓(xùn)練樣本。另外,這類在完成軌跡預(yù)測后再進(jìn)行移動策略規(guī)劃的方法在具體實(shí)施上也存在很多困難。
強(qiáng)化學(xué)習(xí)適用于智能體在環(huán)境中連續(xù)或者離散動作的選擇,因此近年來被很多學(xué)者采用。深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning,DRL)關(guān)心智能體如何從環(huán)境中提取有助于決策的關(guān)鍵信息,在機(jī)器人對人群的避讓問題中,如何對復(fù)雜的行人數(shù)據(jù)進(jìn)行編碼,以有效捕捉數(shù)據(jù)的潛在特征(比如行人之間的避讓關(guān)系,行人與機(jī)器人間的關(guān)聯(lián))顯得尤為重要。CADRL 是早期利用強(qiáng)化學(xué)習(xí)解決這一問題的方法[6],但其只是通過簡單聚合行人之間的關(guān)聯(lián)特征來建模人群。LSTM-RL[7]采用長短期記憶細(xì)胞分析行人的行為規(guī)律以指導(dǎo)機(jī)器人移動,SARL[8]通過引入自注意力機(jī)制生成機(jī)器人-行人交互的特征向量,可以有效捕捉機(jī)器人與不同距離的行人之間的交互關(guān)系,但這些方法并沒有充分利用行人之間的交互信息,也只能單純地通過線性近似模擬行人的下一步動作,因此在多行人的場景下表現(xiàn)尚待提高。
針對當(dāng)前研究中存在的不足,本文提出了GCN-RL模型,采用圖卷積網(wǎng)絡(luò)(GCN)對包含行人和機(jī)器人在內(nèi)的整個環(huán)境進(jìn)行特征提取。得益于GCN處理圖結(jié)構(gòu)數(shù)據(jù)的優(yōu)勢,該模型不僅可以準(zhǔn)確捕捉機(jī)器人與行人之間的潛在關(guān)聯(lián),同時也可以提取行人之間的關(guān)聯(lián)特征,模型中的動作價值估計(jì)模塊用于準(zhǔn)確估計(jì)當(dāng)前的動作-價值函數(shù),行人預(yù)測模塊配合前向推演策略幫助機(jī)器人通過與環(huán)境模擬交互更新對當(dāng)前狀態(tài)下不同動作價值的評估,能夠有效指導(dǎo)移動機(jī)器人的下一步動作,在密集行人場景中選擇更優(yōu)的避障路徑。
假設(shè)移動機(jī)器人需要在存在N名行人的固定環(huán)境中完成導(dǎo)航任務(wù),其目標(biāo)是盡快到達(dá)地圖中的固定位置并在導(dǎo)航過程中避讓所有行人。該問題可以看作一個典型的順序決策問題[9],即可以通過深度強(qiáng)化學(xué)習(xí)框架進(jìn)行建模。具備環(huán)境感知能力的自主移動機(jī)器人作為強(qiáng)化學(xué)習(xí)智能體,在每個離散的時間節(jié)點(diǎn)選擇動作;環(huán)境信息包括機(jī)器人自身信息和周圍行人信息;機(jī)器人在離散的時刻讀取環(huán)境的狀態(tài)特征,并評估當(dāng)前狀態(tài)下自身的動作-狀態(tài)價值,從而選取最優(yōu)動作直至到達(dá)目標(biāo)點(diǎn)。
在機(jī)器人導(dǎo)航問題中,環(huán)境信息包括場景中所有行人的信息以及機(jī)器人自身信息。由于實(shí)際場景下,行人的實(shí)時位置和實(shí)時速度可以通過固定攝像頭或者移動機(jī)器人搭載的攝像頭獲取,而機(jī)器人自身的狀態(tài)除去實(shí)時位置速度外,還有目標(biāo)點(diǎn)坐標(biāo)(gx,gy),以及當(dāng)前時刻機(jī)器人的首選速度(vpref,φ),包含速度大小和偏航角。因此,在任意時刻對于機(jī)器人自身以及每個行人的狀態(tài)序列建模如下:
其中,px和py代表當(dāng)前世界坐標(biāo)系下行人和機(jī)器人的坐標(biāo),vx、vy代表世界坐標(biāo)系下的速度,r表示機(jī)器人和行人的碰撞半徑。
基于值函數(shù)估計(jì)的強(qiáng)化學(xué)習(xí)問題中,智能體通過與環(huán)境交互更新對自身所處狀態(tài)價值的估計(jì)和當(dāng)前行為策略。移動機(jī)器人與人群環(huán)境在每個離散的決策時刻通過執(zhí)行動作進(jìn)行交互,決策時刻的時間間隔設(shè)置為Δt=0.25 s。假設(shè)機(jī)器人在二維空間上的所有自由度均可控,由于強(qiáng)化學(xué)習(xí)范式的約束以及實(shí)際應(yīng)用的限制,機(jī)器人需要從離散的動作空間中選擇要執(zhí)行的動作。具體來說,機(jī)器人在每個決策時刻選擇自身移動速度及移動方向。設(shè)置了[0,2π]之間的16個方向和[0,Vmax]之間的五檔速度,組合成共包含80個動作的離散動作空間。
機(jī)器人在虛擬環(huán)境中從起始位置出發(fā),行走至目標(biāo)點(diǎn)則獲得最高獎勵,為訓(xùn)練機(jī)器人在到達(dá)目標(biāo)點(diǎn)的過程中盡量避讓行人,設(shè)立獎勵函數(shù)如下:
其中,引入了dt=0.2 m 作為行人舒適距離,以保證機(jī)器人在選擇路徑時既不會撞到行人,也不會因距離過近而引起行人不適。同時,引入舒適距離dt計(jì)算獎勵有效避免獎勵過于稀疏,從而提升訓(xùn)練效果。
通過將行人避障問題劃歸為強(qiáng)化學(xué)習(xí)范式,可以采用值函數(shù)更新的方式指導(dǎo)機(jī)器人動態(tài)避障。GCN-RL模型利用圖卷積網(wǎng)絡(luò)高效提取機(jī)器人和行人的深度交互特征,隨后將這些特征用于估計(jì)狀態(tài)-動作價值。同時,模型針對環(huán)境中全部行人信息提取行人之間的深度交互特征,用于預(yù)測行人下一時刻狀態(tài)。模型在實(shí)時運(yùn)行過程中通過模擬執(zhí)行動作和預(yù)測行人狀態(tài)來與未來環(huán)境模擬交互,根據(jù)交互結(jié)果更新對當(dāng)前動作價值的估計(jì),并依據(jù)更新后動作價值的估計(jì)值從離散動作空間中選擇動作,指導(dǎo)機(jī)器人做出更加長遠(yuǎn)的避障決策,使其在導(dǎo)航至目標(biāo)點(diǎn)的過程中自主避讓環(huán)境中的行人。
GCN-RL 模型的主要工作原理如圖1 所示,環(huán)境信息包括機(jī)器人的狀態(tài)以及全部行人的狀態(tài),為充分表征機(jī)器人和行人之間、行人與行人之間的關(guān)聯(lián)信息,環(huán)境信息作為圖結(jié)構(gòu)數(shù)據(jù)輸入GCN-RL模型,其中機(jī)器人和行人的潛特征作為圖的節(jié)點(diǎn),機(jī)器人與行人、行人與行人之間的潛在關(guān)聯(lián)信息則作為圖的邊。模型中的價值估計(jì)模塊接收來自全部節(jié)點(diǎn)的狀態(tài)編碼,并對當(dāng)前環(huán)境加以評估。同時,狀態(tài)預(yù)測模塊接收全部行人的狀態(tài)編碼,通過預(yù)測模型輸出對環(huán)境未來狀態(tài)的預(yù)估。隨后,GCN-RL采用了一種多步推演的方式與環(huán)境模擬交互,從而評估機(jī)器人在當(dāng)前狀態(tài)下采用不同動作會產(chǎn)生的預(yù)期收益,并根據(jù)預(yù)期收益指導(dǎo)機(jī)器人選擇要執(zhí)行的動作。在動作執(zhí)行完畢的下一個離散決策時刻,環(huán)境信息得以更新,機(jī)器人重新獲取環(huán)境信息,進(jìn)入下一個決策周期。
圖1 GCN-RL工作原理Fig.1 Principle of GCN-RL
強(qiáng)化學(xué)習(xí)中最重要的環(huán)節(jié)是如何通過環(huán)境的信息評估當(dāng)前智能體所處狀態(tài)的價值[10]。GCN-RL 模型采用了一個由圖卷積網(wǎng)絡(luò)和多層感知機(jī)組合而成的動作價值估計(jì)模塊,用于學(xué)習(xí)機(jī)器人和行人之間關(guān)聯(lián)狀態(tài)的深度交互信息,并以此估計(jì)當(dāng)前狀態(tài)下的動作價值。動作價值估計(jì)模塊的組成如圖2所示。
圖2 動作價值估計(jì)模塊Fig.2 Value predict module
圖卷積網(wǎng)絡(luò)能夠充分利用圖結(jié)構(gòu)信息[11],提取圖數(shù)據(jù)的深度特征,但需要各節(jié)點(diǎn)數(shù)據(jù)具備相同的結(jié)構(gòu)。在機(jī)器人行人避讓問題模型中,行人狀態(tài)與機(jī)器人狀態(tài)具有不同的維度,因此首先通過一個多層感知機(jī)(multilayer perceptron,MLP)將不同狀態(tài)編碼為潛空間中固定長度的向量,所有這些向量組成了矩陣X=[xr,xp1,xp2,…,xpn]T,其中xr為機(jī)器人的潛在特征,xp1,xp2,…,xpn為行人的潛在特征。通過成對近似函數(shù)計(jì)算該特征矩陣的關(guān)聯(lián)特征矩陣,模型采用嵌入式高斯函數(shù)作為近似函數(shù)[12],計(jì)算得到的A=softmax(XWaXT)矩陣記錄了節(jié)點(diǎn)之間的潛在關(guān)聯(lián)特征,其中xi=X[i,:],θ(xi)=Wθ xi,?(xi)=W?xi,Wa=WθWT?。
以上方式分別提取了環(huán)境中每個節(jié)點(diǎn)的潛在特征以及任意兩個節(jié)點(diǎn)之間的直接關(guān)聯(lián)特征,然而對于在人群中導(dǎo)航的機(jī)器人而言,單純獲取每一時刻其他行人的特征和行人與自身、行人之間的關(guān)聯(lián)特征并不能充分指導(dǎo)自身動作。比如,在某一時刻距離機(jī)器人很近的行人A由于附近并沒有其他行人,因此會傾向于維持原速度繼續(xù)前進(jìn);而同一時刻距離機(jī)器人相對較遠(yuǎn)的行人B行進(jìn)前方有其他行人,因此可能會向機(jī)器人方向做出避讓動作。在這種情況下,簡單整合節(jié)點(diǎn)特征和關(guān)聯(lián)特征難以完成對環(huán)境當(dāng)前信息的充分提取。
正因如此,GCN-RL采用圖卷積網(wǎng)絡(luò)處理節(jié)點(diǎn)特征和關(guān)聯(lián)特征,由于圖卷積網(wǎng)絡(luò)可以利用圖的連通結(jié)構(gòu)通過邊傳遞特征,并在節(jié)點(diǎn)聚合特征,經(jīng)由圖卷積網(wǎng)絡(luò)正向傳播后的節(jié)點(diǎn)特征包含了更多機(jī)器人與人群環(huán)境的深層特征(比如行人之間的躲避導(dǎo)致的潛在障礙),其中第i行的數(shù)據(jù)代表了節(jié)點(diǎn)i對其自身與整個環(huán)境交互所產(chǎn)生的深度關(guān)聯(lián)特征的編碼。節(jié)點(diǎn)信息按照H(l+1)=σ(AH(l)W(l))+H(l)進(jìn)行傳遞,其中W(l)代表了網(wǎng)絡(luò)第l層可訓(xùn)練的參數(shù),σ為激活函數(shù)Relu。GCN 通過節(jié)點(diǎn)原始特征X和節(jié)點(diǎn)關(guān)聯(lián)特征A完成節(jié)點(diǎn)特征的更新。本文采用了一個2 層的GCN 以保證每個節(jié)點(diǎn)能夠充分從圖的關(guān)聯(lián)中學(xué)習(xí)到環(huán)境中潛藏的深度交互特征,GCN輸出當(dāng)前包含這些特征的全部節(jié)點(diǎn)狀態(tài)Sextracted,輸入一個MLP以計(jì)算動作-狀態(tài)價值。
行人狀態(tài)預(yù)測模塊通過當(dāng)前時刻全部行人的行為狀態(tài)預(yù)測他們下一時刻的狀態(tài)。一些其他的機(jī)器人導(dǎo)航模型[6,8]使用傳統(tǒng)算法預(yù)測人群在下一時刻的動作狀態(tài)(比如對行人動作做線性近似其下一時刻位置),這種方法并沒有利用端到端的學(xué)習(xí)模型,無法準(zhǔn)確估計(jì)下一時刻行人的行為策略。另外一些關(guān)于行人軌跡預(yù)測的研究將行人軌跡看作序列數(shù)據(jù),采用長短期記憶細(xì)胞等方式對未來數(shù)據(jù)進(jìn)行預(yù)測[13],盡管從歷史數(shù)據(jù)中學(xué)習(xí)提升了對行人移動預(yù)測的準(zhǔn)確率,但在預(yù)測過程中忽略了行人之間的關(guān)聯(lián),且往往需要大量真實(shí)數(shù)據(jù)對模型進(jìn)行預(yù)訓(xùn)練。
本研究采用的行人狀態(tài)預(yù)測模塊由兩個部分組成,第一部分用于提取當(dāng)前人機(jī)交互環(huán)境狀態(tài)特征,其具體組成方式與價值估計(jì)模塊中的狀態(tài)估計(jì)模塊類似:使用多層感知機(jī)對環(huán)境編碼得到各節(jié)點(diǎn)特征潛向量,之后利用近似函數(shù)計(jì)算關(guān)聯(lián)矩陣,再根據(jù)圖卷積網(wǎng)絡(luò)正向傳播,得到全部行人和機(jī)器人當(dāng)前深層交互狀態(tài)的特征表達(dá);模塊的第二部分通過另一個多層感知機(jī)接收行人當(dāng)前時刻深度交互特征并預(yù)測下一時刻行人狀態(tài)。即GCN-RL 并不會顯式地預(yù)測行人在下一時刻的行動軌跡,而是直接預(yù)測行人未來狀態(tài)。由于這些特征本身包含了行人與環(huán)境交互的深度信息,而本研究中,機(jī)器人正是通過環(huán)境的狀態(tài)特征計(jì)算狀態(tài)-動作價值,因此對行人狀態(tài)的預(yù)測能夠幫助機(jī)器人更準(zhǔn)確地評估當(dāng)前時刻執(zhí)行不同動作的收益。
在具體的行人避讓過程中,機(jī)器人每隔0.25 s 就需要從80 個離散動作中做出選擇,解空間非常龐大。本研究借鑒了N步自舉法[14]和蒙特卡洛樹搜索[15]的思想,將學(xué)習(xí)到的深度價值估計(jì)模型與前向推演相結(jié)合,采用一種在當(dāng)前狀態(tài)模擬執(zhí)行最優(yōu)動作并與預(yù)測的環(huán)境狀態(tài)交互以取得回報(bào)的方式更新當(dāng)前狀態(tài)下不同動作的價值估計(jì),其推演流程如圖3所示。機(jī)器人根據(jù)推演結(jié)果更新當(dāng)前狀態(tài)下的動作價值,并以此為依據(jù)選擇動作。動作價值按照以下公式更新:
圖3 K 步推演更新動作價值Fig.3 K-step rollout update action value
實(shí)驗(yàn)中前向推演的步數(shù)為K,推演的廣度設(shè)置為W。當(dāng)K取1時,機(jī)器人只能根據(jù)當(dāng)前環(huán)境已知信息計(jì)算動作預(yù)期收益,不能利用到行人狀態(tài)預(yù)測模塊對未來狀態(tài)的預(yù)估。更大的K值則意味著機(jī)器人能夠在動作選擇時考慮的更加長遠(yuǎn)。機(jī)器人探索環(huán)境的過程中,獎勵非常稀疏,因此采用更大的K值也可以提高一次推演中到達(dá)目標(biāo)點(diǎn)的概率,從而提升模型的學(xué)習(xí)效果。然而,增加的K會大幅增加計(jì)算成本。因此設(shè)置W對推演的動作空間進(jìn)行剪枝,即每次前向推演僅考慮嘗試預(yù)期收益排名前W的動作。這種在線推演的方式兼顧了避障模型的性能與效率,可以在相對低的采樣次數(shù)中對任意狀態(tài)下的動作價值有較為準(zhǔn)確的估計(jì)。
機(jī)器人在移動過程中獲得的獎勵較為稀疏,因此從零開始訓(xùn)練會導(dǎo)致模型無法收斂。為加快模型收斂,采用模仿學(xué)習(xí)[16]對模型進(jìn)行初始化。在模仿學(xué)習(xí)過程中,機(jī)器人依照ORCA 避障算法實(shí)現(xiàn)CrowdNav 下的導(dǎo)航。經(jīng)過模仿學(xué)習(xí)對網(wǎng)絡(luò)參數(shù)的初始化,機(jī)器人初步具備了對障礙的避讓能力,可以在后續(xù)訓(xùn)練過程中側(cè)重于導(dǎo)航路徑的優(yōu)化,避免大量無意義的動作嘗試。
算法1展示了模型的訓(xùn)練流程。
算法1 模型訓(xùn)練流程
輸入:模仿學(xué)習(xí)經(jīng)驗(yàn)池D
輸出:訓(xùn)練后的價值估計(jì)模型Mv和動作預(yù)測模型Mp
經(jīng)過模仿學(xué)習(xí)后,經(jīng)驗(yàn)池E中保存了一系列元組(St,at,rt,St+1),對于每一次從起點(diǎn)出發(fā)的訓(xùn)練,隨機(jī)初始化行人與機(jī)器人的狀態(tài),隨后,機(jī)器人采用ε-greedy策略選擇動作獲得收益,并將探索獲取的經(jīng)驗(yàn)存入經(jīng)驗(yàn)池。隨后采用經(jīng)驗(yàn)回放機(jī)制從E中隨機(jī)選取一批(St,at,rt,St+1)用于更新價值估計(jì)模塊以及狀態(tài)估計(jì)模塊的參數(shù)。一次完整訓(xùn)練流程模擬了機(jī)器人從起點(diǎn)到目標(biāo)點(diǎn)(產(chǎn)生碰撞或超時)的整個流程。通過利用經(jīng)驗(yàn)回放機(jī)制[17]訓(xùn)練模型,機(jī)器人記憶池中的數(shù)據(jù)被高效利用,同時避免了相鄰數(shù)據(jù)的強(qiáng)關(guān)聯(lián)性對訓(xùn)練效果的負(fù)面影響。在每次訓(xùn)練達(dá)到終點(diǎn)狀態(tài)后,價值估計(jì)模塊和狀態(tài)預(yù)測模塊同步更新。
實(shí)驗(yàn)采用的場景基于開源框架CrowdNav 構(gòu)建,場景設(shè)置為circle-crossing,即環(huán)境中有五名行人隨機(jī)分布在半徑為4 m的圓上,他們的終點(diǎn)位置為起點(diǎn)在圓周上的對應(yīng)位置,所有行人按照ORCA 避障策略移動,機(jī)器人的最大速度設(shè)置為1 m/s。為保證行為策略的差異化,算法參數(shù)按照高斯分布采樣得到。機(jī)器人的起始位置和終點(diǎn)位置也在圓周上并關(guān)于圓心對稱。在沒有行人干擾的情況下,機(jī)器人需要花費(fèi)8 s 行駛到目標(biāo)點(diǎn)。仿真實(shí)驗(yàn)中,機(jī)器人被設(shè)置為對所有的行人而言不可見,即行人不會主動躲避機(jī)器人。這樣設(shè)置有助于充分體現(xiàn)機(jī)器人自主躲避行人的效果。用于編碼機(jī)器人和行人狀態(tài)的MLP維度為(64,32),用于價值估計(jì)的MLP維度為(150,100,100),用于行人狀態(tài)預(yù)測的MLP維度為(64,32),Wa的輸出維度設(shè)置為32。模型的所有參數(shù)通過強(qiáng)化學(xué)習(xí)流程進(jìn)行訓(xùn)練,并使用引入權(quán)重機(jī)制的AdamW[18]算法更新參數(shù),AdamW 的權(quán)重衰減率為0.1。在ε-greedy 策略中,探索率ε最初設(shè)置為0.5,在初始的5 000 次迭代訓(xùn)練后線性降低至0.1,并在后5 000 次迭代中保持在0.1。模仿學(xué)習(xí)次數(shù)設(shè)置為2 000,訓(xùn)練周期總數(shù)設(shè)置為10 000。使用Adam 以及AdamW 算法更新模型,在K步推演階段,K設(shè)置為2,W設(shè)置為2。實(shí)驗(yàn)平臺為搭載i7-11850H的手提電腦,訓(xùn)練時長約為16 h。
模型在10 000 次訓(xùn)練過程中的累計(jì)折扣獎勵曲線如圖4 所示。Adam 作為當(dāng)前主流的優(yōu)化算法,在很多模型中廣泛應(yīng)用,然而面對過擬合問題時,Adam算法因其權(quán)重更新機(jī)制,不適合像隨機(jī)梯度下降方法一樣使用L2 正則化權(quán)重懲罰項(xiàng)進(jìn)行權(quán)重更新。AdamW 優(yōu)化算法在Adam 算法的基礎(chǔ)上設(shè)置了權(quán)重衰減方法[18],能有效避免模型過擬合。實(shí)驗(yàn)分別采用Adam和AdamW對GCN-RL 模型進(jìn)行訓(xùn)練,從圖4 的訓(xùn)練累計(jì)折扣獎勵中可以看出,使用Adam 訓(xùn)練的模型在6 000 個訓(xùn)練周期后達(dá)到最佳性能,但隨后模型的性能由于過擬合而出現(xiàn)了一定程度的下降。在使用AdamW 對模型進(jìn)行訓(xùn)練時,雖然權(quán)重衰減導(dǎo)致模型在前4 000 個訓(xùn)練周期的收斂的速度相對于使用Adam 算法較慢,但在6 000 個訓(xùn)練周期后AdamW 算法的訓(xùn)練效果已經(jīng)與Adam 相當(dāng),且在之后的訓(xùn)練過程中,AdamW 能夠幫助模型收斂到更優(yōu)性能,且并未遭遇因模型過擬合而導(dǎo)致的性能下降。因此選用AdamW算法以保證GCN-RL模型的訓(xùn)練效果。
圖4 訓(xùn)練累計(jì)折扣獎勵Fig.4 Cumulative discounted reward
不同避障方法在Crowd-Nav 仿真場景下的性能表現(xiàn)如表1 所示。由于GCN-RL 首先基于ORCA 進(jìn)行有監(jiān)督的預(yù)訓(xùn)練,因此引入ORCA用于模型性能對比。可以看出,盡管ORCA采用線性規(guī)劃計(jì)算機(jī)器人動作的方式使其運(yùn)行速度很快,但由于其不具備從環(huán)境中學(xué)習(xí)的能力,導(dǎo)航過程中的避障成功率和平均導(dǎo)航時間都不理想。SARL使用注意力機(jī)制提取環(huán)境特征,是當(dāng)前表現(xiàn)最佳的模型,然而注意力機(jī)制的應(yīng)用增加了模型的復(fù)雜程度,導(dǎo)致特征計(jì)算需要更大的開銷。而GCN-RL采用圖網(wǎng)絡(luò)進(jìn)行順序交互特征提取,計(jì)算方式相當(dāng)于矩陣乘法,所需的開銷更小,模型的運(yùn)行時間也明顯更少。為證明GCN-RL 模型中采用的狀態(tài)預(yù)測模塊為模型帶來的性能提升,設(shè)計(jì)了線性預(yù)測對比模型GCN-RL-Linear,其中行人下一時刻的狀態(tài)由線性擬合函數(shù)近似,即默認(rèn)行人在0.25 s的時間間隔后會延續(xù)上一時刻的動作。從表1 可以看出其性能低于GCN-RL,這說明通過狀態(tài)預(yù)估模塊的使用讓機(jī)器人能更準(zhǔn)確地預(yù)測行人狀態(tài),從而幫助機(jī)器人更好地在導(dǎo)航過程中實(shí)現(xiàn)對行人的避讓。
表1 不同避障策略性能比較Table 1 Comparison of different strategy
為驗(yàn)證GCN-RL 模型中采用的動作選擇策略對模型性能的提升作用,設(shè)計(jì)了多組對比實(shí)驗(yàn)以測試不同推演深度K和不同剪枝數(shù)W的模型在500個不同場景下的實(shí)際運(yùn)行表現(xiàn),測試結(jié)果如表2 所示。從中可以看出,更多的前向推演步數(shù)縮短了機(jī)器人的導(dǎo)航時間,同時降低了機(jī)器人與行人距離過近的概率。然而,當(dāng)K=3時,繼續(xù)增加的前向推演步數(shù)對于模型性能的提升相對有限。同時,增加預(yù)剪枝的寬度也對模型性能有提升,但會伴隨著顯著增加的算法運(yùn)行時間,因此模型采用W=2 以平衡性能和運(yùn)行成本。值得注意的是,任何一組參數(shù)下的實(shí)驗(yàn)其導(dǎo)航成功率都未達(dá)到100%,這是因?yàn)闄C(jī)器人被設(shè)置為對行人不可見,部分極端場景下行人會“包圍”機(jī)器人,導(dǎo)致無法躲避的碰撞。另外,K和W的增加都會增加導(dǎo)致機(jī)器人導(dǎo)航過程中的計(jì)算負(fù)荷,在真實(shí)場景中需要根據(jù)硬件性能限制設(shè)置能平衡模型性能和計(jì)算開銷的推演參數(shù)。
表2 不同參數(shù)下模型性能Table 2 Model performance with different parameters
如圖5 中所示,在環(huán)境相同,行人移動軌跡一致的情況下,不同的推演參數(shù)使機(jī)器人選擇了不同的導(dǎo)航路徑。從圖5中可以看出,t=4 s 時行人位置較為集中,當(dāng)K=1 時,機(jī)器人短視地向右轉(zhuǎn)向以躲避路徑上的紅色行人,從而選擇了從行人密集處穿行的路線,導(dǎo)航時間為10.5 s。當(dāng)K=2 時,機(jī)器人初步具備了預(yù)估行人動作的能力,做出了從紅色行人身后繞行的嘗試。然而由于其只進(jìn)行了單步前向推演,對行人未來動作的預(yù)測不夠準(zhǔn)確,最后還是選擇了從行人密集處穿過,導(dǎo)航時間也因此增加了0.3 s。而當(dāng)K=3 時,機(jī)器人通過前向推演有效預(yù)測了行人的未來動作,選擇了從紅色行人身后繞行的路線,有效規(guī)避了行走路徑上的人群密集區(qū)域。雖然選擇的路徑相對遠(yuǎn),但由于做出的避讓動作更少,機(jī)器人只用了10.2 s即到達(dá)目標(biāo)。實(shí)驗(yàn)結(jié)果表明前向推演策略幫助機(jī)器人選擇了更優(yōu)的行駛路徑,導(dǎo)航時間更短,對行人的避讓效果更好。
本文提出了一種利用圖卷積網(wǎng)絡(luò)的強(qiáng)化學(xué)習(xí)避障方法GCN-RL,用于解決仿真環(huán)境中機(jī)器人對行人的避讓問題。GCN-RL 模型相較于傳統(tǒng)避障模型有更好的表現(xiàn),基本達(dá)到了當(dāng)前同一問題下最優(yōu)模型的性能,同時運(yùn)行時間更短。模型采用GCN架構(gòu)提取環(huán)境的深層關(guān)聯(lián)特征,并利用提取到的特征同時對動作價值和行人狀態(tài)進(jìn)行估計(jì)以指導(dǎo)避障,從而使得算法的復(fù)雜度降低,運(yùn)行時間更短。在模型的訓(xùn)練階段,實(shí)驗(yàn)應(yīng)用了AdamW 算法使得價值估計(jì)模塊能夠收斂到更好的性能。另外,模型通過采用K步推演實(shí)現(xiàn)了對動作價值的更精準(zhǔn)評估。通過實(shí)驗(yàn)分析了不同參數(shù)下的模型表現(xiàn),體現(xiàn)了該方法對機(jī)器人行人避讓性能的提升。