System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于移動機器人路徑規劃,涉及一種適用復雜環境的移動機器人路徑規劃方法、系統及應用。
技術介紹
1、隨著無人系統的快速發展,機器人在人們的工作和生活中占據了越來越重要的位置,移動機器人被廣泛運用于工業制造、農業、清潔、醫療、水下作業和物流等領域。路徑規劃是移動機器人無人系統中的關鍵技術,其可在不同環境中,基于特定的障礙物信息計算出一條從機器人起點位置到目標終點位置的安全無碰撞路徑。路徑規劃本質上屬于一個np問題,傳統路徑規劃算法應對np問題時容易出現計算時間長、復雜性高、容易陷入局部極值等問題。針對傳統路徑規劃算法在進行路徑規劃時面臨的困境發展出啟發式算法,其中元啟發式算法通過搜索解空間找到接近最優解的處理方法,但其計算具有隨機性較強、不能獲取唯一解和不能獲取實時解的問題,目前在路徑規劃中使用最多的啟發式算法是a*算法。但a*算法在路徑規劃時存在搜索時間長、搜索的路徑具有很多轉折點、面對凹型障礙物會陷入凹型區域、遇到障礙物時搜索路徑未能預留安全距離的缺點,其在復雜環境中的路徑規劃效果并不理想,存在路徑規劃得到的路線不是移動機器人最佳路徑的問題。
技術實現思路
1、針對上述現有路徑規劃中應用最廣泛的啟發式算法a*算法在路徑規劃時存在搜索時間長、搜索的路徑具有很多轉折點、面對凹型障礙物會陷入凹型區域、遇到障礙物時搜索路徑未能預留安全距離的缺點,其在復雜環境中的路徑規劃效果并不理想,存在路徑規劃得到的路線不是移動機器人最佳路徑的問題。本專利技術提出了一種適用復雜環境的移動機器人路
2、本專利技術的一種適用復雜環境的移動機器人路徑規劃方法的具體技術方案如下:
3、步驟一、獲取環境地圖,確定所述環境地圖中的路徑規劃起點和路徑規劃終點,并轉換成二值地圖;
4、步驟二、在進行路徑規劃時通??梢苑譃閮煞N情況:其中一種是當所述環境地圖中的路徑規劃起點和終點直線段間無障礙物時,直接將連接路徑規劃起點和終點的路徑作為規劃路徑;另一種是當所述環境地圖中的路徑規劃起點和終點直線段間包含一個或多個障礙物時,根據障礙物的位置,確定一條或多條分段路徑,將路徑規劃起點和終點間每組首尾相連的分段路徑拼合后作為備選規劃路徑;
5、步驟三、輸出規劃獲得的機器人路徑。
6、具體地,
7、移動機器人基于當前提供的地圖獲取地圖環境信息,其內容為:機器人位置,路徑起點、路徑終點、障礙物信息。假設路徑起點為a(xs,ys),路徑終點為b(xg,yg),本專利技術將路徑起點a和路徑終點b稱之為全局路徑起點a和全局路徑終點b,連接點a和點b得到直線段定義全局路徑起點a和全局路徑終點b間有n個不規則障礙物,定義移動機器人遇到障礙物時預留的安全距離為r,定義每條未穿過障礙物的全局路徑都為備選路徑,在一個地圖中可能包含一條或多條可達的全局路徑。然后進行如下步驟:
8、步驟1:由解析幾何根據點a和點b坐標求出直線段的兩點式方程:(y-ys)(xg-xs)=(x-xs)(yg-ys)。
9、步驟2:當n為0時,直線段對應線段為路徑規劃結果,跳轉到步驟9。否則,基于直線段的兩點式方程計算出對應的一般式直線方程和點斜式直線方程。
10、步驟3:對直線段穿過的每個障礙物,基于障礙物邊界點信息計算其位于直線段兩側最遠的兩個邊界點,定義為障礙物邊界點。遍歷直線段穿過的障礙物,得到障礙物邊界點集。
11、步驟4:基于地圖環境邊界信息更新障礙物邊界點集,過濾障礙物邊界點集中同時為地圖環境邊界的點。如果直線段對應的障礙物邊界點均為地圖環境邊界點時,進行障礙物邊界點集更新后,邊界點集中不存在障礙物邊界點,即不存在任何一條全局路徑起點和全局路徑終點之間的無碰撞可達路徑,跳轉步驟10;對分段路徑中的障礙物邊界點集進行判斷時,若此時障礙物邊界點集為空,此分段路徑直線段為不可到達路徑,跳轉到步驟9。
12、步驟5:對當前障礙物邊界點集計算其與直線段的垂直距離:
13、
14、步驟6:基于步驟5的計算從障礙物邊界點集選取線段兩側最遠障礙物邊界點分別記為記為和
15、步驟7:基于障礙物邊界點c'l,max、c'r,max坐標值、邊界點到直線段距離垂直于直線段的性質和預留安全距離計算直線段兩側的移動邊界點和
16、步驟8:基于全局路徑起點a、移動邊界點ol,max和ol,max、全局路徑終點b,獲取由直線段組成的全局路徑和將未穿過障礙物的全局路徑加入到備選路徑集中。
17、步驟9:若存在穿過障礙物的全局路徑,對組成穿過障礙物全局路徑的每個局部路徑直線段類比于直線段跳轉到步驟1來更新此直線段。否則,選擇備選路徑中最短路徑為規劃路徑。
18、步驟10:若不存在從起點到終點的安全無碰撞路徑,則輸出空;否則輸出規劃的安全無碰撞路徑。
19、進一步地,所述步驟2包括如下具體步驟:
20、當n為0時,直線段不穿過任何障礙物,根據線段公理兩點之間線段最短可得此時即為從當前路徑起點a到當前路徑終點b進行路徑規劃的最優路徑,跳轉到步驟9。當n>=1時,直線段穿過障礙物?;诓襟E一得到直線段的兩點式方程:(y-ys)(xg-xs)=(x-xs)(yg-ys)轉換為一般式的直線方程a0*x+b0*y+c0=0,可得a0=ys-yg,b0=xg-xs,c0=xs*yg-ys*xg,將其轉換為點斜式的直線方程y=k0*x+b0時,可得k0=yg-ys/xg-xs,b0=ys-xs(yg-ys)/(xg-xs)。
21、進一步地,所述步驟3包括如下具體步驟:
22、定義地圖中單個不規則障礙物的邊界點有兩個,其分別位于直線段兩側,對每側的邊界點來說,其為距離直線段最遠的邊界點。獲取直線段從其點a到點b方向與每個障礙物的交點此時其對應障礙物的邊界點集為1,2),其中j為第j個障礙物,i為第i個障礙物邊界點。
23、進一步地,所述步驟4包括如下具體步驟:
24、判斷分段路徑中障礙物邊界點集中所有點是否全都為地圖環境中的邊界點,若是則說明當前不存在可以從路徑起點a到路徑終點b的路徑,跳轉到步驟9。否則,去除為地圖環境邊界點的障礙物邊界點,得到新障礙物的邊界點集為
25、進一步地,所述步驟6包括如下具體步驟:
26、步驟6.1:根據計算出障礙物邊界點的v值。當v大于0時,此障礙物邊界點在直線段的左側,將(c'j,i,sj,i)存入dl中。當v小于0時,其在直線段的右側,將(c'j,i,sj,i)存入dr中。
27、步驟6.2:遍歷dl中元素,得到障礙物邊界點與直線段垂直距離sj,i的最大值,此時,直線段左側最遠障礙物邊界點記為遍歷dr中元素,同理可得線段右側最遠障礙物邊界點記為
28、進一步地,所述步驟7包括如下具體步驟:
29、步驟7.1:分別基于障礙物的邊界點c'r,max坐標值,和邊本文檔來自技高網...
【技術保護點】
1.一種適用復雜環境的移動機器人路徑規劃方法,其特征在于,所述路徑規劃方法包括如下步驟:
2.如權利要求1所述的路徑規劃方法,其特征在于,步驟二中,當所述環境地圖中的路徑規劃起點和終點直線段穿過一個或多個障礙物時,路徑規劃包括如下步驟:
3.如權利要求2所述的路徑規劃方法,其特征在于,步驟2.1中,直線段穿過障礙物時,獲取障礙物的邊界坐標信息,計算所述障礙物分別位于直線段兩側且距離直線段距離最遠的點,定義為對應障礙物的邊界點n表示障礙物的數量;和/或,
4.如權利要求2所述的路徑規劃方法,其特征在于,步驟2.2中,濾除地圖環境邊界點的新的障礙物邊界點集表示為j表示第j個障礙物,i表示第i個障礙物邊界點;或,
5.如權利要求2所述的路徑規劃方法,其特征在于,步驟2.3中,所述移動邊界點為新的障礙物邊界點集中距離最遠的障礙物邊界點與預設的移動機器人在遇到障礙物時的預留安全距離r的和的位置,記為和
6.如權利要求5所述的路徑規劃方法,其特征在于,障礙物邊界點與對應的移動邊界點的坐標滿足下式:
7.一種適用復雜環境的
8.如權利要求1-6之任一項所述的路徑規劃方法,或如權利要求7所述的路徑規劃系統在工業倉庫物料搬運、城市地下管道巡檢、災后搜救任務場景中的應用。
...【技術特征摘要】
1.一種適用復雜環境的移動機器人路徑規劃方法,其特征在于,所述路徑規劃方法包括如下步驟:
2.如權利要求1所述的路徑規劃方法,其特征在于,步驟二中,當所述環境地圖中的路徑規劃起點和終點直線段穿過一個或多個障礙物時,路徑規劃包括如下步驟:
3.如權利要求2所述的路徑規劃方法,其特征在于,步驟2.1中,直線段穿過障礙物時,獲取障礙物的邊界坐標信息,計算所述障礙物分別位于直線段兩側且距離直線段距離最遠的點,定義為對應障礙物的邊界點n表示障礙物的數量;和/或,
4.如權利要求2所述的路徑規劃方法,其特征在于,步驟2.2中,濾除地圖環境邊界點的新的障礙物邊界點集表示為j表示第j個障礙物,i表示第i個障礙物邊界點;或,
5.如權利要求2所述...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。