国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于動(dòng)態(tài)五鄰域搜索的改進(jìn)Astar算法路徑規(guī)劃研究

2024-12-17 00:00:00王洋
中國新技術(shù)新產(chǎn)品 2024年7期
關(guān)鍵詞:路徑規(guī)劃

摘 要:針對傳統(tǒng)Astar算法在復(fù)雜場景下的路徑規(guī)劃任務(wù)中存在路徑搜索效率低、路徑轉(zhuǎn)折次數(shù)多等問題,本文提出一種基于動(dòng)態(tài)五鄰域搜索的改進(jìn)Astar算法。通過改進(jìn)算法的啟發(fā)函數(shù),將曼哈頓距離與歐式距離融合得到的距離度量代替?zhèn)鹘y(tǒng)Astar算法的單一距離度量,引入動(dòng)態(tài)加權(quán)機(jī)制,并將傳統(tǒng)的固定八鄰域搜索策略改進(jìn)為動(dòng)態(tài)五鄰域搜索策略。通過剔除最終路徑的冗余節(jié)點(diǎn)并進(jìn)行貝塞爾曲線平滑處理,使最終路徑更平滑。試驗(yàn)表明,與傳統(tǒng)Astar算法相比,采用本文算法的路徑搜索時(shí)間減少了約69%,路徑拓展節(jié)點(diǎn)數(shù)減少了約66.35%,路徑包括節(jié)點(diǎn)數(shù)減少了約38.8%,路徑尋優(yōu)能力較好。

關(guān)鍵詞:Astar;路徑規(guī)劃;貝塞爾平滑曲線;混合加權(quán);鄰域搜索

中圖分類號:TP 393" " " " " 文獻(xiàn)標(biāo)志碼:A

路徑規(guī)劃是解決移動(dòng)機(jī)器人導(dǎo)航問題的關(guān)鍵技術(shù)之一?,F(xiàn)階段路徑規(guī)劃方法主要分為2類,一類是以A*算法(Astar)[1]為主的靜態(tài)全局路徑規(guī)劃算法[2],另一類是以動(dòng)態(tài)窗口算法(Dynamic Window Approach)[3]為主的動(dòng)態(tài)局部路徑規(guī)劃算法[4]。

Astar算法能在提升搜索效率的同時(shí)能兼顧尋找較優(yōu)路線,已經(jīng)成為機(jī)器人應(yīng)用中最普遍的全局路徑規(guī)劃算法[5]。但是Astar算法也有局限性,例如當(dāng)面對復(fù)雜場景時(shí),由于障礙物增多,因此Astar算法會(huì)搜索大量非必要節(jié)點(diǎn),導(dǎo)致搜索效率降低。

針對傳統(tǒng)Astar算法存在的缺陷,國內(nèi)學(xué)者進(jìn)行了廣泛研究,遠(yuǎn)子涵等[6]提出一種12方向二十四鄰域搜索方式的改進(jìn)Astar方法,該方法減少了搜索路徑的拓展節(jié)點(diǎn),節(jié)約了搜索時(shí)間,但是其規(guī)劃路徑并非最優(yōu)路徑;孔繼利等[7]在傳統(tǒng)Astar算法中引入雙向搜索機(jī)制,減少了對拓展節(jié)點(diǎn)的搜索,但是未解決規(guī)劃路徑節(jié)點(diǎn)冗余、計(jì)算時(shí)間過長等問題。針對上述問題,筆者提出一種基于動(dòng)態(tài)五鄰域搜索的改進(jìn)Astar算法。該方法通過在啟發(fā)函數(shù)中融入混合距離度量和動(dòng)態(tài)加權(quán)機(jī)制提高了節(jié)點(diǎn)的搜索效率,解決了在搜索過程中內(nèi)存消耗的問題,并對最終路徑進(jìn)行平滑處理,使機(jī)器人行駛軌跡更平滑。

1 傳統(tǒng)Astar算法

1.1 Astar算法原理

Astar算法利用啟發(fā)式函數(shù)來估計(jì)從當(dāng)前節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的代價(jià),從而引導(dǎo)搜索方向,減少搜索空間,提高搜索效率[8]。Astar算法結(jié)合了最佳優(yōu)先搜索和Dijkstra算法的特點(diǎn),當(dāng)尋找起始節(jié)點(diǎn)至目標(biāo)節(jié)點(diǎn)的路徑時(shí),效率很高,應(yīng)用價(jià)值廣泛。

