黃開啟,王賽賽,葉 濤,王新健
(江西理工大學 機電工程學院,江西 贛州 341000)
避障及局部路徑規(guī)劃是機器人研究領域的核心技術之一,它是在動、靜態(tài)障礙物環(huán)境中按照用戶的需求尋找一條從起始點到目標點無碰撞的最優(yōu)或次優(yōu)路徑[1-2]。到目前為止,研究路徑規(guī)劃常用的方法有:神經網絡法[3]、模糊算法[4]、遺傳算法[5]、蟻群算法[6]、APF算法[7]等。APF算法規(guī)劃的路徑時間短、效率高,十分適合實時性及安全性高的路徑規(guī)劃[8]。但是APF算法也存在某種缺陷,比如局部最優(yōu)、目標不可達的問題[9]。文獻[10]引入了障礙物斥力權重系數(shù)與新啟發(fā)因子,使得算法的收斂性有了提高,克服了傳統(tǒng)APF的缺陷,但是增加了避障時間;文獻[11]利用APF勢場力構建新的啟發(fā)信息,巧妙地把蟻群算法和APF融為一體,大大節(jié)省了避障時間,但是此過程所需的存儲空間特別大。
針對機器人在避障及局部路徑規(guī)劃中遇到的難題,本文提出了模糊改進的APF幫助機器人擺脫陷阱,在MATLAB編寫相關控制程序進行模擬仿真,驗證了改進算法的可行性。
針對傳統(tǒng)APF算法應用在機器人避障及局部路徑規(guī)劃中所遇到的問題,本文通過建立障礙物運動速度和加速度勢場更加準確描述障礙物的運動情況,通過重新定義APF算法中斥力表達式幫助機器人克服部分陷阱,當出現(xiàn)一些罕見的情況時,使用模糊改進的APF算法依據(jù)模糊規(guī)則提供外力幫助機器人打破僵持局面。在MATLAB中編寫相關控制程序進行模擬仿真,驗證了改進算法的可行性。
1986年,Khatib首次提出APF算法,APF算法的工作原理類似于自然界水的走勢——從較高地勢流向地勢低洼處。目標點相當于山峰,路途中的障礙物類似于低谷[12]。APF理論表明,對處在任何環(huán)境的物體(動態(tài)障礙物或靜態(tài)障礙物),都可以定義并計算出一個人工勢場圖。對于梯度勢場法來說,目標點對移動機器人產生吸引力,障礙物對機器人產生排斥力,機器人在引力和眾多斥力的共同作用下從起始點安全、無碰撞運動到達目標點,如圖1所示。
把機器人運動看作一個質點,設機器人坐標X=(x,y),目標點坐標Xg=(xg,yg),機器人在X點所受到目標點Xg產生引力勢場Uatt及吸引力Fatt的大小為:
(1)
圖1 機器人路徑規(guī)劃圖
設障礙物坐標Xob=(xob,yob),障礙物產生的斥力勢場Urep(X)及機器人在障礙物產生的斥力勢場中所受到的斥力Frep(X) 大小為:
(2)
(3)
機器人在引力和斥力的共同作用下朝著目標點運動,所受總合力Fsum大小為:
(4)
(1)假設目標點周圍存在障礙物,機器人在即將到達目標點時與障礙物的距離太近,障礙物產生的斥力就越大,當機器人受到障礙物產生的斥力大于目標點產生的引力時,機器人在引力與斥力的合力作用下遠離目標點[13],如圖2所示。
(2)APF應用于機器人避障,動、靜態(tài)障礙物的排列方式使得在局部路徑規(guī)劃途中的某些特殊點[14](目標點產生的引力與障礙物產生的斥力達到二力平衡),機器人將無法到達目標點,如圖3所示。
(3)在傳統(tǒng)APF算法中,缺少考慮機器人運動的速度和加速度,根據(jù)傳感器采集到機器人周圍的信息進行路徑規(guī)劃后,動態(tài)障礙物也移動了一段距離,導致與機器人發(fā)生碰撞。
圖2 機器人無法到達目標點
(a) 局部最優(yōu)原因之一
(b) 局部最優(yōu)原因之二 圖3 局部最優(yōu)原因
在傳統(tǒng)APF中,有待改進的地方包括:目標不可達、易于障礙物發(fā)生碰撞、局部最優(yōu)[15]。障礙物斥力勢場不僅與機器人和障礙物之間的距離密切有關,而且還與障礙物所屬的類別有關,類別(速度、質量)不同,所需保持的安全距離也不相同。一般來說,障礙物質量越大、速度越快,該障礙物所屬的危險等級就越高,需要預留的安全距離就越大。因此,不同障礙物的危險等級可以通過斥力系數(shù)ζ體現(xiàn)出來。
(5)
式中,M為障礙物的質量,e為自然常數(shù),c為障礙物的類型,大小根據(jù)危險等級自己設定,G為調節(jié)基數(shù),防止斥力太大。
對于目標不可達的情況來說,如果滿足機器人向目標點運動過程中引力與斥力同時趨近于0,這樣機器人到達目標點時所受的合力也就為0,問題就迎刃而解。因此,重新定義斥力Frep2的方向,并把目標點與機器人之間的相對距離加入斥力勢場,新斥力勢場函數(shù)為:
(6)
機器人在引力與斥力的合力Fsum的作用下朝著目標點運動,當X=Xg時,相應的斥力大小為:
(7)
(8)
式中,ρg為斥力勢場調節(jié)因子;向量Frep1的方向為從障礙物指向機器人,向量Frep2的方向為從機器人指向目標點。 由圖4可以看出,F(xiàn)rep1對機器人產生排斥力,F(xiàn)rep2對機器人產生吸引力。
圖4 改進的斥力勢場模型
傳統(tǒng)APF算法缺少對障礙物移動速度和加速度考慮,機器人運動狀態(tài)的變化主要體現(xiàn)在速度和加速度上。因此,加入速度勢場與加速度勢場準確表達機器人避障。障礙物運動的速度勢場函數(shù)和加速度勢場函數(shù)分別為:
(9)
(10)
式中,ε、V障分別為速度勢場系數(shù)和障礙物的移動速度,α1為機器人實時加速度,F(xiàn)att2為引力的速度分量,F(xiàn)rep2為斥力速度分量,m為實驗中機器人自身的質量。
經過對傳統(tǒng)APF斥力場修改,解決了局部最優(yōu)和目標不可達問題。但是當出現(xiàn)一些罕見的情況下,機器人仍有可能掉入局部陷阱,如圖5所示。經過重新定義斥力Fatt和Frep始終位于二力平衡狀態(tài),在缺少其他力幫助打破這種狀態(tài)的情形下,無法到達目的地。杜絕這種情況發(fā)生,采用模糊規(guī)則計算打破僵持局面的力Ffuzzy。模糊控制器的輸入必須盡可能詳細地代表機器人的運動狀態(tài),輸出則是可以更好地幫助移動機器人克服缺陷。因此,選擇Fatt和Frep之間的夾角α和Uatt與Urep之間差的絕對值與合力Fsum的比值作為輸入量,機器人的速度方向和合力Fsum的方向之間偏差δ作為輸出。夾角α取值范圍[-π,π],經過模糊化之后M={NB,NM,NS,PM,PS,PB},隸屬度函數(shù)如圖6所示。
Uatt和Urep的差值與合力Fsum的比值F為:
(11)
(a) 改進APF算法
(b) 模糊改進的APF算法 圖5 機器人運動分析
圖6 α的隸屬度函數(shù)
圖7 F隸屬度函數(shù)
圖8 δ隸屬度函數(shù)
該輸出控制模塊的規(guī)則如下:
Ri:IfθisAi,F(xiàn)isBi,ThenφisYi.i=1,2,3,...,N
模糊規(guī)則表如表1所示。
表1 模糊規(guī)則
為了檢驗改進的模糊APF算法準確性及可行性,使用MATLAB對移動機器人在避障及路徑規(guī)劃過程中遇到的問題進行模擬仿真。
(1)目標點距離障礙物非常近,障礙物的影響范圍覆蓋目標點。傳統(tǒng)APF算法無法到達目標點的情況,如圖9所示。在仿真過程中,目標點的坐標為(115,95)m,機器人起始點坐標為(0,0)m,障礙物的半徑為3m,斥力影響范圍為7m,仿真步長為0.5m。
在圖9中,傳統(tǒng)的APF算法在即將到達目標點時出現(xiàn)了止步不前的現(xiàn)象,移動機器人無法到達目標點。因為目標點附近存在障礙物,導致機器人受到障礙物的斥力大于目標點對機器人的引力。圖10是經過改進的APF算法,機器人不僅可以準確到達目標點,而且規(guī)劃的路徑較平滑,解決了目標不可達問題。
圖9 傳統(tǒng)APF算法
圖10 改進的APF算法
(2)目標點、機器人、障礙物處于一條直線上。由圖11可知,機器人在傳統(tǒng)APF算法作用下運動到障礙物附近引力與斥力達到二力平衡,機器人在障礙物附近無法克服局部陷阱。由圖12可知,經過改進的APF算法在機器人陷入局部陷阱時提供了克服陷阱的力,巧妙避開障礙物,準確到達目標點。
圖11 傳統(tǒng)APF算法
圖12 改進的APF算法
(3)在眾多障礙物、環(huán)境更加復雜條件下,改進的模糊APF算法躲避障礙物的路徑規(guī)劃。由圖13可知,在復雜的環(huán)境下,改進的APF算法無法準確避開障礙物。從圖14看出,改進的模糊APF算法可以實時、有效控制移動機器人巧妙避開障礙物,準確到達目標點,規(guī)劃的路徑比較平滑。
圖13 改進的APF算法
圖14 改進的模糊APF算法
本文首先通過分析傳統(tǒng)APF算法的缺陷,然后重新構建APF引力與斥力函數(shù)并建立相關模型,把運動障礙物的速度和加速度考慮到APF算法應用于避障及局部路徑規(guī)劃當中,加入不同障礙物的危險程度,克服了傳統(tǒng)APF的缺陷,對于某些特殊點,加入模糊避障控制模塊,進一步完善了障礙物避障軌跡。本文在MATLAB環(huán)境下對改進的模糊APF算法進行了仿真,仿真結果顯示:改進的模糊APF算法可以很好地克服傳統(tǒng)APF算法的缺陷,對于機器人在復雜環(huán)境下避障及局部路徑規(guī)劃有很好的指導作用。