閆振
重慶交通大學機電與車輛工程學院,重慶 400074
隨著科學技術(shù)的發(fā)展與變革,機器人成為人工智能的重點研究領(lǐng)域,其中,路徑規(guī)劃在機器人研究與發(fā)展中是不可或缺的。鑒于在實際工作中,機器人工作環(huán)境的復雜性與不確定性,怎樣準確迅速地找出一條從初始位置至目標位置的無碰撞路徑是當前機器人避障的技術(shù)難題。與此同時,隨著技術(shù)的發(fā)展與進步,路徑規(guī)劃不僅僅是簡單地規(guī)劃出一條可行的行走路線,同時,它還要滿足距離最短、時間最優(yōu)、安全性高、能耗最、效率高等一系列要求。最初提出的一些傳統(tǒng)算法能夠有效解決最短路徑問題,但隨著環(huán)境范圍的擴大,地形的復雜以及執(zhí)行任務(wù)的多項指標性要求,傳統(tǒng)的路徑規(guī)劃算法難以取得理想的效果,于是出現(xiàn)了一系列智能優(yōu)化算法,例如蟻群算法、遺傳算法、強化學習算法等。每種算法在不同的工作要求下能夠發(fā)揮其優(yōu)勢,合適的路徑規(guī)劃算法不僅可以節(jié)省大量時間,還可以減少移動機器人的磨損和資金的投入。本文針對移動機器人主流的路徑規(guī)劃算法進行系統(tǒng)性總結(jié)分析,介紹主流算法的原理以及不同算法的優(yōu)缺點,并且進行優(yōu)化措施的闡述,最后,對當前機器人的路徑規(guī)劃算法的發(fā)展現(xiàn)狀做出進一步展望,并分析其未來發(fā)展趨勢,為未來路徑規(guī)劃發(fā)展提供一定的思路。
移動機器人路徑規(guī)劃算法分類如圖1 所示。
Dijkstra 算法[1]是科學家Edsger W.Dijkstra 提出的一種最短路徑算法,它可以迅速地處理小范圍內(nèi)計算最短路徑的情況。該算法基本的思想內(nèi)容是:以起點為中心,不斷擴展搜索范圍,對于每個擴展的節(jié)點,記錄從起點到該節(jié)點的最短路徑和距離;在擴展的過程中,每次選取距離起點最近的節(jié)點進行擴展,并更新與該節(jié)點相鄰節(jié)點的距離和路徑,一直擴展到終點為止,最終找到起點到終點的最短路徑。
盡管Dijkstra 算法是處理單源最短路徑問題的有效算法,具有簡單易實現(xiàn)、算法思路簡單、魯棒性高等優(yōu)點,但它也有一些缺點需要考慮,例如無法處理負權(quán)邊、對于大規(guī)模圖效率較低、時間復雜度較高以及空間復雜度較高等。對于Dijkstra 算法來講,可以采用一些常見的方法對其進行優(yōu)化:
(1)用雙向搜索加速。在起點和終點同時進行Dijkstra 算法的搜索,可以大幅減少搜索范圍,提高搜索效率;
(2)使用堆優(yōu)化。由于每次擴展節(jié)點都需要遍歷所有相鄰節(jié)點,并更新距離和路徑,因此時間復雜度較高,可以使用二叉堆或斐波那契堆等數(shù)據(jù)結(jié)構(gòu)來優(yōu)化,將時間復雜度降低到O((V+E)logV);
(3)提前終止。在Dijkstra 算法中,一旦終點被擴展,就可以立即結(jié)束搜索,因為此時終點到起點的最短路徑已確定,可以減少不必要的計算和內(nèi)存開銷。
A*算法是用于網(wǎng)絡(luò)或者圖中尋找起點到終點最短路徑的一種啟發(fā)式搜索算法。它結(jié)合了Dijkstra 算法的廣度優(yōu)先搜索和貪心算法的啟發(fā)式搜索,通過估價函數(shù)來指導搜索過程,更加高效地找到最優(yōu)路徑。
A*算法的估價函數(shù)F(n)表示為:
式中,F(xiàn)(n)為起始點至目標點的預估消耗;G(n)為起始點至當前節(jié)點的實際消耗;H(n)為當前節(jié)點至目標點的估計消耗,也稱為啟發(fā)函數(shù)[2]。
A*算法的啟發(fā)函數(shù)需要滿足一定的條件,即它必須是一致的。在實際運用中,需要根據(jù)實際情況選擇相應(yīng)的啟發(fā)式函數(shù)。常用的啟發(fā)式函數(shù)包括[3]:
(1)曼哈頓距離(Manhattan Distance):計算當前節(jié)點到終點的水平和垂直距離之和,適用于在方格狀的網(wǎng)絡(luò)中進行路徑規(guī)劃(如圖2 所示);
(2)歐幾里得距離(Euclidean Distance):計算當前節(jié)點到終點的直線距離,適用于連續(xù)空間的路徑規(guī)劃(如圖3 所示);
(3)切比雪夫距離(Chebyshev Distance):計算當前節(jié)點到終點的水平、垂直和對角線距離的最大值,適用于允許對角移動的路徑規(guī)劃;
(4)障礙物避免啟發(fā)式函數(shù):根據(jù)障礙物的位置和形狀,估計從當前節(jié)點到終點的代價,使得搜索過程可以避開障礙物。需要注意的是,啟發(fā)式函數(shù)的選擇應(yīng)該平衡估計的準確性和計算的效率,過于精確的啟發(fā)式函數(shù)可能導致計算代價過高,而不準確的啟發(fā)式函數(shù)可能導致找到的路徑并不是最優(yōu)解。
總結(jié)而言,A*算法是一種高效的啟發(fā)式搜索算法,適用于在網(wǎng)絡(luò)和圖中找到起點到終點的最短路徑。通過合理選擇啟發(fā)式函數(shù),可以在較小的時間復雜度內(nèi)找到最優(yōu)路徑,并應(yīng)用于移動機器人路徑規(guī)劃等各種領(lǐng)域。
另外,對于A*算法規(guī)劃路徑存在轉(zhuǎn)折點多、距離障礙物近以及搜索效率低等問題。文獻[4]提出一種動態(tài)窗口法和A*算法結(jié)合的混合算法,該算法通過引入預測距離以及設(shè)定h(n)的權(quán)重系數(shù),處理了易于導致局部最優(yōu)解的情況,路徑的平滑度也得到了改善;另一方面,文獻[5]提出了一種雙向A*路徑規(guī)劃算法,該算法采用了人工勢場法引力的思想,它通過建立從搜索點到雙向搜索中點的距離衰減函數(shù),使得雙向搜索能夠在中間位置相遇,同時,該算法還通過為預估函數(shù)添加權(quán)值函數(shù),加快了算法的收斂速度,從而提高了效率。
人工勢場法是Khatib 在1986 年提出的,它的基本原理是建立人工虛擬的勢場描述場景,在目標點附近創(chuàng)建引力勢場,在障礙物附近創(chuàng)建斥力勢場,移動機器人在其復合場中受到引力及斥力作用,引力和斥力的合力引導機器人的運動,從而在復合場中搜索出無障礙的路徑[6]。
人工勢場法的優(yōu)點在于計算效率高、簡單易于實現(xiàn),以及對實時性有較高要求的場景適用。然而,該方法也存在局限性:
(1)局部最小值問題:由于斥力和引力之間的平衡,導致機器人無法繞過障礙物或者找到最優(yōu)路徑。這可能會導致路徑規(guī)劃失敗或產(chǎn)生次優(yōu)路徑;
(2)無法處理復雜環(huán)境:在復雜環(huán)境中,存在密集的障礙物、狹窄的通道或者環(huán)形障礙物等情況時,人工勢場法可能無法有效規(guī)劃路徑,因為斥力和引力的設(shè)置可能導致機器人受到多個力的影響,產(chǎn)生不穩(wěn)定的行為;
(3)缺乏全局規(guī)劃能力:人工勢場法主要是基于當前機器人位置和目標點來進行路徑規(guī)劃,缺乏全局規(guī)劃的能力,它沒有對整個環(huán)境進行全面的考慮和分析,可能無法找到全局最優(yōu)路徑。
在實際應(yīng)用中,人工勢場法有一些常見的變種和改進:
(1)懲罰勢場法(Penalty Field Method):引入懲罰項來處理障礙物的影響,避免機器人陷入局部最小值,懲罰項可以根據(jù)障礙物的距離和形狀進行調(diào)整;
(2)動態(tài)勢場法(Dynamic Potential Field Method):動態(tài)更新勢場,以適應(yīng)環(huán)境的變化,例如考慮動態(tài)障礙物的移動和機器人的實時感知;
(3)優(yōu)化算法的結(jié)合:結(jié)合各類算法,如遺傳算法或模擬退火算法來對生成的路徑進行優(yōu)化,以獲得更優(yōu)的結(jié)果。
文獻[7]中,對于前期引力過大的問題,建立動態(tài)增益函數(shù);然后將被控物到目標點的距離引入到斥力場函數(shù)中,從而使斥力構(gòu)成的形式改變,解決了目標不可到達的問題;最后增加便于被控物脫離局部極小值點的引力,可以有效解決陷入局部最小值的問題。文獻[8]首先提出了在人工勢場法中引入障礙物的碰撞范圍,同時利用角度表示障礙物的影響范圍,進而排除了機器人前進方向上角度外和距離外障礙物的影響。另外,該文獻基于目標點與機器人的距離改進了斥力函數(shù),解決了目標不可達的情況,從而在一定程度上克服了傳統(tǒng)算法的缺陷。
PRM 算法[9]是最先提出的一種概率完備型算法,用于解決移動機器人在復雜環(huán)境中的路徑規(guī)劃問題。通過在環(huán)境中隨機采樣一組節(jié)點,并通過連接合法的節(jié)點來構(gòu)建一個圖,然后使用圖搜索算法來尋找起點到終點的最短路徑。
PRM 算法的優(yōu)勢在于能夠處理復雜的環(huán)境,避免陷入局部最小值。在隨機采樣和碰撞檢測階段幫助生成一組合法的節(jié)點,而圖的構(gòu)建階段通過連接節(jié)點形成一張表示自由空間的圖,這樣,在圖中搜索最短路徑相對較容易,避免了直接在連續(xù)空間中進行路徑規(guī)劃的困難。
另外,PRM 算法的性能和結(jié)果質(zhì)量還受到一些關(guān)鍵因素的影響:
對客戶而言,這個行業(yè)沒有最好的月嫂,也沒有最貴的月嫂,只有合適的月嫂。并且,標準不能取代服務(wù),標準的機械化可能還會影響服務(wù)效果。母嬰服務(wù)就是要形成人性化的服務(wù),母嬰服務(wù)的核心競爭力就是人性化,要逐漸地讓母嬰服務(wù)變?yōu)閮r值性、稀缺性、不可替代性、難以模仿的服務(wù)。那在母嬰服務(wù)中如何體現(xiàn)核心競爭力呢?這就要求我們的母嬰護理師具備以下四個要素:職業(yè)忠誠度、職業(yè)適應(yīng)力、溝通能力和法律素養(yǎng),要讓母嬰服務(wù)變成有感情的服務(wù)。
(1)采樣數(shù)量:采樣的節(jié)點數(shù)量對算法的性能和路徑質(zhì)量有影響,過少的采樣數(shù)量可能導致路徑規(guī)劃的不準確性,而過多的采樣數(shù)量會增加算法的計算復雜度;
(2)連接半徑:連接半徑定義了節(jié)點之間的連接距離,過小的連接半徑可能導致圖中存在過少的邊,使得路徑規(guī)劃困難,而過大的連接半徑可能導致圖中存在過多的邊,增加了搜索時間;
(3)碰撞檢測精度:碰撞檢測的精度對路徑規(guī)劃的準確性有重要影響,精確的碰撞檢測能夠排除不合法的節(jié)點,確保路徑規(guī)劃的可行性。
總體而言,PRM 算法是一種靈活而強大的路徑規(guī)劃方法,特別適用于解決復雜環(huán)境中的路徑規(guī)劃問題,但在高維空間和動態(tài)環(huán)境中,PRM 算法需要結(jié)合其他技術(shù)或者算法來克服其局限性。文獻[10]提出了一種改進的PRM 算法,該算法利用隨機節(jié)點生成函數(shù)來隨機生成節(jié)點,以改善節(jié)點的質(zhì)量,從而實現(xiàn)更有效的路徑規(guī)劃。另外,文獻[11]提出了一種基于改進的節(jié)點增強法與幾何平滑策略相結(jié)合的路徑規(guī)劃方法,該方法不僅能夠提高路徑的平滑度,使得機器人運動更加平順,同時還提高了路徑規(guī)劃的效率。
RRT 算法是一種不受自由度和約束限制的通用方法,而且其原理簡單,在無人駕駛汽車和智能機器人領(lǐng)域被廣泛應(yīng)用。它的搜索過程類似于一棵樹在不斷生長,向四周擴散的過程,它以起點作為根節(jié)點構(gòu)建一棵搜索樹,如圖4 所示,以Xinit表示起點,在自由空間中隨機得到采樣點Xrand,從搜索樹中找出距離采樣點Xrand最近的節(jié)點Xnear,計算Xnear和Xrand之間的距離,如果距離大于步長,則從Xnear向Xrand移動步長后得到新節(jié)點Xnew,否則在Xrand位置生成新節(jié)點Xnew,如果Xnew和Xnear間存在直線通路,則將Xnew加入搜索樹,它的父節(jié)點為Xnear,否則進入下一輪循環(huán)。
RRT算法的優(yōu)勢在于它能夠快速地探索搜索空間,并且適用于高維和復雜的環(huán)境。隨機采樣和樹的擴展過程使得RRT 算法能夠充分探索環(huán)境,并通過不斷擴展樹來找到路徑。相較于其他經(jīng)典算法,如Dijkstra算法或A*算法,RRT 算法更適用于動態(tài)和未知環(huán)境。
然而,RRT 算法也有一些局限和需考慮因素:
(1)路徑質(zhì)量:RRT 算法生成的路徑通常是次優(yōu)的,因為它是基于隨機采樣和樹的擴展過程,無法全局優(yōu)化路徑;
(2)算法參數(shù):RRT 算法的性能和結(jié)果受到一些參數(shù)的影響,如最大迭代次數(shù)、步長、采樣偏置等;
(3)碰撞檢測:粗糙的碰撞檢測可能導致路徑規(guī)劃結(jié)果存在碰撞的情況。因此,高質(zhì)量的碰撞檢測算法是必要的,以確保生成的路徑是可行的和安全的;
(4)樹的生長方向:RRT 算法樹的生長方向是隨機的,取決于隨機采樣點和最近節(jié)點的連接。這可能導致路徑傾向于在某些方向上生長,而在其他方向上生長緩慢;
(5)動態(tài)環(huán)境:由于樹的構(gòu)建基于靜態(tài)隨機采樣,因此當環(huán)境發(fā)生變化時,樹可能無法適應(yīng)新的障礙物布局。
針對傳統(tǒng)RRT 算法的局限,文獻[12]提出了漸進最優(yōu)的RRT*算法,該算法在選擇父節(jié)點時,通常選擇路徑代價最小的節(jié)點,從而生成的路徑較短。文獻[13]提出了一種啟發(fā)式采樣的RRT 算法,避免了陷入局部最小值以及節(jié)點盲目擴展的情況,并且利用節(jié)點優(yōu)化策略,使路徑平滑性和長度得到提高。文獻[14]采用最小二乘策略迭代算法對生成的路徑進行優(yōu)化。文獻[15]采用目標導向、修剪無用節(jié)點、5 次多項式曲線擬合以及引入權(quán)重系數(shù)的聯(lián)合策略得到滿足要求的最優(yōu)路徑。
蟻群算法是一種模擬螞蟻尋找食物的行為而設(shè)計的啟發(fā)式算法。它通過模擬螞蟻在尋找食物和通信過程中的行為規(guī)則,用于解決組合優(yōu)化問題中的路徑規(guī)劃問題。蟻群算法的基本思想是利用螞蟻的正反饋機制和信息素沉積來引導搜索過程。
蟻群算法的優(yōu)勢在于其能夠在搜索空間中快速找到較優(yōu)解,并且適用于大規(guī)模和復雜的優(yōu)化問題。蟻群算法具有一定的并行性,螞蟻可以同時搜索多條路徑,從而增加搜索的效率。
同時,蟻群算法也有一些局限和注意事項:
(1)參數(shù)設(shè)置:如信息素的蒸發(fā)率、啟發(fā)式信息的權(quán)重等。這些參數(shù)的設(shè)置對算法的性能和結(jié)果具有重要影響,需要經(jīng)驗或者通過試驗來確定最佳值;
(2)局部最優(yōu)解:蟻群算法有時可能會陷入局部最優(yōu)解,為了克服這個問題,可以采用一些策略,如引入隨機因素、增加信息素的多樣性等;
(3)動態(tài)環(huán)境:當環(huán)境發(fā)生變化時,原有的信息素分布可能不再適用,需要考慮如何適應(yīng)動態(tài)環(huán)境的變化,常見的方法是引入信息素,更新策略的動態(tài)調(diào)整,使得信息素能夠及時適應(yīng)環(huán)境的變化;
(4)路徑質(zhì)量和收斂速度:蟻群算法可能需要較長的時間才能找到較優(yōu)解,并且生成的路徑質(zhì)量可能不是最優(yōu)的。為了改善路徑質(zhì)量和加快收斂速度,可以采用一些改進策略,如引入局部搜索、引導螞蟻選擇更有希望的路徑等。
文獻[16]提出一種基于拉普拉斯分布與動態(tài)窗口融合的蟻群算法來解決機器人路徑規(guī)劃,加快了收斂速度,提高了路徑平滑度,最后,將改進的蟻群算法與改進動態(tài)窗口算法融合,使機器人安全到達終點。文獻[17]提出了一種基于改進蟻群算法的全局路徑規(guī)劃,引入正態(tài)分布函數(shù)改進傳統(tǒng)啟發(fā)函數(shù),提高了算法效率,縮短了算法收斂所需時間;自適應(yīng)調(diào)整信息素揮發(fā)系數(shù),避免過早收斂;對算法路徑平滑處理,縮短路徑長度,從而實現(xiàn)機器人的全局路徑規(guī)劃。文獻[18]采用A*算法與蟻群算法相結(jié)合的優(yōu)化方法,提高了算法的收斂速度,同時加入轉(zhuǎn)彎因子,使規(guī)劃的路徑更加平滑。
遺傳算法[19]是一種模擬自然選擇和遺傳機制的優(yōu)化算法,用于解決組合優(yōu)化問題。它模擬了生物進化中的遺傳過程,通過迭代演化和改進候選解來搜索最優(yōu)解。遺傳算法的基本內(nèi)容包括初始化種群、適應(yīng)度評估、選擇操作、交叉操作、變異操作及替換操作等,流程圖如圖5 所示。
遺傳算法的優(yōu)勢在于能夠在大規(guī)模和復雜的搜索空間中找到較優(yōu)解,并且適用于多種類型的問題。它利用種群的多樣性和演化過程中的選擇、交叉和變異操作,能夠全局搜索解空間,并逐步改進解的質(zhì)量。
然而,遺傳算法也存在一定局限和注意事項:
(1)參數(shù)設(shè)置:如種群大小、交叉率、變異率等,這些參數(shù)的設(shè)置需要經(jīng)驗或者通過試驗來確定最佳值;
(2)局部最優(yōu)解:遺傳算法有時可能會陷入局部最優(yōu)解,為了克服這個問題,可以采用一些策略,如增加種群的多樣性、引入隨機性的操作、使用不同的交叉和變異策略等;
(3)編碼方式和解空間表示:不同的問題可能需要不同的編碼方式,如二進制編碼、排列編碼、實數(shù)編碼等,合適的編碼方式能夠提高算法的搜索效率;
(4)計算復雜度:遺傳算法的計算復雜度通常較高,因此,需要合理設(shè)計算法,考慮如何減少計算量,并采用適當?shù)膬?yōu)化策略;
(5)收斂速度和收斂性:遺傳算法的收斂速度可能相對較慢,此外,遺傳算法并不能保證找到全局最優(yōu)解,而是更傾向于找到較優(yōu)解。
總體來說,遺傳算法適用于解決復雜的組合優(yōu)化問題,通過模擬生物進化的過程,遺傳算法能夠在搜索空間中尋找較優(yōu)解,并逐步改進解的質(zhì)量。然而,在上述方面仍需要進一步的研究和改進,以提高算法的性能和適用性。
文獻[20]對傳統(tǒng)遺傳算法進行了改進,采用二進制編碼的方式來存儲路徑,并且結(jié)合粒子群優(yōu)化算法進行局部搜索,加快了遺傳算法的搜索速度,提高了搜索效率。在單目標簡單情況下,改進的遺傳算法具有更快的收斂速度,同時避免了局部最優(yōu);在多目標復雜環(huán)境下,能夠得到合適的路徑解。文獻[21]在遺傳算法中增加了插入算子,使遺傳算法變得簡單優(yōu)化,算法的效率得到提高,收斂速度加快,但是路徑平滑性沒有得到提高,僅僅是對路徑長度的優(yōu)化。
人工蜂群算法靈感來源于蜜蜂群體搜索行為的啟發(fā)式優(yōu)化算法,模擬了蜜蜂群體尋找食物以及傳遞信息的過程,用于解決組合優(yōu)化問題。人工蜂群算法的基本內(nèi)容包括初始化蜜蜂群體、雇傭蜜蜂階段、適應(yīng)度評估和選擇、偵查蜜蜂階段、放棄蜜蜂階段等。
與其他優(yōu)化算法相比,人工蜂群算法具有以下特點和優(yōu)勢:
(1)簡單易實現(xiàn):人工蜂群算法的基本思想簡單明了,易于理解和實現(xiàn),不需要過多的參數(shù)調(diào)整,具有較低的算法復雜度和實施難度;
(2)全局搜索能力:通過多個雇傭蜜蜂的并行搜索和信息交流,人工蜂群算法具有較強的全局搜索能力;
(3)自適應(yīng)性:人工蜂群算法具有一定的自適應(yīng)能力,通過偵查蜜蜂,根據(jù)解的適應(yīng)度值選擇雇傭蜜蜂的源頭,能夠?qū)崿F(xiàn)對解空間中適應(yīng)度較高的區(qū)域進行更多的搜索,算法搜索效率得到提高;
(4)魯棒性:人工蜂群算法對初始解的依賴性較低,具有一定的魯棒性。它能夠在不同的問題和搜索空間中有效地應(yīng)用,適用于多種類型的組合優(yōu)化問題。
盡管人工蜂群算法具有許多優(yōu)點,但也存在一些局限和注意事項:
(1)參數(shù)選擇:雖然人工蜂群算法的參數(shù)較少,但對于一些特定問題,如蜜蜂數(shù)量、迭代次數(shù)等參數(shù)的選擇仍然需要經(jīng)驗和試驗;
(2)局部最優(yōu)解:人工蜂群算法可能會陷入局部最優(yōu)解,為了克服這個問題,可以采用一些策略,如增加蜜蜂的多樣性、引入隨機性的操作等;
(3)算法收斂性:人工蜂群算法的收斂速度可能相對較慢,特別是在復雜問題中,需要通過合適的參數(shù)設(shè)置和算法設(shè)計來加快收斂速度以及控制算法的收斂性。
總體來說,人工蜂群算法具有較好的全局搜索能力、擴展性和并行性,在多種問題領(lǐng)域和復雜的優(yōu)化問題中得到了廣泛應(yīng)用。然而,參數(shù)選擇、局部最優(yōu)解和計算復雜度等問題仍需要進一步改進,以提高算法的性能和適用性。
文獻[22]提出一種混沌蜂群法,每次進行搜索時,都要以上一次最好結(jié)果為基礎(chǔ)進行搜索,從而使得搜索區(qū)域變小,避免了易于陷入局部最優(yōu)的缺點。文獻[23]對傳統(tǒng)人工蜂群法進行了改善,運用粒子群算法優(yōu)化局部搜索的過程,并且優(yōu)化引領(lǐng)蜂的更新方式,采用分段搜索的方式,提高了算法的速度及效率。
強化學習是一種通過與環(huán)境交互學習最優(yōu)策略的機器學習方法。在移動機器人路徑規(guī)劃中,強化學習算法可以用于訓練機器人在復雜環(huán)境中選擇最佳動作,以達到特定目標。常見的應(yīng)用于移動機器人路徑規(guī)劃的強化學習算法有Q-Learning、Deep Q-Network(DQN)、Trust Region Policy Optimization(TRPO)、Proximal Policy Optimization(PPO)等。
以上強化學習算法都能夠通過與環(huán)境的交互學習最優(yōu)的路徑規(guī)劃策略,使機器人能夠在復雜的環(huán)境中自主決策和導航。選擇適合的算法需要考慮問題的具體要求、狀態(tài)和動作空間的特征,以及算法的收斂性和計算效率等因素。此外,算法的參數(shù)設(shè)置、獎勵設(shè)計和經(jīng)驗回放等技術(shù)也需要重視,這些是影響算法性能的重要因素。因此,在應(yīng)用中需要進行合適地調(diào)參和優(yōu)化,以獲得最佳的路徑規(guī)劃結(jié)果。
文獻[24] 提出一種改進強化學習算法,在Q-learning 算法中引入一種經(jīng)驗記憶力機制,能夠基于當前狀態(tài)節(jié)點到起始點的最短距離連續(xù)更新。另外,針對算法的過估計問題設(shè)計了一種獎勵機制,避免在未知環(huán)境中盲目搜索。最后利用Hermite 曲線對路徑進行平滑。文獻[25]提出一種改進的IQ-learning 算法,在Q-learning 算法的基礎(chǔ)上,IQ-learning 在獎懲函數(shù)中增加了對角線運動獎勵值,將平移運動和對角線運動相結(jié)合,減少規(guī)劃路徑長度和在初始階段的盲目搜索,加快算法的收斂速度。
以上是對于傳統(tǒng)路徑規(guī)劃算法、基于采樣路徑規(guī)劃算法、智能仿生算法以及基于強化學習算法的總結(jié)與分析,將各主流算法進行歸納描述,如表1 所示。
表1 路徑規(guī)劃算法匯總表
移動機器人路徑規(guī)劃算法的發(fā)展趨勢主要包括以下幾個方面:
(1)深度強化學習的應(yīng)用:隨著深度學習的發(fā)展和強化學習算法的不斷改進,深度強化學習在移動機器人路徑規(guī)劃中的應(yīng)用將進一步增加。深度神經(jīng)網(wǎng)絡(luò)可以更好地處理高維狀態(tài)信息,并學習到更復雜的路徑選擇策略。同時,結(jié)合傳統(tǒng)強化學習算法和深度神經(jīng)網(wǎng)絡(luò)的方法也會得到進一步改進和發(fā)展;
(2)考慮不確定性的路徑規(guī)劃:移動機器人在真實環(huán)境中常面臨不確定性和動態(tài)性的挑戰(zhàn),例如動態(tài)障礙物、傳感器誤差等。未來的路徑規(guī)劃算法將更加注重考慮不確定性因素,通過概率建模、貝葉斯推理等方法,提高機器人在不確定環(huán)境中的路徑規(guī)劃性能;
(3)多智能體協(xié)同路徑規(guī)劃:移動機器人往往不是孤立運行,而是在多機器人系統(tǒng)中協(xié)同工作。未來的路徑規(guī)劃算法將更加注重多智能體之間的協(xié)同和合作,以實現(xiàn)高效的任務(wù)分配和路徑規(guī)劃,多智能體強化學習、協(xié)同搜索等方法將得到廣泛應(yīng)用;
(4)自適應(yīng)路徑規(guī)劃:未來的路徑規(guī)劃算法將更加注重自適應(yīng)性和靈活性。機器人可以根據(jù)實時環(huán)境變化調(diào)整路徑規(guī)劃策略,以適應(yīng)不同的任務(wù)需求和環(huán)境條件。自適應(yīng)路徑規(guī)劃算法將結(jié)合感知和規(guī)劃,實現(xiàn)機器人的智能決策和靈活導航;
(5)結(jié)合機器學習和優(yōu)化方法:機器學習和優(yōu)化方法在路徑規(guī)劃中的應(yīng)用將更加緊密。結(jié)合機器學習和優(yōu)化方法,可以充分利用大量的數(shù)據(jù)和先驗知識,實現(xiàn)更高效的路徑搜索和規(guī)劃?;旌戏椒?、元啟發(fā)式算法等將得到廣泛研究和應(yīng)用。
總體而言,未來移動機器人路徑規(guī)劃算法將更加注重機器學習、自適應(yīng)性和協(xié)同性。這些趨勢將推動路徑規(guī)劃算法的發(fā)展,使機器人能夠更智能、高效地規(guī)劃路徑,并在復雜環(huán)境中實現(xiàn)精確導航和任務(wù)執(zhí)行。
路徑規(guī)劃是移動機器人研究的重要問題之一,本文對傳統(tǒng)路徑規(guī)劃、基于采樣路徑規(guī)劃、智能仿生路徑規(guī)劃以及強化學習路徑規(guī)劃等算法做出了總結(jié)闡述。以上路徑規(guī)劃算法都存在著優(yōu)缺點,從以往機器人研究狀況和未來發(fā)展來看,未來機器人路徑規(guī)劃還要從算法的有效結(jié)合、現(xiàn)有算法的改進以及新算法的研究著手,采用合適的路徑規(guī)劃算法可以有效地提高移動機器人的工作效率,從而創(chuàng)造更大的應(yīng)用價值。與此同時,多機器人協(xié)同路徑規(guī)劃的研究也是熱點問題,多機器人協(xié)同工作具有更加高效、更高可靠性的優(yōu)點。