0引言
隨著移動機器人的應用領域不斷擴大,人們希望機器人能夠在未知環境中自動實現路徑規劃,以大大提高其對環境的適應能力[1~3]. 避障是移動機器人運動規劃中的基本問題之一. 在機器人路徑規劃中,由于計算的復雜性、控制的實時性、環境的不確定性因素,尤其是在包含多個障礙的復雜環境中,避障控制一直以來都是機器人路徑規劃中的難點. 根據機器人對環境信息知道的程度不同,可分為兩種類型:環境信息完全知道的全局路徑規劃和環境信息完全未知或部分未知的局部路徑規劃.對于已知環境下的避碰問題,已經提出了許多有效的解決方法[4~12].其中,Khatib提出的人工勢場法,結構簡單,易于實現,得到了廣泛應用.但人工勢場法主要存在如下缺點[5]:陷阱區域,在相近障礙物之間不能發現路徑,在障礙物前面振蕩,一些參數需通過實驗調整.柵格法[6]也是路徑規劃和避碰研究的常用方法,以方格作為環境構成的基元,算法簡單,但空間分辨率、時間復雜度與內存容量、實時性要求之間的矛盾限制了它的使用.近年來,一些生物進化算法被用于機器人的避碰與路徑規劃研究,如人工神經網絡[7]、遺傳算法[8]、模擬退火算法[9]、螞蟻算法[10]等.與在已知環境中相比,機器人在環境完全未知或部分未知情況下實現避障更加困難.目前,對它的研究已取得了一些成果:張純剛
等[11]采用滾動窗口的方法來解決全局環境未知的機器人路徑規劃與避碰問題,但該方法要求障礙物為凸型,邊界為光滑曲線,且邊界上各點曲率半徑≤δ(其中δ是正常量),從而使該方法在應用中受到極大限制;文獻[12]在研究月球探測器的路徑規劃中,采用了基于案例的學習方法,但該方法在復雜環境中需要存儲的信息量很大,同時,隨著新案例的增多,很容易產生案例庫爆炸問題.
針對環境信息不確定情況下的避障問題,本文提出一種機器人的動態避障方法, 該方法是以機器人與障礙物之間的相對運動作為決策依據,不用考慮障礙物的運動狀態,簡化了機器人避障的步驟;另外,機器人能夠根據各種情況靈活的判斷是否避障以及靈活的選擇適當的避障方式,使機器人在躲避碰撞的前提下能快速地跟蹤規劃路徑.
1 避障行為的決策
機器人在運動過程中需要對碰撞的危險性進行判斷并以此作為機器人避障行為選擇的依據。圖3
1) 連接歷史點與當前點,并延長至與扇形區相交,當交點在扇形的弧線上,標志障礙物正遠離物體,不需要避障。否則記錄交點的位置,我們稱該交點為出口點。
圖1 扇形區與屏幕坐標的映射
2)從物體當前點向機器人與出口點同側的邊緣點引直線(圓形機器人為切線),然后求圖
機器人選擇如何避障必須借助圖1b所提供的屏幕坐標信息,因此實現屏幕坐標向扇型區的映射是判斷是否避障的前提。顯而易見,這種映射是一種非線性映射,因此我們采用了神經網絡對這種非線性關系進行擬合。
2 從屏幕坐標到扇形區的映射
人工神經網絡由于具有分布式存儲和并行處理結構,自組織和自學習功能以及很強的容錯性和魯棒性等優點,能夠用來進行非線性逼近。因此我們采用人工神經網絡對相對坐標和相對誤差半徑進行標定。我們采用了如圖
圖2 神經網絡及擬合結果
由于擬合的過程是一種連續空間與離散空間相互映射的過程,因此誤差從理論上都無法消除,而擬合誤差則會對實際避障過程產生不可忽視的影響,因此我們同時把擬合誤差也作為輸出。通過選取樣本和對網絡的訓練,求出一系列權值,最后進行檢驗,得出屏幕坐標與擬合誤差的關系如圖1b所示。
通過實驗數據我們可以知道:擬合誤差在屏幕中心點(0,Ymax/2)處取得最小值;擬合點越偏離屏幕中心點,擬和誤差越大;這說明當障礙物位于遠距離或者側前方時,判斷是否避障難度較大,而當障礙物靠近時或者位于中心區域時判斷比較容易
3 機器人在避障過程中的運動控制
機器人在檢測到碰撞的可能性后,需要立即進行避障運動控制,原因是障礙物在機器人視野中的采樣次數很少,一般為6~9次,主要原因是機器人把大量的時間用于目標識別和定位上面,所以,如果不能馬上避障很容易導致規劃失敗,這種避障時機的選擇一方面提高了避障的成功率,另一方面卻可能導致規劃的路徑不是最優,但是目前還沒有找到很好的解決辦法。
為了保證機器人在避障過程中的快速性,一般不采用減速的方法,而是通過調節ω;而在一些必要的情況下必須減速,甚至停止。當然在一些情況下可以采用直線加速的方法。因此,在圖1中分為加速區、減速區,終止區和自由規劃區四大部分。這幾部分并不是嚴格分開的,有的區域相互重疊。其中A區(1、3、b、d點組成的閉合區域)為終止區,如果障礙物的當前點在終止區內,機器人的線速度應減為零,終止區的徑向寬度由公式(5)確定:
(5)
在式中Vrmax和Vomax為機器人和障礙物的最大速度,ts為采樣時間(信息數據更新時間),a為安全系數,一般隨實際情況而定。
B區(斜線區)為加速區,并不是說障礙物在該區內就可以加速,機器人以加速的方式避障必須滿足下面兩個條件:
1)障礙物的當前點在加速區。
2)出口點在當前點所在加速區的邊線(如圖1中的線段9d或者線段51)上。
如果滿足條件1)而不能滿足條件2),則按自由規劃處理。
C區為減速區,減速區的功能是使機器人以最大的加速度使速度從Vrmax減到某一速度Vr,利用式6和式7可以求得減速區的寬度。
(6)
(7)
F區為自由規劃區,在自由規劃區內可以自由的選擇減速避障或者線速度不變避障。
下面分別求解機器人避障時的線速度變化量ΔV和角速度變化量Δω:
(8)
(9)
在上面兩式中(x0,y0),(x1,y1)分別為障礙物的歷史點和當前點坐標;k為從物體當前點向機器人與出口點同側的邊緣點引直線(圓形機器人為切線)的斜率。其中Δω的方向由下面方法確定:出口點在扇形區的左半區,則Δω的方向為順時針,否則為逆時針。ΔV在加速時取正,減速時取負。
當機器人的視野中有多個障礙物時,按照就近原則進行規劃。由于這種避障方法是以機器人與障礙物之間的相對運動作為決策依據,所以在避障過程中無需考慮機器人和障礙物的運動軌跡,這就使機器人的運動規劃更加快捷,并且機器人的線速度和角速度隨環境的變化而改變,使機器人的控制更加靈活。
4 動態環境下基于任務的仿真結果
圖3中給出了全自主足球機器人基于任務的動態避障仿真結果,仿真環境是對未知環境的部分模擬,其中靜態障礙物A、B、C在有可行路徑的前提下隨意放置;機器人的任務是獲得球后把其帶向球門,如果在運動過程中與靜態障礙物相撞或者與前方的機器人相撞,任務失敗。在仿真過程中,右側球門為對方球門,中心點位置固定。機器人視野為60度,視野內的障礙物的威脅點信息在絕對誤差半徑的范圍內隨機提供,運動障礙物的最大速度為40