【技術實現步驟摘要】
本專利技術屬于移動機器人運動規劃算法,具體涉及一種基于a-star算法和三次b樣條曲線融合的平滑路徑改進方法。
技術介紹
1、隨著人工智能技術和傳感器技術的進步,未來移動機器人的自主導航能力將不斷提高。當今移動機器人已經廣泛應用于在物流倉儲、大型商場、工業零件搬運等領域。移動機器人通過感知周圍環境、理解地圖信息并做出決策,從而實現自主導航。路徑規劃技術是導航技術的基礎,使移動機器人能夠在起點和目標點之間找到一條最優路徑,并且在整個移動過程中避免與任何障礙物發生碰撞。
2、路徑規劃算法包括dijkstra算法、a-star算法、rrt算法、蟻群算法等。在上述算法中,a-star算法的優點有:原理簡單復雜度低、容易實現、計算量小、速度快等優點。但是a-star算法也存在以下問題:a-star算法路徑會出現冗余路徑節點,路徑不平滑的問題。移動機器人每經過一次轉折節點,將會導致移動機器人的輪胎磨損和電機損耗。
3、針對a-star算法的不足,本實施例通過采用剔除冗余路徑節點法減少路徑節點,并且結合三次b樣條曲線對路徑進行平滑處理,以使移動機器人能夠更順暢地沿著路徑移動。
技術實現思路
1、本專利技術的目的在于一種基于a-star算法和三次b樣條曲線融合的平滑路徑改進方法,通過采用剔除冗余路徑節點法減少路徑節點,并且結合三次b樣條曲線對路徑進行平滑處理,以使移動機器人能夠更順暢地沿著路徑移動,解決了a-star算法路徑轉折節點多和路徑不平滑的問題,同時完成了移動機器人
2、為實現上述技術目的,達到上述技術效果,本專利技術是通過以下技術方案實現:
3、本專利技術提供一種基于a-star算法和三次b樣條曲線融合的平滑路徑改進方法,包括以下步驟:
4、s1、確定起點、目標點和障礙物的位置,構建柵格地圖;
5、s2、創建open列表用來存儲尋找最短路徑所需的柵格節點、close列表用來存儲尋路路徑中代價最小的柵格節點;
6、s3、將起點放入open列表中,設置open列表中代價值最小的點為當前點;
7、s4、將除close列表點和障礙物點以外,當前節點周圍八個不同方向的相鄰節點,加入open列表進行遍歷尋找子節點,并添加當前點到close列表作為父節點;
8、s5、利用評價函數計算代價值最小的子節點,將代價值最小的子節點從open列表中刪除,添加到close列表中;
9、s6、更新當前點,判斷當前點是否為終點;
10、s7、判斷相鄰點是否已經在open列表中;
11、s8、不斷重復上述步驟,尋找f值最小的最短路徑,直至找到終點,輸出close列表;
12、s9、采用剔除冗余路徑節點方法,即核心思想遵循兩點連線斜邊最短原則;在滿足避障條件的基礎上,對close列表中的路徑點進行處理,剔除a-star算法中不必要的轉折路徑節點,縮短路徑長度,減少路徑折彎點,輸出剔除冗余路徑的列表;
13、s10、對輸出剔除冗余路徑的列表,采用三次準均勻b樣條曲線進行平滑處理,平滑剔除冗余路徑的路徑。
14、進一步地,步驟s1中,所述柵格地圖構建方法具體為:
15、為了準確地描述移動機器人所處的環境,以柵格為單位記錄移動機器人的坐標和環境信息;
16、0表示白色的柵格,代表無障礙物;
17、1用黑色的柵格表示,代表有障礙物,移動機器人無法通過;
18、柵格大小主要由實驗環境確定,柵格長度式中,r為障礙物半徑,r為機器人半徑,為設定的安全距離。
19、進一步地,步驟s5中,a-star算法評價函數公式如下:
20、f(n)=g(n)+h(n)
21、式中,n是當前擴展節點,f(n)為起點到目標點的總代價;g(n)為起點到節點n的實際路徑代價;h(n)為節點n到目標點路徑的啟發式代價。
22、進一步地,步驟s5中,所述啟發函數計算方法具體為:
23、a-star算法中的啟發函數h(n)對a-star算法影響很大,啟發函數的作用能夠指引正確的擴展方向,減小a-star算法擴展的節點數量,加快路徑規劃的速度;啟發函數h(n)的計算通常采用三種距離:歐式距離、曼哈頓距離和切比雪夫距離;
24、曼哈頓距離是指兩個矢量之間的直線距離,投影到坐標軸的長度距離的和;曼哈頓距離公式為:
25、h(n)=|xn-xe|+|yn-ye|;
26、切比雪夫距離指兩個向量在各坐標維度上的最大差值;切比雪夫距離公式為:
27、
28、歐幾里得距離表示在m維空間中兩個點之間的直線距離;歐里幾德距離為:
29、
30、式中,(xn,yn)表示機器人的當前點,(xe,ye)表示機器人的目標點。
31、進一步地,步驟s6中:
32、a)若當前點為終點,輸出close列表為路徑點;
33、b)若當前點不為終點,則遍歷當前點相鄰的柵格節點,加入到open列表。
34、進一步地,步驟s7中:
35、a)若相鄰點在open列表中,計算起點到相鄰點的實際路徑代價,若比起點到當前點的實際路徑代價小,將該點的父節點作為當前點,重新計算f值;否則,當前點不變;
36、b)若相鄰點不在open列表中,計算相鄰點的f值并添加到open列表中。
37、進一步地,步驟s9中,所述剔除冗余路徑節點策略算法方法具體為:
38、1)獲得a-star算法初始規劃路徑的節點矩陣[p1;p2;…;pn],記為p,其中p1為起點,pn為目標點;新建一個用于存儲關鍵路徑節點矩陣k,并將起點和目標點添加到k矩陣;
39、2)初始化變量;設變量i為矩陣p的索引,i的取值范圍為1≤i≤n,n為矩陣p的長度,令i=1;
40、3)判斷終點;創建while循環,當i+2>n時,循環結束;
41、4)更新變量;從矩陣p的初始節點p1開始,依次獲取矩陣p中的三個節點,即pi、pi+1、pi+2;
42、5)共線判斷;計算線段pipi+1線段pi+1pi+的斜率,判斷兩條直線是否相等;若斜率不等,證明pi、pi+1、pi+2三個節點不共線,進入步驟6);否則,刪除矩陣p中的節點pi+1,更新p矩陣長度n,返回步驟2);
43、6)障礙物判斷;分別獲取pi、pi+1、pi+2節點周圍相鄰八個柵格中的障礙物,并存儲在o矩陣中,連接pipi+2線段,通過計算障礙物到pipi+2線段的距離,判斷是否存在障礙物;若存在障礙物,說明中間節點pi+1為關鍵節點,添加到矩陣k中,并令i=i+1,進入步驟7);反之,則在p矩陣中,刪除中間節點pi+1,更新n值,回到步驟2);
44、7)循環結束;輸出剔除冗余節點后本文檔來自技高網...
【技術保護點】
1.基于A-star算法和三次B樣條曲線融合的平滑路徑改進方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的基于A-star算法和三次B樣條曲線融合的平滑路徑改進方法,其特征在于,步驟S1中,所述柵格地圖構建方法具體為:
3.根據權利要求1所述的基于A-star算法和三次B樣條曲線融合的平滑路徑改進方法,其特征在于,步驟S5中,A-star算法評價函數公式如下:
4.根據權利要求1所述的基于A-star算法和三次B樣條曲線融合的平滑路徑改進方法,其特征在于,步驟S5中,所述啟發函數計算方法具體為:
5.根據權利要求1所述的基于A-star算法和三次B樣條曲線融合的平滑路徑改進方法,其特征在于,步驟S6中:
6.根據權利要求1所述的基于A-star算法和三次B樣條曲線融合的平滑路徑改進方法,其特征在于,步驟S7中:
7.根據權利要求1所述的基于A-star算法和三次B樣條曲線融合的平滑路徑改進方法,其特征在于,步驟S9中,所述剔除冗余路徑節點策略算法方法具體為:
8.根據權利要求1所述的基于
...【技術特征摘要】
1.基于a-star算法和三次b樣條曲線融合的平滑路徑改進方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的基于a-star算法和三次b樣條曲線融合的平滑路徑改進方法,其特征在于,步驟s1中,所述柵格地圖構建方法具體為:
3.根據權利要求1所述的基于a-star算法和三次b樣條曲線融合的平滑路徑改進方法,其特征在于,步驟s5中,a-star算法評價函數公式如下:
4.根據權利要求1所述的基于a-star算法和三次b樣條曲線融合的平滑路徑改進方法,其特征在于,步驟s5中,所述啟發函數計算方法具體為:
...【專利技術屬性】
技術研發人員:徐向榮,郜菊,王魏婧,崔歡歡,張卉,蒲泉成,
申請(專利權)人:安徽工業大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。