用Astar算法的節(jié)點(diǎn)定義評估函數(shù)f(n),如公式(1)所示。

f(n)=g(n)+h(n) " " " "(1)

式中:g(n)為從起始節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)的實(shí)際距離;h(n)為當(dāng)前節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的啟發(fā)式估計(jì)距離[9]。

Astar算法的關(guān)鍵是設(shè)計(jì)啟發(fā)式函數(shù)h(n)。在理想情況下,h(n)應(yīng)該精確反映從節(jié)點(diǎn)n到目標(biāo)的成本。然而,在實(shí)際應(yīng)用中,Astar算法通常使用歐式距離、曼哈頓距離和切比雪夫距離來近似表示h(n)。

1.2 Astar算法與WAstar算法比較

Astar算法基于啟發(fā)式搜索的思想,估計(jì)從起始狀態(tài)到目標(biāo)狀態(tài)的代價(jià),并結(jié)合搜索路徑中已知的信息來指導(dǎo)搜索過程,以找到最優(yōu)路徑或者滿足特定條件的路徑。傳統(tǒng)Astar算法路徑規(guī)劃效果如圖1所示。WAstar算法是在Astar算法的基礎(chǔ)上添加啟發(fā)函數(shù)的權(quán)重因子,以路徑最優(yōu)性換取搜索速度,WAstar算法路徑規(guī)劃效果如圖2所示。

在圖1和圖2中,深色圓點(diǎn)為起點(diǎn),深色叉號為終點(diǎn),淺色叉號為搜索節(jié)點(diǎn)。從圖2可以看出,與傳統(tǒng)Astar算法相比,WAstar算法的搜索節(jié)點(diǎn)數(shù)量明顯減少,搜索速度更快,但是規(guī)劃的路徑并不是最佳路徑。

2 改進(jìn)Astar算法

2.1 混合動(dòng)態(tài)加權(quán)

Astar算法的效率和準(zhǔn)確性深受其啟發(fā)式函數(shù)h(n)的影響。盡管WAstar算法對h(n)進(jìn)行了加權(quán)處理,與傳統(tǒng)的Astar算法相比,搜索效率有了很大程度提升,但是WAstar算法存在一定缺陷,例如無法根據(jù)當(dāng)前結(jié)點(diǎn)位置動(dòng)態(tài)選擇合適的權(quán)重,在WAstar算法中的單一距離度量有一定局限性。

基于上述問題,本文在改進(jìn)的Astar算法的啟發(fā)函數(shù)中,引入動(dòng)態(tài)加權(quán)機(jī)制,如公式(2)所示。

f(n)=(1-α)·g(n)+α·h(n) (2)

式中:α為動(dòng)態(tài)加權(quán)因子,α隨當(dāng)前點(diǎn)的變化而改變,如公式(3)所示。

(3)

式中:Lstart_goal為起始點(diǎn)到目標(biāo)節(jié)點(diǎn)的歐氏距離;h1(n)為當(dāng)前點(diǎn)到目標(biāo)點(diǎn)的歐式距離。該方法使啟發(fā)函數(shù)能夠根據(jù)實(shí)際搜索情況動(dòng)態(tài)調(diào)整權(quán)重。這種動(dòng)態(tài)加權(quán)策略可以更好地平衡搜索的廣度和深度,從而提高搜索效率。針對傳統(tǒng)Astar算法中單一距離度量的局限性,筆者融合曼哈頓距離與歐式距離,作為新的啟發(fā)函數(shù)距離度量hEM(n),如公式(4)所示。

(4)

式中:h2(n)為當(dāng)前點(diǎn)到目標(biāo)點(diǎn)的曼哈頓距離;h3(n)為起始點(diǎn)到目標(biāo)點(diǎn)的曼哈頓距離;ω為可變倍數(shù)。

曼哈頓距離和歐式距離各有特點(diǎn),曼哈頓距離更適合網(wǎng)格狀地圖的路徑搜索,歐式距離更適合連續(xù)空間的路徑規(guī)劃。融合這2種距離度量方式,新的啟發(fā)函數(shù)能夠更全面地考慮路徑的特性和環(huán)境的幾何信息,生成更優(yōu)質(zhì)的路徑。改進(jìn)后的Astar算法評估函數(shù)如公式(5)所示。

