楊一波, 王朝立
(上海理工大學(xué) 光電信息與計算機(jī)工程學(xué)院,上海 200093)
近年來,多移動機(jī)器人技術(shù)已經(jīng)得到廣泛的應(yīng)用,遍及工業(yè)、軍事、農(nóng)業(yè)、空間探索、海洋等眾多領(lǐng)域.多移動機(jī)器人協(xié)同工作能夠完成單個機(jī)器人難以完成的任務(wù),如何使多移動機(jī)器人的編隊控制更加準(zhǔn)確協(xié)調(diào)已成為目前研究熱點.目前,對于多機(jī)器人編隊問題的研究主要有領(lǐng)航-跟隨者法、基于行為的方法、虛擬結(jié)構(gòu)法、人工勢場法等.文獻(xiàn)[1]中提出了一種采用分層的時空表和時間控制器的多機(jī)器人編隊方法,解決了機(jī)器人間的協(xié)調(diào)協(xié)作問題,使多機(jī)器人編隊系統(tǒng)具有較強(qiáng)的環(huán)境自適應(yīng)能力.但方法缺乏對于編隊避障方法的論述.文獻(xiàn)[2]中提出了基于領(lǐng)航者-跟隨者的編隊及避障法,通過一個總勢場進(jìn)行編隊控制和避障,算法簡單,利用此法能夠順利通過狹窄通道、靜態(tài)障礙物和動態(tài)障礙物,并在避障后恢復(fù)隊形,順利到達(dá)目標(biāo).但是,隨著移動機(jī)器人數(shù)量的增加和環(huán)境復(fù)雜程度的增加,總勢場函數(shù)變得復(fù)雜,有可能存在死鎖和震蕩現(xiàn)象.對于已知環(huán)境下的單機(jī)器人避障問題,已經(jīng)有許多有效的解決方法,如人工勢場法、柵格法和神經(jīng)網(wǎng)絡(luò)法等.由于人工勢場法描述直觀,并且易于實時控制,因此得到了廣泛的應(yīng)用.
人工勢場法首先由Khatib提出,其基本思想是借鑒物理方面的概念[3]:環(huán)境中的障礙物對機(jī)器人產(chǎn)生斥力,目標(biāo)點對機(jī)器人產(chǎn)生吸引力,機(jī)器人在合力的驅(qū)動下運動.人工勢場的編隊控制主要是通過設(shè)計人工勢場和勢場函數(shù)來表示環(huán)境隊形中各機(jī)器人之間的約束關(guān)系,并以此為基礎(chǔ)進(jìn)行分析和控制.它的優(yōu)點是便于實現(xiàn)實時控制,并且在控制隊形的同時將避障問題利用人工勢場一起考慮,使隊形保持和避障統(tǒng)一用勢場法來控制.文獻(xiàn)[4]針對由于局部極小點所產(chǎn)生的機(jī)器人運動反復(fù)震蕩和停止不前的問題,提出了一種帶記憶功能的沿墻走行為方法改進(jìn)人工勢場法,該方法通過沿著障礙物的邊緣行走以跳出人工勢場法的局部最小點,并記錄和分析機(jī)器人走過的局部最小點來判斷目標(biāo)點是否被障礙包圍,以避免機(jī)器人一直來回震蕩或者圍著目標(biāo)點轉(zhuǎn)圈.文獻(xiàn)[5]針對動態(tài)障礙物,在傳統(tǒng)人工勢場法相對位置勢場的基礎(chǔ)上引入速度勢場,利用量子粒子群算法對引力場、斥力場增益系數(shù)進(jìn)行優(yōu)化,可以得到較平滑、安全的路徑.但文獻(xiàn)[3]和文獻(xiàn)[5]這兩種方法都存在算法開銷比較大的缺點,對于機(jī)器人運動的實時性會產(chǎn)生影響.本文以人工勢場法為基礎(chǔ),利用該方法具有較高反應(yīng)速度的特點,針對機(jī)器人在避碰規(guī)劃中存在的問題,采用改進(jìn)勢場的方法來解決機(jī)器人在路徑避碰規(guī)劃中的局部極小問題.
機(jī)器人在人工勢場中的受力如圖1所示,人工勢場法在機(jī)器人的運動空間中創(chuàng)建了一個勢場.F1表示目標(biāo)對機(jī)器人的斥力,隨著機(jī)器人與障礙物的距離增加而單調(diào)遞減,F(xiàn)2表示目標(biāo)對機(jī)器人的引力,隨著與目標(biāo)距離增加而單調(diào)遞增,F(xiàn)h表示引力和斥力的合力,機(jī)器人沿著合力的方向運動.
圖1 機(jī)器人在人工勢場中的受力情況Fig.1 Strength forced on the robot in artificial potential field
定義勢場函數(shù)為
式中,Ua,Ur為目標(biāo)點和障礙物對機(jī)器人的引力場.
定義引力勢場為
式中,k為大于0的引力場常量;Xg為目標(biāo)點位置.
定義引力為引力勢場的負(fù)梯度
定義斥力勢場為
式中,m為大于0的斥力場常量;ρ為障礙物的影響范圍;Xo為障礙物位置.
定義斥力為引力場的負(fù)梯度
因此總勢場函數(shù)為
機(jī)器人收到的合力為
此合力決定了機(jī)器人的運動.
傳統(tǒng)人工勢場法的局限性在于,當(dāng)目標(biāo)點對機(jī)器人的引力和障礙物對機(jī)器人的斥力的合力為零時,出現(xiàn)機(jī)器人永遠(yuǎn)無法到達(dá)目標(biāo)點的現(xiàn)象.稱之為局部極小點問題.文獻(xiàn)[4]中提出的隨機(jī)擾動法,可以解決一些情況下的局部極小點問題.但是這一方法存在規(guī)劃速度慢的問題,在一些應(yīng)用中可能無法滿足實時性要求.因此提出了一種改進(jìn)勢場函數(shù)的方法來解決這些問題.
針對傳統(tǒng)人工勢場法存在的問題,可以通過引入目標(biāo)點與機(jī)器人的相對位置,將原有斥力場函數(shù)乘以一個因子(X-Xg)n,使得目標(biāo)位置處斥力為零來加以解決.
修改后的斥力場函數(shù)為
其中,n≥0
此時的斥力為
其中
此時機(jī)器人所受斥力情況如圖2所示.
圖2 機(jī)器人在改進(jìn)的人工勢場中的受力情況Fig.2 Strength forced on the robot in improved artificial potential field
上述基于改進(jìn)人工勢場法的機(jī)器人避碰控制算法在MATLAB中是用m語言來實現(xiàn)的.程序采用模塊化設(shè)計,從而增強(qiáng)了系統(tǒng)的可擴(kuò)展性.主要包括:障礙物生成、角度計算、引力計算、斥力計算、合力計算、到達(dá)目標(biāo)判斷、模型繪制等模塊.其中,障礙物生成模塊負(fù)責(zé)在指定的坐標(biāo)生成指定大小的障礙物;角度計算模塊負(fù)責(zé)計算機(jī)器人與目標(biāo)及障礙物的角度;引力計算模塊負(fù)責(zé)計算引力場及引力;斥力計算模塊負(fù)責(zé)計算斥力場及斥力;合力計算模塊負(fù)責(zé)計算機(jī)器人受到的合力;到達(dá)目標(biāo)判斷模塊負(fù)責(zé)判斷機(jī)器人是否已經(jīng)到達(dá)目標(biāo);模型繪制模塊負(fù)責(zé)在二維坐標(biāo)系下繪制機(jī)器人避障的整個過程.主程序的流程圖如圖3所示.
圖3 主程序流程圖Fig.3 Flow chart of the main program
其中,改進(jìn)后的斥力場與斥力計算模塊
if rre(i)>Po%如果每個障礙和路徑的距離大于障礙影響距離,斥力令為0
仿真實驗表明:采用傳統(tǒng)人工勢場法時,當(dāng)機(jī)器人運動到最小那個障礙物時,由于所受斥力和引力的合力為零,此處出現(xiàn)局部極小點,故機(jī)器人停止運動,最終不能到達(dá)目標(biāo)處,運動過程如圖4(a)所示;當(dāng)采用改進(jìn)人工勢場法時,當(dāng)機(jī)器人運動到最小那個障礙物時,由于引入了與目標(biāo)點相關(guān)的因子,因而不會出現(xiàn)局部極小點,機(jī)器人可以順利到達(dá)目標(biāo)處,運動過程如圖4(b)所示.圖5為與兩種方法所對應(yīng)的勢場曲線圖,圖5(a)對應(yīng)傳統(tǒng)人工勢場法,可以看到,當(dāng)機(jī)器人運行到第200步的時候,斥力勢場出現(xiàn)了局部極小點,因此機(jī)器人停止了運動;圖5(b)對應(yīng)改進(jìn)人工勢場法,可以看到運行到第100步時,雖然出現(xiàn)了震蕩,但斥力勢場沒有出現(xiàn)局部極小點,因此機(jī)器人最終可以到達(dá)目標(biāo)點.實驗結(jié)果表明了算法是有效可行的.
提出了一種基于改進(jìn)人工勢場法的非完整移動機(jī)器人編隊中的避碰控制方法,并將其在MATLAB中使用m語言予以實現(xiàn).仿真實驗表明,利用改進(jìn)人工勢場法,通過所設(shè)計的總勢場對機(jī)器人進(jìn)行編隊和避障控制,機(jī)器人可以順利克服局部極小點,最終避開障礙物到達(dá)目的地,算法簡單,實時性好.
[1]張汝波,王兢.具有環(huán)境自適應(yīng)能力的多機(jī)器人編隊系統(tǒng)研究[J].機(jī)器人,2004,26(1):69-73.
[2]張鳳.基于Leader-follower與人工勢場的多移動機(jī)器人編隊控制[J].沈陽建筑大學(xué)學(xué)報,2010,26(4):803-806.
[3]蔣新松.機(jī)器人學(xué)導(dǎo)論[M].洛陽:遼寧科學(xué)技術(shù)出版社,1993.
[4]Huang Y Q,Hu H.Obstacles avoidance of artificial potential field method with memory function in complex environment[C]∥ Proceedings of the 8th World Congress on Intelligent Control and Automation.Cincinnati:IEEE,2011:6414-6418.
[5]Zhang H,Liu Y.The dynamic path planning research for mobile robot based on artificial potential field[C]∥ Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence.Moorhead:IEEE,2005:736-2739.
[6]張建英,劉暾.基于人工勢場法的移動機(jī)器人最優(yōu)路徑規(guī)劃[J].航空學(xué)報,2007,28(21):188-191.