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