錢 平,齊賽賽,李思奇,孫 遜
(蘇州市職業(yè)大學(xué),江蘇 蘇州 215204)
隨著人工智能、大數(shù)據(jù)等計算機技術(shù)的不斷發(fā)展和進步,而海洋資源的開發(fā)也進入常態(tài)化,并且隨著國家海洋戰(zhàn)略的發(fā)展,水下無人潛航器發(fā)展尤為重要。常見的水下潛航器分為遙控?zé)o人潛航器(Remote Operated Vehicle,ROV)和自主式水下潛航器(Autonomous Underwater Vehicle,AUV)。其中,AUV憑借著體積小、機動性強、結(jié)構(gòu)簡單在水底工程作業(yè)、環(huán)境勘探等領(lǐng)域得到廣泛應(yīng)用。隨著科學(xué)技術(shù)的不斷發(fā)展,離不開水下潛航器的智能化水平,并且作業(yè)中經(jīng)常涉及能否順利到達目的地的問題,所以AUV的路徑規(guī)劃便成為該領(lǐng)域的重點研究方向之一,也是判定智能化水平高低的技術(shù)之一。路徑規(guī)劃是指根據(jù)一定的優(yōu)化準(zhǔn)則為最短路徑尋找一條從起點到終點的最優(yōu)路徑。通常情況下,AUV的路徑規(guī)劃可分為全局路徑規(guī)劃和局部路徑規(guī)劃[1]。本文主要研究的是局部路徑規(guī)劃算法,也就是潛航器對所處部分未知的信息環(huán)境,利用自身搭載的傳感器進行信息搜索并對信息進行分析處理規(guī)劃出局部的路徑。隨著算法的不斷升級,局部路徑規(guī)劃完成避障方法主要有遺傳算法、模糊邏輯算法和人工勢場法等。遺傳算法和模糊邏輯算法存在著計算量大、計算時間長等問題,不易實現(xiàn)水下AUV的精確避障。而人工勢場法算法是以建立目的地的引力勢場、障礙物的斥力勢場而定義的虛擬勢場,使得AUV處于虛擬的外部受力環(huán)境,在此環(huán)境中搜索相應(yīng)的安全路徑。該方法以簡單明了、反應(yīng)速度快等優(yōu)勢在AUV的局部路徑規(guī)劃中應(yīng)用較為廣泛[2]。人工勢場法也存在陷入局部極小值問題和目標(biāo)不可達的問題。針對這兩個問題,本文采用先通過判斷局部極小值條件后設(shè)置虛擬目標(biāo)點來解決局部最小值問題,通過改變斥力勢場來解決目標(biāo)不可達問題。
傳統(tǒng)的人工勢場法受到物理學(xué)中自然勢場如重力勢場、電勢場等勢場的啟發(fā)而產(chǎn)生的一種虛擬的人工建立的勢場[3],其根本原理是將AUV在水中運行環(huán)境中的運動轉(zhuǎn)化為AUV在設(shè)定的抽象勢場中的運動。在整個環(huán)境中的虛擬勢場主要抽象成引力勢場和斥力勢場,然后合稱為整個虛擬的環(huán)境勢場,AUV在整個勢場中運行,與自然勢場一樣運動方向為勢能下降方向。
引力勢場Uatt(q)的數(shù)學(xué)函數(shù)可表示為:
(1)
圖1 虛擬目標(biāo)點設(shè)置示意
式中,katt為引力勢場增益系數(shù),為非負數(shù),實驗時根據(jù)具體情況可以調(diào)節(jié)大小,ρ(q,qgoal)為AUV潛航器的當(dāng)前位置與目標(biāo)點位置的歐氏距離|q-qgoal|。那么引力及為對引力勢場函數(shù)求導(dǎo)后的負值,表示引力方向指向目標(biāo)點的位置,具體引力函數(shù)可表示為:
(2)
引力勢場主要是目標(biāo)點對AUV產(chǎn)生吸引力,由公式(2)可以看出力的大小主要由AUV和目標(biāo)點的歐拉距離決定的。當(dāng)距離越近時,產(chǎn)生的引力越小,反之則產(chǎn)生引力越大。力的方向為AUV指向目標(biāo)點的方向。
斥力勢場的數(shù)學(xué)函數(shù)可表示為:
Urep(q)=
(3)
式中,krep為斥力勢場增益系數(shù),為非負數(shù),實驗時根據(jù)具體情況可以調(diào)節(jié)大小,ρ(q,q0)為AUV潛航器的當(dāng)前位置與障礙物位置的歐拉距離|q-q0|,ρ0為一恒定值,表示障礙物對AUV潛航器的影響距離范圍,實驗時也可根據(jù)具體情況調(diào)節(jié)大小,那么斥力及為對斥力勢場函數(shù)求導(dǎo)后的負值,表示斥力方向為障礙物指向AUV的方向,具體斥力函數(shù)可表示為:
(4)
斥力勢場主要是障礙物對AUV的排斥力,由公式(4)可以看出力的大小主要由AUV和障礙物的歐拉距離決定的,當(dāng)距離越近時,產(chǎn)生的斥力越大,反之則產(chǎn)生的斥力越小,并且當(dāng)超出設(shè)定的距離時就不在斥力勢場的影響范圍,此時斥力為0。力的方向和斥力方向為障礙物指向AUV的方向。
運行環(huán)境中有多個障礙物時,受到引力勢場和多個斥力勢場的作用,所受的合力即為引力和多個斥力的矢量和,可表示為:
(5)
與智能車利用人工勢能法路徑規(guī)劃相同,潛航器路徑規(guī)劃也會出現(xiàn)局部最小值問題。也就是在AUV運行的過程中,潛航器、障礙物、目標(biāo)點在一條直線上,這種情況會導(dǎo)致引力和斥力大小相等、方向相反的可能,還有一種情況是所有斥力的矢量和與引力的大小相等方向相反,這都會使?jié)摵狡魇芰?,無法繼續(xù)前行,會誤認為當(dāng)前位置為目標(biāo)點,陷入了局部最小值,導(dǎo)致局部路徑規(guī)劃的失敗[4]。當(dāng)判定出處于局部最小值問題時,本文采用了設(shè)置虛擬目標(biāo)點的方式來進行避障,虛擬目標(biāo)點的位置如圖1所示。
采用潛航器右轉(zhuǎn)避讓法,右轉(zhuǎn)π/3作為偏轉(zhuǎn)角度,同時,采用步長ρ0作為偏轉(zhuǎn)距離,那么就可以確定虛擬目標(biāo)點的坐標(biāo)位置如式(6)所示:
(6)
式中,x0,y0為潛航器當(dāng)前的坐標(biāo)位置,αg等于αatt+π/3,而αatt為當(dāng)前引力角。以此種方法逃離局部最優(yōu),到達虛擬目標(biāo)點后,再向原目標(biāo)點切換路線,解決局部最小值問題。
當(dāng)潛航器接近目標(biāo)點附近時,正好也有障礙物在附近或者斥力勢場的合場形成的合力正好處于特殊情況時,也就是說潛航器在接近目標(biāo)點時,引力作用越來越小,而斥力越來越大。當(dāng)斥力大于引力時,力變成運動的反方向,在潛航器速度減為0時會往回走一段,之后,引力又會大于斥力,繼續(xù)往前走。如此反復(fù),潛航器就在目標(biāo)點附近不斷振蕩,不能到達目的地即出現(xiàn)目標(biāo)不可達的問題[5]。為此,將潛航器與目標(biāo)點位置的相對距離引入斥力勢場函數(shù)中去,減小在目標(biāo)點附近障礙物對潛航器的斥力作用。其斥力勢場數(shù)學(xué)函數(shù)表示為:
Urep(q)=
(7)
式中,ρ(q,qgoal)為AUV潛航器的當(dāng)前位置與目標(biāo)點位置的歐拉距離|q-qgoal|。那么,由斥力勢場求偏導(dǎo)函數(shù)可得斥力為2個分量可表示為公式(8)、(9):
(8)
(9)
其中,第一個分力對潛航器產(chǎn)生的是斥力,第二個分力對潛航器產(chǎn)生的是引力作用。由改進的斥力勢場和原來的引力勢場可以看出潛航器達到目標(biāo)點時引力為0,同時靠近目標(biāo)的時候斥力勢場也為0,解決了在目標(biāo)點振蕩或者說是不能到達目標(biāo)點的問題。
為驗證本文提出的人工勢能改進方法對潛航器的局部路徑規(guī)劃的有效性,使用MATLABR2016a軟件仿真,針對出現(xiàn)的不同問題和如何改進都做出相應(yīng)的仿真。仿真的參數(shù)設(shè)定如下引力增益系數(shù)katt為60,斥力增益系數(shù)katt為10,障礙物個數(shù)為9個,影響范圍為1,步長設(shè)置為0.1,起點位置為(0,0),目標(biāo)點位置為(10,10)。首先遇到的問題是當(dāng)最后一個障礙物坐標(biāo)為(8.7,9.5)時,潛航器障礙物受各勢力場的影響出現(xiàn)了局部最小值的問題而停止不前,以為是找到最佳值了,仿真圖如圖2所示。通過采用虛擬目標(biāo)點法可以解決局部最優(yōu)問題,仿真圖如圖3所示。
圖3 引入虛擬目標(biāo)點改進勢場法仿真
當(dāng)最后一個障礙物坐標(biāo)為(8.8,9.3)時,潛航器障礙物受各勢力場的影響出現(xiàn)了在目標(biāo)點不斷來回抖動,造成目標(biāo)不可達的問題,仿真圖如圖4所示。通過改進斥力勢力場的函數(shù)方式解決了目標(biāo)不可達的問題,仿真圖如圖5所示。
圖4 傳統(tǒng)人工勢場法產(chǎn)生目標(biāo)不可達情況仿真
圖5 改進勢場法路徑規(guī)劃仿真
針對傳統(tǒng)的人工勢場法在潛航器局部路徑規(guī)劃中存在著局部最優(yōu)問題和目標(biāo)不可達的問題,本文利用添加虛擬目標(biāo)點和改進斥力勢場函數(shù)解決相應(yīng)的問題。仿真結(jié)果顯示,改進的人工勢場法在較為理想條件下有著良好的局部路徑規(guī)劃效果。本文只做了相應(yīng)算法的仿真,且是在二維空間的條件下,并沒有考慮水流等復(fù)雜環(huán)境因素以及多約束條件下的局部路徑規(guī)劃,這些難題也是亟待解決的關(guān)鍵技術(shù),后續(xù)還需在這些方面不斷攻克。