王漢元
摘 要本文探討了智能小車自主路徑規劃算法的設計與改進,并對所提出的算法進行了仿真分析。該自主路徑規劃算法簡單可行,能夠使智能小車在順利避開障礙物的同時從起始位置行進至目標位置,確保智能小車在整個行駛路徑上的安全。該算法綜合使用動態窗口法,根據智能小車與障礙物之間的距離,在智能小車通過動態窗口法規劃得到的速度中引入從障礙物指向智能小車的逃逸速度,補償了動態窗口法的不足,獲得了搜索路徑快、可執行性好、有效地防止智能小車與障礙物碰撞的優點。
【關鍵詞】智能小車 路徑規劃 動態窗口法 逃逸速度
1 引言
智能小車是各種高新技術綜合集成的載體,其集環境感知、規劃決策等功能于一體,融合了機器人技術、人工智能技術、自動化控制技術、機器視覺技術等。智能小車在進行自主路徑規劃時,其主要任務在于,在存在障礙物的環境中發現一條從起始位置到目標位置的適當的行駛路徑,使智能小車在行進途中順利地繞過障礙物而不與障礙物發生碰撞。如何提出一種簡單可行的算法使智能小車在順利避開障礙物的同時從起始位置行進至目標位置,是本領域的一個重要問題。
2 自主路徑規劃的背景介紹
2.1 自主路徑規劃的任務
智能小車的路徑規劃需要解決如下問題:
(1)智能小車從起始位置行進至目標位置;
(2) 智能小車在不碰到障礙物的前提下對智能小車的路徑進行優化。
2.2 路徑規劃方法的分類
根據對環境信息的把握程度,路徑規劃方法分為:基于先驗完全信息的全局路徑規劃,在這種規劃方法中,智能小車所處的環境的全部信息已知;以及基于傳感器信息的局部路徑規劃,在這種規劃方法中,智能小車所處的環境的部分信息或者全部信息未知。其中,局部路徑規劃是指,基于傳感器的信息,在智能小車行進過程中動態地確定其當前位置以及周圍局部范圍內的環境,規劃出局部最優路徑以到達目標位置。
2.3 局部路徑規劃方法的分類
目前采用的局部路徑規劃方法包括柵格法和動態窗口法(Dynamic Window Approach,DWA)。
柵格法將智能小車的運行環境進行單元分割,將環境信息用大小相等的方塊進行表示。其中,若柵格較小,則由柵格所示出的環境信息將較為清晰,但由于存儲的信息較多,路徑規劃速度會降低,無法確保實時性;若柵格較大,則存儲的信息較少,但柵格所表示的環境信息變得模糊,不利于有效的路徑規劃。總之,柵格法在智能小車路徑規劃時存在計算量大、實時性差的缺點。
相對于此,動態窗口法具有搜索路徑快、可執行性好的優點,但存在規劃的路徑可能使智能小車過于靠近障礙物而發生碰撞之虞。本文的自主路徑規劃算法是在動態窗口法的基礎上進行的改進,以下將進行詳述。
3 動態窗口法
本文的自主路徑規劃算法是在綜合使用動態窗口法的基礎上提出的。
簡要來說,動態窗口法是在速度空間中采樣多組速度,并模擬智能小車在這些速度下一定時間內的軌跡,在得到多組軌跡之后,對該多組軌跡進行評價,選取最優軌跡所對應的速度來對智能小車進行驅動。
具體來說,在機器人直線速度v和旋轉速度w組成的速度空間(v,w)中采樣多組速度,由于智能小車在相鄰時刻內的運動距離非常短,可將該兩個相鄰點之間的運動軌跡視作直線,設智能小車在以其自身為參照系的坐標系x軸上移動了Vt·△t。將該距離投影至世界坐標系的x軸和y軸,得到智能小車t+1時刻相對于t時刻在世界坐標系中移動的位移:
如圖1所示,建立智能小車的軌跡運動模型之后,采樣多組速度,模擬智能小車在該多組速度下一定時間內的軌跡,生成多條軌跡,根據智能小車本身的限制和環境限制將速度控制在一定范圍內。例如:
智能小車本身有其自身最大速度和最小速度的限制:
另外,由于智能小車的電機驅動模塊存在最大加減速限制,因此在智能小車的行進模擬周期(在本文中為0.02秒)內存在動態窗口,該窗口內的速度是智能小車實際能夠達到的速度:
其中,Vc、Wc是智能小車的當前速度,、對應最大加速度,、對應最大減速度。
另外,在智能小車碰到障礙物之前,也存在如下約束條件:
其中dist(v,w)為速度(v,w)對應軌跡上距障礙物最近的距離。
最后,設定評價函數,并為每個約束條件設定一定的權重,對各采樣的速度組進行評價。其中,約束條件可包括軌跡中距障礙物的距離、搜索路徑的長短、對智能小車行駛狀態的影響等。
4 自主路徑規劃算法的創新設計
上述動態窗口法在考慮智能小車是否會碰到障礙物時僅將其簡單地看做質點,因此會存在路徑規劃過程中使智能小車靠近障礙物而發生碰撞的危險。
如圖2所示,本文的自主路徑規劃算法在動態窗口法的基礎上進行了改進,避免上述摘 要題的發生。
具體來說包括如下步驟:
步驟1:獲取智能小車與障礙物之間的距離。
基于智能小車上的傳感系統,得到智能小車與障礙物之間的距離。在圖1中,智能小車可利用傳感系統直接輸出用于指示智能小車與障礙物之間的距離的信息。
步驟2:限定逃逸速度臨界距離。
該逃逸速度臨界距離是指障礙物會對智能小車造成危險的距離。該臨界距離是提前設定好的,根據多次試驗,本文設定為智能小車的外形質點到其輪廓邊緣的最遠長度的6倍。根據不同的應用,也可考慮將該逃逸速度臨界距離設為其他值。
步驟3:判斷智能小車與障礙物之間的距離相對于逃逸速度臨界距離之間的關系。若前者大于后者,則采用動態窗口法進行路徑規劃;若前者小于等于后者,則以在由動態窗口法確定的速度的基礎上疊加智能小車與障礙物之間的逃逸速度后得到的速度驅動智能小車。
詳細來說,在智能小車與障礙物之間的距離小于等于逃逸速度臨界距離時,計算動態窗口法所規劃確定的速度v2與逃逸速度v1的矢量和v3,以該速度v3驅動智能小車。如圖3所示。
如下詳述逃逸速度的求取方法。
逃逸速度的方向定義為由障礙物指向智能小車的外形質點的方向。該逃逸速度的矢量的大小隨著距障礙物越近而變得越大。具體來說,其根據如下公式求得:
其中,v為當前智能小車的行駛速度的矢量大小,len為智能小車的外形質點到其輪廓邊緣的最遠長度,d為智能小車的外形質點與障礙物之間的距離,vr為逃逸速度的矢量大小,α為提前設定的系數,本文中設定的α為0.8。
根據上述公式,在智能小車距離障礙物越近時,d值越小,逃逸速度的矢量大小vr越大,利用與逃逸速度疊加后的速度將驅動智能小車遠離障礙物。
根據本文的自主路徑規劃算法,在智能小車距離障礙物較遠時,采用動態窗口法確定智能小車的規劃路徑;在智能小車距離障礙物較近的情況下,將動態窗口法確定的速度與逃逸速度疊加,產生遠離障礙物的速度,且該速度隨著智能小車與障礙物之間的距離越近而越大。該算法有效地避免在以動態窗口法對路徑進行規劃時智能小車過度靠近障礙物的問題,補償了動態窗口法的不足。
5 仿真分析
為了驗證本算法在引導智能小車進行路徑規劃的可靠性,本文利用MATLAB提供的simulink模塊進行了仿真。
在simulink中建立智能小車的運動學模型,加入障礙物信息、智能小車起點、終點坐標,基于經過改進之后的智能小車自主路徑規劃算法建立仿真模型,進行仿真。
從圖4可以看出,智能小車從起點出發,在向終點行駛的過程中平滑地在位于起點與終點之間的各障礙物之間穿過,順利到達終點。由此可知,本文提出的算法簡單可行,使智能小車在順利避開障礙物的同時從起始位置行進至目標位置,確保智能小車在整個行駛路徑上的安全。
6 結語
本文探討了智能小車自主路徑規劃算法的設計。該算法綜合使用動態窗口法,根據智能小車與障礙物之間的距離,在智能小車通過動態窗口法規劃得到的速度中引入從障礙物指向智能小車的逃逸速度,補償了動態窗口法的不足,獲得了搜索路徑快、可執行性好、有效地防止智能小車與障礙物碰撞的優點。
參考文獻
[1]張廣林,胡小梅,柴劍飛,趙磊,俞濤.路徑規劃算法及其應用綜述[J].現代機械,2011(05):85-90.
[2]徐保來,管貽生,蘇澤榮等.改進動態窗口法的阿克曼移動機器人局部路徑規劃器 [J].機電工程技術,2016,45(09):21-26.
[3]The dynamic window approach to collision avoidance.Fox,D.,Burgard, W.,Thrun,S.Robotics & Automation Magazine,IEEE.1997.
作者單位
河南省實驗中學 河南省鄭州市 450000