張永梅, 趙家瑞, 吳愛燕
(北方工業大學信息學院, 北京 100144)
路徑規劃是指機器人根據對環境的感知自主選擇一條從起點到終點的無碰撞路徑。路徑規劃技術是機器人完成其他復雜任務的技術前提。常見的路徑規劃算法包括非智能算法(如A*、D*及其改進算法[1])以及智能算法(如蟻群算法)。
非智能算法在復雜環境中無法處理復雜高維環境信息,或者容易陷入局部最優[2]。昝新宇等[3]根據多因素綜合指標改進了蟻群算法,在全局搜索能力和收斂速度上有了較大提升。此外,智能算法還包括遺傳算法、強化學習算法等。其中,強化學習算法與人類學習經驗試錯過程最為相似。非智能算法通常將路徑規劃任務視為搜索問題,智能路徑規劃算法更加強調優化,對實時性要求不高。基于強化學習的機器人路徑規劃算法可不過多依賴環境,實時性強。強化學習算法通過最大智能體從環境中獲得累計獎勵學習到完成目標的最優策略,將強化學習用于機器人路徑規劃問題,近年來受到學術界和工業界的廣泛關注,強化學習是目前機器人運動規劃的研究熱點[4-5]。
典型的強化學習算法為Q學習,該算法將獎勵設為固定值或隨機值,使算法收斂緩慢。當狀態空間集合不再離散或離散后維數較大時,如機器人感知到多維度環境信息時,Q-learning算法將無法維護Q表。此時,需結合深度神經網絡等非線性近似表示值函數或策略。使用Q學習的機器人運動規劃方法無法處理高維輸入[6]。
傳統的強化學習方法受到動作空間和樣本空間維數的限制,難以適應更接近實際的復雜問題情況,而深度學習具有較強的感知能力,能夠更加適應復雜問題,但是缺乏一定的決策能力。因此,谷歌大腦將深度學習和強化學習結合,得到深度強化學習,為移動機器人復雜環境中的運動規劃提供了新的思路和方向。深度強化學習具有深度學習強大的感知能力和強化學習智能的決策能力,在面對復雜環境和任務時表現突出,有助于機器人的自主學習和避障規劃[7]。
Mnih等[8]于2013年提出深度Q網絡(deep Q-learning,DQN),采用Q學習的一種變種訓練卷積神經網絡,是深度強化學習領域的開創性工作。DQN是結合深度學習與強化學習,實現從感知到動作的端對端學習的一種全新算法。Nguyen等[9]提出改進經驗回放機制的DQN機器人路徑規劃方法,通過計算經驗數據間的相似性來決定是否存儲,但該方法需更多訓練次數來滿足環境的探索程度。DQN依賴于在每一次最優迭代中尋找動作值函數的最大值,只能處理離散低維的動作空間。針對連續動作空間,DQN無法輸出各動作的值函數。目前機器人強化學習路徑規劃采用離散型動作輸出算法(將角速度[-2,2]區間離散為集合{-2,1,0,-1,2})的研究占大多數,離散變化的動作取值與真實場景路徑規劃時連續速度的情景存在較大差異。
深度確定性策略梯度(deep deterministic strategy gradient,DDPG)算法適用于連續動作空間的控制任務,DDPG解決了DQN難以對連續動作估計Q值的問題。DDPG[10]根據環境狀態得到連續動作,例如給定區間內連續值。Kenzo等[11]提出基于DDPG的雙足機器人導航方法,通過輸入圖像到卷積神經網絡,端到端映射為機器人動作。Hu等[12]提出基于DDPG的空間機器人路徑規劃方法,引入多重約束獎勵機制,使獎勵更加合理。Sampedro等[13]提出基于DDPG的多翼機器人伺服控制方法,將圖像狀態信息映射為飛行機器人的線性速度,并運用于目標跟蹤。
在基于深度強化學習的機器人運動規劃方法中,訓練時會出現稀疏獎勵問題,在對環境的探索中,獎勵在智能體學習中起著至關重要的作用,但在路徑規劃問題中獎勵信號十分稀疏,導致智能體難以從與環境的交互中學習到最優策略,模型將因稀疏獎勵問題而難以收斂。
稀疏獎勵問題是深度強化學習解決實際問題面臨的核心問題,在強化學習機器人路徑規劃方法中,智能體要在到達目標點或發生碰撞后才能獲得獎勵。在學習初始階段,獎勵通常依靠隨機動作獲取,難以獲得獎勵,且只有完成有利于實現任務的動作才可獲得正向反饋,而這一過程在隨機性的影響下較難完成。
稀疏獎勵問題影響算法整體收斂效果和訓練時間。稀疏獎勵問題會導致強化學習算法迭代緩慢,甚至難以收斂[14]。解決稀疏獎勵問題有利于提高樣本的利用效率,主要研究包括經驗回放機制、探索與利用和多目標學習等。其中,探索與利用根據內在獎勵計算方式可以分為計數法和內在獎勵法。內在獎勵法通過學習環境的狀態轉移,利用預測誤差作為內在獎勵,降低環境動態的不確定性。
Bellemare等[15]提出一種將偽計數轉為內在獎勵的方法,通過擬合密度生成模型比較狀態相似性,但在擬合模型的選擇時難度較大。Stadie等[16]提出基于環境模型判斷狀態探索度的內在獎勵方法,通過狀態和動作預測新狀態,但環境模型難以建立。Pathak等[17]提出基于內部好奇心模塊的獎勵生成方法,模型使用前后時刻狀態和動作作為訓練數據,以預測狀態與下一時刻狀態誤差作為內在獎勵。
現分析深度強化學習算法稀疏獎勵問題產生的原因,提出好奇心驅動的深度確定性策略梯度,在行動者網絡前增加好奇心模塊提升獎勵獲取來源,在機器人運動規劃訓練前期獎勵獲取有一定提升,更充分利用狀態信息。深度確定性策略梯度可處理高維數據,并且輸出的是連續動作,相比深度Q網絡更加平滑。
深度強化學習是一種端到端的感知與控制算法,通過深度學習感知每個時刻智能體感知環境的高維度交互信息,得到具體的狀態空間,按照某種策略從狀態得到動作,并基于預期回報來評價各動作的價值,并將感知環境對動作的反應,不斷循環該過程得到最優策略[18],深度強化學習基本框架如圖1所示。

