周婉 胡學(xué)敏 史晨寅 魏潔玲 童秀遲
摘 要:針對公共場合密集人群在緊急情況下疏散的危險性和效果不理想的問題,提出一種基于深度Q網(wǎng)絡(luò)(DQN)的人群疏散機器人的運動規(guī)劃算法。首先通過在原始的社會力模型中加入人機作用力構(gòu)建出人機社會力模型,從而利用機器人對行人的作用力來影響人群的運動狀態(tài);然后基于DQN設(shè)計機器人運動規(guī)劃算法,將原始行人運動狀態(tài)的圖像輸入該網(wǎng)絡(luò)并輸出機器人的運動行為,在這個過程中將設(shè)計的獎勵函數(shù)反饋給網(wǎng)絡(luò)使機器人能夠在“環(huán)境行為獎勵”的閉環(huán)過程中自主學(xué)習(xí);最后經(jīng)過多次迭代,機器人能夠?qū)W習(xí)在不同初始位置下的最優(yōu)運動策略,最大限度地提高總疏散人數(shù)。在構(gòu)建的仿真環(huán)境里對算法進行訓(xùn)練和評估。
實驗結(jié)果表明,與無機器人的人群疏散算法相比,基于DQN的人群疏散機器人運動規(guī)劃算法使機器人在三種不同初始位置下將人群疏散效率分別增加了16.41%、10.69%和21.76%,說明該算法能夠明顯提高單位時間內(nèi)人群疏散的數(shù)量,具有靈活性和有效性。
關(guān)鍵詞:深度Q網(wǎng)絡(luò);人群疏散;運動規(guī)劃;人機社會力模型;強化學(xué)習(xí)
中圖分類號:TP391.7
文獻標(biāo)志碼:A
Abstract: Aiming at the danger and unsatisfactory effect of dense crowd evacuation in public places in emergency, a motion planning algorithm of robots for crowd evacuation based on Deep Q-Network (DQN) was proposed. Firstly, a human-robot social force model was constructed by adding human-robot interaction to the original social force model, so that the motion state of crowd was able to be influenced by the robot force on pedestrians. Then, a motion planning algorithm of robot was designed based on DQN. The images of the original pedestrian motion state were input into the network and the robot motion behavior was output. In this process, the designed reward function was fed back to the network to enable the robot to autonomously learn from the closed-loop process of “environment-behavior-reward”. Finally, the robot was able to learn the optimal motion strategies at different initial positions to maximize the total number of people evacuated after many iterations. The proposed algorithm was trained and evaluated in the simulated environment. Experimental results show that the proposed algorithm based on DQN increases the evacuation efficiency by 16.41%, 10.69% and 21.76% respectively at three different initial positions compared with the crowd evacuation algorithm without robot, which proves that the algorithm can significantly increase the number of people evacuated per unit time with flexibility and effectiveness.
Key words: Deep Q-Network (DQN); crowd evacuation; motion planning; human-robot social force model; reinforcement learning
0 引言
隨著城市經(jīng)濟建設(shè)的快速發(fā)展,大型購物中心、體育館、影劇院等高密度人群的公共場所越來越多。當(dāng)緊急突發(fā)事件發(fā)生時,逃生的人群往往會在出口處擁擠而形成堵塞,容易發(fā)生事故,存在著極大的安全隱患。傳統(tǒng)人員安全疏散的方法有人工協(xié)助疏散和擺放靜止物體協(xié)助疏散。前者極度浪費人力資源,并且對工作人員的安全造成威脅,而后者難以有效地適應(yīng)變化的環(huán)境,疏散效果不理想。因此,在公共場所發(fā)生緊急突發(fā)事件時,如何快速、科學(xué)地疏散人群是公共安全領(lǐng)域中一個亟待解決的問題。
國內(nèi)外科學(xué)研究者在人群疏散問題上進行了深入的研究并建立了多種模擬人群行為的模型,其中由Helbing等[1]提出的社會力模型(Social Force Model, SFM)大量用于研究緊急人群疏散。另一方面,隨著計算機科學(xué)技術(shù)的發(fā)展,機器人越來越智能化,利用機器人疏散人群的方法也越來越多。Robinette等[2]提出機器人引導(dǎo)人群疏散到逃生出口;Boukas等[3]提出基于元胞自動機模型對人群疏散進行仿真,并利用仿真結(jié)果得到的反饋使移動機器人疏散人群。雖然這些利用機器人疏散人群的方法有一定的成效,但是由于實際疏散場景復(fù)雜,人群密度高,并且這些算法不具有學(xué)習(xí)能力,因而難以適應(yīng)復(fù)雜的實際人群疏散場景。
在機器人疏散人群方法中,機器人的運動規(guī)劃算法是核心,直接決定疏散效果的好壞。運動規(guī)劃作為機器人領(lǐng)域的一個重點研究問題,是指在一定條件的約束下為機器人找到從初始狀態(tài)到目標(biāo)狀態(tài)的最佳路徑和運動參數(shù)。傳統(tǒng)運動規(guī)劃方法是在先驗環(huán)境下,預(yù)先設(shè)定規(guī)則,機器人依據(jù)規(guī)則實現(xiàn)運動規(guī)劃。然而當(dāng)遇到動態(tài)未知的環(huán)境時,此類方法由于靈活性不強而難以適應(yīng)復(fù)雜環(huán)境。近幾年來,越來越多的運動規(guī)劃研究者把目光集中到機器學(xué)習(xí)方面,其中文獻[4]提出的深度強化學(xué)習(xí)就是運動規(guī)劃領(lǐng)域的研究熱點之一。深度強化學(xué)習(xí)是一種“試錯”的學(xué)習(xí)方法,自主體隨機選擇并執(zhí)行動作,然后基于環(huán)境狀態(tài)變化所給予的反饋,以及當(dāng)前環(huán)境狀態(tài)再選擇并執(zhí)行下一個動作,通過深度強化學(xué)習(xí)算法在“動作反饋”中獲取知識,增長經(jīng)驗。深度強化學(xué)習(xí)的開創(chuàng)性工作深度Q網(wǎng)絡(luò)(Deep Q-Network, DQN)通過探索原始圖像提取特征進行實時策略在視頻游戲等領(lǐng)域有了重大突破,Mnih等[5]利用智能體在策略選擇方面超越了人類的表現(xiàn)。隨后Mnih等[6]又提出了更接近人思維方式的人智能體運動規(guī)劃算法,并應(yīng)用于Atari游戲,取得了驚人的效果。隨著AlphaGo的成功,深度強化學(xué)習(xí)在運動規(guī)劃問題上應(yīng)用越來越廣泛,例如用于無人車[7]、無人機和多智能體[8]等領(lǐng)域。同時,Giusti等[9]利用深度強化學(xué)習(xí)在機器人的導(dǎo)航上也取得了廣泛的應(yīng)用?;谏疃葟娀瘜W(xué)習(xí)算法的機器人在復(fù)雜未知的環(huán)境中學(xué)習(xí)速度更快、效率更高、靈活性更強,因此將深度強化學(xué)習(xí)應(yīng)用于人群疏散機器人的運動規(guī)劃算法是解決人群疏散難題的一個有效途徑。
針對目前人群疏散機器人自主學(xué)習(xí)等問題以及深度強化學(xué)習(xí)的優(yōu)點,本文提出一種基于深度Q網(wǎng)絡(luò)的人群疏散機器人運動規(guī)劃算法。該算法中,在基于人機社會力模型的前提下,機器人能夠通過自身的運動影響周圍人群的狀態(tài)。通過Su等[10]提出的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN),提取人群疏散圖像的特征;設(shè)計面向人群疏散機器人運動規(guī)劃的DQN算法,通過DQN分析特征并進行運動規(guī)劃,給出機器人的運動策略。在獲取當(dāng)前環(huán)境給予的反饋后,自動調(diào)整其運動參數(shù),讓機器人運動到最佳的狀態(tài),從而影響周圍人群的運動狀態(tài),達到疏散人群的目的。本文方法既能解決公共安全領(lǐng)域中人群疏散的難題,又為深度強化學(xué)習(xí)算法在機器人領(lǐng)域的應(yīng)用提供新思路。
1 機器人與人群的交互作用模型
本文采用文獻[11]中提出的人機社會力模型作為機器人與人群的交互作用模型。人機社會力模型以SFM為基礎(chǔ)。SFM是基于牛頓第二定律,將人群中的個體當(dāng)成離散的質(zhì)點,將人的運動軌跡看作是受到合力的作用效果,并綜合考慮人群心理因素設(shè)計的行人動力學(xué)模型,能夠解釋行人逃生時行為的本質(zhì)。SFM中行人受到的合力由以下三種組成:自驅(qū)動力、人與人之間的相互作用力、人與障礙物之間的相互作用力。人機社會力模型是在原始的SFM中加入了機器人對人的作用,利用人機之間的相互作用力來影響人群的行為,從而達到疏散人群的效果。
由于在緊急情況下疏散人群時機器人的運動分析較為復(fù)雜。文獻[11]參照人與人之間的作用力來設(shè)計人機作用力的表達形式,如式(1)所示:
其中: fir為機器人對行人i的作用力,即人機作用力;rir表示人與機器人的幾何中心距離;Ar和Br分別指人機作用力的作用強度和作用范圍;k、κ為常量系數(shù);nir表示機器人指向行人i的單位向量;tir為與nir正交的單位矢量。
其中:mi為行人i的質(zhì)量;vi(t)為行人i的速度; fs為行人i的自驅(qū)動力; fij為行人i和j的相互作用力; fiw為行人i與障礙物之間的相互作用力。??在人機社會力模型中,機器人能夠通過自身的運動來影響和改變周圍行人的運動狀態(tài),從而為人群疏散提供機器人與人群的交互作用模型。
2 基于深度Q網(wǎng)絡(luò)的機器人運動規(guī)劃算法
在機器學(xué)習(xí)方法中,深度神經(jīng)網(wǎng)絡(luò)具有表達復(fù)雜環(huán)境的能力,而強化學(xué)習(xí)是解決復(fù)雜決策問題的有效手段,因此將兩者結(jié)合起來能夠為復(fù)雜系統(tǒng)的感知決策問題提供解決思路。DQN是一種經(jīng)典的深度強化學(xué)習(xí)模型,是深度學(xué)習(xí)和強化學(xué)習(xí)的結(jié)合,也就是用深度神經(jīng)網(wǎng)絡(luò)框架來擬合強化學(xué)習(xí)中的Q值,可以使機器人真正自主學(xué)習(xí)一種甚至多種策略[12]。本文在人機社會力模型的基礎(chǔ)上,針對人群疏散的問題,基于DQN模型設(shè)計面向人群疏散機器人的運動規(guī)劃算法,優(yōu)化機器人的運動方式,從而影響人群的運動,提高人群疏散的效率。
2.1 深度Q網(wǎng)絡(luò)
DQN是一種結(jié)合了CNN與Q學(xué)習(xí)(Q-Learning)[13]的算法。
CNN的輸入是原始圖像數(shù)據(jù)(作為狀態(tài)),輸出是提取的特征;Q-learning通過馬爾可夫決策[14]建立模型,核心為三元組:狀態(tài)、動作和獎勵(反饋)。智能體根據(jù)當(dāng)前環(huán)境的狀態(tài)來采取動作,在獲得相應(yīng)的獎勵后,能通過試錯的方法再去改進動作,使得在接下來的環(huán)境下智能體能夠做出更優(yōu)的動作,得到更高的獎勵。
DQN用強化學(xué)習(xí)來建立模型和優(yōu)化目標(biāo),用深度學(xué)習(xí)來解決狀態(tài)表示或者策略表示,它從環(huán)境中獲取數(shù)據(jù),將感知的狀態(tài)輸入到Q網(wǎng)絡(luò),使機器人選擇最大Q值的動作,每隔一定時間將主Q網(wǎng)絡(luò)的參數(shù)復(fù)制給目標(biāo)Q網(wǎng)絡(luò),并且網(wǎng)絡(luò)會通過損失函數(shù)進行反向傳播更新主網(wǎng)絡(luò)的參數(shù),反復(fù)訓(xùn)練,直至損失函數(shù)收斂,其算法流程如圖1所示。
圖1中:s為智能體的當(dāng)前狀態(tài);s′為智能體的下一個狀態(tài);r為獎勵;a為機器人的當(dāng)前動作;a′為機器人的下一個動作;γ為折扣因子;θ為網(wǎng)絡(luò)權(quán)值。智能體感知當(dāng)前時刻下的狀態(tài)s,根據(jù)狀態(tài)與動作之間的映射關(guān)系來采取在當(dāng)前環(huán)境的動作,映射關(guān)系如式(5)所示:
其中:π為狀態(tài)到動作的映射過程[15]。智能體在執(zhí)行完所選的動作后,根據(jù)式(5)計算出當(dāng)前動作的Q值[16]。同時,智能體與環(huán)境交互得到的(s,a,r,s′)會存儲在回放經(jīng)驗池中,當(dāng)回放經(jīng)驗池里的樣本到達一定數(shù)量時,每次訓(xùn)練時從經(jīng)驗池中隨機抽取數(shù)量固定的樣本供給網(wǎng)絡(luò)學(xué)習(xí),并對DQN損失函數(shù)使用梯度下降算法更新主網(wǎng)絡(luò)的參數(shù)θ。本文設(shè)計的DQN的損失函數(shù)如式(6)所示:
其中,DQN使用了兩個結(jié)構(gòu)一樣但是參數(shù)卻不相同的Q網(wǎng)絡(luò):第一個Q網(wǎng)絡(luò)是主網(wǎng)絡(luò),它是用來計算智能體動作的Q值,并選出最大Q值的動作,計算當(dāng)前動作Q值如式(7)所示;第二個Q網(wǎng)絡(luò)用來輔助訓(xùn)練,稱其為目標(biāo)Q網(wǎng)絡(luò),它的作用是輔助計算目標(biāo)Q值,目標(biāo)Q值計算方程如式(8)所示。
模型在主Q網(wǎng)絡(luò)上通過其最大Q值選擇動作,再去獲取該動作在目標(biāo)Q網(wǎng)絡(luò)上的Q值。這樣主Q網(wǎng)絡(luò)負(fù)責(zé)選擇相應(yīng)的行為a,而這個被選定的a的Q值則由目標(biāo)Q網(wǎng)絡(luò)生成。
2.2 人群疏散機器人的運動規(guī)劃算法
本文設(shè)計的基于DQN的人群疏散機器人運動規(guī)劃算法如圖2所示。該算法中,將深度Q網(wǎng)絡(luò)加入到機器人協(xié)助的人群疏散算法中,利用CNN提取人群疏散圖像的特征,然后通過Q網(wǎng)絡(luò)輸出為Q(s,a),即Q值。
機器人會根據(jù)當(dāng)前人群疏散場景圖像的狀態(tài)st采取機器人協(xié)助疏散的動作at,進而根據(jù)獎勵函數(shù)獲得一個獎勵rt,并且達到下一個狀態(tài)st+1,機器人由獎勵來判斷該時刻自己選擇的動作的好壞,并更新值函數(shù)網(wǎng)絡(luò)參數(shù)。接著再由下一個狀態(tài)得到一個獎勵,循環(huán)獲得獎勵值,直至訓(xùn)練結(jié)束,得到一個較好的值函數(shù)網(wǎng)絡(luò)。
本文設(shè)計的算法本質(zhì)是機器人基于人群疏散的環(huán)境感知得到s,通過DQN選擇a并且得到獎勵r,從而對機器人的運動規(guī)劃進行優(yōu)化。因此,設(shè)計狀態(tài)、動作和獎勵的算法對于本文提出的運動規(guī)劃算法起到至關(guān)重要的作用。
1)狀態(tài)空間設(shè)計。
狀態(tài)空間是機器人從環(huán)境中獲取的感知信息的集合,它在DQN中是Q-Learning的主線,為Q網(wǎng)絡(luò)提供信息數(shù)據(jù);并且,每個輸入的狀態(tài)都能夠前向傳播,通過網(wǎng)絡(luò)獲得行動的Q值。由于原始圖像尺寸過大,處理數(shù)據(jù)需要占用計算機大量的內(nèi)存空間與計算資源,并且圖像中還包含了許多諸如邊界像素等無效的信息,因此本文只將機器人附近的區(qū)域作為狀態(tài)輸入圖像,并對原始人群疏散圖像進行縮放處理,處理后輸入圖像的尺寸為84×84像素。為獲取前后幀的動態(tài)信息,本文對離當(dāng)前時刻最近的n(本文中n=4為經(jīng)驗值)幀場景圖像進行灰度化處理,并同時輸入CNN中。因此最終輸入狀態(tài)的圖像尺寸為84×84×4,用公式表述如(9)所示:其中:S為狀態(tài)的集合;st表示當(dāng)前時刻輸入的狀態(tài)圖像;t為當(dāng)前時刻?在本文設(shè)計的DQN模型中,用一個CNN來擬合Q函數(shù),以降低深度Q網(wǎng)絡(luò)算法復(fù)雜度。由于本文輸入圖像為仿真圖像,圖像內(nèi)容較為單一,所以本文設(shè)計提取狀態(tài)的CNN網(wǎng)絡(luò)結(jié)構(gòu)較為簡單,如圖2所示。本文設(shè)計的模型一共有4層, 其中包括3個卷積層與一個全連接層。第一層卷積運算卷積核大小為8×8,步長為4;第二層卷積運算卷積核大小為4×4,步長為2;第三層卷積運算卷積核大小為3×3,步長為1;最后經(jīng)過全連接層后輸出512個節(jié)點的映射集合。
2)動作空間設(shè)計。
動作空間是機器人根據(jù)自身的狀態(tài)采取的行為的集合,也是實現(xiàn)機器人運動規(guī)劃的運動參數(shù),它在DQN中相當(dāng)于指令集。本文中機器人的行為策略采用的是貪婪算法,貪婪算法是在對問題求解時,對每一步都采用最優(yōu)的選擇,希望產(chǎn)生對問題的全局最優(yōu)解[17]。機器人根據(jù)設(shè)定的參數(shù)探索概率ε的大小來選擇動作模式,并采取Q值最大的貪心動作。ε越大,機器人能更加迅速地探索未知情況,適應(yīng)變化;ε越小,機器人則趨于穩(wěn)定,有更多機會去優(yōu)化策略。由于深度Q網(wǎng)絡(luò)適用于智能體采取離散動作,而實際場景中機器人往往采用連續(xù)的動作疏散人群。但只要相鄰動作間隔時間短,離散動作可近似為連續(xù)動作。機器人作為人群疏散的智能體,只有一個運動方向無法起到疏散效果;選取兩個方向又具有運動范圍的局限性,很難達到最優(yōu);如果選取8向運動,訓(xùn)練復(fù)雜度太大。因此綜合考慮疏散效果和訓(xùn)練復(fù)雜度,本文設(shè)計的機器人的動作采取上、下、左、右4個離散動作。動作集合如式(10)所示:
3)獎勵函數(shù)設(shè)計。
獎勵是對機器人選擇動作好壞的判斷根據(jù),獎勵函數(shù)在DQN中起到引導(dǎo)學(xué)習(xí)的作用。DQN利用帶有時間延遲的獎勵構(gòu)造標(biāo)簽,即每一個狀態(tài)都有著對應(yīng)的獎勵。在機器人協(xié)助的人群疏散中,目的是讓擁擠的人群更快速地疏散完畢,因此當(dāng)前時刻撤離的人數(shù)是對機器人當(dāng)前行為最直接的反饋。然而,倘若機器人在本次的動作對該次逃生出的人數(shù)有負(fù)影響,但在后幾次運動中疏散人群數(shù)量較多,也不能簡單判斷本次機器人選擇的動作是不合理的,因此本文采用機器人執(zhí)行了一個動作后,未來人群在m(本文中m=5,經(jīng)驗值)次迭代過程中疏散的人數(shù)作為環(huán)境給予學(xué)習(xí)系統(tǒng)的獎勵。通過逃出的人數(shù)值,可自然形成獎勵值。因此本文設(shè)計的獎勵函數(shù)如式(11)所示。
4)算法參數(shù)設(shè)計。
在深度強化學(xué)習(xí)算法中,參數(shù)的設(shè)計與調(diào)整對訓(xùn)練的效果有很大的影響。本文基于DQN的人群疏散機器人運動規(guī)劃算法的參數(shù)如表1所示。
其中:學(xué)習(xí)率是指在優(yōu)化算法中更新網(wǎng)絡(luò)權(quán)重的幅度大小,學(xué)習(xí)率太高會使網(wǎng)絡(luò)學(xué)習(xí)過程不穩(wěn)定,而學(xué)習(xí)率太低又會使網(wǎng)絡(luò)經(jīng)過很長時間才會達到收斂狀態(tài)。實驗結(jié)果表明,學(xué)習(xí)率設(shè)為0.0001時,網(wǎng)絡(luò)能較快地收斂到最優(yōu),因此本文選擇學(xué)習(xí)率為0.0001。隨機貪婪搜索中的搜索因子作為選取隨機動作的概率,在觀察時期,智能體是完全隨機選擇動作,因此本文選擇初始搜索因子為1;而隨著迭代次數(shù)增加,隨機動作概率逐漸減小,智能體會越來越依賴于網(wǎng)絡(luò)學(xué)習(xí)到的知識來選擇動作,因此選擇終止搜索因子為0.05。折扣因子表示時間的遠(yuǎn)近對預(yù)期回報的影響程度,由于在本實驗中,即刻回報與未來回報同等重要,因此本文將折扣因子設(shè)為1。記憶池用來存儲樣本數(shù)據(jù),在智能體學(xué)習(xí)過程中,網(wǎng)絡(luò)會從記憶池中隨機抽出一定量的批次進行訓(xùn)練,經(jīng)嘗試,本文選擇記憶池大小為400000。批次大小是每一次訓(xùn)練神經(jīng)網(wǎng)絡(luò)送入模型的樣本數(shù),大批次可以使網(wǎng)絡(luò)訓(xùn)練速度變快,但批次過大對硬件設(shè)備配置要求高,經(jīng)實驗,本文將批次大小設(shè)為64。目標(biāo)Q為目標(biāo)網(wǎng)絡(luò)的輸出,周期性的更新目標(biāo)Q可以提高算法的穩(wěn)定性,經(jīng)實驗,本文選擇目標(biāo)Q更新頻率為1000。輸入網(wǎng)絡(luò)的圖像需保證圖像的清晰度并且確保囊括環(huán)境的基本特征,輸入圖像尺寸太大不易網(wǎng)絡(luò)訓(xùn)練,輸入圖像尺寸太小又不易于網(wǎng)絡(luò)提取特征,因此基于本文環(huán)境,選擇輸入的圖像尺寸為84×84像素。
3 實驗與結(jié)果分析
本文設(shè)計的人群疏散仿真環(huán)境和機器人運動規(guī)劃算法均使用Python語言實現(xiàn),其中DQN算法基于TensorFlow平臺實現(xiàn)。
3.1 室內(nèi)人群疏散模擬場景設(shè)計
只有一個出口的室內(nèi)場景,如醫(yī)院、酒店的大廳等場所,是最可能發(fā)生緊急事件需要進行人群疏散的場景,因此本文設(shè)計一個矩形中帶有一個出口的室內(nèi)場景,并將其作為實驗環(huán)境,如圖3左圖所示。場景大小為11m×11m,出口寬度為3m,四周外圍實線方框代表墻壁,左邊虛線代表行人進入通道。本文設(shè)定圖3為某酒店大廳內(nèi)安全通道的模擬場景,圖中左側(cè)虛線往左的部分區(qū)域發(fā)生了緊急事件,大樓內(nèi)虛線左側(cè)的人群從虛線上的三個入口進入通道,并從通道右側(cè)的安全出口逃離危險。本文放置一個智能機器人在安全出口附近,并指定機器人的運動范圍,讓機器人通過深度Q網(wǎng)絡(luò)學(xué)會最優(yōu)的疏散策略。當(dāng)緊急事件發(fā)生時,場景中的行人由于恐慌和從眾心理會聚集在出口附近形成密度很大的群體。為逃離危險,各方向行人在自驅(qū)動力下向出口聚集,同時受到四周行人的相互作用力,使綜合前向作用力很小甚至為負(fù),導(dǎo)致人群向出口的移動速度很小甚至反向運動, 從而極度降低了疏散效率。
為了提高人群的運動速度,增加單位時間內(nèi)的疏散總?cè)藬?shù),本文基于人機社會力模型,在人群中加入一個機器人,讓機器人在一定的范圍內(nèi)運動,通過機器人的運動來影響人群,提高人群疏散的效率。由于人群疏散重點區(qū)域在出口附近,且為保證輸入網(wǎng)絡(luò)的圖像清晰和易于訓(xùn)練,因此選取出口附近的矩形區(qū)域作為觀測區(qū)域,用于計算機器人的環(huán)境狀態(tài),如圖3左圖中6m×6m的外側(cè)虛線框區(qū)域所示。在輸入DQN時,該區(qū)域通過均勻采樣得到84×84像素的圖像。此外,由于人群疏散的主要區(qū)域也在出口附近,因此選擇將出口附近的一個3.6m×5.4m長方形區(qū)域作為機器人的運動范圍,如圖3左圖中內(nèi)側(cè)虛線框區(qū)域所示。為減少計算量和噪聲,本文設(shè)定機器人的運動速度為0.6m/s,其狀態(tài)每秒迭代2次,則每次迭代機器人移動距離為0.3m,在場景中的運動位置組成了12×18的矩形網(wǎng)格區(qū)域,如圖3右圖中的矩形網(wǎng)格所示。
為了驗證算法的有效性,采用單位時間內(nèi)疏散的人數(shù)作為實驗評判標(biāo)準(zhǔn)。實驗中每次人群疏散單位時間為100s,在單位時間內(nèi)疏散的總?cè)藬?shù)是疏散效果及性能的直接體現(xiàn);同時,直接將機器人兩次迭代之間的逃生人數(shù)作為機器人一次運動的獎勵rt,每一輪人群疏散實驗中將每次機器人運動所得獎勵(一次機器人運動疏散人數(shù))累加,即得到本文評判疏散效果的性能參數(shù),即總疏散人數(shù)。實驗初始人數(shù)為100,初始位置在場景中隨機生成,并且設(shè)定人群按照一定的間隔時間從左邊進入場景。實驗中每次人群疏散單位時間為100s,實驗?zāi)康氖亲畲蠡瘑挝粫r間內(nèi)疏散總?cè)藬?shù),提高疏散效率。行人的半徑設(shè)定為0.3m,用黑色實心圓表示(如圖3所示),速度由初速度和其受到的綜合作用力決定;行人期望速度為6m/s;
機器人的邊長為1m,用黑色矩形表示,機器人在運動范圍內(nèi)有上、下、左、右4個動作。為減少噪聲的干擾,在每一次人群疏散實驗中,機器人的狀態(tài)每迭代1次,行人運動狀態(tài)迭代5次。此外,為保證行人源源不斷進入場景,從圖3中左側(cè)三個位置每秒各產(chǎn)生1個水平速度為6m/s、縱向速度為0的行人,如圖3所示。
3.2 靜止機器人的人群疏散
由于在人群中合理擺放靜止物體對人群也有疏散作用,因此本文在訓(xùn)練運動機器人之前,先探討靜止不動的機器人對人群疏散的影響。為觀察靜止機器人處在不同位置對行人的運動,以及對固定時間內(nèi)疏散總?cè)藬?shù)的影響,本文將機器人的運動范圍劃分成如圖3右邊所示的12×18的網(wǎng)格,并將機器人置于每個小方格所在位置,保持靜止?fàn)顟B(tài),測試并記錄單位時間內(nèi)總逃生人數(shù);并且,將靜止機器人在每個小方格位置中對應(yīng)的疏散總?cè)藬?shù)映射為二維圖像,以白色為背景,每個小方格顏色為由白色到黑色由疏散人數(shù)決定的離散采樣,如圖4所示,標(biāo)尺上數(shù)字代表總疏散人數(shù)。
通過分布圖可以看出將靜止機器人置于不同位置時總疏散人數(shù)呈現(xiàn)明顯的分層結(jié)構(gòu)。在以出口為圓心的半圓內(nèi),越靠近出口,總疏散人數(shù)越少,即對人群疏散有負(fù)面影響。在此半圓中,水平方向單位距離疏散人數(shù)值的變化比豎直方向更大一些。較好的疏散位置處在以出口中心為圓心的帶狀區(qū)域內(nèi),如圖4所示。當(dāng)越過該帶狀區(qū)域后,即曲線①往左,總疏散人數(shù)沒有太大的變化。疏散人數(shù)變化大的位置在帶狀區(qū)域靠近門的位置,如圖4中曲線②所在的位置附近的區(qū)域。最優(yōu)疏散位置及區(qū)域在出口附近上下兩側(cè)靠近右邊墻體的位置,如圖4中兩個橢圓區(qū)域所示。當(dāng)機器人置于此區(qū)域時,單位時間內(nèi)的疏散人數(shù)最多,即機器人的最佳疏散位置。
3.3 運動機器人的人群疏散
靜止機器人疏散分布圖大致由疏散效果較差的門口半圓區(qū)域、較優(yōu)的帶狀區(qū)域(包括最優(yōu)的橢圓區(qū)域)、無明顯變化的帶狀外區(qū)域組成,因此本文任意選取對這三種區(qū)域具有代表性的4個位置作為機器人初始位置集,測試本文提出的基于DQN的機器人運動規(guī)劃算法,觀察機器人運動軌跡。訓(xùn)練DQN時,每次人群疏散實驗隨機從4個位置中選取一個作為機器人初始位置。
在DQN中,獎勵的變化是衡量模型訓(xùn)練是否有效的重要參數(shù)。在本文提出的人群疏散機器人運動規(guī)劃算法中,獎勵由疏散的人數(shù)直接決定,因此為了顯示模型訓(xùn)練的過程,將訓(xùn)練過程中人群疏散的輪數(shù)與每輪實驗中單位時間內(nèi)疏散的人數(shù)的變化關(guān)系用曲線表示,分析本文方法的有效性,如圖5所示。每輪實驗的單位時間為100s,即每輪實驗中,人群和機器人的初始狀態(tài)記為t=0s的時刻,人群疏散實驗到t=100s時結(jié)束,然后人群回到初始狀態(tài),機器人從初始位置集隨機選取一個位置作為機器人的初始位置,重新開始新的一輪實驗。本文模型訓(xùn)練時人群疏散實驗總輪數(shù)為470。
訓(xùn)練前期處于觀察階段,機器人隨機選擇動作,每輪的逃生總?cè)藬?shù)相差較大。由于總體曲線波動較大,將其平滑處理,更能表現(xiàn)出訓(xùn)練效果的變化。由圖5可看出,輪數(shù)小于200時的總疏散人數(shù)波動較大;訓(xùn)練中期處于探索階段, 機器人通過記憶池中的數(shù)據(jù)學(xué)到越來越優(yōu)化的動作序列;訓(xùn)練后期則是網(wǎng)絡(luò)參數(shù)的微調(diào)階段,此時只有小概率探索,逃生人數(shù)在最優(yōu)值上下小幅度波動,相較于觀察階段更穩(wěn)定。
未設(shè)置任何機器人情況下的人群疏散主要基于人與人之間的社會力模型,疏散場景與添加機器人時的場景一致。此種情況下,單位時間內(nèi)(100s)疏散總?cè)藬?shù)為262人,如表2中的數(shù)據(jù)和圖5中由星型標(biāo)注的直線所示。
在測試階段,為觀察機器人運動規(guī)劃過程,本文在三個代表性區(qū)域額外各選取一個位置作為機器人的初始位置,分別記為P1、P2和P3,測試機器人在100s內(nèi)人群疏散實驗中的運動過程,并記錄其運動軌跡,分別作為測試實驗1、測試實驗2和測試實驗3,其過程分別如圖6所示。三次實驗的總疏散人數(shù)如表2所示。為方便觀察機器人的運動方式,將機器人的運動軌跡畫在分布圖上,并研究不同時段機器人所處的位置。此外,為驗證機器人是否找到最優(yōu)位置或區(qū)域,本文用虛線橢圓標(biāo)記機器人最后10s的運動軌跡,如圖6所示。
測試過程采用本文設(shè)計的算法,機器人運動狀態(tài)每迭代1次,利用DQN的動作價值評估函數(shù),對當(dāng)前狀態(tài)下的每個動作進行評估,選取價值最大的,即期望下總疏散人數(shù)最多的動作作為機器人的運動規(guī)劃結(jié)果。在測試實驗1(如圖6(a)所示)中,機器人運動起點為P1,終點為Q1。疏散總?cè)藬?shù)達305人,與無機器人時疏散262人相比,疏散人數(shù)增加了16.41%。由于DQN算法在軌跡上的每個位置都選取當(dāng)前價值最大的動作,則出現(xiàn)圖6(a)中機器人向著最優(yōu)區(qū)域運動的軌跡,同時因機器人每個動作都是所在狀態(tài)下最優(yōu)的,疏散人數(shù)最多的,最優(yōu)動作的累加使總疏散人數(shù)最大,因此運動軌跡是起點為P1時的最優(yōu)軌跡。
由于在帶狀外區(qū)域單位距離疏散人數(shù)值變化不大,當(dāng)人群有波動時容易產(chǎn)生噪聲,造成偶爾機器人往左運動的現(xiàn)象。當(dāng)機器人所處狀態(tài)中,疏散人數(shù)分布圖的某一方向的梯度與其他方向相比越大時,DQN價值函數(shù)對此狀態(tài)下最優(yōu)動作的評估越準(zhǔn)確。如測試實驗2(如圖6(b)所示)中的前7s運動軌跡所示,從P2開始到t=3s,左方向一直是單位距離疏散人數(shù)值增加最快的方向。從t=3s到t=7s的軌跡與圖4中②虛線所框半圓相切,可看出向下是疏散人數(shù)分布圖的梯度最大的方向。實驗2中,機器人運動起點為P2,終點為Q2。疏散總?cè)藬?shù)達290人,與無機器人時疏散262人相比,疏散效率增加了10.69%。
在測試實驗3(如圖6(c)所示)中,機器人運動起點為P3,終點為Q3。開始時機器人處在帶狀區(qū)域大概中間位置,周圍疏散人數(shù)分布圖的梯度較小,加上噪聲干擾,導(dǎo)致機器人初段運動軌跡較波折,但總方向是往下,即為人群疏散較好的位置運動。由于DQN能最大化獎勵的原理,總疏散人數(shù)也被最大化了,疏散總?cè)藬?shù)達到319人,與無機器人時疏散人數(shù)相比增加了21.76%。此外,在三次實驗中,機器人總會沿著梯度下降最快的路線到達最優(yōu)區(qū)域及其附近區(qū)域。
為表明本文方法的有效性,除了與無機器人時對比外,還與文獻[11]中采用傳統(tǒng)的機器人運動規(guī)劃人群疏散算法進行對比,因兩者的行人運動都基于人機社會力模型,場景相似,具有較好的可比較性。為保證對比實驗的有效性,本文選取文獻[11]中的最優(yōu)參數(shù)。經(jīng)實驗,在單位時間內(nèi)(100s),傳統(tǒng)方法疏散總?cè)藬?shù)為282人。
可明顯看出本文提出的基于深度Q網(wǎng)絡(luò)的算法在訓(xùn)練穩(wěn)定后的疏散人數(shù)明顯比傳統(tǒng)方法多。此外,文獻[11]方法需要針對每個實驗場景,反復(fù)手動調(diào)整來優(yōu)化人群疏散的參數(shù),工作量大且模型難以達到最優(yōu);而本文模型能夠通過DQN自主在環(huán)境中學(xué)習(xí),尋找最優(yōu)的疏散策略,靈活性更好、更具智能性,適合大多現(xiàn)實中的場景。
綜上所述,通過本文提出的基于DQN的機器人運動規(guī)劃算法,機器人能夠?qū)W習(xí)在不同初始位置下的最優(yōu)運動策略,最大限度地提高總疏散人數(shù),與無機器人干預(yù)以及傳統(tǒng)人群疏散方法相比,能夠有效地提高緊急情況下疏散人群的效率。
4 結(jié)語
本文提出了一種基于深度Q網(wǎng)絡(luò)的機器人運動規(guī)劃算法,并應(yīng)用于人群疏散算法中,協(xié)助完成疏散人群。此算法不僅適用于本文場景,同樣也適用于與本文場景有相同特性的其他室內(nèi)人群疏散的場景。該方法結(jié)合了深度學(xué)習(xí)中的CNN和強化學(xué)習(xí)中的Q-learning,通過當(dāng)前時刻下環(huán)境圖像到機器人運動指令的端到端的學(xué)習(xí),改變機器人的運動狀態(tài),利用機器人與行人之間的相互作用,使機器人能夠在擁擠的情況下更加靈活、有效地疏散人群。本文實驗部分模擬了室內(nèi)密集人群的逃生場景。結(jié)果表明,人群疏散機器人會隨著訓(xùn)練的迭代次數(shù)增加而積累學(xué)習(xí)的經(jīng)驗,從而能夠運動到最優(yōu)位置,有效地疏散人群。由于應(yīng)用DQN算法需要大量計算資源,容易產(chǎn)生維度災(zāi)難,本文通過源源不斷產(chǎn)生人群使場景內(nèi)人數(shù)在一定范圍內(nèi)波動來解決維度災(zāi)難的問題。因此,未來的工作將集中在解決固定疏散人數(shù)時深度強化學(xué)習(xí)面臨的問題,使疏散效率達到更優(yōu),并且利用3D場景模擬實際的攝像機拍攝的視頻來解決人群疏散的問題。
參考文獻(References)
[1] HELBING D, MOLNR P. Social force model for pedestrian dynamics[J]. Physical Review E: Statistical Physics, Plasmas, Fluids & Related Interdisciplinary Topics, 1995, 51(5): 4282-4286.
[2] ROBINETTE P, VELA P A, HOWARD A M. Information propagation applied to robot-assisted evacuation[C]// Proceedings of the 2012 IEEE International Conference on Robotics and Automation. Piscataway: IEEE, 2012: 856-861.
[3] BOUKAS E, KOSTAVELIS I, GASTERATOS A, et al. Robot guided crowd evacuation[J]. IEEE Transactions on Automation Science and Engineering, 2015, 12(2): 739-751.
[4] POLYDOROS A S, NALPANTIDIS L. Survey of model-based reinforcement learning: applications on robots[J]. Journal of Intelligent and Robotic Systems, 2017, 86(2): 153-173.
[5] MNIH V, KAVUKCUOGLU K, SLIVER D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540): 529-533.
[6] MNIH V, KAVUKCUOGLU K, SLIVER D, et al. Play Atari with deep reinforcement learning[EB/OL]. [2018-12-10]. http://export.arxiv.org/pdf/1312.5602.
[7] HWANG K, JIANG W, CHEN Y. Pheromone-based planning strategies in Dyna-Q learning[J]. IEEE Transactions on Industrial Informatics, 2017, 13(2): 424-435.
[8] IMANBERDIYEV N, FU C, KAYACAN E, et al. Autonomous navigation of UAV by using real-time model-based reinforcement learning[C]// Proceedings of the 14th International Conference on Control, Automation, Robotics and Vision. Piscataway: IEEE, 2016: 1-6.
[9] GIUSTI A, GUZZI J, CIRESAN D C, et al. A machine learning approach to visual perception of forest trails for mobile robots[J]. IEEE Robotics and Automation Letters, 2016, 1(2): 661-667.
[10] SU M C, HUANG D, CHOW C, et al. A reinforcement learning
approach to robot navigation[C]// Proceedings of the 2004 International Conference on Networking, Sensing and Control. Piscataway: IEEE, 2004: 665-669.
[11] 胡學(xué)敏, 徐珊珊, 康美玉, 等. 基于人機社會力模型的人群疏散算法[J]. 計算機應(yīng)用, 2018, 38(8): 2165-2166. (HU X M, XU S S, KANG M Y, et al. Crowd evacuation based on human-robot social force model[J]. Journal of Computer Applications, 2018, 38(8): 2165-2166.)
[12] XIE L H, WANG S, MARKHAM A, et al. Towards monocular vision based obstacle avoidance through deep reinforcement learning[EB/OL]. [2018-12-10]. https://arxiv.org/pdf/1706.09829.pdf.
[13] LILLICRAP T P, HUNT J J, PRITZEL A, et al. Continuous control with deep reinforcement learning[EB/OL]. [2019-01-10]. https://arxiv.org/pdf/1509.02971.pdf.
[14] CUENCA , OJHA U, SALT J, et al. A non-uniform multi-rate control strategy for a Markov chain driven networked control system[J]. Information Sciences, 2015, 321: 31-47.
[15] 趙玉婷, 韓寶玲, 羅慶生. 基于deep Q-network雙足機器人非平整地面行走穩(wěn)定性控制方法[J]. 計算機應(yīng)用, 2018, 38(9): 2459-2463. (ZHAO Y T, HAN B L, LUO Q S. Walking stability control method based on deep Q-network for biped robot on uneven ground[J]. Journal of Computer Applications, 2018, 38(9): 2459-2463.)
[16] CHEN Y, LIU M, EVERETT M, et al. Decentralized non-communicating multiagent collision avoidance with deep reinforcement learning[C]// Proceedings of the 2007 IEEE International Conference on Robotics and Automation. Piscataway: IEEE, 2017: 285-292.
[17] CHEN D, VARSHNEY P K. A survey of void handling techniques or geographic routing in wireless network[J]. IEEE Communications Surveys and Tutorials, 2007, 9(1): 50-67.