f(n)=(1-α)·g(n)+α·hEM(n) (5)

2.2 動(dòng)態(tài)五鄰域搜索

在Astar算法中,傳統(tǒng)的八鄰域搜索是在二維平面上的節(jié)點(diǎn)周圍考慮8個(gè)可能的移動(dòng)方向。如果縮小這個(gè)范圍,只考慮以目標(biāo)點(diǎn)為導(dǎo)向的5個(gè)方向(如圖3所示),則可以進(jìn)一步減輕算法運(yùn)算負(fù)擔(dān),從而提高Astar算法的整體運(yùn)行效率。

僅考慮以目標(biāo)點(diǎn)為導(dǎo)向進(jìn)行單一五鄰域搜索,當(dāng)5個(gè)鄰域方向均存在障礙物時(shí),Astar算法會(huì)在該區(qū)域陷入死鎖狀態(tài),無法有效規(guī)劃路徑。為避免發(fā)生以上情況,引入動(dòng)態(tài)五鄰域搜索理念,在搜索過程中,實(shí)時(shí)判斷當(dāng)前節(jié)點(diǎn)與目標(biāo)點(diǎn)之間的相對位置關(guān)系,方向搜索規(guī)則見表1。再根據(jù)表1進(jìn)行動(dòng)態(tài)調(diào)整,避免Astar算法陷入死鎖狀態(tài),更集中地搜索可能包括最優(yōu)路徑的節(jié)點(diǎn),從而提高搜索效率。

表1 方向搜索規(guī)則

當(dāng)前點(diǎn)與目標(biāo)節(jié)點(diǎn)相對位置 保留搜索方向 舍棄搜索方向

第一象限 O2,O3,O4,O5,O6 O1,O7,O8

第二象限 O4,O5,O6,O7,O8 O1,O2,O3

第三象限 O6,O7,O8,O1,O2 O3,O4,O5

第四象限 O8,O1,O2,O3,O4 O5,O6,O7

2.3 路徑平滑處理

傳統(tǒng)的Astar算法規(guī)劃的最終路徑存在節(jié)點(diǎn)冗余、轉(zhuǎn)折點(diǎn)過多等問題,導(dǎo)致移動(dòng)機(jī)器人當(dāng)沿該路徑導(dǎo)航時(shí)需要頻繁轉(zhuǎn)彎。因此,本文從最終路徑起始點(diǎn)開始刪除當(dāng)前節(jié)點(diǎn)與前一節(jié)點(diǎn)同向運(yùn)動(dòng)的節(jié)點(diǎn),進(jìn)而去除冗余節(jié)點(diǎn)。分段處理最終路徑,每4個(gè)節(jié)點(diǎn)1組進(jìn)行三階貝塞爾曲線平滑處理,處理規(guī)則見表2。如果節(jié)點(diǎn)數(shù)﹤4個(gè),則根據(jù)表2進(jìn)行貝塞爾曲線平滑處理,從而提高規(guī)劃路徑的可行性。

表2 分段貝塞爾曲線平滑處理規(guī)則

分段節(jié)點(diǎn)數(shù) 貝塞爾曲線策略

4 三階貝塞爾曲線

3 二階貝塞爾曲線

lt;3 一階貝塞爾曲線

三階貝爾塞爾曲線原理如圖4所示,選取平面內(nèi)任意4個(gè)節(jié)點(diǎn)P1、P2、P3和P4作為控制點(diǎn),在線段P1、P2上選取點(diǎn)A,在線段P2、P3上選取點(diǎn)B,在線段P3、P4上選取點(diǎn)C,如公式(6)所示。

(6)

連接線段AB與線段BC,在線段AB上選取點(diǎn)D,在線段BC上選取點(diǎn)E,如公式(7)所示。

(7)

連接DE,在DE上選取點(diǎn)F,如公式(8)所示。

(8)

將所有滿足上述條件的點(diǎn)F相連接,生成的線段就是三階貝塞爾曲線平滑處理后產(chǎn)生的路徑。

3 仿真驗(yàn)證及結(jié)果