圖1 深度強化學習基本框架Fig.1 Basic framework of deep reinforcement learning
因DQN只能處理離散和低維的動作空間,故對于連續控制任務無法應用。可通過離散化動作空間的方式使用,如將[0,1]動作空間離散為(0, 0.25, 0.5, 0.75, 1),但該方式在應對大范圍動作空間時會損失一定動作結構信息,而且如何界定動作數量劃分標準會導致訓練難度增大。
基于值函數的深度強化學習算法,如DQN,可解決離散動作空間的任務。而對于連續動作空間的任務,采用基于策略梯度的深度強化學習算法可以獲得更好的決策效果。策略梯度通過不斷計算策略的總獎勵期望值關于策略參數的梯度來更新參數,得到最優策略。
DDPG作為一種基于策略梯度的深度強化學習算法,由Actor網絡μ(s|θμ)、Critic網絡Q(s,a|θQ)和Actor目標網絡μ(s|θμ′)以及Critic目標網絡(Target-Critic)Q(s,a|θQ′)組成,隨機噪聲和經驗回放以離線策略的方式供網絡訓練[19]。
DDPG分別采用參數為θμ和θQ的深度神經網絡來表示確定性策略a=πμ(s|θμ)和值函數Q(s,a|θQ)。策略網絡用來更新策略,對應Actor-Critic框架的Actor。值網絡用來逼近狀態動作對的值函數,并提供梯度信息,對應Actor-Critic框架的Critic。在DDPG中,定義目標函數為帶折扣的獎賞和,表達式為
J(θμ)=Eθμ(r1+γr2+γ2r3+…)
(1)
式(1)中:r1、r2、r3、…為第一、二、三、…時刻的獎賞;γ為獎賞折扣。
采用隨機梯度下降方法來對目標函數進行端對端的優化。目標函數關于θμ的梯度等價于Q值函數關于θμ的期望梯度。
(2)
根據策略性梯度a=πμ(s|θμ)可得
(3)
通過DQN中更新值函數的方法來更新評論家網絡,此時梯度信息為

(4)
強化學習作為一種依靠與環境交互試錯來求解最優策略的算法,在該過程中,只有在任務成功或失敗時才會得到獎勵,在探索環境初期完全依靠隨機性可能減慢尋找最優解速度而出現稀疏獎勵問題。
好奇心驅動是一類使用內在獎勵引導智能體探索環境的方法,高效探索能夠更快地獲得外在獎勵,同時能夠降低環境的獎勵、狀態轉移的不確定性,平衡探索與利用,因此好奇心驅動可以解決稀疏獎勵問題帶來的稀疏性和不可靠性問題[20]。圖2為內在好奇心模塊(intrinsic curiosity module,ICM)結構,作為一種預測差法,包括正向模型和逆向模型。

圖2 好奇心模塊結構Fig.2 Curiosity module structure
正向模型來預測下一步的狀態為
(5)


