宋麗君,周紫瑜,李云龍,侯佳杰,何 星
(西安建筑科技大學(xué) 信息與控制工程學(xué)院,西安 710055)
最優(yōu)路徑規(guī)劃及路徑規(guī)劃過程中的有效避障是目前移動機器人多個領(lǐng)域都需要解決的關(guān)鍵問題[1],當(dāng)前針對此問題提出的方法主要包括:人工勢場法、遺傳算法[2]、神經(jīng)網(wǎng)絡(luò)法[3]、強化學(xué)習(xí)法[4]及A*算法[5]等等.在靜態(tài)環(huán)境下的路徑規(guī)劃相對容易完成,但在存在隨機障礙物且環(huán)境時刻變化的動態(tài)環(huán)境中,則無法采用靜態(tài)環(huán)境下的路徑規(guī)劃方法完成指定任務(wù)[6].本文主要針對復(fù)雜隨機障礙物的環(huán)境下進行動作選擇策略規(guī)劃以及環(huán)境中存在動態(tài)障礙物的突發(fā)情況的路徑規(guī)劃進行研究.
Q-Learning算法是由Watikins提出的,該算法可用于解決移動機器人的路徑規(guī)劃問題[7],目前機器人在人類不可到達或危險未知的環(huán)境下完成任務(wù)較多采用Q-Learning算法.文獻[8]等將神經(jīng)網(wǎng)絡(luò)與Q-Learning算法相結(jié)合,不但可以用來解決不同環(huán)境下的路徑規(guī)劃問題,還能夠提升算法的收斂性能,但是未能解決動態(tài)地圖下的路徑規(guī)劃.張福海等通過對障礙物信息離散化、獎勵函數(shù)連續(xù)化等方式提升了強化學(xué)習(xí)算法在路徑規(guī)劃上的訓(xùn)練效率[9].文獻[10]將策略結(jié)合作為創(chuàng)新點,作者提出將貪婪策略和玻爾茲曼概率選擇策略進行整合,通過改變選擇策略達到避免陷入局部最優(yōu)的效果.文獻[11]對加快算法收斂速度進行研究,作者以函數(shù)逼近的方法降低Q函數(shù)的維數(shù),達到提升收斂速度的目的,但該方法會增加探索重復(fù)率.通過上述前人研究可以發(fā)現(xiàn),雖然國內(nèi)外的學(xué)者們對Q-Learning算法在解決路徑規(guī)劃問題上已有一定研究,但研究熱點依然聚焦于解決局部最優(yōu)和提升收斂速度[12].王鼎新針對AGV靜態(tài)環(huán)境路徑規(guī)劃提出了一種基于人工神經(jīng)網(wǎng)絡(luò)的Q-Learning算法[13].彭玲玲等提出柵格法建立地圖環(huán)境,通過改進Q-Learning算法使機器人在靜態(tài)且存在復(fù)雜障礙物的環(huán)境里能夠更快抵達終點,但該算法只針對靜態(tài)避障,無法應(yīng)用于存在動態(tài)障礙物的環(huán)境中[14].因此可以看出以上學(xué)者研究方向均未同時涉及動態(tài)環(huán)境下路徑規(guī)劃及軌跡平滑處理,因此在改進探索策略提高算法效率的基礎(chǔ)上,對動態(tài)環(huán)境的路徑規(guī)劃研究及軌跡平滑處理為本文研究的核心內(nèi)容.
針對以上問題,本文提出了一種改進Q-Learning算法,對Q-Learning算法的選擇策略探索因子及深度學(xué)習(xí)因子進行改進,融合全局啟發(fā)式搜索遺傳(GA)算法防止并其陷入局部最優(yōu),同時按階段進行探索將Q-Learning算法應(yīng)用在動態(tài)連續(xù)環(huán)境中并提高了算法收斂速度,最后采用貝塞爾曲線對局部拐點路徑進行平滑處理加強了算法的工程應(yīng)用價值;最后搭建仿真實驗平臺及實物實驗平臺對算法效率及可行性進行驗證.
強化學(xué)習(xí)(reinforce-learning,RL)是一個從環(huán)境狀態(tài)到動作映射的學(xué)習(xí)[15],該算法的學(xué)習(xí)不依賴監(jiān)督信號而是依賴個體在環(huán)境中的得到的反饋回報信號,個體的狀態(tài)即下一步行動根據(jù)得到的反饋匯報信號更正,以此實現(xiàn)獎勵的最大化從而使得強化學(xué)習(xí)具有較強的自主學(xué)習(xí)能力.
Q-Learning算法歸屬于強化學(xué)習(xí),該算法主要包含:機器人、狀態(tài)、動作、環(huán)境、回報和懲罰[16].Q-Learning算法中的Q表是機器人自主學(xué)習(xí)得到的反饋結(jié)果,即機器人與環(huán)境交互感知后的結(jié)果,因此在Q-Learning算法中更新Q表就是機器人與環(huán)境的交互過程.
機器人在當(dāng)前狀態(tài)s(t),選擇動作a,通過環(huán)境的作用,形成新的狀態(tài)s(t+1),并產(chǎn)生回報或懲罰r(t+1),通過公式(1)更新Q表后,若Q(s,a)值變小,則表明機器人處于當(dāng)前位置時選擇該動作不是最優(yōu)的,當(dāng)下次機器人再次處于該位置或狀態(tài)時,機器人能夠避免再次選擇該動作.重復(fù)步驟,機器人與環(huán)境之間不停地交互,就會獲得到大量的數(shù)據(jù),直至Q表收斂.Q-Learning算法使用得到的數(shù)據(jù)去修正自己的動作策略,然后繼續(xù)同環(huán)境進行交互,進而獲得新的數(shù)據(jù)并且使用該數(shù)據(jù)再次改良它的策略,在多次迭代后,最終會獲得最優(yōu)動作.算法價值函數(shù)的更新公式為:
Q(si,At)←Q(si,At)+
α[Rt+1+γmaxαQ(si+1,a)-Q(si,At)]
(1)
公式(1)中Rt+1為移動機器人t+1步的獎勵,a為狀態(tài)si+1能執(zhí)行的動作,狀態(tài)si,si+1∈S,S為狀態(tài)空間;動作a∈A,A為動作空間;a為學(xué)習(xí)效率,學(xué)習(xí)效率越高,Q值收斂越快,也更容易振蕩;maxαQ(si+1,a)表示選取能夠使Q(si+1,a)取值最大的動作;γ為衰減因子,表示獎勵對選擇動作的影響程度大小,Q-Learning算法的依賴收斂關(guān)系為前后依賴.
初始化Q值是指在Q-learning的初始學(xué)習(xí)階段引入對環(huán)境的先驗知識,將任意位置下的柵格到目標(biāo)點柵格的歐式距離定位D(xi,xg),到起始點柵格的歐式距離定位D(xi,xx),取:
D(xi)=(1-η)·D(xi,xg)+η·D(xi,xx)
(2)
使用D(xi)的線性歸一化數(shù)值來初始化各個狀態(tài)的Q值(η∈(0,0.2),η為權(quán)重系數(shù)),以此來避免盲目探索,使得算法在前期就有目的地選擇下一個路徑點,大幅提高算法的收斂速度,同時將動作空間離散為A∈{0°,90°,180°,360°},以提高訓(xùn)練速度加快收斂,在柵格環(huán)境內(nèi)對應(yīng)動作狀態(tài)向右、向上、向左,向下.
在Q-Learning算法中,慣用的搜索決策主要歸類為直接搜索和間接搜索,直接搜索即為有先驗知識的前提下探索,若將狀態(tài)劃分為已知和未知兩種,在已知狀態(tài)下根據(jù)現(xiàn)有的經(jīng)驗知識進行的位置情況下的探索即為間接探索.文獻[17]采用經(jīng)驗指導(dǎo)決策的方法進行探索,對當(dāng)前實驗對象的獎勵機制做分析,若獲得獎勵則利用采用當(dāng)前經(jīng)驗,若受到懲罰則選擇探索.間接搜索是當(dāng)前Q-Learning算法最為常用的探索方法.
本文針對算法搜索時間與學(xué)習(xí)速度的問題做了平衡改進,選用ε-greedy貪婪法,利用概率的突變性優(yōu)化探索和利用的選擇,即實驗對象以ε概率進行探索,以1-ε的概率選擇放棄探索,并執(zhí)行最高獎賞的動作.該方法在平衡探索和利用的問題上,引入了探索因子ε,因此改進后的搜索策略即可充分利用先驗知識,也可在缺失先驗知識的情況下選擇探索.公式如下:
(3)
從公式(3)中可知,選取使得動作值函數(shù)為最大值的動作的概率為1-ε+ε/|A(s)|,選擇其他的動作的概率ε/|A(s)|,ε∈[0,1].由于該探索效率會隨著算法運行強度增加而降低,結(jié)合本文的研究分析設(shè)計一種基于ε-greedy貪婪法的新型策略,根據(jù)階段探索步長的柵格有效狀態(tài)對搜索概率進行適當(dāng)增減,以保證最大效率,當(dāng)前環(huán)境反饋的回報值較大時為避免陷入局部最優(yōu)保持探索效率,當(dāng)前有效狀態(tài)即回報值減小時算法處于局部范圍的尋優(yōu)因此可提高探索效率,在探索步長的階段尋優(yōu)基礎(chǔ)上增加依據(jù)環(huán)境回報狀態(tài)實時調(diào)整的探索因子,公式如下:
(4)
式中ε是探索概率;λ是衰減系數(shù)設(shè)置為10確保探索效率與環(huán)境回報狀態(tài)呈負相關(guān);Δx是階段補償探索的有效回報狀態(tài);N是步長總數(shù)量.
本文針對Q-Learning算法易陷入局部最優(yōu)的缺點,在Q-Learning算法的步驟中融合GA算法,遺傳(GA)算法最初是由John Holland在1960年開發(fā)的,又叫進化算法是一種啟發(fā)式搜索方法[18].該算法的主要特點是群體搜索以及個體信息交換.遺傳算子新個體的產(chǎn)生源于對被選中的個體進行的交叉、變異操作,提高逐代進行選擇、交叉、變異來模擬自然進化過程,在本文研究的問題中最優(yōu)路徑即為最終得到的最優(yōu)個體.使用模擬二進制交叉,使其搜索范圍比傳統(tǒng)的交叉更大,以此避免Q-Learning算法陷入局部最優(yōu)解,從而使移動機器人在陷入局部極優(yōu)區(qū)域時逃脫,并繼續(xù)向目標(biāo)點移動.同時本文針對傳統(tǒng)Q-Learning算法應(yīng)用于實際場景中的缺陷做出改進,使其適用于動態(tài)障礙物環(huán)境中,同時提高效率,實現(xiàn)高效率的實時避障.
根據(jù)馬爾可夫決策首先給定一個狀態(tài)集S,一個行為集A.s∈S,a∈A.Q(s,a)表示的是s狀態(tài)下選擇行為a的分數(shù),Q用表格表示.有了Q值之后,即可知道當(dāng)在狀態(tài)s時候的行為選擇,進而選擇最大Q值的a動作.
給定3個狀態(tài)s1,s2,s3,s4,假設(shè)它們每個只有一個動作分別是a1,a2,a3;s4沒有動作.在s1狀態(tài)下進行a1動作(s1,a1)的獎勵為r1,執(zhí)行a1進入到s2,(s2,a2)的獎勵為r2,執(zhí)行a2進入到s3,(s3,a3)的獎勵為r3,執(zhí)行a3進入到s4無獎勵.
設(shè)γ表示衰減因子,0到1之間,根據(jù)上面的狀態(tài)動作過程,得到:
Q(s1,a1)=r1+γ·r2+γ2·r3
(5)
式中γ表示現(xiàn)在s1狀態(tài)選擇a1動作跟未來的獎勵關(guān)系大小的程度.γ為0時,說明現(xiàn)在的選擇不會影響未來.由此可以得出:
Q(s2,a2)=r2+γ·r3Q(s3,a3)=r3
(6)
由此可得出規(guī)律:
(7)
歸納得到公式:
Q(si,ai)=ri+γ·Q(si+1,ai+1)
(8)
由此可知Q函數(shù)表格應(yīng)符合上述公式,若:
ri+γ·Q(si+1,ai+1)-Q(si,ai)>0
(9)
說明Q小了,加一個正數(shù)t,即:
Q(si,ai)=Q(si,ai)+t
(10)
Q(si,ai)=Q(si,ai)+
a(ri+γ·Q(si+1,ai+1)-Q(si,ai))
(11)
實際應(yīng)用中s會有多個動作選項,需要拿出狀態(tài)最大行動的Q值,即:
Q(si,ai)=Q(si,ai)+
a(ri+γmaxQ(si+1,A)-Q(si,ai))
(12)
為避免陷入局部最優(yōu),引入GA算法,選擇、交叉、變異操作:
選擇操作:
選擇操作使用錦標(biāo)賽算法,具體步驟如下:
1)確定每次選擇的個體數(shù)量,即從Q-Learning每次的多個動作選項si中隨機選擇n條規(guī)則.
2)隨機在種群中選擇一定數(shù)量的個體構(gòu)成小組,篩選出適應(yīng)度值最好的個體進入子代種群.
3)重復(fù)步驟2,直到子代種群目標(biāo)規(guī)模,以此生成新個體,設(shè)置子代種群的大小為規(guī)則種群的1/2,即代溝為0.5.
選擇開始時,個體生存的概率會比較大,為了保持整個群體的多樣性,一些結(jié)果不太優(yōu)秀的個體也會被選擇留下來[19].隨著進化代數(shù)的進行,搜索范圍越來越小,選擇的標(biāo)準也會越來越嚴格,使用選擇方式的選擇概率為:
(13)
式中:f(aj)是個體aj的適應(yīng)值,p(aj)是個體aj被選擇的概率.
交叉操作:使用模擬二進制交叉,配對組合隨機選擇,每一對都需要進行單點交叉,交叉概率設(shè)置為0.9,伴隨有2個子規(guī)則產(chǎn)生.
變異操作:子規(guī)則根據(jù)變異概率0.03進行變異.當(dāng)一個條件位被選擇進行突變,則以均等概率將該位變?yōu)?或1.具體計算方法為:
(14)
在此基礎(chǔ)上設(shè)置移動機器人同時按階段探索最優(yōu)迭代步長次數(shù),首先根據(jù)先驗的環(huán)境信息對從起始點至終止點的最大步長進行估計,并將環(huán)境下的最大步長設(shè)為2x,將其均等分為N個階段,每階段探索步長為2x/N.從第一個階段開始對環(huán)境分階段進行m次探索,并在更新Q表中尋出該階段的最優(yōu)動作選擇,以此為基礎(chǔ)依次對其他階段的動作進行最優(yōu)選擇,最終結(jié)果即為此階段的最優(yōu)路徑,以此為基礎(chǔ)進行環(huán)境探索以此規(guī)劃實時的避障路徑,由于傳統(tǒng)Q-Learning算法搜索范圍有限僅探索下一步動作,因而根據(jù)當(dāng)前環(huán)境信息結(jié)合融入的GA算法,移動機器人可進行深度探索,同時獲取路徑上的動態(tài)障礙物位置信息,以此規(guī)劃全局及局部路徑避免陷入局部最優(yōu).
本文在傳統(tǒng)Q-Learning算法值函數(shù)的更新函數(shù)中加入深度學(xué)習(xí)因子ω∈(0.5,1),用于確保Q值收斂,并對移動機器人探索過程的第一、二步獲得的回報進行權(quán)衡,其中ω參數(shù)設(shè)置的主要目的為保證第一步的回報權(quán)重大于第二步.改進后的值函數(shù)更新規(guī)則為:
Q(si,ai)=Q(si,ai)+
(15)
式中:Q(si+2,a)為后兩步動作狀態(tài)Q值,改進后的算法能夠促使移動機器人更早的確定目標(biāo)點同時判斷路徑過程中的障礙物,盡早的更新函數(shù)Q值.
目前在大多數(shù)研究中使用的路徑平滑處理主要分為全局和局部優(yōu)化,全局優(yōu)化是一種綜合性的優(yōu)化處理,當(dāng)移動機器人處于復(fù)雜多隨機障礙物的環(huán)境中,全局路徑的平滑處理可能會導(dǎo)致處理后路徑與障礙物產(chǎn)生交叉,失去原規(guī)劃路徑的可行性.
因此在確保路徑規(guī)劃可行性的前提下,以此為研究基礎(chǔ)結(jié)合本文環(huán)境背景,采用局部路徑優(yōu)化,使局部即拐點處的路徑具有共同的切向速度和曲率實現(xiàn)平滑過渡.貝塞爾曲線的控制能力和線段平滑處理能力在同級別幾何曲線中穩(wěn)定較高且相對可靠,基于此本文基于貝塞爾曲線進行局部軌跡優(yōu)化.
貝塞爾曲線是一種運動軌跡曲線,由n個點在n條線段上勻速運動,生成的軌跡曲線空間,n次貝塞爾曲線上的某點的差值的表示公式為:
(16)
式中t為隱形表達的獨立變量,bi為貝塞爾曲線第個i控制點,Bi,n(t)為n次Bernstein基函數(shù),其表達式為:
(17)
路徑規(guī)劃中常用到的處理平滑路徑的曲線為三次貝塞爾曲線,但是三次貝塞爾曲線不能加入曲率約束,因此本文使用四次貝塞爾曲線以同時滿足運動學(xué)約束、初始狀態(tài)約束、目標(biāo)狀態(tài)約束以及曲率連續(xù)約束,其參數(shù)化表達式如下:
(18)
p(δ)=p0(1-δ)4+4p1(1-δ)3δ+6p2(1-δ)2δ2+
4p3(1-δ)δ3+p4δ4
(19)
公式(19)中,p0、p1、p2、p3、p4表示3個連續(xù)的初始控制點.以圖1的局部路徑為例,分別在連續(xù)多拐點場景圖1(a)及大角度拐點場景圖1(b),采用四階貝塞爾對拐點路徑進行平滑處理,結(jié)果如圖1所示,提高了路徑平滑度,避免了在實際工程項目中移動機器人不必要的損耗,提高了運動的連續(xù)性和工作效率.
圖1 軌跡平滑處理Fig.1 Smooth processing graph of track
為了驗證本文算法的有效性和可行性,本節(jié)選取20×20特殊地形的柵格地圖模型和障礙物占比分別為20%、30%和40%的30×30柵格地圖模型作為實驗環(huán)境,如圖2所示,圖中圓圈表示起始位置,五角星表示目標(biāo)位置,黑色方塊部分作為環(huán)境中障礙物的模擬障礙,即移動機器人需要識別避障、局部路徑規(guī)劃的部分.
圖2 隨機障礙物環(huán)境下的對比試驗Fig.2 Comparative test under random obstacle environment
實驗首先在固定障礙物地圖的場景中分別對傳統(tǒng)Q-Learning算法和本文改進的Q-Learning算法進行實驗.對其尋找到最優(yōu)路徑的迭代次數(shù)及所需時間進行橫向?qū)Ρ冗M一步驗證算法可行性.
3.1.1 特殊障礙物環(huán)境下的仿真實驗
在特殊障礙物實驗中選用如圖3所示的20×20障礙物占比28%的特殊環(huán)境地形,該地形相較于隨機障礙物,障礙物具有體積大,且部分呈現(xiàn)凹形的特點,因此處理該類特殊障礙物環(huán)境下的地圖會給算法增加額外的負擔(dān).
圖3 特殊障礙物環(huán)境下的仿真實驗Fig.3 Simulation experiment under special obstacle environment
3.1.2 隨機障礙物環(huán)境下的仿真
在隨機障礙物實驗中,分別選用障礙物占比依次增加百分之十的30×30柵格地圖模型作為實驗環(huán)境,對不同復(fù)雜程度的地圖環(huán)境進行實驗驗證.
3.1.3 靜態(tài)障礙物環(huán)境下的仿真實驗結(jié)論
圖2所示的復(fù)雜障礙物環(huán)境下GA-QL算法相較于QL算法路徑長度優(yōu)化了4.73%,速率提升了47.57%,由于復(fù)雜路徑下U型障礙物及障礙物體積較大,所以GA-QL算法拐點數(shù)改進并不明顯,但平滑處理后路徑相較于QL算法有較大的提升,且局部路徑平滑處理不會對先前路徑造成影響,避免了與障礙物交叉導(dǎo)致規(guī)劃路徑失敗的事件發(fā)生,更適用于此類復(fù)雜障礙物地圖模型;由圖4的仿真結(jié)果可以看出,隨著障礙物占比的增加,GA-QL算法顯示出了更優(yōu)秀的路徑長度選擇并提高了算法效率,在3種環(huán)境下路徑分別優(yōu)化了9.56%、15.69%和18.8%,在尋優(yōu)時間上分別優(yōu)化了69.38%、65.19%和67.68%,且相較于傳統(tǒng)QL算法,本文提出的GA-QL算法所需迭代次數(shù)也大幅度減少,由表1實驗數(shù)據(jù)可以看到,無論在復(fù)雜障礙物環(huán)境還是隨機障礙物高占比的環(huán)境地形,GA-QL均能快速逼近最優(yōu)解,減少迭代次數(shù),提高算法效率,找出更優(yōu)的全局路徑,平滑后的路徑能夠讓算法同時滿足移動機器人的動力學(xué)約束,更適用于工程應(yīng)用中.
表1 仿真結(jié)果Table 1 Simulation results
表2 實驗結(jié)果Table 2 Experimental result
圖4 隨機障礙物環(huán)境下的迭代曲線對比Fig.4 Comparison of iterative curves in random obstacle environment
采用算法在地圖上生成隨機動態(tài)障礙物,如圖5所示在動態(tài)障礙物實驗中環(huán)境隨機變化,除主要固定障礙物外,存在一定區(qū)域有隨機障礙物出現(xiàn)或移動的地圖環(huán)境,動態(tài)避障實驗條件:設(shè)定環(huán)境信息n=20,最大步長2n=40,階段數(shù)量N=4,探索次數(shù)m=5(第1步為初始狀態(tài)下的全局探索設(shè)為Step 0),衰減因子g=0.2,學(xué)習(xí)效率a=0.6,深度學(xué)習(xí)因子w=0.8.
圖5 動態(tài)環(huán)境分段路徑圖Fig.5 Dynamic environment segmentation path map
圖5仿真實驗結(jié)果顯示,在引入隨機障礙物后移動機器人能夠及時反映進行避障,圖5中Step 1~Step 4為分階段動態(tài)避障實驗結(jié)果,各階段均能規(guī)劃出局部最優(yōu)路徑,在Step3陷入盲區(qū)死角時也能探索當(dāng)前地圖及時采取后退動作,創(chuàng)新規(guī)劃局部路徑.圖6為最終的全局路徑規(guī)劃圖,其中路線與黑色障礙物重疊部分表示前后環(huán)境地圖發(fā)生改變,先前路徑經(jīng)過的位置還未出現(xiàn)動態(tài)障礙物,由此可以看出改進后的GA-QL算法在動態(tài)環(huán)境下可實現(xiàn)全局及局部最優(yōu)路線規(guī)劃.
圖6 動態(tài)環(huán)境路徑規(guī)劃結(jié)果Fig.6 Dynamic environment path planning results
3.3.1 實驗場景搭建
動態(tài)環(huán)境場景仿真實驗采用隨機障礙物柵格地圖,除去常規(guī)場景下的固定障礙物后外加隨機出現(xiàn)或移動的動態(tài)障礙物,移動機器人需學(xué)會避開對方,重新規(guī)劃局部最優(yōu)路線,以此為背景使用輕舟機器人作為實驗機器人,將其應(yīng)用于實際場景中,在考慮移動機器人可移動范圍后,加入隨機動態(tài)障礙物,靜態(tài)障礙物環(huán)境布置如圖7所示,其中SP和EP分別為起始點和終止點設(shè)置,環(huán)境中4個立方體是靜態(tài)障礙物,5個長方體是模擬墻壁,移動機器人需要進行全局路徑規(guī)劃以規(guī)劃出一條可行路徑,同時在機器人移動過程中加入動態(tài)障礙物對其路線進行干擾.
圖7 移動機器人路徑規(guī)劃結(jié)果Fig.7 Mobile robot path planning results
3.3.2 機器人路徑規(guī)劃實驗
實驗采用505mm×350mm×165mm大小的移動機器人,參考所使用機器人體積大小,實驗場地每一個正方形地磚劃分為一個柵格,每個柵格邊長為500mm,以此計算移動機器人在改進的Q-Learning算法路徑規(guī)劃下移動的步長,在該實物實驗中存在車輛轉(zhuǎn)彎半徑等因素,在實際應(yīng)用中傳統(tǒng)Q-Learning算法存在效率低、易陷入局部最優(yōu)、無法躲避動態(tài)障礙物,且拐點較多移動機器人啟停頻繁影響效率的問題,而本文改進的Q-Learning算法具有更優(yōu)的性能表現(xiàn),如圖7所示實驗可以看出在原路徑上出現(xiàn)隨機障礙物時,實驗機器人可以及時反映避障并結(jié)合目標(biāo)點規(guī)劃出局部最優(yōu)路徑,且對于拐點處理更為平滑,減少了機器損耗,實驗規(guī)劃路徑總長度為1848.53mm,相較于傳統(tǒng)算法的路徑縮短了22.84%,檢測到動態(tài)障礙物到規(guī)劃出新的局部路徑用時0.85s,相較于傳統(tǒng)算法提高了88.16%,總體用時10.29s,相較于傳統(tǒng)算法提高了63.97%,融合后的平滑路徑減少了移動機器人行駛過程中的啟停,使路徑完成度更高,能夠更好的完成實際場景下的路徑規(guī)劃.
本文針對Q-Learning算法在路徑規(guī)劃中出現(xiàn)的收斂速度滿,學(xué)習(xí)效率低,動態(tài)地圖路徑規(guī)劃效果不好,不平滑問題,提出一種改進的Q-Learning算法的路徑規(guī)劃,使用距離定位坐標(biāo)、更新了選擇策略,加入深度學(xué)習(xí)因子并融合遺傳算法,最后在保證路徑安全可行性的前提下在局部路徑采用貝塞爾曲線對拐角進行過渡,增強了算法的可實用性.最后通過多類型障礙物場景地圖的仿真實驗及實物實驗得出了如下結(jié)論:
1)改進的Q-Learning算法在復(fù)雜障礙物地圖和障礙物高占比地圖下的路徑規(guī)劃路徑長度及算法效率均較傳統(tǒng)算法更具有優(yōu)勢.且隨著環(huán)境難度的增加,本文所提算法在收斂速度、算法效率及路徑長度上的優(yōu)化效果都更為顯著.
2)改進的Q-Learning算法由于添加了階段性節(jié)點搜索,能夠適用于動態(tài)障礙物環(huán)境中,且階段節(jié)點選擇與環(huán)境地圖大小呈正相關(guān),即避免了運行資源的浪費,又能夠及時躲避動態(tài)障礙物,探索局部最優(yōu)路徑.
3)改進的Q-Learning算法中引入了貝塞爾曲線對局部路徑拐點進行平滑處理,在實物實驗中結(jié)果顯示該處理減少了移動機器人實際場景下路徑規(guī)劃過程中的啟停行為,減少了不必要的損耗,增強了算法的可實用價值.因此改進后的算法對環(huán)境有更強的適應(yīng)能力,能夠更準確,更快速地進行路徑規(guī)劃.