為了提高 Astar算法的有效性,本文基于PC實(shí)驗(yàn)平臺、Intel Core i7-7500U CPU、GPU NVIDIA GeForce 940MX和12 RAM,分別對傳統(tǒng)Astar算法、混合動(dòng)態(tài)加權(quán)后的Astar算法和基于動(dòng)態(tài)五鄰域搜索的改進(jìn)Astar算法進(jìn)行2組不同地圖下的仿真試驗(yàn),以避免由于改進(jìn)后的算法更適用于某單一場景,因此導(dǎo)致試驗(yàn)結(jié)果出現(xiàn)偶然性的情況。2組不同地圖的路徑規(guī)劃效果如圖5、圖6所示。同時(shí)對比3種算法在2組不同場景的路徑長度、搜索時(shí)間、路徑拓展節(jié)點(diǎn)數(shù)和路徑

包括節(jié)點(diǎn)數(shù),對比結(jié)果見表3、表4。

表3 不同場景的路徑長度與搜索時(shí)間數(shù)據(jù)對比

Astar算法 路徑長度/m 搜索時(shí)間/s

地圖一 地圖二 地圖一 地圖二

傳統(tǒng)Astar 124.36 109.88 4.86 5.50

混合動(dòng)態(tài)加權(quán) 127.88 117.88 2.10 3.78

動(dòng)態(tài)五鄰域搜索 122.14 112.39 1.50 1.69

由表3可知,使用混合動(dòng)態(tài)加權(quán)改進(jìn)傳統(tǒng)Astar算法的啟發(fā)函數(shù)后,與傳統(tǒng)Astar算法相比,混合動(dòng)態(tài)加權(quán)算法的搜索時(shí)間平均縮短了44%,在混合動(dòng)態(tài)加權(quán)的基礎(chǔ)上引入動(dòng)態(tài)五鄰域搜索的改進(jìn)Astar算法,與傳統(tǒng)Astar算法相比,搜索時(shí)間平均縮短了約69%。在路徑長度方面,當(dāng)面對場景較為簡單的地圖時(shí),基于動(dòng)態(tài)五鄰域搜索的改進(jìn)Astar算法路徑長度優(yōu)于傳統(tǒng)Astar算法。

表4 不同場景的路徑拓展節(jié)點(diǎn)數(shù)與路徑包括節(jié)點(diǎn)數(shù)數(shù)據(jù)對比

Astar算法 路徑拓展節(jié)點(diǎn)數(shù)/個(gè) 路徑包括節(jié)點(diǎn)數(shù)/個(gè)

地圖一 地圖二 地圖一 地圖二

傳統(tǒng)Astar 505 620 52 46

混合動(dòng)態(tài)加權(quán) 238 424 55 50

動(dòng)態(tài)五鄰域搜索 164 216 32 28

由表4可知,使用混合動(dòng)態(tài)加權(quán)改進(jìn)傳統(tǒng)Astar算法的啟發(fā)函數(shù)后,與傳統(tǒng)Astar算法相比,其搜索效率有顯著提升,路徑拓展節(jié)點(diǎn)數(shù)平均減少了42.24%。在混合動(dòng)態(tài)加權(quán)的基礎(chǔ)上引入動(dòng)態(tài)五鄰域搜索的改進(jìn)Astar算法進(jìn)一步提升了算法的搜索效率,與傳統(tǒng)Astar算法相比,路徑拓展節(jié)點(diǎn)數(shù)平均減少了約66.35%。經(jīng)過冗余節(jié)點(diǎn)剔除處理與貝塞爾平滑處理后,規(guī)劃路徑轉(zhuǎn)折點(diǎn)更少,平滑度更高,與傳統(tǒng)Astar算法相比,路徑包括節(jié)點(diǎn)數(shù)減少了38.8%。

4 結(jié)論

為提高Astar算法的搜索效率,本文提出在傳統(tǒng)Astar算法的基礎(chǔ)上優(yōu)化其啟發(fā)函數(shù),設(shè)置動(dòng)態(tài)權(quán)重因子α,并將歐氏距離啟發(fā)函數(shù)替換為融合曼哈頓距離與歐氏距離優(yōu)勢的混合啟發(fā)函數(shù)hEM(n),縮短了尋優(yōu)時(shí)間,提高了搜索效率。