t時刻的內在好奇心獎勵為實際狀態表示和正向模型的誤差。
(6)
式(6)中:η為控制內在好奇心獎勵的比例參數,η>0。

(7)
在訓練深度強化學習模型時,樣本的獲取過程需要耗費大量時間,特別是訓練前期使用隨機策略探索環境時,可能訓練幾百回合也無法得到第一次正向獎勵。造成該問題的主要原因是稀疏獎勵問題,智能體與環境交互后無法獲得獎勵,則該條樣本對于智能體習得最優策略的貢獻較小。若能縮短訓練前期探索環境這一過程,即可加速學習過程,加快深度強化學習算法收斂。在實際機器人運動規劃時,交互過程不僅耗時且與環境交互可能對硬件設備造成損耗,如碰撞和激光雷達壽命。

圖3 內在好奇心模塊具體設計Fig.3 Specific design of the intrinsic curiosity module

好奇心驅動的深度確定性策略梯度(intrinsic curiosity deep deterministic strategy gradient, ICDDPG)滿足自身運動模型和環境約束條件,可在連續的動作空間中找到最優策略,通過評估到達目標點。算法的優化目標為利用當前機器人自身狀態以及環境信息直接控制機器人動作(線速度、角速度)到達目標點,Actor網絡與Target-Actor網絡輸出動作,Critic網絡與Target-Critic網絡負責估計動作Q值,ICM模塊預測下一時刻狀態給出內在獎勵,經驗回放池負責存儲探索數據,Gazebo為仿真交互環境,獎勵包括內在好奇心獎勵和外部任務獎勵。

如圖5所示,網絡訓練時,通過在經驗回放池中取得樣本S,更新Actor網絡參數以獲取更高獎勵。Actor目標網絡根據采樣的S′預估動作A′,將S′和A′傳給Critic目標網絡,得到下一狀態的Q值,同時Critic網絡計算當前狀態Q值,通過最小化損失函數更新Critic網絡參數。

圖4 加入內在獎勵更新ActorFig.4 Adding intrinsic rewards to update Actor

圖5 好奇心驅動的深度確定性策略梯度算法流程圖Fig.5 The flow chart of the curiosity-driven deep deterministic strategy gradient algorithm
按照提出ICDDPG進行移動機器人路徑規劃,在仿真場景內不斷地學習探索,一旦機器人最大步數未碰撞、未到達目標點或發生碰撞,則復位整個場景;若到達目標點,則重新隨機生成目標點,機器人將以上一個目標點作為起點進行路徑規劃。
Gazebo仿真場景如圖6、圖7和圖8所示,仿真機器人為Turtlebot3-Burger,如圖9所示。仿真場景1和2大小均為4.5 m×4.5 m,目標點位置從[-1.5, -0.5, 0.5, 1.5]隨機生成,[1,1]、[-1,1]、[1,-1]、[-1,-1]為障礙物。仿真場景3大小為20 m×20 m,包括靜態障礙物和動態障礙物,目標點位置在圍墻內隨機生成,設置動態障礙物在隨機運動時只能與仿真機器人發生碰撞。在矢量空間中,機器人的動作主要由線速度和角速度進行控制,線速度約束為0~1 m/s,角速度約束為-0.5~0.5 rad/s,且均為連續值。仿真機器人為Turtlebot3-Burger,其自身與環境交互參數如表1所示。

圖6 Gazebo仿真場景1Fig.6 Simulation scene 1 for Gazebo

圖7 Gazebo仿真場景2Fig.7 Simulation scene 2 for Gazebo

圖8 仿真場景3Fig.8 Simulation scene 3 for Gazebo

圖9 仿真機器人Fig.9 Simulation robot

表1 仿真機器人參數Table 1 Simulation robot parameters

DDPG選取策略為ε-greedy,訓練初始階段依靠隨機性探索環境,經一定步數后,選擇隨機性概率以0.992衰減,根據網絡生成動作概率增加。Actor與Critic網絡隱藏層的激活函數均為relu,Actor輸出層線速度和角速度,激活函數分別為sigmoid和tanh。網絡模型的具體超參數見表2,其中網絡神經元考慮了移植到真實硬件環境時,使用神經元數相對較少,因此將每批次經驗條數設置為128。
機器人路徑規劃仿真實驗共設置200個回合,經一定回合,經驗回放池滿足儲存3 000條數據樣本,開始供Actor、Critic和ICM訓練并更新目標網絡,并繼續完成其余回合任務。機器人路徑規劃到達目標點獎勵為150,發生碰撞為-200。獎勵函數設置為
(8)
式(8)中:Dscan為激光雷達感知到的距離;Dgoal為機器人到達目標點的最小距離;Dmin為機器人與墻壁或障礙物的最小碰撞距離;α、β為機器人在最大步數未碰撞而結束回合時的獎勵因子,為了平衡任務回合獎懲,將其設置為0.1和0.2;Dir和Dis分別為回合結束時機器人與目標點朝向角差值和距離。

