摘" 要: 針對圖書智能分揀系統(tǒng)中的分揀車路徑規(guī)劃問題,提出一種基于深度強化學(xué)習(xí)框架和競爭雙深度Q網(wǎng)絡(luò)路徑規(guī)劃算法。將分揀車的路徑規(guī)劃問題構(gòu)建成馬爾可夫決策過程,然后通過結(jié)合競爭Q網(wǎng)絡(luò)和雙深度Q網(wǎng)絡(luò)構(gòu)建競爭雙深度Q網(wǎng)絡(luò)(D3QN),進而在避免過估計的同時,優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)。最后,通過設(shè)計智能代理的狀態(tài)、動作和獎勵函數(shù),并采用動態(tài)[ε?]貪婪算法和衰減式學(xué)習(xí)率策略,使智能代理能夠快速地選擇最優(yōu)動作,縮短完成預(yù)定卸載的移動路徑,降低碰撞障礙物的概率。仿真結(jié)果表明,相比于基于競爭Q網(wǎng)絡(luò)、雙深度Q網(wǎng)絡(luò)和深度Q網(wǎng)絡(luò)的路徑規(guī)劃算法,提出的基于D3QN方法所規(guī)劃的路徑更短、碰撞率更低。
關(guān)鍵詞: 自動分揀; 機器人; 路徑規(guī)劃; 深度強化學(xué)習(xí); 競爭雙深度Q網(wǎng)絡(luò); 馬爾可夫決策
中圖分類號: TN929.5?34" " " " " " " " " " " " "文獻(xiàn)標(biāo)識碼: A" " " " " " " " " " " " 文章編號: 1004?373X(2024)19?0161?08
Book sorting vehicle′ path planning based on deep reinforcement learning
CHEN Yue
(Library, Jianghan University, Wuhan 430056, China)
Abstract: In view of the problem of the sorting vehicle path planning in the intelligent sorting system for books, a path planning algorithm based on the deep reinforcement learning (DRL) framework and dueling double deep Q?network (D3QN) is proposed. The path planning issue is formalized as a Markov decision process (MDP). Then, by combing the dueling Q?network and double deep Q?network, a dueling double deep Q?network (D3QN) is designed to optimize the network structure while avoiding overestimation. By designing the state, action and reward function of the intelligent agent, and adopting the dynamic [ε?]greedy algorithm and the attenuating learning rate strategy, the intelligent agent can select the optimal action rapidly, shorten the moving path which is used to complete the scheduled unloading, and reduce the probability of collision with obstacles. The simulation results show that the proposed D3QN?based path planning algorithm can shorten the path and reduce the probability of collision in comparison with the existing path planning algorithms which are based on dueling Q?network, double deep Q?network and deep Q?network.
Keywords: automatic sorting; robot; path planning; DRL; D3QN; Markov decision
0" 引" 言
圖書館是文化建設(shè)的重要承載者,也是市民讀者朋友們經(jīng)常光顧的場所之一,館內(nèi)人流量隨之逐步增長[1],與此同時,圖書館內(nèi)部的書籍借閱后圖書的分揀和搬運面臨諸多挑戰(zhàn)。例如,當(dāng)讀者歸還圖書時不能及時分類、分揀、歸類上架,從而影響到后面借閱該書的讀者,長久以來,此現(xiàn)象嚴(yán)重影響到讀者的借閱體驗。
書籍分揀和搬運向來是圖書館管理工作中最耗費人力與物力的部分。為了更好地實現(xiàn)圖書分揀和搬運,圖書分揀方案也在逐步優(yōu)化改善。起初傳統(tǒng)的圖書分揀都是由人工進行的,需要大量的人力支持,館藏越大,人工成本越高,但即使工作人員非常仔細(xì)的核對,長時間也無法避免疏漏。
隨著科技的發(fā)展,自動化搭配RFID形式逐漸進入了圖書館領(lǐng)域,頂升分揀、斜擺輪分揀設(shè)備的出現(xiàn)幫助了館方在有限的人力資源條件下,相對提高了館員分揀效率以及圖書分揀精度,但其分揀過程的噪音比較大,占地面積大,無法和讀者互動,并不能滿足很多大館的需求。伴隨著人工智能的發(fā)展,搬運機器人出現(xiàn),實現(xiàn)了館藏分揀、運輸、低噪音、高科技展示、讀者互動等功能。
圖書分揀車是智慧圖書館的常用機器人設(shè)備(以下簡稱機器人)[2]。機器人需將書籍運送到指定的目的地,進而完成書籍的搬運任務(wù)。然而,圖書館內(nèi)屬于室內(nèi)環(huán)境,既有行走的閱讀人員,也有固定的書架、桌子等障礙物,這給機器人的移動增加了難度。而在復(fù)雜環(huán)境下進行良好的路徑規(guī)劃是機器人完成圖書卸載的基礎(chǔ)前提。因此,機器人如何規(guī)劃路徑成為基于機器人應(yīng)用的關(guān)鍵技術(shù)。
通常,機器人自身搭載一些傳感設(shè)備,如激光雷達(dá)傳感器,利用這些傳感設(shè)備感測周圍障礙物,進而改變移動方向。在日常的機器人應(yīng)用中,機器人一般采取勻速移動,只通過改變移動方向避開障礙物,實現(xiàn)自主導(dǎo)航。
針對機器人的路徑規(guī)劃問題,研究人員提出不同的方案。例如,文獻(xiàn)[3]提出基于A*算法的路徑規(guī)劃方案。該方案先將移動環(huán)境分割成網(wǎng)格,再利用網(wǎng)格規(guī)劃機器人的路徑。但是該方案是針對已知環(huán)境,不適用于人流穿梭的動態(tài)圖書館環(huán)境。文獻(xiàn)[4]提出基于遺傳算法的路徑規(guī)劃方案。利用遺傳算法搜索最優(yōu)路徑,但是該算法需要對狀態(tài)空間編碼,不太適用于圖書館的復(fù)雜環(huán)境。文獻(xiàn)[5]提出基于聯(lián)合粒子群優(yōu)化和蝙蝠算法的路徑規(guī)劃方案。該方案通過粒子群優(yōu)化和蝙蝠算法生成機器人的移動駐點,避開障礙物,生成無碰撞的移動路徑。此外,文獻(xiàn)[6]提出聯(lián)合粒子群優(yōu)化和灰狼優(yōu)化器規(guī)劃機器人移動路徑。將路徑規(guī)劃問題構(gòu)建成一個優(yōu)化問題,再利用粒子群優(yōu)化和灰狼優(yōu)化器求解,得到避免障礙物的解。
上述研究工作是通過智能仿生算法規(guī)劃機器人的移動路徑,可實現(xiàn)自主導(dǎo)航。但基于智能仿生算法的路徑規(guī)劃算法存在一些不足。首先,這些算法應(yīng)對未知環(huán)境或者突發(fā)情況的能力不足,在未知環(huán)境下的路徑規(guī)劃性能不理想;其次,智能仿生算法的搜索能力取決于算法參數(shù)。若參數(shù)取值不合理,則容易使算法陷入局部最優(yōu)[7]。
相對而言,深度強化學(xué)習(xí)(Deep Reinforcement Learning, DRL)具有較強的學(xué)習(xí)環(huán)境能力,處理未知環(huán)境的能力較強。智能體通過不斷的嘗試和試錯,感知環(huán)境,產(chǎn)生最優(yōu)的決策。文獻(xiàn)[8]提出基于深度Q網(wǎng)絡(luò)的多智能體深度強化學(xué)習(xí)規(guī)劃方法。該方法采用競爭Q網(wǎng)絡(luò)(Dueling Q?network)優(yōu)化機制,估計狀態(tài)值和優(yōu)勢函數(shù)值,進而產(chǎn)生最優(yōu)動作。文獻(xiàn)[9]提出基于Q?learning的路徑規(guī)劃算法。通過存儲每個動作下的[Q]值,再選擇具有最大[Q]值的動作。然而,Q?learning算法需要[Q]表存儲[Q]值。若狀態(tài)環(huán)境較大,需要較大的[Q]表存儲[Q]值,增加了對內(nèi)存需求。同時,查詢時間也隨[Q]表尺寸增加而提升。
受上述工作啟發(fā),提出基于競爭雙深度Q網(wǎng)絡(luò)的機器人路徑規(guī)劃算法。將機器人的移動路徑構(gòu)建成一個馬爾可夫決策過程(Markov Decision Process, MDP)。再利用競爭雙深度Q網(wǎng)絡(luò)(Dueling Double Deep Q?Network, D3QN)求解,得到最優(yōu)的動作,進而縮短移動路徑,降低更改方向的次數(shù)。此外,通過采用衰減式學(xué)習(xí)率和探索因子機制,提升算法的收斂速度,提高平均獎勵。仿真結(jié)果表明,提出的D3QN算法提升了規(guī)劃路徑的效率,有效避開了障礙物。
1" 系統(tǒng)模型
考慮如圖1所示的系統(tǒng)模型,其為一個室內(nèi)的閱讀室。室內(nèi)有書柜、行人、桌子和沙發(fā)等物體。其中行人是可移動的,其他物體是固定的。圖中有8個書籍卸載點,搬運機器人(機器人)將書運輸?shù)竭@些卸載點。不失一般性,設(shè)定以下假定條件:
1) 機器人以固定速率移動,但可調(diào)整移動方向。
2) 當(dāng)機器人移動至離卸載點0.2 m時,就會停止5 s,用于卸載書籍。5 s后,再移動到下一個卸載點。
3) 若機器人的充電量低于5%,它就中止此次書籍卸載任務(wù)。移動到充電樁進行充電,充滿電后,再繼續(xù)執(zhí)行任務(wù)。
4) 卸載點的位置為已知信息。機器人在執(zhí)行卸載任務(wù)之前,先將這些位置信息載入機器人。
5) 機器人自身搭載了激光雷達(dá)傳感器,通過此傳感器感測環(huán)境信息。
令[P=pi1≤i≤N]表示卸載點位置集,其中,[pi]表示第[i]個卸載點的位置。機器人需要遍布每個卸載點,并卸下該位置點的書籍,為了簡化任務(wù),假定在每個卸載點卸載一本書。
2" 基于D3QN的移動機器人的路徑規(guī)劃算法
2.1" 馬爾可夫決策過程
將移動機器人的路徑規(guī)劃過程表述成馬爾可夫決策過程(MDP)。MDP是求解隨機動態(tài)系統(tǒng)中最優(yōu)決策的有效方法。用一個三元組[S, A, R]表示MDP,其中,[S]表示智能體所有可能狀態(tài)組成的狀態(tài)空間;[A]表示智能體所有可能采取的動作集合;[R]表示獎勵函數(shù)。
2.1.1" 狀態(tài)空間設(shè)計
狀態(tài)空間是智能體在執(zhí)行動作前所面對的環(huán)境狀況。機器人在完成卸載任務(wù)期間,通過激光雷達(dá)傳感器感測周圍環(huán)境,檢查是否有障礙物阻礙機器人的移動[10]。為此,令[se,t]表示機器人在[t]時刻感測狀態(tài)矢量,其定義如式(1)所示:
[se,t=fi,t,di,tT," " "i=1,2,…,12] (1)
式中:[fi,t]為布爾變量,其表示機器人在時刻[t]是否感知到障礙物,若感知到障礙物,則[fi,t=1],反之,[fi,t=0];[di,t]表示激光雷達(dá)傳感器探測后返回的距離,如圖2a)所示,下標(biāo)[i]表示激光雷達(dá)傳感器的第[i]根射線。本文采用12根射線,相鄰兩根射線間的夾角為[π6],如圖2所示。
除了考慮感測狀態(tài)矢量,還需考慮到機器人的自身狀態(tài)信息。自身狀態(tài)信息包括機器人的水平位置、卸載點的水平位置、離目標(biāo)卸載點的距離(以下簡稱目標(biāo)距離)和機器人的移動方向。具體而言,用[sm,t]表示機器人在[t]時刻自身狀態(tài)矢量,其定義如式(2)所示:
[sm,t=xt,yt,xt,yt,d,φ, β,ET] (2)
式中:[xt,yt]、[xt,yt]分別表示機器人、卸載點的水平位置;[d]表示目標(biāo)距離;[φ]表示機器人的移動方向與橫軸正半軸的夾角(第一視角),且[φ∈0,2π];[β]表示機器人的移動方向與機器人到目標(biāo)卸載點連線間的夾角,且[β∈0,2π],如圖2b)所示;[E]表示機器人的電量。
最后,將包含自身狀態(tài)和感測狀態(tài)矢量定義為智能體的狀態(tài),如式(3)所示:
[st=se,t,sm,t] (3)
式中[st]表示在時刻[t]的狀態(tài)。
2.1.2" 動作空間設(shè)計
機器人在執(zhí)行任務(wù)期間,若頻繁變換移動速度,則能量消耗速度提升,并且也可能對機器人的發(fā)動機造成損傷。為此,機器人在行駛過程中保持勻速行駛,只通過變換移動方向避開障礙物[11]。因此,機器人的動作空間就是機器人移動方向的變化量[Δφ∈-π2,π2]。
令[at]表示智能體在時刻[t]的動作,其定義如式(4)所示:
[at=Δφ=φt-φt-1] (4)
式中:[φt]表示在[t]時刻機器人的移動方向;[φt-1]表示在[t-1]時刻機器人的移動方向。考慮機器人自身限制以及移動安全性,機器人方向變換角度應(yīng)小于[π6],即[Δφ≤π6]。
2.2" 獎勵函數(shù)的設(shè)計
獎勵函數(shù)在DQN算法中扮演著重要作用,其能導(dǎo)向動作的選擇。提出基于D3QN的路徑規(guī)劃算法旨在提高規(guī)劃移動路徑的效率,因此,獎勵函數(shù)由獎勵項和懲罰項兩項組成。對靠近目標(biāo)卸載點和向目標(biāo)卸載點方向移動的動作進行獎勵;對與障礙物發(fā)生碰撞的動作進行懲罰。
[Rt=rd+rβ-ro] (5)
式中:[Rt]表示智能體執(zhí)行動作[at]所得到的獎勵;[rd]、[rβ]分別表示靠近目標(biāo)卸載點和向目標(biāo)卸載點移動所得到的正獎勵;而[ro]表示機器人與障礙物發(fā)生碰撞所得到的負(fù)獎勵(懲罰)。
具體而言,[rd]反映了距離獎勵。希望機器人靠近目標(biāo)卸載點,直至離目標(biāo)卸載點的距離為0.2 m。因此,當(dāng)機器人離目標(biāo)卸載點的距離為0.2 m時,得到獎勵最大;當(dāng)離目標(biāo)卸載點的距離大于0.2 m時,較前一時刻更靠近目標(biāo)卸載點,則也得到正獎勵。因此,將[rd]定義為:
[rd=1," " " " dt=0.2 m0.5," " " " dt-1-dtgt;0" "and" "dtgt;0.2 m0," " " " others]" (6)
式中[dt]表示在[t]時刻機器人離目標(biāo)卸載點的距離。
[rβ]反映了方向獎勵。希望機器人能以直線方式靠近目標(biāo)卸載點,即希望[β]趨近于零,進而縮短移動距離,減少能量消耗。因此,將[rβ]定義為:
[rβ=1," " " "βt=00.5," " " "βt-1-βtgt;00," " " "others] (7)
式中[βt]表示在[t]時刻機器人的移動方向與機器人到目標(biāo)卸載點連線間的夾角。
機器人在移動過程中可能與障礙物相碰,為此,用[ro]約束機器人的移動,降低與機器人相碰的概率。在正常情況下,機器人在移動過程中需要與其他物體保持一個安全距離[ds]。若機器人離其他物體的距離低于安全距離[ds]則進行懲罰;若與其他物體碰撞,則進行較大懲罰。為此,將[ro]定義為:
[ro=-0.8," " " "dt≤ds0," " " "others]" "(8)
2.3" 基于D3QN的路徑規(guī)劃
D3QN算法結(jié)合了Double DQN和Dueling DQN算法[12]。
2.3.1" Dueling DQN算法
DQN和Dueling DQN的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
Dueling DQN是在DQN的基礎(chǔ)上將[Q]值分割成兩部分。DQN直接輸出[Q]值,而Dueling DQN是通過兩條路徑計算[Q]值。第一條路徑輸出標(biāo)量[Vs],其僅與輸入狀態(tài)[s]有關(guān);第二條路徑輸出矢量[As,a],其不僅與狀態(tài)有關(guān),也與動作有關(guān)。最終,將[As,a]和[Vs]值之和作為Dueling DQN的[Q]值[13]。
具體而言,將[t]時刻的Dueling DQN輸出的[Q]值表述為:
[Qst,at;θT=Vst;θt+Ast,at;θt-1Aat+1Ast,at+1;θt] (9)
式中:[Qst,at;θt]表示[Q]值;[θt]表示網(wǎng)絡(luò)參數(shù)。
2.3.2" Double DQN算法
Double DQN算法采用了結(jié)構(gòu)相同的Q網(wǎng)絡(luò)(訓(xùn)練網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)),訓(xùn)練網(wǎng)絡(luò)用于估計[Q]值;目標(biāo)網(wǎng)絡(luò)用于評估動作。采用兩個Q網(wǎng)絡(luò)將狀態(tài)價值與狀態(tài)?動作進行分離,使得智能體能選擇更好的動作[14]。為了簡化描述,用[Qst,at;θt]表示目標(biāo)網(wǎng)絡(luò),其中[θt]表示目標(biāo)網(wǎng)絡(luò)參數(shù);相應(yīng)地,用[Qst,at;θt]表示訓(xùn)練網(wǎng)絡(luò),其中[θt]表示訓(xùn)練網(wǎng)絡(luò)參數(shù)。
令[yt]表示[t]時刻的目標(biāo)[Q]值,其定義如式(10)所示:
[yt=Rt+γQst+1,argmaxaQst+1,at+1;θt;θt] (10)
式中:[argmaxaQst+1,at+1;θt]表示由訓(xùn)練網(wǎng)絡(luò)產(chǎn)生的最優(yōu)動作;[γ]表示折扣因子。
2.3.3" 算法框架
結(jié)合2.3.1節(jié)和2.3.2節(jié)的表述,圖4給出規(guī)劃路徑的過程。整個架構(gòu)主要由環(huán)境、誤差函數(shù)、經(jīng)驗回放、訓(xùn)練網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)等模塊組成。
基于D3QN的規(guī)劃路徑的偽代碼如下:
Step1: 對參數(shù)進行初始化,包括設(shè)定經(jīng)驗回放單元、隨機初始化Q網(wǎng)絡(luò)及其參數(shù);初始化目標(biāo)網(wǎng)絡(luò)及其參數(shù);設(shè)定更新步長[C]、迭代次數(shù)、每次迭代的步數(shù);
Step2:" [for k=1 to Nmax do]
Step3:" " " " 初始化當(dāng)前狀態(tài)[st]
Step4:" " " " [for t=1 to T do]
Step5:" " " " " " 根據(jù)[ε?]貪婪算法從Q網(wǎng)絡(luò)中選擇一個動作
Step6:" " " " " " 執(zhí)行動作[at],并觀測獎勵[rt]和下一個狀態(tài)[st+1]
Step7:" " " " " " 將[st,at,rt,st+1]存儲于經(jīng)驗回放單元
Step8:" " " " " " 更新狀態(tài)[st+1←st]
Step9:" " " " " " 從經(jīng)驗池[D]中采用batch個樣本,[j=1,2,…,m,]
依據(jù)式(10)計算目標(biāo)[Q]值
Step10:" " " " " 依據(jù)式(13)計算均方損失函數(shù)
Step11:" " " " " 隨機梯度下降更新Q網(wǎng)絡(luò)參數(shù)
Step12:" " " " " 每隔[C]步,將Q網(wǎng)絡(luò)參數(shù)拷貝至目標(biāo)Q網(wǎng)絡(luò)
Step13:" " " "End for
Step14: End for
第1步:先初始化網(wǎng)絡(luò)參數(shù),包括總的迭代次數(shù)[Nmax]、每次迭代中的步數(shù)[T]、經(jīng)驗回放單元的存儲空間以及訓(xùn)練網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)、目標(biāo)網(wǎng)絡(luò)參數(shù)的更新步長[C]。
第2步:進入迭代環(huán)節(jié),如Step2~Step14所示。先隨機地產(chǎn)生初始狀態(tài)[s0],然后通過[ε?]貪婪算法選擇動作[at]。[ε?]貪婪算法總是以概率[ε]從動作空間中隨機地選擇動作(探索方式);以[1-ε]概率選擇具有最大[Q]值的動作(利用方式)。
[at=argmaxa∈A Q," " " 1-ε隨機選擇," " " ε]" " (11)
傳統(tǒng)的[ε?]貪婪算法采用固定[ε]值,這不利于平衡探索方式與利用方式間的關(guān)系。采用隨迭代次數(shù)衰減的[ε]值,表達(dá)式如下:
[ε=εinit×λk," " " ε≥εminεmin," " " εlt;εmin] (12)
式中:[εinit]為[ε]的初始值,即最大值;[λ]為衰減因子;[k]為當(dāng)前迭代次數(shù);[εmin]表示[ε]的最小值,設(shè)置[εmin]的目的在于控制[ε]過小。當(dāng)[λ∈0,1],則[ε]逐步變小。換而言之,在訓(xùn)練的初始階段,[ε]值較大,智能體隨機選擇動作的概率高,即探索方式占主導(dǎo);在訓(xùn)練的后期階段,[ε]值較小,智能體選擇具有最大[Q]值動作的概率高,即利用方式占主導(dǎo)。
選擇動作[at]后,執(zhí)行此動作,并獲取相應(yīng)的獎勵,再進入下一個狀態(tài)[st+1]。
第3步:將[st,at,rt,st+1]存儲于經(jīng)驗回放單元。
第4步:從狀態(tài)[st]更新至狀態(tài)[st+1]。
第5步:從經(jīng)驗回放單元隨機抽取batch個樣本,并依據(jù)式(10)計算目標(biāo)[Q]值,如Step9所示。
第6步:獲取了目標(biāo)[Q]值后,再計算均方誤差。
[Lθt=Eyt-Qst,at;θt2]" (13)
式中[E?]表示期望運算。
第7步:計算[Lθt]的梯度。
[?Lθt=Eyt-Qst,at;θt?Qst,at;θt] (14)
再利用隨機梯度下降法更新網(wǎng)絡(luò)的參數(shù)[θt]:
[θt+1=θt-η?Lθt] (15)
式中[η]為學(xué)習(xí)率。
為了提高算法的收斂速度,采用動態(tài)變化的學(xué)習(xí)率,而不是固定的學(xué)習(xí)率。
[η=ηinit×δk] (16)
式中:[ηinit]表示初始學(xué)習(xí)率;[δ]表示學(xué)習(xí)率衰減因子。
第8步:每隔[C]步更新[Q]網(wǎng)絡(luò)參數(shù):[θt←θt]。
3" 性能分析
3.1" 仿真參數(shù)
利用Python 3.6和PyTorch工具搭建仿真平臺,進行仿真實驗。D3QN算法采用全連接的神經(jīng)網(wǎng)絡(luò),一個輸入層、兩個隱藏層和一個輸出層。表1列出神經(jīng)網(wǎng)絡(luò)參數(shù)。此外,為了降低運行誤差,每個實驗獨立運行50次,取平均值作為最終的實驗數(shù)據(jù)。
3.2" 參數(shù)[ε]對獎勵的影響
首先分析參數(shù)[ε]對平均獎勵的影響。本次實驗的參數(shù)設(shè)置如下:學(xué)習(xí)率[η]固定為0.01,[εinit=0.9],[εmin=0.1];參數(shù)[ε]的衰減因子[λ]取0.999、0.8和0.2。此外,圖標(biāo)[εfixed=0.9]表示采用固定的[ε]?貪婪策略,即在訓(xùn)練過程中參數(shù)[ε]=0.9。圖5a)、圖5b)分別給出平均獎勵、累加獎勵隨[ε]的變化情況。
從圖5a)可知,相比于固定的[ε]?貪婪策略([εfixed=0.9]),衰減的[ε]?貪婪策略可有效地提升平均獎勵。原因在于:衰減的[ε]?貪婪策略能夠在訓(xùn)練初始階段有效地探索環(huán)境;在訓(xùn)練后期階段有效地利用已有的知識。由于[εfixed=0.9]的獎勵為負(fù)值,它的累加獎勵也是負(fù)值,無法在圖5b)中顯示出來。此外,在[εinit=0.9]的前提條件下,[λ]取0.999、0.8和0.2三種情況下平均獎勵相差較小??傮w上來看,[λ]=0.2的累加獎勵優(yōu)于[λ]=0.998和[λ]=0.8兩種情況的累加獎勵。為了得到最好的性能,在后續(xù)實驗中取[εinit=0.9]、[λ]=0.2。
3.3" 參數(shù)[η]對獎勵的影響
接下來,分析學(xué)習(xí)率參數(shù)[η]對獎勵的影響。本次實驗的參數(shù)設(shè)置如下:[εinit=0.9]、[λ]=0.2;學(xué)習(xí)率[ηinit=0.01],[η]的衰減因子[δ]取0.9、0.8和0.2,如圖6所示。圖標(biāo)[ηfixed=0.01]表示學(xué)習(xí)率是固定的情況,即在訓(xùn)練過程中學(xué)習(xí)率一直是0.01。
從圖6可知,采用固定的學(xué)習(xí)率并不利于智能體學(xué)習(xí)環(huán)境,所獲取的平均獎勵遠(yuǎn)低于采用動態(tài)學(xué)習(xí)率(見式(15))。這說明逐步變小的學(xué)習(xí)率可以促進智能體搜索更優(yōu)的動作,更好地學(xué)習(xí)環(huán)境。在初始學(xué)習(xí)率相同的情況下,衰減因子[δ]等于0.9、0.8和0.2三種情況的平均獎勵相差不大。其中[δ]=0.9情況下所獲取的平均獎勵略優(yōu)于其他兩種情況,原因在于:[δ]=0.9情況下的學(xué)習(xí)率衰減速度慢于[δ]=0.8和[δ]=0.2兩種情況。
3.4" 性能對比分析
為了更好地分析算法的性能,驗證利用D3QN規(guī)劃機器人路徑的有效性。選擇采用DQN、Double DQN、Dueling DQN作為基準(zhǔn),進而分析采用D3QN規(guī)劃機器人移動路徑的性能。
首先,分析在訓(xùn)練過程中的碰撞率。碰撞率是指機器人在移動過程與障礙物發(fā)生碰撞的概率??紤]如圖1所示的實驗環(huán)境,機器人在移動的物理空間只有固定障礙物、無移動障礙物。假定物理空間內(nèi)有8個目標(biāo)卸載點。圖7繪制了DQN、Double DQN、Dueling DQN和D3QN算法規(guī)劃機器人移動的碰撞率。
從圖7可知,在訓(xùn)練的初始階段,DQN、Double DQN、Dueling DQN和D3QN算法的碰撞率較高,但隨著持續(xù)訓(xùn)練,碰撞率也得以下降,并逐步收斂。訓(xùn)練至約15 000次后,各算法的碰撞率穩(wěn)定。然而,相比于Double DQN和Dueling DQN算法,D3QN算法在碰撞率方面并沒有優(yōu)勢。原因在于:D3QN算法是主要面對存在移動障礙物的應(yīng)用環(huán)境,即復(fù)雜的應(yīng)用環(huán)境。實質(zhì)上,在圖書館的應(yīng)用場景中,多數(shù)情況下肯定存在移動的障礙物(人)。為此,接下來,分析存在移動障礙物環(huán)境下的D3QN算法的性能。
為了分析在復(fù)雜環(huán)境中,算法規(guī)劃機器人的移動路徑的性能。在物理空間中增加了4個移動行人(移動障礙物),他們隨機移動。圖8繪制了DQN、Double DQN、Dueling DQN和D3QN算法的碰撞率。對比觀察圖7和圖8可知,增添了移動障礙物就增加了規(guī)劃路徑的難度、增加了碰撞率。
接下來,分析機器人在完成目標(biāo)卸載任務(wù)所移動的距離。機器人在移動過程中存在移動障礙物。仍考慮圖1的區(qū)域場景,固定障礙物不變,移動障礙物(行人)從0增加至6個,移動速度為0.6 m/s;目標(biāo)卸載點為8個。圖9給出機器人的移動距離隨移動障礙物的變化情況。
從圖9可知,移動障礙物數(shù)量的增加,延長了機器人的移動路徑長度。原因在于:移動障礙物數(shù)量的增加,導(dǎo)致機器人調(diào)整移動方向的次數(shù)增多,這就增加了移動路徑。此外,相比于DQN、Double DQN和Dueling DQN,D3QN縮短了機器人的移動路徑。這說明,利用D3QN能夠有效規(guī)劃移動路徑,減少了調(diào)整方向的次數(shù)。
4" 結(jié)" 語
本文針對智能分揀系統(tǒng)中搬運機器人的路徑規(guī)劃問題,提出一種基于DRL的路徑規(guī)劃算法。先將路徑規(guī)劃問題構(gòu)建成馬爾可夫決策過程,考慮到Double DQN和Dueling DQN算法各自的特點,構(gòu)建D3QN網(wǎng)絡(luò),并利用D3QN算法求解路徑規(guī)劃問題。通過對機器人的移動方向、碰撞障礙物信息設(shè)計獎勵函數(shù),智能體通過與環(huán)境的交互,產(chǎn)生最優(yōu)動作,降低碰撞概率,進而縮短移動路徑。仿真結(jié)果表明,提出的基于D3QN的路徑規(guī)劃算法縮短了移動路徑,降低了碰撞率。
參考文獻(xiàn)
[1] 嚴(yán)珊.基于預(yù)訓(xùn)練模型的深度學(xué)習(xí)算法及其在圖書館行人目標(biāo)檢測中的應(yīng)用[J].圖書館研究與工作,2024(3):43?51.
[2] 強麗麗.圖書館自動尋物機器人移動軌跡智能檢測與跟蹤研究[J].機械設(shè)計與制造工程,2023,52(5):43?48.
[3] DOGRU S, MARQUES L. A*?based solution to the coverage path planning problem [C]// Proceedings of Iberian Robotics Conference 2022. Heidelberg, Germany: Springer, 2022: 240?248.
[4] 李御馳,閆軍濤,宋志華,等.基于遺傳算法的無人機監(jiān)視覆蓋航路規(guī)劃算法研究[J].計算機科學(xué)與應(yīng)用,2019,9(6):1208?1215.
[5] AJEIL F H, IBRAHEEM I K, SAHIB M A, et al. Multi?objective path planning of an autonomous mobile robot using hybrid PSO?MFB optimization algorithm [J]. Applied soft computing, 2020, 89: 106?119.
[6] GUI F, RAHIMAN W, ALHADY S S N, et al. Meta?heuristic approach for solving multi?objective path planning for autonomous guided robot using PSO?GWO optimization algorithm with evolutionary programming [J]. Journal of ambient intelligence and humanized computing, 2021, 12(7): 7873?7890.
[7] 王星宇,胡燕海,徐堅磊,等.基于改進蟻群算法的機器人路徑規(guī)劃方法[J].電子技術(shù)應(yīng)用,2023,49(1):75?80.
[8] 史殿習(xí),彭瀅璇,楊煥煥,等.基于DQN的多智能體深度強化學(xué)習(xí)運動規(guī)劃方法[J].計算機科學(xué),2024,51(2):268?277.
[9] 王正寧,周陽,呂俠,等.一種基于2D和3D聯(lián)合信息的改進MDP跟蹤算法[J].計算機科學(xué),2019,46(3):97?102.
[10] 張薇,何若俊.面向物聯(lián)網(wǎng)數(shù)據(jù)收集的無人機自主路徑規(guī)劃[J].航空學(xué)報,2024,45(8):234?248.
[11] 胡正陽,王勇.基于深度確定性策略梯度的船舶自主航行避碰方法[J/OL].指揮控制與仿真:1?9[2023?12?18].http://kns.cnki.net/kcms/detail/32.1759.TJ.20231215.1042.004.html.
[12] 張良玉.移動機器人深度強化學(xué)習(xí)路徑規(guī)劃研究[D].大連:大連海事大學(xué),2021.
[13] 武明虎,金波,趙楠,等.基于深度強化學(xué)習(xí)的V2X頻譜資源管理方法[J].光通信研究,2023(3):71?78.
[14] 周翼.基于改進競爭網(wǎng)絡(luò)的機器人避障方法研究[D].西安:西安電子科技大學(xué),2019.
[15] PIARDI L, LIMA J, PEREIRA A I, et al. Coverage path planning optimization based on Q?learning algorithm [C]// Proceedings of the 16th International Conference of Numerical Analysis and Applied Mathematics. [S.l.: s.n.], 2019: 5114220.
作者簡介:陳" 玥(1982—),女,武漢人,博士研究生,副研究館員,主要研究方向為智慧圖書館。
收稿日期:2024?05?27" " " " " "修回日期:2024?06?20
基金項目:湖北省重點研發(fā)計劃:面向智能工廠的云邊端協(xié)同數(shù)字孿生關(guān)鍵技術(shù)研究(2022BAD064)