將傳統(tǒng)Astar算法中八鄰域搜索改為動(dòng)態(tài)五鄰域搜索,算法目標(biāo)導(dǎo)向性增強(qiáng),也避免了在定向五鄰域搜索中出現(xiàn)在復(fù)雜情況下找不到最優(yōu)路徑的問題。

針對傳統(tǒng)Astar算法規(guī)劃的路徑節(jié)點(diǎn)冗余、轉(zhuǎn)折點(diǎn)過多和平滑度差等現(xiàn)象,對改進(jìn)后的Astar算法進(jìn)行三階貝塞爾曲線平滑處理,并剔除最終路徑冗余節(jié)點(diǎn),減少了轉(zhuǎn)折點(diǎn)個(gè)數(shù),提高了路徑質(zhì)量。

參考文獻(xiàn)

[1]DECHTER R,PEARL J.Generalized best-first search strategies and the optimality of A*[J].Journal of the ACM,1985,32(3):505-536.

[2]ZAID T,QURESHI A H,YASAR A,et al.Potentially guided

bidirectionalized RRT* for fast optimal path planning in cluttered

environments[J].Robotics and Autonomous Systems, 2018(108):13-27.

[3]朱茂飛,胡方亞,李娜可,等.無人駕駛汽車路徑規(guī)劃算法綜述[J].農(nóng)業(yè)裝備與車輛工程,2023,61(11):18-22.

[4]李曉旭,馬興錄,王先鵬.移動(dòng)機(jī)器人路徑規(guī)劃算法綜述[J].計(jì)算機(jī)測量與控制,2022,30(7):9-19.

[5]李晨輝,王澤峰,胡德燕,等.移動(dòng)機(jī)器人的路徑規(guī)劃技術(shù)研究[J].機(jī)電工程技術(shù),2023,52(1):5-9.

[6]遠(yuǎn)子涵,張皓,左晉,等.基于12方向24鄰域的A*算法路徑規(guī)劃研究[J].北京印刷學(xué)院學(xué)報(bào),2023,31(9):38-43.

[7]孔繼利,張鵬坤,劉曉平.雙向搜索機(jī)制的改進(jìn)A*算法研究[J].計(jì)算機(jī)工程與應(yīng)用,2021,57(8):231-237.

[8]劉夢杰,朱希安,王占剛,等.基于雙向A*算法的礦井水災(zāi)逃生路徑應(yīng)用研究[J].煤炭工程,2019,51(9):42-47.

[9]胡杰,朱琪,陳銳鵬,等.引入必經(jīng)點(diǎn)約束的智能汽車全局路徑規(guī)劃[J].汽車工程,2023,45(3):350-360.

猜你喜歡
路徑規(guī)劃
綠茵舞者
公鐵聯(lián)程運(yùn)輸和售票模式的研究和應(yīng)用
基于數(shù)學(xué)運(yùn)算的機(jī)器魚比賽進(jìn)攻策略
清掃機(jī)器人的新型田埂式路徑規(guī)劃方法
自適應(yīng)的智能搬運(yùn)路徑規(guī)劃算法
科技視界(2016年26期)2016-12-17 15:53:57
基于B樣條曲線的無人車路徑規(guī)劃算法
基于改進(jìn)的Dijkstra算法AGV路徑規(guī)劃研究
科技視界(2016年20期)2016-09-29 12:00:43
基于多算法結(jié)合的機(jī)器人路徑規(guī)劃算法
基于Android 的地圖位置服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于改進(jìn)細(xì)菌覓食算法的機(jī)器人路徑規(guī)劃
辽阳县| 新竹市| 泊头市| 涡阳县| 通许县| 宁化县| 泽州县| 广平县| 文昌市| 伊春市| 平利县| 滁州市| 山阳县| 广宗县| 樟树市| 陇南市| 烟台市| 北海市| 盐边县| 永平县| 佛坪县| 兰州市| 韩城市| 米泉市| 泽州县| 新晃| 云浮市| 江西省| 建瓯市| 遂昌县| 丰原市| 栖霞市| 西和县| 佳木斯市| 棋牌| 陇西县| 鹤峰县| 探索| 侯马市| 樟树市| 嘉祥县|