表2 超參數Table 2 Hyper-parameters
通過表3可得出,訓練前期因采用ε-greedy策略,處于探索環境階段時隨機性較大,DQN算法每回合所獲得的獎勵幾乎全部為負值,在只有少量樣本的情景下難以收斂,DDPG算法和ICDDPG算法的平均獎勵呈上升趨勢,而ICDDPG算法所得獎勵明顯高于DDPG算法,表明內在好奇心模塊可在一定程度上加速獎勵的獲取。
在以上200個回合的仿真實驗中,如圖10、圖11所示。DQN、DDPG和提出的ICDDPG在仿真場景1中的平均獎勵分別為-188.2、-18.2和4.2,在仿真場景2中的平均獎勵為-184.8、-15.8和2.2。在200個回合訓練中,ICDDPG算法在兩個仿真環境中目標點到達次數分別為33次和36次,DDPG為10次和18次,DQN為16次和20次。
ICDDPG算法可以通過感知的狀態信息獲得額外獎勵,有利于前期隨機性較高時的訓練。隨著訓練回合的深入,隨機性降低,而動作通過算法得到的概率增加,機器人進入利用知識階段,到達目標點次數增加,每次訓練獲得的獎勵值不斷增加,即機器人能夠較好地利用學到的知識到達目標點。
如圖10、圖11所示,仿真場景3的實驗結果表明加入ICM后,訓練前期獎勵獲取有一定提升,ICDDPG相比于DQN所得獎勵有明顯提升,與DDPG相比大多數回合的獎勵更高,DQN、DDPG和ICDDPG的目標點到達次數分別為2、13和19次。本文算法能夠更充分利用狀態信息,好奇心模塊能夠加速前期訓練,使得算法能更快收斂。
在訓練更多回合算法所得獎勵穩定時,使用該模型在實際場景下進行了無障礙、靜態和動態障礙實驗,圖12為機器人硬件平臺ARTrobot在真實環境中情景。

表3 每40回合平均獎勵Table 3 Average rewards for every 40 rounds

圖10 在仿真場景3中DQN和ICDDPG平均獎勵對比圖Fig.10 Mean reward comparison chart of DQN and ICDDPG in simulation scene 3

圖11 在仿真場景3中DDPG和ICDDPG平均獎勵對比圖Fig.11 Mean reward comparison chart of DDPG and ICDDPG in simulation scene 3

圖12 ARTrobot 機器人Fig.12 ARTrobot robot
在圖13的無障礙場景下進行實驗時,由于在訓練前期使用ε-greedy策略,給定的是隨機動作,并受到墻壁影響是非直線,但最終成功到達目標點。
在圖14的靜態障礙地圖中,目標點為障礙后方,機器人與目標點間連線有一個靜態障礙,機器人在與障礙的距離大于碰撞距離時,按照直線進行運動規劃,小于碰撞距離時,機器人受到碰撞影響較大,進行避障,并到達目標點。

圖13 無障礙路徑規劃Fig.13 Accessible path planning

圖14 靜態障礙路徑規劃Fig.14 Static obstacle path planning
在圖15以人為動態障礙,以柱子為靜態障礙的場景中。當機器人靠近時,刻意去往機器人路徑規劃的方向,由于機器人根據激光雷達發布動作,成功進行避讓,并繼續靠近目標點,在給機器人留有可達路線的余地后,可成功到達。對于本文算法的真實環境實驗,在以上目標設置中,在某些情況下可以達到近似最佳路徑。

圖15 動態障礙路徑規劃Fig.15 Dynamic obstacle path planning
分析了深度強化學習算法稀疏獎勵問題產生的原因,提出了一種基于好奇心驅動的深度確定性策略梯度路徑規劃算法,將激光雷達、目標點距離及自身位置信息作為狀態樣本,以連續的線速度與角速度作為動作輸出,加入內在好奇心模塊提升獎勵獲取來源,提高感知信息的利用率。基于深度確定性策略梯度算法在Gazebo中設計了仿真實驗訓練,驗證了內在好奇心模塊有利于解決深度強化學習算法訓練初期隨機性高而獎勵較難獲取的問題。在實際場景中進行了實驗,驗證了本文算法的有效性。