鄭云峰,于俊迪
(大連海事大學(xué) 航海學(xué)院,遼寧 大連 116026)
船舶自動(dòng)避障系統(tǒng)是近年來(lái)全世界航海學(xué)者們研究的熱門課題,在此期間,誕生了諸多避障算法,不再贅述。在諸多方法當(dāng)中,人工勢(shì)場(chǎng)法深受學(xué)者們的喜愛(ài)。它具備數(shù)學(xué)原理簡(jiǎn)略、安全性高、實(shí)時(shí)性等優(yōu)點(diǎn)[1]。人工勢(shì)場(chǎng)法的固有問(wèn)題是眾多學(xué)者的鉆研重點(diǎn),對(duì)于極小值問(wèn)題,文獻(xiàn)[2]運(yùn)用動(dòng)態(tài)法向力,文獻(xiàn)[3]利用公式推導(dǎo)的方式去調(diào)整勢(shì)場(chǎng)函數(shù)參數(shù),文獻(xiàn)[4]設(shè)置子目標(biāo),文獻(xiàn)[5]提出了虛擬流水法,文獻(xiàn)[6]設(shè)置了中間目標(biāo)法。對(duì)于目標(biāo)不可達(dá)問(wèn)題,文獻(xiàn)[2]在斥力函數(shù)中引入距離影響因子。
本研究針對(duì)人工勢(shì)場(chǎng)法的固有問(wèn)題提出相應(yīng)的解決辦法且對(duì)人工勢(shì)場(chǎng)進(jìn)行改進(jìn),構(gòu)建了船舶自動(dòng)避障系統(tǒng),利用matlab仿真平臺(tái)進(jìn)行驗(yàn)證。
在運(yùn)用連鎖網(wǎng)絡(luò)法進(jìn)行船舶避障中,障礙物默認(rèn)為靜態(tài)障礙物,它被分為2類,一類是“可視”障礙物,另一類是“不可視”障礙物。
如圖1所示,以本船為原點(diǎn),分別做過(guò)障礙物1、2的虛射線,以實(shí)線段連接障礙物1、2。那么,障礙物1、2稱為相對(duì)于本船的“可視”障礙物,障礙物3因被實(shí)線段遮擋而被稱為相對(duì)于本船的“不可視”障礙物?!翱梢暋闭系K物是船舶避障的主要研究對(duì)象,即對(duì)“可視”障礙物進(jìn)行連鎖,而后船舶采取有效的避障方式進(jìn)行避障,連鎖網(wǎng)絡(luò)算法的實(shí)現(xiàn)步驟為:
圖1 可視與不可視示意圖
1)設(shè)置2個(gè)障礙物之間的“連鎖”距離(記為S1),以選定的靜態(tài)障礙物a為圓心,S1為半徑的區(qū)域內(nèi)搜尋其他的障礙物,在搜索到的障礙物中選擇相距本船最近的障礙物,記為障礙物b,將障礙物a與b進(jìn)行連鎖。如果在搜尋范圍內(nèi)無(wú)其他障礙物,則障礙物a被看成單個(gè)障礙物來(lái)進(jìn)行船舶避障,被連鎖的障礙物看作一個(gè)完整的障礙物。對(duì)于“連鎖”距離的設(shè)定,相關(guān)研究沒(méi)有具體標(biāo)準(zhǔn),只是說(shuō)明“根據(jù)本船與障礙物的距離進(jìn)行實(shí)時(shí)調(diào)整”。2)將“不可視”障礙物剔除連鎖運(yùn)算。3)選擇次近的“可視”障礙物且沒(méi)被連鎖、遮擋的,重復(fù)上述過(guò)程,遍歷全部的障礙物。4)對(duì)于已經(jīng)連鎖終了、數(shù)目為2個(gè)以上的障礙物且之前沒(méi)連鎖的,進(jìn)行連鎖。
在原有引力勢(shì)函數(shù)的基礎(chǔ)上,引入速度引力函數(shù),這樣可更精準(zhǔn)、快速地追蹤目標(biāo)點(diǎn)。加入速度勢(shì)函數(shù)后,
當(dāng)a=1時(shí),為該分力原本的方向,當(dāng)a=-1時(shí),則為該分力原本方向的相反方向,后續(xù)以此來(lái)控制船舶的轉(zhuǎn)向。
在改進(jìn)的人工勢(shì)場(chǎng)法后,本船與障礙物的速度矢量關(guān)系以及受力關(guān)系示意圖,如圖4所示。
圖2 速度引力向量示意圖
圖3 改進(jìn)斥力勢(shì)場(chǎng)中本船受力示意圖
圖4 綜合受力示意圖
在改善的動(dòng)態(tài)分階人工勢(shì)場(chǎng)法的基礎(chǔ)上,創(chuàng)建船舶自動(dòng)避障系統(tǒng)。通過(guò)AIS或ARPA等助航儀器獲得本船的航行環(huán)境信息,再聯(lián)合改良的動(dòng)態(tài)分階人工勢(shì)場(chǎng)法,計(jì)算出虛擬動(dòng)態(tài)目標(biāo)點(diǎn),對(duì)本船產(chǎn)生的引力Fatt(x)以及障礙物對(duì)本船產(chǎn)生的斥力Frep(x),疊加得到合力F合(合力的方向?yàn)橹噶詈较颍?。本船的指令航向由合力的方向決定,將本船的航向誤差作為輸入,使用PID自動(dòng)舵產(chǎn)生適宜的舵角,從而控制本船的航行,完成航跡維持、避障、恢復(fù)航跡。自動(dòng)避障算法流程圖,如圖5所示。
圖5 改進(jìn)人工勢(shì)場(chǎng)法的船舶自動(dòng)避障算法流程圖
1)實(shí)驗(yàn)說(shuō)明
設(shè)定實(shí)驗(yàn)中的船舶皆不屬于《國(guó)際海上避碰規(guī)則》中第18條款規(guī)定的需他船讓路的船舶;船舶的運(yùn)動(dòng)數(shù)學(xué)模型均采用Abkowitz型,在實(shí)驗(yàn)中運(yùn)用“Mariner”輪的流體動(dòng)力導(dǎo)數(shù)及其他船舶參數(shù);在所有實(shí)驗(yàn)仿真中,均加入了定常、均勻流的干擾因素。仿真實(shí)驗(yàn)中,PID型自動(dòng)舵部分實(shí)驗(yàn)參數(shù):k1、k2、k3皆取值為1;Kw與n皆取值為2;dre為0.01 n mile;rgoal為6 n mile;Sda為1.8 n mile(動(dòng)態(tài)船舶)、1.2 n mile(靜態(tài)障礙物)。本研究利用改進(jìn)的動(dòng)態(tài)分階勢(shì)場(chǎng)算法的自動(dòng)避障系統(tǒng),在仿真中實(shí)驗(yàn)了船舶避障中遇到的局部極小值、多船+局部極?。◤?fù)雜情況)的場(chǎng)景。仿真實(shí)驗(yàn)中,紅色代表本船航跡,藍(lán)色為障礙船航跡。
2)仿真實(shí)驗(yàn)
仿真實(shí)驗(yàn)1:局部極小值情形。利用Matlab仿真實(shí)驗(yàn)平臺(tái)驗(yàn)證了連鎖網(wǎng)絡(luò)法對(duì)于船舶避免局部極小值時(shí)的有效性,仿真實(shí)驗(yàn)截圖如圖6所示。以Ta和Tb等時(shí)刻的仿真圖表示未使用連鎖網(wǎng)絡(luò)法時(shí)本船的航跡情況,Ta<Tb。以Td<Te時(shí)刻的仿真圖表示在使用了連鎖網(wǎng)絡(luò)法后,本船的航跡,Td<Tc??梢钥闯觯?dāng)沒(méi)使用網(wǎng)絡(luò)連鎖法且遭遇局部極小值時(shí),本船將徘徊于一定的區(qū)域內(nèi),無(wú)法繼續(xù)航行。當(dāng)使用了連鎖網(wǎng)絡(luò)法后,本船可以平滑地繞過(guò)局部極小值區(qū)域,且能恢復(fù)航跡[7]。
圖6 仿真實(shí)驗(yàn)1
仿真實(shí)驗(yàn)2:多船+靜態(tài)障礙物避障,即混合避障的復(fù)雜情況。實(shí)驗(yàn)參數(shù)如下,位置坐標(biāo)的單位為n mile。設(shè)置本船航速為15 kn,初始位置為(0,0.5),初始航向?yàn)?5°。障礙船的速度分別為15 kn、13 kn、9 kn、9 kn,對(duì)應(yīng)的初始位置為(26,30)、(30,26.5)、(31.3,3)、(32.3,3),對(duì)應(yīng)的初始航向?yàn)?25°、210°、310°、310°。靜態(tài)障礙物的位置分別為(4,5)、(11,7.7)、(11.5,9)、(10.5,9.5)、(9.5,9.3)。避讓靜態(tài)障礙物時(shí)的引力系數(shù)K=1,K2=1.5,斥力系數(shù)K1=0.2×107、K4=0.7×104、K3=0.7×104。避讓動(dòng)態(tài)障礙船時(shí),引力系數(shù)不變,斥力 系 數(shù)K1=0.2×107、K4=0.3×104、K3=0.7×104×0.8、K5=0.7×104×0.8。水流流向?yàn)闁|北向45°,流速為1 kn。避讓等級(jí)P0為4 n mile,CRI0為0.45,tcpa=10 min,本船與動(dòng)態(tài)障礙物的SDA設(shè)置為1.8 n mile、靜態(tài)障礙物為1.2 n mile。dre為0.01 n mile,Rgoal為6 n mile。圖1~圖3顯示了本船在這4個(gè)時(shí)刻的航跡,T圖1<T圖2<T圖3,D=0.3 n mile即在恢復(fù)航跡階段時(shí),本船與原航跡的距離小于0.3 n mile時(shí)就認(rèn)為已恢復(fù)到原航跡??梢钥闯觯敬诖白詣?dòng)避障系統(tǒng)的引領(lǐng)下,可以無(wú)碰撞地、安全地避開(kāi)障礙物,且能恢復(fù)航跡。
圖7 仿真實(shí)驗(yàn)2
1)避障安全性分析
為了驗(yàn)證船舶在避障過(guò)程中能以安全距離通過(guò)障礙物且沒(méi)有碰撞危險(xiǎn),取仿真實(shí)驗(yàn)2,計(jì)算了在本船避障中與動(dòng)態(tài)、靜態(tài)障礙物的距離、與動(dòng)態(tài)的船舶CRI的變化,見(jiàn)圖8~圖10??梢钥闯?,本船可以在設(shè)置的安全距離以上通過(guò)障礙物且沒(méi)有碰撞危險(xiǎn),這足以說(shuō)明船舶避障系統(tǒng)使用的安全性[8]。
圖8 本船到靜、動(dòng)態(tài)障礙物的距離變化圖
2)航跡恢復(fù)能力分析
取仿真實(shí)驗(yàn)2,計(jì)算本船與原航跡的距離。根據(jù)圖10可以看出,本船在避障結(jié)束后可以較快地恢復(fù)航跡,即恢復(fù)到本船與原航跡的距離是在預(yù)先設(shè)定距離D的范圍內(nèi),證明了船舶自動(dòng)避障系統(tǒng)具有較好的航跡恢復(fù)能力。
圖9 本船與他船的碰撞危險(xiǎn)(CRI)變化圖
圖10 本船到原航跡的距離示意圖
3)航向穩(wěn)定性分析
取仿真實(shí)驗(yàn)2,計(jì)算本船的航向變化趨勢(shì)。從圖11可以看出,本船在避障開(kāi)始前及航跡恢復(fù)后,航向都能穩(wěn)定在原航向的附近,證明了船舶避障系統(tǒng)可以保持航向。
圖11 本船的航向變化圖
本研究在相關(guān)學(xué)者研究成果(動(dòng)態(tài)分階人工勢(shì)場(chǎng)法)的基礎(chǔ)之上,對(duì)動(dòng)態(tài)分階勢(shì)場(chǎng)進(jìn)行改進(jìn),對(duì)公式進(jìn)行改進(jìn),考慮了船舶避讓靜態(tài)障礙物的情況,解決了遭遇局部極小值的問(wèn)題,完善了船舶自動(dòng)避障系統(tǒng)。在Matlab仿真實(shí)驗(yàn)中,添加了定常、均勻流的影響因素,根據(jù)實(shí)驗(yàn)結(jié)果可知,經(jīng)完善、改進(jìn)后的船舶自動(dòng)避障系統(tǒng)具有航跡維持能力、引領(lǐng)船舶安全有效的避開(kāi)障礙物以及避障后的恢復(fù)航跡能力,且船舶的避讓行動(dòng)完全契合了《國(guó)際海上避碰規(guī)則》中的要求。在日后的研究中,應(yīng)把風(fēng)、浪以及岸壁效應(yīng)等綜合因素考慮進(jìn)來(lái),進(jìn)一步完善、驗(yàn)證船舶自動(dòng)避障系統(tǒng)。