歐陽勇平,魏長赟,蔡帛良,2
(1.河海大學(xué) 機電工程學(xué)院,江蘇 常州 213022;2.英國卡迪夫大學(xué) 工學(xué)院,威爾士 卡迪夫 CF10 3A)
隨著多機器人系統(tǒng)(multi-robot system,MRS)的廣泛應(yīng)用,其路徑規(guī)劃和導(dǎo)航避障領(lǐng)域一直是學(xué)者們關(guān)注的熱點話題。傳統(tǒng)的機器人避障算法主要有粒子群尋優(yōu)算法[1]、基于障礙物的幾何構(gòu)型得到避障策略[2]、Khatib[3]提出了最優(yōu)避碰策略(optimal reciprocal collision avoidance,ORCA)及其衍生的其他避障算法等,但這些導(dǎo)航模型在環(huán)境復(fù)雜的情況下調(diào)整效果不佳,不適用于動態(tài)環(huán)境。近年來,在基于強化學(xué)習(xí)的多機器人導(dǎo)航避障算法中,相關(guān)學(xué)者們提出了構(gòu)建狀態(tài)空間到動作空間的映射的控制邏輯,也即策略映射[4-8],其中Zhang 等[4]提出了一種以深度確定性策略梯度(deep deterministic policy gradient,DDPG)為基礎(chǔ)的機器人控制模型,最終構(gòu)建了基于激光雷達(dá)和位置信息的策略映射,但算法的收斂速度慢,訓(xùn)練效率較低。Chen[5]則提出了一種異步DDPG 算法(asynchronous DDPG,ADDPG),使用多個機器人在同一個實驗環(huán)境中進(jìn)行實驗,提高了經(jīng)驗的搜集效率,縮短了算法的訓(xùn)練時間,但沒有考慮移動機器人的導(dǎo)航避障規(guī)則。因此設(shè)計一種受客觀條件限制較低,且可以實現(xiàn)人機協(xié)同的機器人避障算法對于提高異構(gòu)多機器人的工作效率和安全性具有重要意義。
故本文在此提出了基于深度強化學(xué)習(xí)的多特征策略梯度優(yōu)化算法,并引入人機協(xié)同環(huán)境下的社會范式以及提出經(jīng)驗優(yōu)先采樣機制,不僅使多機器人移動按照一定規(guī)則避障,而且提高了算法的訓(xùn)練速度以及控制精度,同時搭建了分布式多機器人的控制模型,在Gazebo 仿真環(huán)境下進(jìn)行算法的訓(xùn)練學(xué)習(xí),最后在現(xiàn)實環(huán)境下的多異構(gòu)機器人平臺上驗證了導(dǎo)航避障方法的可行性。
多機器人路徑規(guī)劃是在工作環(huán)境中為各個機器人都找到一條從起始點到目標(biāo)點的最優(yōu)無碰撞路徑。其中,單個機器人前往目標(biāo)點不僅需要考慮與環(huán)境內(nèi)的障礙物避免碰撞,還需避免在移動時與其他機器人發(fā)生碰撞。因此,如何為環(huán)境內(nèi)的各個機器人在尋找路徑時不發(fā)生碰撞是存在的難題。
本文以深度強化學(xué)習(xí)模型為基礎(chǔ),為解決異構(gòu)多機器人在動態(tài)環(huán)境下導(dǎo)航避障問題,搭建了不依賴精確地圖機器人導(dǎo)航避障模型,機器人僅裝有激光雷達(dá)傳感器,只需對原始的測量信號進(jìn)行獲取和處理,即可實現(xiàn)異構(gòu)多機器人的導(dǎo)航避障。具體模型如圖1 所示。
圖1 機器人導(dǎo)航避障模型Fig.1 Robot navigation and collision avoidance model
在圖中機器人所獲得的狀態(tài)信息為目標(biāo)點相對自身的極坐標(biāo)位置 (ρ,θ)(圖中黃色箭頭),激光傳感器所捕獲的周圍環(huán)境信息 ?=[l1,l2,···,l128](紅色線)且每條激光編號從0 開始沿圖中綠色箭頭方向遞增。
其中,極坐標(biāo)位置信息 (ρ,θ)的計算公式為
式中:(xt,yt) 和 (xw,yw)分別是機器人和目標(biāo)點在全局坐標(biāo)系下的坐標(biāo),vt和vw分別是機器人的速度矢量和從機器人指向目標(biāo)點的矢量。
最終上述兩部分信息經(jīng)過歸一化處理后連同上一時刻的機器人動作信息at?1被組成一個狀態(tài)信息st,并傳遞給強化學(xué)習(xí)算法進(jìn)行計算,其中歸一化公式為
式中:ξ是環(huán)境中的最大對角線長度,最大感知距離lmax=3 m。基于上述提出的不依賴精確地圖導(dǎo)航的異構(gòu)多機器人導(dǎo)航避障模型,本文將在后續(xù)仿真與真實實驗中進(jìn)一步介紹。
為各個機器人尋找一條最優(yōu)無碰撞路徑問題可以簡化為馬爾可夫決策過程。馬爾可夫決策過程(Markov decision process,MDP)作為強化學(xué)習(xí)理論的基礎(chǔ),具有重要的理論價值。MDP 的數(shù)學(xué)要素可以表述為五元組,即 (S,A,P,R,γ),其中:
S表示狀態(tài)空間,表示MDP 所在環(huán)境下所有可能狀態(tài)的集合;
A表示動作空間,表示對應(yīng)狀態(tài)下所有可采取的動作的集合;
P表示狀態(tài)的條件轉(zhuǎn)移概率,表示代理在時刻st狀態(tài)下采取動作a后,在t+1時 刻的狀態(tài)st+1的狀態(tài)為s′的概率,其公式表述為
R為 MDP 的評價函數(shù),是算法在s狀態(tài)下執(zhí)行動作a后變換為s′的過程對算法目標(biāo)結(jié)果好壞的量化評價標(biāo)準(zhǔn),其定義為
γ是折扣因子,表示MDP 中每一個決策環(huán)節(jié)對相對于決策過程中未來的決策環(huán)節(jié)的重要性,γ ≤1恒成立,表示算法更看重當(dāng)前獎勵而不是未來的獎勵。
MDP 的實際流程可以表示為圖2,環(huán)境中受算法控制的代理對象在狀態(tài)s0∈S的條件下初始化,并由算法根據(jù)狀態(tài)s0選擇建議動作a0∈S并由代理對象完成該動作,環(huán)境根據(jù)所執(zhí)行的動作,根據(jù)條件轉(zhuǎn)移概率P(s1|s0,a0) 轉(zhuǎn)移至下一狀態(tài)s1,同時,環(huán)境給出對應(yīng)獎勵r0(s0,a0,s1)。此后算法根據(jù)狀態(tài)s1選擇新的建議動作,并重復(fù)執(zhí)行上述步驟直至達(dá)到終止條件。
圖2 馬爾可夫決策過程Fig.2 Markov decision process
深度強化學(xué)習(xí)(deep reinforcement learning)算法模型是以一種通用的形式將深度學(xué)習(xí)的感知能力與強化學(xué)習(xí)的決策能力相結(jié)合,并能夠通過端對端的學(xué)習(xí)方式實現(xiàn)從原始輸入到輸出的直接控制,在模擬環(huán)境中,從個人收集的所有數(shù)據(jù)都用于在中央服務(wù)器中進(jìn)行訓(xùn)練[9-11],例如深度Q 學(xué)習(xí)網(wǎng)絡(luò)(deep Q-learning,DQN)[12]解決了使用強化學(xué)習(xí)算法求解Atari 游戲最優(yōu)決策問題,此后,又有諸如深度確定策略網(wǎng)絡(luò)梯度(deep deterministic policy gradient,DDPG)[13],信賴鄰域策略梯度優(yōu)化(trust region policy optimization,TRPO)[14],近似策略梯度優(yōu)化(proximal policy optimization,PPO)[15]等算法都取得了較好的成果,實驗證明,深度強化學(xué)習(xí)可以處理解決復(fù)雜的高緯度狀態(tài)動作映射問題,從而實現(xiàn)更全面感知決策,具有較強的實用性[16-20]。在一些多智能體強化學(xué)習(xí) (multi-agent reinforcement learning,MARL)研究工作中,集中訓(xùn)練和分散執(zhí)行方案用于訓(xùn)練多智能體系統(tǒng),例如counterfactual multi-agent (COMA)[21]和multiagent DDPG(MADDPG)[22]。
其中,DQN 引入了兩個重要策略實現(xiàn)了強化學(xué)習(xí)算法與深度神經(jīng)網(wǎng)絡(luò)的融合。第一個策略是目標(biāo)網(wǎng)絡(luò)的階段性更新策略,保證了訓(xùn)練Q 網(wǎng)絡(luò)的Q 值穩(wěn)定性。另一個策略是經(jīng)驗回放機制,這個機制使得算法可以多次重復(fù)利用代理獲得的經(jīng)驗,通過重復(fù)性采樣,提高了經(jīng)驗的利用率,并有效降低了樣本數(shù)據(jù)間的及關(guān)聯(lián)參數(shù),具體訓(xùn)練流程如圖3 所示。
圖3 DQN 算法訓(xùn)練流程Fig.3 DQN algorithm training process
DQN 是應(yīng)用于離散動作空間的算法,這導(dǎo)致無法應(yīng)對控制精度高、動作空間復(fù)雜的問題。而DDPG 作為解決連續(xù)控制型問題的算法適合本文所遇到的難題,其算法流程如圖4 所示。
圖4 DDPG 算法訓(xùn)練流程Fig.4 DDPG algorithm training process
在現(xiàn)有的深度確定性策略梯度算法的基礎(chǔ)上通過對機器人導(dǎo)航任務(wù)的任務(wù)獎勵進(jìn)行拆分,并構(gòu)建了各自的Q 值網(wǎng)絡(luò)用于優(yōu)化策略網(wǎng)絡(luò),并在此基礎(chǔ)上行構(gòu)建了基于策略梯度優(yōu)化算法的多特征策略梯度優(yōu)化算法。
針對前述算法中將機器人的導(dǎo)航獎勵設(shè)計為統(tǒng)一獎勵值的算法中存在的獎勵顯著性下降的問題,本文將機器人的導(dǎo)航問題分為避障任務(wù)和導(dǎo)航任務(wù),分別對2 個任務(wù)進(jìn)行量化評價并構(gòu)建避障Q 值網(wǎng)絡(luò)和導(dǎo)航Q 值網(wǎng)絡(luò),分別使用2 個Q 值網(wǎng)絡(luò)計算2 個Q 值對策略網(wǎng)絡(luò)參數(shù)的梯度,從而實現(xiàn)對策略網(wǎng)絡(luò)的優(yōu)化,本文將其稱為多特征策略梯度優(yōu)化算法(multi-featured policy gradients,MFPG)。
MFPG 將機器人的任務(wù)獎勵分為兩部分,分別稱為導(dǎo)航獎勵和避障獎勵,因此在本算法中,算法在 時刻的經(jīng)驗則定義為
因此在MFPG 算法中策略網(wǎng)絡(luò) πφ的策略梯度是?φJ(rèn)=[?φJ(rèn)Nav,?φJ(rèn)CA],因此,最終的策略參數(shù)更新公式為
式中 Φ是策略梯度權(quán)重,表示每個策略梯度分量的重要程度,其值與任務(wù)獎勵、Q 網(wǎng)絡(luò)損失值相關(guān)。
綜上所述,本文所述多特征策略梯度算法的流程圖如圖5 所示,從圖中可以看出,所提出的多特征策略梯度優(yōu)化方法通過將對獎勵信息進(jìn)行劃分,并分別由劃分的兩個獎勵構(gòu)建Q 網(wǎng)絡(luò),并在最終構(gòu)建關(guān)于策略網(wǎng)絡(luò)的優(yōu)化梯度,實現(xiàn)了對策略網(wǎng)絡(luò)的優(yōu)化。
圖5 多特征策略梯度優(yōu)化算法Fig.5 MFPG algorithm
借鑒人類社會發(fā)展過程中產(chǎn)生的行動規(guī)則(例如右側(cè)通行等),引入了社會范式獎勵,其具體方式如圖6 所示:當(dāng)受控機器人(紅)與其他機器人(黑)進(jìn)行交互且產(chǎn)生圖示的位置關(guān)系時候受控機器人會受到負(fù)獎勵,從而降低出現(xiàn)圖示位置關(guān)系的概率。然而,這種方法只是在圖示狀態(tài)下對機器人賦予了一個離散的負(fù)獎勵信息,而且由于負(fù)獎勵的判斷范圍較廣(陰影所示區(qū)域),導(dǎo)致負(fù)獎勵信息只能用于定性分析受控機器人狀態(tài),而不能用于提高算法的控制精度,且由于算法本身獎勵稀疏,導(dǎo)致算法更無法學(xué)習(xí)在圖示條件下的社會范式,因此將離散化的指標(biāo)性獎勵精確為基于實時狀態(tài)的獎勵可以有效提高算法的訓(xùn)練速度。
圖6 離散的社會范式獎勵Fig.6 Discrete social paradigm rewards
綜上,本研究在前文研究的基礎(chǔ)上,針對現(xiàn)有導(dǎo)航算法中提出的離散式社會規(guī)范獎勵存在的獎勵稀疏、離散的社會負(fù)獎勵信息只能定性分析機器人的社會范式狀態(tài)的問題提出了一種新的基于激光雷達(dá)信息的連續(xù)空間社會范式獎勵計算方法,其計算公式為
上式表示rlaser(lmin)·G(z) 的值最終在 [?9.9,9.9]的邊界區(qū)間內(nèi),其中rlaser(lmin)表示當(dāng)前激光雷達(dá)探測區(qū)域最小值的計算獎勵,lmin=lmin/lMAX表示激光雷達(dá)的最小探測值的正則化值,lMAX表示激光雷達(dá)的最大偵測范圍,G(z)表示激光雷達(dá)最小值所在方位引起的獎勵偏置因子,其中z表示激光雷達(dá)傳感器探測到最短激光值所在位置的正則化序號值,其具體表述及序號關(guān)系詳述于圖1。上述兩值的計算公式為
式中:kl表示避障增益,ol表示避障獎勵的偏移量,在本文中兩者分別為20 和0.5,該獎勵值隨lmin的變化如圖7 所示。
圖7 避障獎勵值變化Fig.7 Changes of obstacle avoidance bonus value
此外,U和D分別表示偏置上限和偏置零點的位置,在本文中U和D分別為3 和2.5。因而,避障獎勵函數(shù)的最終計算公式為
將上式標(biāo)繪在平面直角坐標(biāo)系中得到圖8(a),同時作為對比,圖8(b)也標(biāo)繪了G(z)=1時的獎勵分布。
從圖8(a)的獎勵狀態(tài)分布可知,如果距離機器人最近的障礙物位于機器人兩側(cè)時,無偏置的獎勵算法將輸出同樣的獎勵結(jié)果,這導(dǎo)致了兩輛車輛在相遇時,無法準(zhǔn)確對對方的形為進(jìn)行預(yù)測并進(jìn)行有效規(guī)避,從而導(dǎo)致發(fā)生碰撞,而帶有偏置的獎勵計算方法可以對機器人左右兩側(cè)的信息進(jìn)行有效區(qū)分,從而保證強化學(xué)習(xí)算法在訓(xùn)練過程中對于左側(cè)和右側(cè)的障礙物表現(xiàn)出明顯的傾向性,因此可以保證車輛在相遇時會根據(jù)自身預(yù)設(shè)的策略傾向?qū)崿F(xiàn)在無通訊信息條件下多機器人間的安全導(dǎo)航避障。
圖8 獎勵分布Fig.8 Bonus distribution
在經(jīng)驗回放過程中,經(jīng)驗的選擇會影響Q 網(wǎng)絡(luò)的收斂速度,進(jìn)而影響策略網(wǎng)絡(luò)的訓(xùn)練。而傳統(tǒng)的均勻采樣不能顯著提高Q 網(wǎng)絡(luò)的訓(xùn)練速度,因此,本文采用了基于Q 網(wǎng)絡(luò)損失值的經(jīng)驗優(yōu)先采樣算法并進(jìn)行改進(jìn),其核心在于根據(jù)Q 值網(wǎng)絡(luò)的損失值構(gòu)建每一條經(jīng)驗的采樣優(yōu)先性,其主要流程為:對于每條經(jīng)驗ei及 其Q 值網(wǎng)絡(luò)的損失Lθ(ei),定義其采樣優(yōu)先度為
式中 ε表示采樣優(yōu)先度指數(shù),當(dāng) ε=0時代表算法采用均勻采樣方法。在經(jīng)驗采樣時,算法按照概率P(ei)隨機選擇經(jīng)驗組成訓(xùn)練經(jīng)驗組。因此,在實際訓(xùn)練時,每條經(jīng)驗ei被采樣的概率正比于其損失函數(shù)Lθ(ei),因此可以顯著提高Q 網(wǎng)絡(luò)的收斂速度。
此外,由于Q 值網(wǎng)絡(luò)的更新會改變Q 值網(wǎng)絡(luò)的分布,從而改變經(jīng)驗ei的Q 值期望,因此基于優(yōu)先級的經(jīng)驗回放算法會引入偏差,需要對優(yōu)先采樣獲得的經(jīng)驗添加重要性修正權(quán)重以降低偏差,其計算公式為
式中:|B|表 示經(jīng)驗樣本集合的容量,?表示算法的修正權(quán)重,因此,修正后的策略網(wǎng)絡(luò)的參數(shù)更新公式為
當(dāng)新的經(jīng)驗enew被加入到經(jīng)驗池中時,會替代當(dāng)前經(jīng)驗池中采樣優(yōu)先度最小的經(jīng)驗,其采樣優(yōu)先級會被設(shè)置為1。
綜上,多特征策略梯度算法的主要流程如下:
3)初始化經(jīng)驗池N,其最大容量為n;
4) 當(dāng)不滿足終止條件時,獲取當(dāng)前代理狀態(tài)st;
5)根據(jù)當(dāng)前狀態(tài)選擇動作at=πφ(st),并由代理執(zhí)行;
6)獲取下一時刻狀態(tài)st+1與 獎勵
8) 如果 |N|≥n,根據(jù)Q 值網(wǎng)絡(luò)更新方式從|N|采 樣訓(xùn)練經(jīng)驗集合 |B|,更新Q 值網(wǎng)絡(luò)和按照公式(2)更新策略網(wǎng)絡(luò)參數(shù);
9)如果達(dá)到策略網(wǎng)絡(luò)更新條件,φ?←φ;
10)如果達(dá)到Q 值網(wǎng)絡(luò)更新條件,θNav?←θNav,θCA?←θCA;
11)返回更新后策略網(wǎng)絡(luò) πφ。
本文構(gòu)建了基于ROS 的多機器人控制系統(tǒng)以供強化學(xué)習(xí)算法進(jìn)行機器人路徑導(dǎo)航訓(xùn)練學(xué)習(xí),每個機器人與ROS 主機的信息構(gòu)圖框架圖如圖9 所示。
圖9 基于ROS 的單機器人控制系統(tǒng)Fig.9 Single robot control system based on ROS
本研究使用Gazebo 物理仿真環(huán)境作為機器人在實際環(huán)境中的模擬環(huán)境,并使用了Turtlebot3作為虛擬實驗機器人,其裝載有一個激光雷達(dá)掃描儀,其探測距離為3.5 m,激光雷達(dá)的采樣率為128 Hz,采樣范圍為180°。
本文所述ROS 系統(tǒng)基于Ubuntu18.04,使用虛擬機器人為Turtlebot3 waffle,在Gazebo 中構(gòu)建避障模擬環(huán)境如圖10 所示,本實驗中 ξ=20。圖中,綠色圓形區(qū)域為機器人的目標(biāo)點區(qū)域,紅色區(qū)域則表示障礙物,實際執(zhí)行時,機器人將在一個非障礙物且非目標(biāo)點的區(qū)域隨機初始化,并在3 個目標(biāo)點中隨機選擇一個作為任務(wù)目標(biāo)。
圖10 機器人導(dǎo)航實驗環(huán)境Fig.10 Robot navigation experiment environment
通過訓(xùn)練,獲得了基于MFPG 算法的機器人導(dǎo)航模型,在訓(xùn)練過程中,與傳統(tǒng)DDPG 算法以及加入獎勵偏執(zhí)的DDPG 算法相比,機器人每步動作獲得的獎勵值及對應(yīng)Q值隨訓(xùn)練步長的變化如圖11 所示。
圖11 模型訓(xùn)練Fig.11 Model training
3 種算法在訓(xùn)練過程中均具有收斂特征,但相比較而言,帶有偏置獎勵的DDPG 算法穩(wěn)定性較差,訓(xùn)練過程中獎勵值和Q值均出現(xiàn)大幅度波動,且方差區(qū)間較高,而標(biāo)準(zhǔn)DDPG 算法則表現(xiàn)出相對穩(wěn)定的特征,并具有較為穩(wěn)定的方差區(qū)間,Q值和獎勵在訓(xùn)練過程中變化穩(wěn)定,表明算法可以較好的應(yīng)對多機器人避障問題,但仍存在訓(xùn)練過程中訓(xùn)練速度較慢等問題,而在本文所述多目標(biāo)策略梯度優(yōu)化算法中,從導(dǎo)航和避障獎勵中可以看出,算法在訓(xùn)練早期(1000 步)時已經(jīng)可以穩(wěn)定獲得較高獎勵且在后續(xù)訓(xùn)練過程中仍能保持穩(wěn)定,且方差較小,同時Q 值網(wǎng)絡(luò)方差較小,且數(shù)值變化穩(wěn)定,導(dǎo)航方面Q值的增長速度明顯優(yōu)于標(biāo)準(zhǔn)DDPG 算法,說明本文所述多目標(biāo)策略梯度優(yōu)化算法可以較好的完成多機器人避障任務(wù)。經(jīng)過多次測試,機器人導(dǎo)航避障成功率約為95.3%。
本節(jié)將前述小節(jié)中的機器人避障算法模型移植進(jìn)入基于ROS 的移動機器人平臺中,并在實驗場地分別進(jìn)行靜態(tài)尋路測試和動態(tài)障礙物避障測試,最終得到結(jié)果如圖12 所示,展示了2 個導(dǎo)航過程的行進(jìn)示意和軌跡圖。
在圖12(a)和(b)中可以觀察到機器人從地圖左側(cè)中間出發(fā)向右側(cè)的通道行進(jìn),其行進(jìn)圖如圖所示。途中經(jīng)過3 個障礙物,并兩次與動態(tài)障礙物相遇,從行進(jìn)圖中可以發(fā)現(xiàn),第1~5 s,機器人發(fā)現(xiàn)右前方障礙物,并向著第1 個和第2 個障礙物之間的空間前進(jìn),第7 s 出現(xiàn)移動障礙物,機器人判斷形勢,在11 s 向左側(cè)規(guī)避,但在13 s 發(fā)現(xiàn)移動障礙物已經(jīng)快速達(dá)到左側(cè),因此在13~15 s 恢復(fù)正常航向,向右前側(cè)出發(fā),并調(diào)整姿態(tài),避讓第3個障礙物,此時移動障礙物從右側(cè)出現(xiàn),并在21 s快速移動到機器人右側(cè),此時機器人已經(jīng)經(jīng)過第3 個障礙物,向左前側(cè)前進(jìn)(21 s),并在23~35 s 正常導(dǎo)航直至抵達(dá)任務(wù)規(guī)定目標(biāo)點。
在圖12(c)和(d)中機器人從地圖右側(cè)中間出發(fā),向其左前側(cè)的區(qū)域前進(jìn),途中機器人經(jīng)過3 個靜態(tài)障礙物并與動態(tài)障礙物進(jìn)行一次相遇,圖中,1~9 s 機器人探測到前方的兩個障礙物,并選擇從二者中間的空間經(jīng)過,11s 開始,動態(tài)障礙物開始出現(xiàn),19~23 s 機器人探測到移動障礙物,并根據(jù)其位置調(diào)整其航向向右前方行駛(25~29 s),從而成功躲避了移動障礙物,31 s 至47 s 機器人按照自身信息及位置導(dǎo)航至目標(biāo)點。
圖12 單機器人靜態(tài)測試結(jié)果Fig.12 Single robot static test results
從圖中可以看出,移動機器可以準(zhǔn)確完成機器人控制以及尋路任務(wù),且對于移動障礙物具有明顯的避障及尋路特征,說明訓(xùn)練所得算法在移動機器人控制中可以執(zhí)行有障礙物狀態(tài)下的尋路和動態(tài)避障任務(wù)。
本節(jié)將在先前基礎(chǔ)上建立多機器人系統(tǒng)的控制流程,搭建用于多機器人導(dǎo)航的虛擬環(huán)境并進(jìn)行訓(xùn)練,最后使用多臺移動機器人平臺進(jìn)行尋路實驗。
由于訓(xùn)練過程中機器人需要在環(huán)境中進(jìn)行初期探索并積累經(jīng)驗池的經(jīng)驗,使用多機器人系統(tǒng)在訓(xùn)練早期可以有效提高經(jīng)驗搜集效率,縮短訓(xùn)練模型學(xué)習(xí)時間,從而提高算法訓(xùn)練效率,因此本文在前述單機器人導(dǎo)航任務(wù)實驗的基礎(chǔ)上,構(gòu)建了多機器人訓(xùn)練的流程模型,其流程圖可見圖13。
圖13 多機器人訓(xùn)練流程Fig.13 Multi-robot training process
1)算法獲取虛擬環(huán)境中機器人的信息(激光雷達(dá)傳感器數(shù)值,坐標(biāo)位置信息),并進(jìn)行預(yù)處理;
2) 將上述預(yù)處理后得到的狀態(tài)信息和動作信息和獎勵信息一起添加進(jìn)經(jīng)驗回放池,留待訓(xùn)練;
3)判斷當(dāng)前經(jīng)驗池的狀態(tài),如果沒有達(dá)到經(jīng)驗回放池上限,則使用人工勢場算法,根據(jù)機器人的狀態(tài)信息進(jìn)行判斷,并提出決策信息。
4)如果經(jīng)驗回放池達(dá)到上限,則開始強化學(xué)習(xí)算法的網(wǎng)絡(luò)訓(xùn)練,神經(jīng)網(wǎng)絡(luò)會替代人工勢場算法作為多機器人系統(tǒng)的控制算法,同時搜集新的經(jīng)驗信息替換已有的經(jīng)驗;
5)重復(fù)3)~4),直到達(dá)到終止條件。
其中為了提高早期經(jīng)驗搜集效率,增加經(jīng)驗池中優(yōu)質(zhì)經(jīng)驗比例,提高算法學(xué)習(xí)效率,在經(jīng)驗池達(dá)到上限之前,在環(huán)境中的各個機器人采用人工勢場法進(jìn)行導(dǎo)航,當(dāng)經(jīng)驗池達(dá)到上限時,MFPG開始根據(jù)改進(jìn)的人工勢場算法對經(jīng)驗池進(jìn)行采樣,并進(jìn)行學(xué)習(xí),逐漸提高算法的決策能力。
由于Turtlebot3 與遠(yuǎn)程主機使用WIFI 網(wǎng)絡(luò)連接,實際執(zhí)行過程中容易受到無線信號影響,因此,需要對兩個Turtlebot3 的動作信息進(jìn)行處理以保證動作信息在通信延遲較高的環(huán)境下仍然可以正常運行。
為了保證機器人的動作信息能夠正常執(zhí)行導(dǎo)航算法,將應(yīng)用在機器人上的策略數(shù)值進(jìn)行了縮放,保證機器人能正常執(zhí)行動作策略,其具體計算公式為
式中:It表示t時刻的狀態(tài)補償參數(shù),用來降低由于通信阻塞情況導(dǎo)致的策略誤差,其定義為
執(zhí)行任務(wù)時,為了保證算法能同時開始執(zhí)行導(dǎo)航動作,在Linux 系統(tǒng)中搭建了一個本地NTP服務(wù)器用于保證Turtlebot3、遠(yuǎn)程主機和板載主機之間的時間統(tǒng)一,實際執(zhí)行時,板載主機通過WIFI 連接向遠(yuǎn)程主機申請進(jìn)行時間校驗,并根據(jù)返回時間對自身信息進(jìn)行校驗,此后兩個主機將選擇同一時間執(zhí)行導(dǎo)航任務(wù)。
5.3.1 訓(xùn)練環(huán)境
本節(jié)在前述機器人控制架構(gòu)的基礎(chǔ)上構(gòu)建了模擬廠區(qū)環(huán)境,其環(huán)境如圖14 所示。
圖14 訓(xùn)練環(huán)境Fig.14 Training environment
我們選用4 個移動機器人進(jìn)行算法的訓(xùn)練以及測試。在訓(xùn)練過程中,每個機器人隨機選擇圖中綠色圓形區(qū)域和綠色方框區(qū)作為算法的任務(wù)初始點,并隨機選擇除該機器人初始點以外的其他任務(wù)初始點作為導(dǎo)航目標(biāo)。機器人通過算法輸出的運動指令向目標(biāo)區(qū)域進(jìn)行移動,完成各自的導(dǎo)航任務(wù)。在算法的性能測試過程中,車輛被隨機分配至四個圓形區(qū)域,而其導(dǎo)航目標(biāo)位置為該車的起始點在模擬工廠環(huán)境的對角位置,即對于為1 的機器人,其目標(biāo)位置設(shè)置在3。
5.3.2 訓(xùn)練結(jié)果
經(jīng)過200 輪訓(xùn)練后,對所得模型進(jìn)行效果較好者進(jìn)行性能測試對比,得到兩算法在模擬廠區(qū)環(huán)境下的性能測試結(jié)果如表1 所示。在本實驗中,實驗參數(shù)為總訓(xùn)練回合數(shù):400,單回合最多執(zhí)250 步,ROS 系統(tǒng)運行頻率45 Hz,ξ=20。
表1 算法性能對比Table 1 Comparison of algorithm performance
在測試中,采用了平均碰撞距離作為算法導(dǎo)航性能的衡量標(biāo)準(zhǔn),其定義為:機器人發(fā)生碰撞時,距離目標(biāo)點的直線距離,較小的平均碰撞距離反映算法具有較好的導(dǎo)航能力。從表中可以看出,相比較標(biāo)準(zhǔn)DDPG 算法,本文所述多特征策略優(yōu)化算法具有更高的成功率,并且平均碰撞距離和最小距離圓面積的均值和方差也是小于標(biāo)準(zhǔn)DDPG 算法,說明所提出的基于多特征策略梯度優(yōu)化方法的多機器人導(dǎo)航具有較高的可靠性。
將上述2 種算法在模擬廠區(qū)環(huán)境中的路徑軌跡標(biāo)繪在圖中可以得到圖15。
圖15 路徑軌跡Fig.15 Path trajectory
從圖中可以看出,多特征策略優(yōu)化算法控制下的多機器人軌跡相對平滑,具有較小的波動,且多機器人在相遇時具有較為規(guī)范的避讓動作,保證了多機器人系統(tǒng)在執(zhí)行過程中的控制穩(wěn)定性,而標(biāo)準(zhǔn)DDPG 算法在導(dǎo)航過程中則具有較多的控制波動,說明算法在執(zhí)行過程中存在決策穩(wěn)定性差的情況,且在多個機器人相遇時,機器人軌跡波動嚴(yán)重,這說明算法在多機器人相遇時處理動態(tài)障礙物能力較差,這對多機器人系統(tǒng)而言是致命的,而統(tǒng)計結(jié)果也表明了所提出的多特征策略梯度優(yōu)化方法在多機器人系統(tǒng)中的動態(tài)避障和導(dǎo)航問題中相對標(biāo)準(zhǔn)DDPG 算法具有顯著優(yōu)勢。
此外,為保證本算法所訓(xùn)練模型不受機器人數(shù)目的影響,使用在前述算法所訓(xùn)練的模型在8 個機器人的模擬工廠環(huán)境中進(jìn)行了尋路測試,由于實驗機器人數(shù)目增加,為保證每個機器人的控制頻率符合模型的控制頻率,本次實驗中ROS系統(tǒng)的控制頻率為90 Hz,獲得尋路軌跡如圖16所示。
圖16 8 機器人尋路路徑軌跡Fig.16 8 Robot path trajectory
從圖中可以看出,多個機器人在執(zhí)行任務(wù)過程中在車流量較高的中心區(qū)域可以正常通行,且均遵循右手通行原則,保證了多機器人系統(tǒng)運行時的安全性,測試結(jié)果表明所提出的算法模型不受多機器人系統(tǒng)中機器人數(shù)目的影響,因而提高了該方法在多機器人系統(tǒng)中的應(yīng)用范圍。
本次測試使用的控制主機與前述相同,場地參數(shù) ξ=5,運行速度0.4 m/s。機器人的抵達(dá)目標(biāo)的感知半徑為0.5 m,本次實驗共計使用了2 臺遠(yuǎn)程主機和1 臺板載主機,3 臺主機均連接至同一無線網(wǎng)絡(luò),2 臺Turtlebot3 機器人具有自己的IP地址,并由2 臺遠(yuǎn)程主機控制,為保證能夠?qū)? 臺Turtlebot3 進(jìn)行區(qū)分,也方便板載機器人獲取其位置信息,在機器人頂端分別安裝了紅色和黃色的標(biāo)識盒。
在行進(jìn)圖17(a)中黃色小車從下方開始從左側(cè)運動并在達(dá)到邊界后向右上側(cè)運動,最終抵達(dá)目標(biāo)點,而紅色小車則在13 s 與板載主機機器人相遇,而后紅色機器人感知到板載機器人位置,并執(zhí)行避讓動作,并在紅色機器人與板載機器人之間出現(xiàn)可以通行的空間時,從板載主機機器人側(cè)后方向前行駛,避免了與板載主機機器人的碰撞,二者在最后分別抵達(dá)目標(biāo)點。
而在行進(jìn)圖17(b)中,黃色機器人運行時感知到板載主機機器人位置,選擇從右側(cè)行進(jìn),但在運行過程中判斷與板載主機機器人發(fā)生碰撞的可能行較高,因此在33 s 時選擇機器人板載機器人側(cè)后方行進(jìn),并在脫離板載主機機器人碰撞范圍后向目標(biāo)點行進(jìn),最終抵達(dá)目標(biāo),而板載主機機器人則探測到其左側(cè)存在紅色機器人并向其運動方向前方運行,因此選擇向紅色機器人后側(cè)轉(zhuǎn)彎,紅色機器人則選擇向左前方運行,以避讓板載主機機器人,而板載主機機器人在紅色機器人離開后向目標(biāo)點導(dǎo)航,最終二者順利抵達(dá)目標(biāo)點。
圖17 多機器人動態(tài)避障導(dǎo)航實驗Fig.17 Dynamic obstacle avoidance navigation experiment of multiple robots
其具體軌跡如圖18 所示,軌跡圖18(a) 和18(b)中紅色機器人從圖中上方向下方移動,而黃色機器人則從下方向上方移動,而軌跡圖1 中板載機器人則從左側(cè)移動至右側(cè),而在18(b)中則從右側(cè)移動至左側(cè),圖中藍(lán)色虛線表示板載主機機器人的路徑軌跡,綠色虛線表示黃色機器人的路徑軌跡,紅色虛線則表示紅色機器人的路徑軌跡信息。
圖18 機器人軌跡Fig.18 Robot trajectory
實驗結(jié)果顯示,3 輛移動機器人平臺在實驗過程中可以感知到其他機器人的移動位置并執(zhí)行相應(yīng)的回避動作,最終安全抵達(dá)實驗預(yù)定的目標(biāo)地點。結(jié)果證明,本文所述的基于強化學(xué)習(xí)的多機器人導(dǎo)航算法可以應(yīng)用于多移動機器人平臺在不依靠精確地圖環(huán)境下的導(dǎo)航及動態(tài)避障。
本文針對現(xiàn)有多機器人系統(tǒng)中依賴精確地圖的人機協(xié)同場景下存在的問題提出了基于深度強化學(xué)習(xí)算法的多特征策略優(yōu)化算法作為機器人導(dǎo)航模型中的決策中心,搭建了基于ROS 的強化學(xué)習(xí)虛擬訓(xùn)練環(huán)境,并將所得動態(tài)避障導(dǎo)航算法模型應(yīng)用在實際機器人中。實驗結(jié)果表明,本文所提出的導(dǎo)航算法可以應(yīng)用于多移動機器人平臺在不依靠精確地圖環(huán)境下的導(dǎo)航及動態(tài)避障。但算法的訓(xùn)練時間較長,且在訓(xùn)練后期穩(wěn)定性欠佳是該任務(wù)中尚存的問題,應(yīng)當(dāng)注意在未來工作中對于強化學(xué)習(xí)算法穩(wěn)定性的分析和改進(jìn),保證強化學(xué)習(xí)算法的收斂穩(wěn)定性。