朱 林, 趙東杰, 徐 茂
(1.青島大學(xué) 自動(dòng)化學(xué)院 未來研究院,山東 青島 266071; 2.山東省工業(yè)控制技術(shù)重點(diǎn)實(shí)驗(yàn)室,山東 青島 266071)
路徑規(guī)劃是移動(dòng)機(jī)器人執(zhí)行導(dǎo)航任務(wù)中的重要組成部分[1,2]。對(duì)于室內(nèi)環(huán)境,傳統(tǒng)導(dǎo)航框架采用同步定位和地圖(SLAM)[3]繪制未知環(huán)境,然后利用定位算法[4],通過路徑規(guī)劃模塊確定機(jī)器人的當(dāng)前位置并將其移動(dòng)到目標(biāo)位置[5,6]。傳統(tǒng)路徑規(guī)劃方法包括人工勢(shì)場(chǎng)法、基于圖搜索方法、基于采樣的方法[6,7]等。上述方法需要提前通過傳感器建立導(dǎo)航地圖,但構(gòu)建地圖是一項(xiàng)復(fù)雜的工作,如果環(huán)境發(fā)生改變又需要重新構(gòu)建地圖。所以,傳統(tǒng)的路徑規(guī)劃存在地圖依賴、實(shí)時(shí)性差、專家經(jīng)驗(yàn)依賴[8]等問題。針對(duì)這種問題,人們提出了深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning,DRL)[9]。
近年來,學(xué)術(shù)界和工業(yè)界對(duì)基于DRL的無地圖導(dǎo)航開展深入研究并取得許多成果。Tai L等人[10]成功地將DRL應(yīng)用于無地圖導(dǎo)航,并可直接部署在真實(shí)的室內(nèi)環(huán)境中。Long P等人[11]使用激光雷達(dá)作為輸入,提出了一種基于近端策略優(yōu)化(proximal policy optimization,PPO)的框架來避免多個(gè)機(jī)器人之間的障礙物。上述方法大多側(cè)重于強(qiáng)化學(xué)習(xí)結(jié)構(gòu)的改進(jìn),獎(jiǎng)勵(lì)值大多是稀疏的。通過設(shè)計(jì)合理的獎(jiǎng)勵(lì)函數(shù),可以進(jìn)一步提高強(qiáng)化學(xué)習(xí)的效果。
Pathak D等人[12]提出,Agent預(yù)測(cè)自身行為結(jié)果的能力可以用來衡量狀態(tài)的新穎性或內(nèi)在的好奇心。內(nèi)在好奇心模塊(intrinsic curiosity module,ICM)用于在強(qiáng)化學(xué)習(xí)過程中獲取該信號(hào),其預(yù)測(cè)誤差可以作為一種內(nèi)在獎(jiǎng)勵(lì)。從實(shí)驗(yàn)中可以看出,通過自我監(jiān)督的方式學(xué)習(xí)到的內(nèi)在獎(jiǎng)勵(lì),可以激勵(lì)A(yù)gent更好地探索當(dāng)前環(huán)境,并使利用環(huán)境結(jié)構(gòu)制定更有效的規(guī)劃策略。
基于此,本文著重研究獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì),針對(duì)稀疏獎(jiǎng)勵(lì)下機(jī)器人實(shí)現(xiàn)路徑規(guī)劃效果不理想,本文設(shè)計(jì)出了針對(duì)于室內(nèi)環(huán)境下的外部獎(jiǎng)勵(lì);考慮到室內(nèi)環(huán)境的復(fù)雜性所導(dǎo)致機(jī)器人容易陷入獎(jiǎng)勵(lì)局部極小值問題,本文結(jié)合ICM作為內(nèi)部獎(jiǎng)勵(lì)對(duì)此類問題進(jìn)行優(yōu)化,在模擬環(huán)境中進(jìn)行了一系列測(cè)試,證明了該模型的高效性。
將強(qiáng)化學(xué)習(xí)中的自主導(dǎo)航策略看作是一個(gè)馬爾可夫決策過程(Markov decision process)[13]。在每一Step內(nèi),機(jī)器人都會(huì)接收到當(dāng)前的狀態(tài)信息st,動(dòng)作信息at,隨后過渡到下一個(gè)狀態(tài)st+1,st+1遵循條件概率分布p(st+1|st,at)。機(jī)器人通過隨機(jī)策略π選擇動(dòng)作,并在每次行動(dòng)中獲得獎(jiǎng)勵(lì)rt。強(qiáng)化學(xué)習(xí)的目標(biāo)是學(xué)習(xí)最大累計(jì)回報(bào)Rt下的策略,Rt滿足
Rt=
(1)
式中γ∈[0,1]為折扣因子,rt為機(jī)器人在某一時(shí)刻所獲得的內(nèi)在獎(jiǎng)勵(lì)與外在獎(jiǎng)勵(lì)之和。在這里,考慮回合性的強(qiáng)化學(xué)習(xí)情況,即在每個(gè)回合內(nèi),機(jī)器人在有限時(shí)間范圍內(nèi)獲得的獎(jiǎng)勵(lì)最大化。
DRL與傳統(tǒng)的強(qiáng)化學(xué)習(xí)不同的是,傳統(tǒng)的強(qiáng)化學(xué)習(xí)受動(dòng)作空間和樣本空間大小的局限,且一般是離散的情境下。然而,比較復(fù)雜的、更加接近實(shí)際情況的任務(wù)則往往有著很大的狀態(tài)空間和連續(xù)的動(dòng)作空間。當(dāng)輸入激光雷達(dá)信息時(shí),通常具有很高的維度,傳統(tǒng)的強(qiáng)化學(xué)習(xí)很難處理,DRL的優(yōu)勢(shì)在于可以把深度學(xué)習(xí)對(duì)應(yīng)的高維輸入與強(qiáng)化學(xué)習(xí)結(jié)合起來。DRL框架如圖1所示。
圖1 DRL框架
對(duì)于無地圖導(dǎo)航,DRL方法主要有2種:一種是基于價(jià)值的方法,通過更新價(jià)值函數(shù)使智能體學(xué)習(xí)到有效的策略;另一種是基于策略的方法,通過更新策略函數(shù)使智能體學(xué)習(xí)到有效的策略。本文選擇基于策略的PPO算法[14]作為DRL方法。
本文使用Turtlebot3作為導(dǎo)航機(jī)器人,由376維的激光雷達(dá)作為輸入,使機(jī)器人在每一Step下獲得對(duì)應(yīng)信息。機(jī)器人在基于無碰撞的最優(yōu)路徑策略下完成路徑規(guī)劃任務(wù)。
外部獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)如下
(2)
式中φg為機(jī)器人到達(dá)目標(biāo)點(diǎn)附近0.2 m處,判定為完成路徑規(guī)劃任務(wù),同時(shí)獲得正獎(jiǎng)勵(lì)80,目標(biāo)點(diǎn)坐標(biāo)更新,機(jī)器人返回初始位置并結(jié)束本回合;φo為機(jī)器人運(yùn)動(dòng)到距離障礙物0.1 m處,判定為任務(wù)失敗,同時(shí)獲得負(fù)獎(jiǎng)勵(lì)-40,目標(biāo)點(diǎn)坐標(biāo)不變,機(jī)器人返回初始位置并結(jié)束本回合。此外,根據(jù)實(shí)際室內(nèi)環(huán)境大小與機(jī)器人最大線速度定義了最大步長(zhǎng)Step,如果超過最大步長(zhǎng)一樣視為任務(wù)失敗。同時(shí),本文基于勢(shì)能獎(jiǎng)勵(lì)塑造理論設(shè)計(jì)了機(jī)器人在每一狀態(tài)st下的最短路徑外部獎(jiǎng)勵(lì)函數(shù)和避障外部獎(jiǎng)勵(lì)函數(shù)。
2.1.1 最短路徑獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)
機(jī)器人與目標(biāo)點(diǎn)間距離的獎(jiǎng)勵(lì)函數(shù)rd
(3)
rd(st,at,st+1)=[φg(st+1)-φg(st)]×k1
(4)
式中 (xg,yg)為目標(biāo)點(diǎn)坐標(biāo)位置,(xc,yc)為機(jī)器人坐標(biāo)位置,φg為機(jī)器人與目標(biāo)點(diǎn)在歐氏空間中的直線距離;st為機(jī)器人當(dāng)前狀態(tài),at為機(jī)器人在當(dāng)前狀態(tài)下的行為,st+1為機(jī)器人下一時(shí)刻的狀態(tài),k1為負(fù)實(shí)數(shù)。
機(jī)器人朝向目標(biāo)點(diǎn)的獎(jiǎng)勵(lì)函數(shù)rθ
(5)
rh(st,at,st+1)=[φθ(st+1)-φθ(st)]×k2
(6)
式中φθ為機(jī)器人與目標(biāo)點(diǎn)間的直線與機(jī)器人當(dāng)前狀態(tài)下的夾角,θ∈[0,π],abs為取絕對(duì)值,k2為負(fù)實(shí)數(shù)。
2.1.2 避障獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)
機(jī)器人與障礙物之間距離的獎(jiǎng)勵(lì)函數(shù)ro
(7)
ro(st,at,st+1)=[φo(st+1)-φo(st)]×k3
(8)
式中obs為激光雷達(dá)感知到的機(jī)器人與障礙物間的距離,k3為正實(shí)數(shù)。
考慮室內(nèi)環(huán)境的特殊性,機(jī)器人完成任務(wù)途中需要穿過許多來自2個(gè)方向障礙物的狹窄通道,比如門、較窄的過道等。所以,本文設(shè)計(jì)了針對(duì)來自2個(gè)方向障礙物的避障獎(jiǎng)勵(lì)函數(shù)rb
(9)
rb(s,a,st+1)=[φb(st+1)-φb(st)]×k4
(10)
如圖2所示,l1,l2分別為機(jī)器人車頭與障礙物Obs1與障礙物Obs2的最短距離,l1與l3夾角為θ1,l2與l3夾角為θ2,l4為機(jī)器人當(dāng)前朝向。一般來說,當(dāng)θ1=θ2時(shí),為機(jī)器人通過2個(gè)障礙物的最優(yōu)路徑,所以,將l3與l4的夾角定義為θ3得到了外部獎(jiǎng)勵(lì)函數(shù)rb。其中,k4為負(fù)實(shí)數(shù)。
圖2 機(jī)器人避障最優(yōu)路徑示意
至此,得到了4個(gè)基于勢(shì)能的外部獎(jiǎng)勵(lì)函數(shù)rd,rθ,ro,rb?;趧?shì)能的外部總獎(jiǎng)勵(lì)函數(shù)表示為
(11)
式中k(k<0)為每一步的懲罰值,用來刺激機(jī)器人完成任務(wù)。
圖3 ICM結(jié)構(gòu)
表1 Turtlebo3動(dòng)作空間劃分
(12)
(13)
式(12)為交叉熵?fù)p失函數(shù)表達(dá)式,式(13)為均方誤差損失函數(shù)表達(dá)式。
內(nèi)部獎(jiǎng)勵(lì)Ri表示為
(14)
由此,以外部獎(jiǎng)勵(lì)值與加權(quán)后的內(nèi)部獎(jiǎng)勵(lì)值作為總獎(jiǎng)勵(lì)rt
(15)
其中,μi為內(nèi)部獎(jiǎng)勵(lì)系數(shù),μi>0。
將設(shè)計(jì)好的獎(jiǎng)勵(lì)函數(shù)結(jié)合PPO算法[14]作為DRL算法訓(xùn)練機(jī)器人完成導(dǎo)航任務(wù)。PPO的策略梯度表達(dá)式為
(16)
使用一層全連接神經(jīng)網(wǎng)絡(luò)作為狀態(tài)提取層,將提取后的激光雷達(dá)狀態(tài)信息與機(jī)器人當(dāng)前狀態(tài)作為輸入,隨后通過2層全連接神經(jīng)網(wǎng)絡(luò)構(gòu)成的特征融合層,將特征融合后的狀態(tài)分別輸入Actor-Critic網(wǎng)絡(luò)[15]。其中,Actor網(wǎng)絡(luò)輸出機(jī)器人動(dòng)作概率分布πθ,然后通過SoftMax分類器得到動(dòng)作at;Critic網(wǎng)絡(luò)估計(jì)狀態(tài)st處的狀態(tài)值Vφ。在DRL訓(xùn)練中,πθ,Vφ與內(nèi)部獎(jiǎng)勵(lì)中的正向模型和反向模型同時(shí)更新網(wǎng)絡(luò)參數(shù)。算法框圖如圖4。
圖4 算法框圖
考慮到機(jī)器人工作的真實(shí)環(huán)境,本文通過ROS和Gazebo搭建了2個(gè)室內(nèi)仿真環(huán)境,2個(gè)環(huán)境分別模擬了2種不同的室內(nèi)情景,如圖5(a)和圖5(b)。
圖5 Gazebo搭建的室內(nèi)仿真環(huán)境
環(huán)境1與環(huán)境2為12 m×12 m的封閉結(jié)構(gòu),模擬了真實(shí)室內(nèi)大小。其中,環(huán)境1為靜態(tài)環(huán)境,模擬了房間內(nèi)雜物堆砌的場(chǎng)景;環(huán)境2為動(dòng)態(tài)環(huán)境,模擬了兩室一廳的場(chǎng)景,添加了2個(gè)移動(dòng)的行人作為動(dòng)態(tài)障礙物,增加了訓(xùn)練的難度。2個(gè)環(huán)境中的正方形用來表示目標(biāo)點(diǎn),目標(biāo)點(diǎn)位置是隨機(jī)在地圖上生成的。
本文的實(shí)驗(yàn)環(huán)境為CPU處理器、Ubuntu18.04,Python2.7,Pytorch1.12,ROS(Melodic),Gazebo9。實(shí)驗(yàn)參考如表2。
表2 實(shí)驗(yàn)參數(shù)
將未添加外部勢(shì)能獎(jiǎng)勵(lì)模型記為PPO,將添加了外部勢(shì)能獎(jiǎng)勵(lì)模型記為PPOe,將添加了外部勢(shì)能獎(jiǎng)勵(lì)與內(nèi)部好奇心獎(jiǎng)勵(lì)模型記為PPOei,并將3種模型作為本文的實(shí)驗(yàn)結(jié)果作對(duì)比分析。如圖6所示,在環(huán)境1、環(huán)境2中分別進(jìn)行了800次、1 800次的迭代訓(xùn)練使得曲線達(dá)到收斂。圖中平滑系數(shù)均為0.99的獎(jiǎng)勵(lì)曲線。每一回合的總獎(jiǎng)勵(lì)值越大,說明機(jī)器人在當(dāng)前回合做出的正確行為越多,路徑選擇更優(yōu)。
圖6 3種模型在2個(gè)環(huán)境中的總獎(jiǎng)勵(lì)曲線
表3為3種模型在2個(gè)環(huán)境中的成功率。PPO模型在2個(gè)環(huán)境中都未能完成路徑規(guī)劃任務(wù),PPOei模型相較于PPOe模型在環(huán)境1中的成功率提升了17.62 %,在環(huán)境2中成功率提升了7.77 %。
表3 3種模型在2個(gè)環(huán)境中的成功率
稀疏的外部獎(jiǎng)勵(lì)模型PPO無論是在簡(jiǎn)單環(huán)境還是復(fù)雜環(huán)境都無法完成路徑規(guī)劃任務(wù),這是由于外部獎(jiǎng)勵(lì)信號(hào)弱,機(jī)器人在當(dāng)前狀態(tài)下得不到有價(jià)值的狀態(tài)評(píng)估,因而采取盲目的探索方式進(jìn)行訓(xùn)練;PPOe模型很好地解決了這一問題,但在訓(xùn)練中期發(fā)現(xiàn),當(dāng)機(jī)器人移動(dòng)到存在多方障礙物的情況下,極易陷入獎(jiǎng)勵(lì)局部極小值,這時(shí)機(jī)器人很難逃離獎(jiǎng)勵(lì)局部極小值區(qū)域,因而會(huì)采取一種原地打轉(zhuǎn)的保守策略,以避免碰到障礙物,在這種情況下,機(jī)器人很難完成任務(wù);PPOei模型在此基礎(chǔ)上優(yōu)化了獎(jiǎng)勵(lì)局部極小值問題,從而加速了訓(xùn)練過程,提高了任務(wù)成功率。綜上所述,PPOei模型相較于PPOe與PPO,在室內(nèi)場(chǎng)景下表現(xiàn)出了更好的性能。
本文使用DRL方法實(shí)現(xiàn)機(jī)器人在室內(nèi)場(chǎng)景下的路徑規(guī)劃,著重研究了獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)問題。首先證明了稀疏獎(jiǎng)勵(lì)條件下機(jī)器人實(shí)現(xiàn)路徑規(guī)劃任務(wù)的不可行性,隨后設(shè)計(jì)了基于勢(shì)能的外部獎(jiǎng)勵(lì)函數(shù);針對(duì)獎(jiǎng)勵(lì)局部極小值引起的次優(yōu)策略下最大獎(jiǎng)勵(lì)值過早收斂問題,使用基于ICM獎(jiǎng)勵(lì)作為獎(jiǎng)勵(lì)增強(qiáng)信號(hào)優(yōu)化了此類問題。實(shí)驗(yàn)表明,PPOei模型相較于PPOe與PPO,在訓(xùn)練速度以及成功率上表現(xiàn)出了更好的性能。