蔡 澤,胡耀光,聞敬謙,張立祥
(北京理工大學(xué) 工業(yè)與智能系統(tǒng)工程研究所,北京 100081)
自動(dòng)導(dǎo)引車(Automated Guided Vehicle, AGV)因其自動(dòng)化程度高、應(yīng)用靈活等特點(diǎn)逐漸成為智能工廠物料運(yùn)輸?shù)年P(guān)鍵設(shè)備。在智能工廠中,工廠布局柔性多變、多AGV運(yùn)行相互影響,使得AGV的運(yùn)行環(huán)境更加復(fù)雜,對(duì)其動(dòng)態(tài)避障能力有了更高的要求。
AGV避障路徑規(guī)劃要求AGV以合理的方式躲避障礙,安全高效地完成運(yùn)輸任務(wù)。早期的避障路徑規(guī)劃多采用集中式方法,由一個(gè)中央服務(wù)器決定所有AGV的運(yùn)行,中央服務(wù)器可以獲取工廠環(huán)境信息和所有AGV的運(yùn)行狀態(tài),為多AGV同時(shí)規(guī)劃無(wú)碰撞的路徑[1]。集中式方法可以保證多個(gè)AGV安全運(yùn)行,并能使路徑達(dá)到近似最優(yōu),但這種方法嚴(yán)重依賴于實(shí)時(shí)通信和精準(zhǔn)的狀態(tài)感知,抗干擾和容錯(cuò)能力很差,不適用于復(fù)雜環(huán)境和有人參與的場(chǎng)景。與集中式方法對(duì)應(yīng)的是分散式方法,分散式方法允許AGV只感知自身局部環(huán)境信息,不需要中央服務(wù)器。分散式方法中一種經(jīng)典的方法是速度障礙法[2],根據(jù)周圍環(huán)境中障礙物的信息選擇回避障礙的速度,基于此框架衍生出互惠速度障礙法(Reciprocal Velocity Obstacles, RVO)[3]、最優(yōu)互惠速度障礙法(Optimal Reciprocal Collision Avoidance, ORCA)[4]等方法,但速度障礙避障方法需要對(duì)障礙的位置、速度和形狀有精確感知,在現(xiàn)實(shí)應(yīng)用中很難實(shí)現(xiàn)。
機(jī)器學(xué)習(xí)、大數(shù)據(jù)等人工智能技術(shù)的發(fā)展為AGV避障問(wèn)題提供了新的解決方案,深度學(xué)習(xí)強(qiáng)大的表示能力與強(qiáng)化學(xué)習(xí)技術(shù)的結(jié)合,允許直接利用原始的傳感器數(shù)據(jù)動(dòng)態(tài)規(guī)劃路徑[5]?;谏疃葟?qiáng)化學(xué)習(xí)技術(shù)的避障方法通常采用端到端的模式,以傳感器(如激光雷達(dá)、深度相機(jī)等)采集到的數(shù)據(jù)為輸入,輸出AGV的控制指令(速度、角速度、電機(jī)轉(zhuǎn)速等)[6],因?yàn)榭刂浦噶疃酁檫B續(xù)值,所以采用基于策略的算法[7]等。避障路徑規(guī)劃通常被設(shè)置為點(diǎn)到點(diǎn)的局部避障,AGV檢測(cè)到障礙后從全局路徑中選取一個(gè)路點(diǎn)作為局部目標(biāo)點(diǎn),無(wú)碰撞的運(yùn)行到此目標(biāo)點(diǎn)后視為避障結(jié)束[8]。避障過(guò)程被建立為適合強(qiáng)化學(xué)習(xí)解決的離散序列決策問(wèn)題,在每個(gè)時(shí)刻根據(jù)環(huán)境的狀態(tài)決策出運(yùn)動(dòng)控制指令[9]?;谝陨夏J?,研究者開始探索在復(fù)雜環(huán)境中的避障方法。ZHU等[10]針對(duì)復(fù)雜室內(nèi)場(chǎng)景(如迷宮等)中局部目標(biāo)點(diǎn)難以定位的問(wèn)題,將感知的第一人稱環(huán)境圖像作為輸入,引導(dǎo)AGV運(yùn)行;LONG等[11]針對(duì)多AGV場(chǎng)景下算法難以收斂的問(wèn)題,提出多場(chǎng)景多階段的訓(xùn)練方法,從簡(jiǎn)單到復(fù)雜的訓(xùn)練避障策略;CHEN等[12]考慮到人運(yùn)動(dòng)的隨機(jī)性,融合多傳感器評(píng)估行人意圖,使AGV適應(yīng)不確定運(yùn)行環(huán)境。上述方法將局部避障視為點(diǎn)到點(diǎn)過(guò)程,以AGV是否到達(dá)目標(biāo)點(diǎn)一定范圍內(nèi)作為避障結(jié)束的依據(jù),該方式只關(guān)注了躲避障礙而沒(méi)有考慮局部避障規(guī)劃對(duì)后續(xù)運(yùn)行的影響,避障結(jié)束后需要繼續(xù)調(diào)整軌跡使AGV回到全局路徑,影響了AGV的運(yùn)行效率。
因此,為解決復(fù)雜動(dòng)態(tài)環(huán)境下考慮全局路徑引導(dǎo)的避障問(wèn)題,本文提出一種基于深度強(qiáng)化學(xué)習(xí)的AGV局部避障路徑規(guī)劃方法。首先,將AGV避障問(wèn)題表示為部分觀測(cè)馬爾可夫決策過(guò)程,詳細(xì)介紹了觀測(cè)空間、動(dòng)作空間和獎(jiǎng)勵(lì)函數(shù),在建立避障決策模型時(shí)同時(shí)考慮了路點(diǎn)位置和后續(xù)路徑方向的引導(dǎo)作用;基于建立的決策過(guò)程,開發(fā)仿真環(huán)境并采用深度確定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG)訓(xùn)練避障策略。最后,進(jìn)行仿真實(shí)驗(yàn),設(shè)置多種實(shí)驗(yàn)場(chǎng)景驗(yàn)證提出方法的有效性。
在智能工廠中,設(shè)備布局柔性多變、多AGV同時(shí)執(zhí)行物料搬運(yùn)任務(wù),AGV的運(yùn)行環(huán)境更加復(fù)雜,為了安全、高效地執(zhí)行任務(wù),AGV需要有自感知與自決策能力。在運(yùn)行過(guò)程中,AGV通過(guò)安裝的傳感器實(shí)時(shí)探測(cè)周圍環(huán)境,當(dāng)檢測(cè)到附近存在障礙物時(shí),需要自主規(guī)劃出避障路徑規(guī)避碰撞風(fēng)險(xiǎn)[13];為完成搬運(yùn)任務(wù)AGV通常采用全局與局部相結(jié)合的路徑規(guī)劃方法,在執(zhí)行任務(wù)前先全局規(guī)劃出從起點(diǎn)到任務(wù)目標(biāo)點(diǎn)的全局路徑,在運(yùn)行過(guò)程中遇到障礙時(shí)進(jìn)行局部路徑規(guī)劃。因此,局部避障路徑規(guī)劃既要滿足無(wú)碰撞的要求,也要考慮任務(wù)的影響,在全局路徑的引導(dǎo)下完成避障。在多AGV同時(shí)運(yùn)行時(shí),AGV需要躲避不同速度的障礙,因此局部避障路徑規(guī)劃需要具有應(yīng)對(duì)動(dòng)態(tài)環(huán)境的能力。
局部避障路徑規(guī)劃可以表示為在等間隔離散時(shí)間點(diǎn)的序列決策問(wèn)題,AGV上安裝有感知周圍環(huán)境的激光雷達(dá),在開始時(shí)刻Ts(記時(shí)刻t=0)檢測(cè)到有障礙物進(jìn)入安全范圍,AGV進(jìn)入避障狀態(tài),從全局路徑的路點(diǎn)中選擇局部目標(biāo)點(diǎn);避障過(guò)程中,在每個(gè)時(shí)刻t(t=0,1,2,…)AGV接受傳感器感知的環(huán)境信息、自身的位置姿態(tài)、運(yùn)行速度等狀態(tài)信息以及目標(biāo)點(diǎn)的位置信息,AGV根據(jù)以上信息生成運(yùn)動(dòng)控制指令并執(zhí)行,改變自身狀態(tài);每一步?jīng)Q策完成后時(shí)間推進(jìn)ΔT,進(jìn)入下一時(shí)刻t=t+1;當(dāng)AGV無(wú)碰撞的到達(dá)局部目標(biāo)點(diǎn)時(shí)完成避障,如果在該過(guò)程中與障礙物發(fā)生碰撞則避障失敗。要解決的問(wèn)題是得到局部避障策略πθ,在每個(gè)時(shí)刻t以觀測(cè)到的信息為輸入,輸出運(yùn)行控制指令。
局部避障需要滿足以下要求:①AGV在運(yùn)行過(guò)程中不與障礙物發(fā)生碰撞;②局部規(guī)劃以全局路徑作為引導(dǎo),避免過(guò)度偏離全局路徑,避障結(jié)束后的運(yùn)行方向與全局方向一致;③避障過(guò)程消耗的時(shí)間盡可能少;④確保避障路徑的平滑性與AGV運(yùn)行穩(wěn)定性,控制指令不能大幅度變化。
無(wú)碰撞的要求表示為:在避障過(guò)程的每一個(gè)時(shí)刻t,AGV對(duì)任何障礙物都有R∩Bi=?(i=1,2,…),R表示AGV的幾何形狀,Bi為障礙物的幾何形狀。
et=at-vt;
(1)
AGV在下一時(shí)刻的位置和姿態(tài)為:
(2)
考慮到在實(shí)際運(yùn)行中,局部目標(biāo)點(diǎn)可能與障礙重合,因此判定AGV到達(dá)目標(biāo)點(diǎn)不必嚴(yán)格要求AGV的位置與目標(biāo)點(diǎn)位置重合或接近,只需整體運(yùn)行軌跡與全局路徑一致即可。結(jié)合上述全局路徑引導(dǎo)的要求,AGV在Te時(shí)到達(dá)目標(biāo)點(diǎn)可以表示為Vte·Ve>0、ΔVte·Ve>0,即AGV在全局方向上超過(guò)目標(biāo)點(diǎn)、AGV的運(yùn)行方向與全局方向一致。對(duì)觀測(cè)信息做進(jìn)一步補(bǔ)充,加入全局路徑方向信息,同時(shí)將環(huán)境信息lt、引導(dǎo)向量Ve、位置向量Vt由全局坐標(biāo)變換到以AGV位置為原點(diǎn),以姿態(tài)方向?yàn)閤軸的相對(duì)坐標(biāo)系下,新的觀測(cè)信息表示為ot=(lt,vt,Ve,Vt)。以最短時(shí)間完成避障表示最小化Te-Ts。
綜上所述,智能工廠環(huán)境下的AGV避障問(wèn)題可以轉(zhuǎn)化為不確定環(huán)境下的從開始避障到結(jié)束避障的序列決策問(wèn)題,優(yōu)化目標(biāo)為:
min(Te-Ts)。
(3)
決策變量為:
at=πθ(ot)。
(4)
約束包括:
Vte·Ve>0;ΔVte·Ve>0。
(5)
為了求解最優(yōu)策略πθ,本文將局部避障問(wèn)題構(gòu)建為馬爾可夫決策過(guò)程,由于觀測(cè)數(shù)據(jù)ot只來(lái)自于對(duì)應(yīng)的AGV,是對(duì)環(huán)境信息的部分觀測(cè),該決策問(wèn)題屬于部分觀測(cè)馬爾可夫決策過(guò)程(Partial Observational Markov Decision Process, POMDP)[15]。POMDP包含6個(gè)元素(S,A,P,R,Ω,O),其中:S為環(huán)境的狀態(tài)空間,包含AGV運(yùn)行環(huán)境中的所有可能狀態(tài);A為動(dòng)作空間,包括對(duì)AGV的控制指令;P為狀態(tài)轉(zhuǎn)移函數(shù),表示執(zhí)行動(dòng)作后狀態(tài)轉(zhuǎn)移的概率;R為獎(jiǎng)勵(lì)函數(shù),用來(lái)評(píng)價(jià)狀態(tài)轉(zhuǎn)移過(guò)程;Ω為觀測(cè)空間(ot∈Ω);O為對(duì)環(huán)境狀態(tài)的觀測(cè)函數(shù)(ot=O(st))。在建立的模型中,AGV依據(jù)對(duì)環(huán)境的觀測(cè)決策出控制指令,因此不需要考慮環(huán)境的相關(guān)元素,下面詳細(xì)介紹避障問(wèn)題中的觀測(cè)空間、動(dòng)作空間與獎(jiǎng)勵(lì)函數(shù)。
AGV在時(shí)刻t觀測(cè)到的信息ot包括周圍環(huán)境數(shù)據(jù)lt、AGV運(yùn)行速度vt、避障過(guò)程的全局路徑引導(dǎo)方向Ve以及表示AGV位置與局部目標(biāo)點(diǎn)位置的Vt,如圖2所示。lt由布置在AGV前端的激光雷達(dá)掃描產(chǎn)生,可以探測(cè)180°的平面區(qū)域,角分辨率為1°,全部的雷達(dá)探測(cè)數(shù)據(jù)維度過(guò)高,不利于計(jì)算[16],因此在每個(gè)時(shí)刻等間隔(15°)抽取13個(gè)數(shù)據(jù)(lt∈13)作為最終的輸入,雷達(dá)測(cè)距半徑為2.5 m;vt為AGV的運(yùn)行速度,由AGV行駛的線速度和角速度表示(vt∈2);Ve為表示全局路徑方向的二維向量(Ve∈2);Vt表示AGV與避障目標(biāo)點(diǎn)的位置關(guān)系,同樣由二維向量表示(Vt∈2)。
單次觀測(cè)ot包含環(huán)境中障礙物的靜態(tài)信息(如形狀、位置等),為了提高決策的有效性,需要利用環(huán)境中的動(dòng)態(tài)信息,因此使用最近的N個(gè)連續(xù)觀測(cè)值組成的觀測(cè)序列ot=(ot+(-N+1),ot+(-N+2),…,ot)推測(cè)障礙的速度、運(yùn)動(dòng)趨勢(shì)等信息。觀測(cè)序列中的觀測(cè)數(shù)量越多,包含的環(huán)境信息也越充分,可以提高決策的準(zhǔn)確率,但過(guò)多的信息會(huì)影響計(jì)算的速度,對(duì)決策的時(shí)效性產(chǎn)生負(fù)面影響,綜合考慮本文取N=3,即ot=(ot-2,ot-1,ot)作為觀測(cè)序列。在開始避障的時(shí)刻t=0,觀測(cè)序列取o0=(o0,o0,o0)。
局部避障路徑規(guī)劃的目標(biāo)是在無(wú)碰撞約束、全局路徑引導(dǎo)約束、軌跡平滑約束下以最短的時(shí)間完成避障。上文通過(guò)對(duì)動(dòng)作進(jìn)行PID控制處理實(shí)現(xiàn)了軌跡平滑約束,下面介紹獎(jiǎng)勵(lì)函數(shù)的設(shè)置以實(shí)現(xiàn)優(yōu)化目標(biāo)與其余兩種約束。
本研究的獎(jiǎng)勵(lì)函數(shù)設(shè)置為:
(6)
(7)
切向獎(jiǎng)勵(lì)根據(jù)切向距離的大小與固定獎(jiǎng)勵(lì)成比例。
(8)
局部避障問(wèn)題最終需要求解得到最優(yōu)避障策略πθ(at|ot),在建立的模型中觀測(cè)狀態(tài)ot屬于高維連續(xù)輸入,輸出的動(dòng)作at同樣也是連續(xù)的,因此本文采用深度強(qiáng)化學(xué)習(xí)算法中的DDPG算法[17]訓(xùn)練確定性策略,在每一步?jīng)Q策出最優(yōu)的動(dòng)作。
DDPG算法中包含動(dòng)作(Actor)和評(píng)價(jià)(Critic)兩種神經(jīng)網(wǎng)絡(luò),分別對(duì)策略與價(jià)值近似表征。Actor網(wǎng)絡(luò)以觀測(cè)序列o為輸入,輸出動(dòng)作a,控制AGV的行駛速度和方向,為AGV規(guī)劃出避障路徑,表征避障策略πθ(at|ot)[18];Critic網(wǎng)絡(luò)以觀測(cè)序列o和動(dòng)作a為輸入,輸出二者的價(jià)值Q(o,a),對(duì)Actor網(wǎng)絡(luò)的決策結(jié)果進(jìn)行評(píng)價(jià),使其能夠不斷優(yōu)化。
本文選取決策時(shí)刻觀測(cè)數(shù)據(jù)和前兩個(gè)時(shí)刻的觀測(cè)數(shù)據(jù)組成觀測(cè)序列,以多幀序列數(shù)據(jù)作為決策所需的輸入數(shù)據(jù)。為了解決多幀序列輸入的決策問(wèn)題,本文針對(duì)Actor和Critic網(wǎng)絡(luò)設(shè)計(jì)了如圖3和圖4所示的架構(gòu)。
如圖3所示為Actor網(wǎng)絡(luò),觀測(cè)序列o被分為全局路徑方向Ve、AGV速度序列(vt-2,vt-1,vt)、雷達(dá)探測(cè)序列(lt-2,lt-1,lt)和AGV位置序列(Vt-2,Vt-1,Vt),單幀數(shù)據(jù)Ve連接全連接網(wǎng)絡(luò),3種多幀序列輸入數(shù)據(jù)按照先后順序堆疊為一維向量分別連接全連接網(wǎng)絡(luò),中間層及最后的輸出層均為全連接網(wǎng)絡(luò),Actor網(wǎng)絡(luò)的具體參數(shù)如表1所示。
表1 Actor網(wǎng)絡(luò)參數(shù)
如圖4所示為Critic網(wǎng)絡(luò),與Actor網(wǎng)絡(luò)類似,Critic網(wǎng)絡(luò)同樣采用數(shù)據(jù)堆疊的方法處理多幀序列輸入問(wèn)題,因?yàn)镃ritic網(wǎng)絡(luò)是對(duì)觀測(cè)—?jiǎng)幼?o,a)進(jìn)行評(píng)價(jià),所以還添加了動(dòng)作處理層,Critic網(wǎng)絡(luò)的具體參數(shù)如表2所示。兩種網(wǎng)絡(luò)中用到的激活函數(shù)包括:雙曲正切函數(shù)tanh(x)和relu(x)=max(0,x)。
表2 Critic網(wǎng)絡(luò)參數(shù)
DDPG算法是基于Actor-Critic(動(dòng)作—評(píng)價(jià))網(wǎng)絡(luò)的確定性策略梯度算法,算法使用經(jīng)驗(yàn)回放與備份網(wǎng)絡(luò)的方法提高數(shù)據(jù)利用率與算法穩(wěn)定性。本文利用DDPG算法訓(xùn)練避障策略的流程如下:
(1)隨機(jī)初始化Critic網(wǎng)絡(luò)Q(o,a|θQ)和Actor網(wǎng)絡(luò)μ(o|θμ),初始化參數(shù)γ(獎(jiǎng)勵(lì)折扣因子)、τ(網(wǎng)絡(luò)更新率)、l(學(xué)習(xí)率);(2)復(fù)制Critic和Actor的網(wǎng)絡(luò)參數(shù),初始化目標(biāo)網(wǎng)絡(luò)Q′(o,a|θQ′)和μ′(o|θμ′),θQ′←θQ,θμ′←θμ;(3)初始化經(jīng)驗(yàn)存儲(chǔ)池,容量為P,設(shè)置經(jīng)驗(yàn)采樣數(shù)M(M≤P),設(shè)置訓(xùn)練回合數(shù)E;(4)訓(xùn)練E次:
1)初始化策略探索噪聲aN;
2)AGV檢測(cè)到障礙物,進(jìn)入避障狀態(tài),時(shí)間步t=0,獲取雷達(dá)掃描數(shù)據(jù)、AGV運(yùn)行速度、全局路徑方向以及AGV位置向量,構(gòu)建初始觀測(cè)ot=o0;
5)向經(jīng)驗(yàn)池中存入狀態(tài)轉(zhuǎn)移過(guò)程(ot,at,rt+1,ot+1,isDone);
6)從經(jīng)驗(yàn)池中隨機(jī)抽取M個(gè)狀態(tài)轉(zhuǎn)移過(guò)程;
7)使用兩種目標(biāo)網(wǎng)絡(luò)Q′(o,a|θQ′)和μ′(o|θμ′)計(jì)算觀測(cè)—?jiǎng)幼鞯哪繕?biāo)價(jià)值yi,
yi=ri+1+γQ′(oi+1,μ′(oi+1|θμ′)|θQ′)
8)采用梯度下降方法以學(xué)習(xí)率l更新Critic網(wǎng)絡(luò),目標(biāo)是最小化對(duì)價(jià)值的評(píng)價(jià)誤差,使Critic對(duì)價(jià)值的估計(jì)更準(zhǔn)確,損失函數(shù)為:
9)采用梯度上升方法以學(xué)習(xí)率l更新Actor網(wǎng)絡(luò),目標(biāo)是最大化價(jià)值,使Actor選擇更好的動(dòng)作,損失函數(shù)為:
10)更新目標(biāo)網(wǎng)絡(luò)
θQ′←τθQ+(1-τ)θQ′
θμ′←τθμ+(1-τ)θμ′
11)時(shí)間步更新t=t+1;
12)重復(fù)步驟3)~步驟11),直到避障結(jié)束,此回合結(jié)束。
(5)訓(xùn)練結(jié)束。
在上述算法的每一回合中,Actor網(wǎng)絡(luò)表示避障策略,輸入觀測(cè)o,輸出控制指令at,在對(duì)at處理后由仿真環(huán)境中的AGV執(zhí)行,AGV根據(jù)at改變自身位置和速度,仿真環(huán)境根據(jù)式(6)計(jì)算相應(yīng)的獎(jiǎng)勵(lì)rt+1,并產(chǎn)生新的觀測(cè)ot+1,同時(shí)判斷是否完成了避障(isDone)。每一步可以表示為一個(gè)狀態(tài)轉(zhuǎn)移過(guò)程(ot,at,rt+1,ot+1,isDone),并將其存入經(jīng)驗(yàn)池中。當(dāng)經(jīng)驗(yàn)池中積累了足夠多的狀態(tài)轉(zhuǎn)移過(guò)程后即可用來(lái)更新網(wǎng)絡(luò)參數(shù),優(yōu)化網(wǎng)絡(luò)。
算法中的相關(guān)參數(shù)如表3所示:
表3 算法參數(shù)設(shè)置
本文使用編程語(yǔ)言Python 3.8搭建仿真環(huán)境,實(shí)現(xiàn)了AGV狀態(tài)更新、雷達(dá)感知、AGV碰撞檢測(cè)等功能,模擬AGV運(yùn)行,使用Pytorch 1.9開發(fā)包編寫DDPG算法,硬件采用AMD Ryzen7-4800處理器和RTX 2060顯卡。
在訓(xùn)練避障策略時(shí),每個(gè)回合隨機(jī)設(shè)置靜態(tài)障礙、AGV的引導(dǎo)路徑及AGV的初始避障狀態(tài)(包括位置、姿態(tài)、線速度、角速度),設(shè)置多臺(tái)AGV同時(shí)運(yùn)行,每臺(tái)AGV與環(huán)境交互生成經(jīng)驗(yàn)并利用DDPG算法訓(xùn)練避障策略,同時(shí)也作為其他AGV運(yùn)行時(shí)的動(dòng)態(tài)障礙。策略訓(xùn)練仿真環(huán)境的相關(guān)參數(shù)如表4所示。
表4 避障策略訓(xùn)練環(huán)境參數(shù)設(shè)置
基于構(gòu)建的仿真環(huán)境和3.2節(jié)的算法流程訓(xùn)練避障策略,訓(xùn)練過(guò)程中每個(gè)回合得到的獎(jiǎng)勵(lì)值如圖5所示。由圖5可以看到,訓(xùn)練后期可以獲得較大獎(jiǎng)勵(lì)且獎(jiǎng)勵(lì)值保持平穩(wěn)趨勢(shì),表明算法已經(jīng)收斂。策略訓(xùn)練時(shí)每回合的障礙分布和多AGV狀態(tài)隨機(jī)設(shè)置,因此獎(jiǎng)勵(lì)值會(huì)出現(xiàn)微小波動(dòng)。
本文提出的方法在避障時(shí)考慮了后續(xù)路徑方向的引導(dǎo)作用,因此對(duì)避障策略的避障性能與整體運(yùn)行效率進(jìn)行實(shí)驗(yàn)分析,并與現(xiàn)有的只以目標(biāo)點(diǎn)作為引導(dǎo),不考慮后續(xù)方向的策略[15]進(jìn)行對(duì)比。基于3.3節(jié)介紹的仿真環(huán)境開展單次避障與長(zhǎng)距離多次避障實(shí)驗(yàn)。
本文采用以下3種指標(biāo)對(duì)避障性能和效率進(jìn)行評(píng)價(jià):
(1)成功率αAGV成功完成避障次數(shù)占總避障次數(shù)的比率;(2)額外時(shí)間比teAGV完成避障消耗的時(shí)間除以預(yù)期時(shí)間,預(yù)期時(shí)間指AGV在無(wú)障礙環(huán)境下以最大速度到達(dá)目標(biāo)點(diǎn)所需時(shí)間;
(3)額外距離比deAGV避障過(guò)程的行駛距離除以預(yù)期距離,預(yù)期距離指避障起始點(diǎn)到目標(biāo)點(diǎn)的路徑距離。
在實(shí)際應(yīng)用中,當(dāng)AGV之間的路徑重合或者交叉時(shí)即有碰撞風(fēng)險(xiǎn)[20],本文設(shè)計(jì)了交替、交叉以及十字形3種實(shí)驗(yàn)場(chǎng)景,場(chǎng)景中包含4臺(tái)AGV,如圖6所示。
(1)交替場(chǎng)景 AGV路徑重合,兩端的AGV運(yùn)行方向相反;(2)交叉場(chǎng)景 AGV路徑垂直交叉,且交叉位置在路徑中間部分;(3)十字形場(chǎng)景 同時(shí)包含路徑交叉與重合。
在不同場(chǎng)景下進(jìn)行1 000次避障實(shí)驗(yàn),每次實(shí)驗(yàn)時(shí)為AGV在路徑方向的位置增加隨機(jī)擾動(dòng),使AGV的開始避障位置發(fā)生變化。分別采用本文得到的避障策略和文獻(xiàn)[15]無(wú)方向引導(dǎo)的避障策略控制AGV完成避障實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5所示,兩種策略下的AGV避障軌跡如圖6所示,圖中不同AGV使用不同顏色標(biāo)出,從開始避障到結(jié)束,AGV軌跡的顏色由淺變深。
表5 不同場(chǎng)景下的避障結(jié)果
為了探究避障策略對(duì)AGV整體運(yùn)行效率的影響,本文設(shè)計(jì)了長(zhǎng)距離運(yùn)行實(shí)驗(yàn),在實(shí)驗(yàn)中AGV需要多次躲避障礙完成較長(zhǎng)距離的運(yùn)行。實(shí)驗(yàn)場(chǎng)景如圖7所示,實(shí)驗(yàn)場(chǎng)景為40 m×3 m的矩形,場(chǎng)景中間設(shè)置0.6 m×0.6 m的矩形塊障礙,AGV需要從左端運(yùn)行到右端。設(shè)置不同密度障礙的實(shí)驗(yàn)場(chǎng)景,障礙的間距分別為5 m、4 m、3 m,對(duì)應(yīng)的障礙數(shù)量為7個(gè)、8個(gè)、11個(gè)。
在每種場(chǎng)景下進(jìn)行1 000次實(shí)驗(yàn),每次實(shí)驗(yàn)時(shí)隨機(jī)設(shè)置障礙物在豎直方向的位置,分別以本文策略和文獻(xiàn)[15]的策略控制AGV運(yùn)行,實(shí)驗(yàn)結(jié)果如表6所示,AGV運(yùn)行軌跡如圖7所示。
表6 不同障礙密度場(chǎng)景下的運(yùn)行結(jié)果
經(jīng)過(guò)上述實(shí)驗(yàn)測(cè)試,本文提出的局部避障方法可以為AGV規(guī)劃出有效的避障軌跡,保證AGV的無(wú)碰撞運(yùn)行,避障成功率α已達(dá)或接近100%。在單次避障實(shí)驗(yàn)中,相比于不考慮后續(xù)方向引導(dǎo)的方法,本文方法使AGV在避障時(shí)偏離路徑的程度更小,可以縮短5%左右的行駛距離。
在長(zhǎng)距離多次避障測(cè)試中,本文方法可以使AGV避障結(jié)束后的運(yùn)行方向與后續(xù)路徑方向盡可能保持一致,在障礙物密集環(huán)境下可以有效提升運(yùn)行效率,在實(shí)驗(yàn)中,當(dāng)障礙物間隔為3 m時(shí),行駛時(shí)間和距離分別縮短8.8%和10.1%。
由于是以避障時(shí)間最短為優(yōu)化目標(biāo),AGV在避障時(shí)與障礙物的間距較小,運(yùn)行軌跡對(duì)障礙的位置和形狀敏感,在現(xiàn)實(shí)中可能會(huì)因?yàn)檎`差等原因?qū)е掳踩珕?wèn)題,因此后續(xù)還需針對(duì)數(shù)據(jù)誤差等問(wèn)題做進(jìn)一步研究,提升方法的魯棒性。
本文針對(duì)智能工廠復(fù)雜動(dòng)態(tài)環(huán)境下的AGV無(wú)沖突運(yùn)行問(wèn)題,提出一種基于深度強(qiáng)化學(xué)習(xí)的局部避障路徑規(guī)劃方法。主要研究?jī)?nèi)容包括:將局部避障路徑規(guī)劃問(wèn)題表征為部分觀測(cè)馬爾可夫決策過(guò)程,考慮了后續(xù)路徑方向?qū)Ρ苷系囊龑?dǎo)作用,介紹了觀測(cè)空間、動(dòng)作空間和獎(jiǎng)勵(lì)函數(shù);設(shè)計(jì)DDPG算法求解最優(yōu)避障策略,利用多幀數(shù)據(jù)評(píng)估障礙物的運(yùn)動(dòng)趨勢(shì),使AGV可以應(yīng)對(duì)動(dòng)態(tài)環(huán)境;最后設(shè)計(jì)仿真實(shí)驗(yàn)對(duì)訓(xùn)練出的避障策略進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果表明本文所提方法可以為AGV規(guī)劃出安全的行駛軌跡,相比于現(xiàn)有方法可以提升運(yùn)行效率。
本研究提出的方法是以傳感器觀測(cè)到的外部環(huán)境數(shù)據(jù)作為輸入,沒(méi)有充分考慮AGV自身的參數(shù),如尺寸、載重等,下一步的研究將盡可能全面地考慮影響避障的因素,提高AGV的避障能力。