吳正平 唐 念 陳永亮 喻高明 俞 輝
(1.三峽大學(xué) a.電氣與新能源學(xué)院;b.理學(xué)院,湖北 宜昌 443002;2.長江大學(xué)石油工程學(xué)院,武漢 430100)
路徑規(guī)劃是自主式水下航行器(AUV)研究的重要課題,路徑規(guī)劃技術(shù)是決定AUV智能水平的關(guān)鍵技術(shù)。AUV路徑規(guī)劃指:AUV在有障礙物的環(huán)境中,尋找一條從起點(diǎn)到目標(biāo)點(diǎn)的安全無碰路徑,并要求時(shí)間盡可能最短。路徑規(guī)劃方法有很多種,常見的有柵格法、可視圖法、遺傳算法、蟻群算法、人工勢場法及流函數(shù)法等[1]。筆者提出一種基于改進(jìn)人工勢場法的AUV路徑規(guī)劃方法。
人工勢場法的基本原理為:把AUV當(dāng)作質(zhì)點(diǎn),假設(shè)AUV在一個(gè)存在復(fù)合勢場的環(huán)境中運(yùn)行,在此環(huán)境中障礙物周圍有斥力場,目標(biāo)點(diǎn)處有引力場[2]。建立關(guān)于距離的勢函數(shù),AUV所受的力即虛擬的勢場力。虛擬的勢場力就是勢的負(fù)梯度[2]。AUV在虛擬的勢場力的作用下,從起點(diǎn)繞過障礙物運(yùn)動(dòng)到目標(biāo)點(diǎn)。
設(shè)復(fù)合勢場為U(R),目標(biāo)點(diǎn)引力場為Ua(R),障礙物的斥力場為Ur(R),則有U(R)=Ua(R)+Ur(R)。引力和斥力分別為引力場和斥力場的負(fù)梯度,故引力和斥力分別為Fa(R)=-grad[Ua(R)]、Fr(R)=-grad[Ur(R)],則AUV所受的作用力為F(R)=Fa(R)+Fr(R)。將AUV看作質(zhì)點(diǎn),假設(shè)其在一個(gè)二維位姿空間內(nèi)運(yùn)動(dòng)[2],AUV的位置表示為R=[x,y]T。建立關(guān)于距離的勢函數(shù),則引力勢函數(shù)為:
(1)
其中k為引力勢場因子,k>0;R為AUV的位置向量;Rg為目標(biāo)位置;ρ(R,Rg)為AUV和目標(biāo)點(diǎn)之間的距離,ρ(R,Rg)=‖Rg-R‖;ρ2表示目標(biāo)點(diǎn)對(duì)AUV的引力勢場是一條拋物線。
障礙物對(duì)AUV的斥力勢函數(shù)為:
(2)
其中η為斥力勢場因子,η>0;ρ(R,Rg)為AUV與障礙物的最小距離;ρ0為單個(gè)障礙物的影響距離,ρ0>0,當(dāng)AUV與障礙物的距離大于ρ0時(shí)斥力勢場對(duì)AUV的運(yùn)動(dòng)不再有影響。
總的勢場U的計(jì)算式為:
(3)
人工勢場法AUV受力分析如圖1所示。
圖1 人工勢場法AUV受力分析
目標(biāo)位置對(duì)AUV的吸引力為:
Fa(R)=-▽Ua(R)=k(Rg-R)
(4)
障礙物對(duì)AUV的斥力為:
(5)
故AUV受的總合力為:
(6)
人工勢場法算法簡單,但存在以下缺點(diǎn)[2]:
a. 局部極小值問題。當(dāng)AUV所處的位姿環(huán)境比較復(fù)雜,障礙物數(shù)目較多時(shí)或者進(jìn)入“死胡同”(例如U形障礙物)時(shí),就容易陷入局部極小。
b. 在相隔很近的障礙物之間發(fā)現(xiàn)不了路徑。當(dāng)AUV運(yùn)動(dòng)到靠近兩障礙物中間,并且此時(shí)AUV所受的引力約等于AUV所受的斥力時(shí),AUV的速度為0,AUV就會(huì)停滯不前。
c. 當(dāng)目標(biāo)點(diǎn)附近有障礙物時(shí)無法到達(dá)目標(biāo)點(diǎn)。當(dāng)AUV的目標(biāo)點(diǎn)附近有障礙物并且在該點(diǎn)時(shí)AUV所受的合力的方向背離目標(biāo)點(diǎn),即AUV所受的斥力大于目標(biāo)點(diǎn)對(duì)AUV的引力,這種情況下AUV無法到達(dá)目標(biāo)點(diǎn)。
新的斥力場函數(shù)為:
(7)
ρn(R,Rg)為AUV和障礙物之間的最小距離,ρn(R,Rg)的引入能夠確保目標(biāo)點(diǎn)處的總勢場達(dá)到全局最小。當(dāng)ρ(R,Rg)不為0,即AUV還未到達(dá)目標(biāo)點(diǎn)時(shí),此時(shí)的斥力為:
(8)
▽?duì)?R,R0)和-▽?duì)?R,Rg)是兩個(gè)單位向量,前者表明斥力Fr1的方向由障礙物指向AUV,后者表明Fr2的方向是由AUV指向目標(biāo)位置。當(dāng)AUV在海洋環(huán)境運(yùn)動(dòng)時(shí),假定海流對(duì)AUV的作用力為恒力,則AUV的受力情況變?yōu)椋?/p>
F(R)=Fa(R)+Fr(R)+Fwav(R)
(9)
改進(jìn)人工勢場法AUV受力分析如圖2所示。
圖2 改進(jìn)人工勢場法AUV受力分析
使用Visual Studio 2005 編程,對(duì)改進(jìn)的人工勢場法進(jìn)行仿真實(shí)驗(yàn),仿真結(jié)果如圖3所示。
圖3 AUV運(yùn)動(dòng)仿真
仿真結(jié)果表明:
a. 當(dāng)AUV進(jìn)入“死胡同”(例如U形障礙物)時(shí),先會(huì)在某一時(shí)間內(nèi)產(chǎn)生振蕩,然后再繞過障礙物,順著一條可行的路徑到達(dá)目標(biāo)點(diǎn),而不會(huì)在U形障礙物內(nèi)停滯不前。
b. 當(dāng)兩障礙物相隔很近時(shí),AUV能夠在兩個(gè)障礙物之間找到路徑順利到達(dá)目標(biāo)位置。
c. 當(dāng)目標(biāo)點(diǎn)附近有障礙物,并且在障礙物的影響范圍之內(nèi)時(shí),AUV能夠順利到達(dá)目標(biāo)位置。
人工勢場法由于計(jì)算簡單、反應(yīng)速度快并且易于實(shí)現(xiàn)和擴(kuò)展,因此在AUV實(shí)時(shí)路徑規(guī)劃中應(yīng)用非常廣泛。但是人工勢場法也有一定的缺陷,筆者將改進(jìn)的方法運(yùn)用在自行研制的AUV上進(jìn)行實(shí)驗(yàn),結(jié)果表明:改進(jìn)的方法效果較為明顯,能夠克服傳統(tǒng)人工勢場法存在的部分缺陷。