劉 濤,賈立校,曹 翔
(江蘇航運(yùn)職業(yè)技術(shù)學(xué)院 航海技術(shù)學(xué)院,江蘇 南通 226010)
無人船是一種無需遙控、可通過衛(wèi)星進(jìn)行定位、依據(jù)自身傳感器執(zhí)行任務(wù)的全自動(dòng)水面機(jī)器人,其主要用于海洋地形的測(cè)繪、水文和水質(zhì)監(jiān)測(cè)等[1]。路徑規(guī)劃是移動(dòng)物體起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo)序列點(diǎn)的連接曲線,無人船在任務(wù)執(zhí)行過程中[2],能夠依據(jù)任務(wù)需求完成航行路徑規(guī)劃。但是海上環(huán)境復(fù)雜多變[3],也會(huì)存在較多的障礙物,因此,在路徑規(guī)劃過程中,需充分考慮對(duì)于障礙物的躲避情況。玄世龍等[4]為實(shí)現(xiàn)無人船路徑規(guī)劃,獲取最佳的航行路線,其通過禁忌搜索算法獲取柵格地圖中的無人船航行路徑,求解其中的最優(yōu)路徑,完成規(guī)劃。但是該方法在應(yīng)用過程中,如果存在移動(dòng)障礙物時(shí),則路徑規(guī)劃效果存在一定偏差。寧君等[5]為實(shí)現(xiàn)無人船路徑規(guī)劃,以無人船航行的實(shí)際環(huán)境為基礎(chǔ),對(duì)路徑特征進(jìn)行量化處理后,完成路徑規(guī)劃,但該方法無法獲取障礙物和無人船的會(huì)遇時(shí)間。動(dòng)態(tài)人工勢(shì)場(chǎng)法屬于一種改進(jìn)的人工勢(shì)場(chǎng)法,將用于描述障礙物移動(dòng)信息的趨勢(shì)參數(shù),引入至斥力函數(shù)中,以此保證在動(dòng)態(tài)運(yùn)行環(huán)境中應(yīng)用效果。因此,本文提出動(dòng)態(tài)人工勢(shì)場(chǎng)法的無人船避障路徑規(guī)劃方法。
本文在動(dòng)態(tài)人工勢(shì)場(chǎng)法的基礎(chǔ)上對(duì)其進(jìn)行優(yōu)化,提出相關(guān)的無人船避障路徑規(guī)劃方法,整體框架如圖1 所示。整體包含全局和局部避障路徑規(guī)劃2 個(gè)部分,全局路徑規(guī)劃是以任務(wù)執(zhí)行指令和海上環(huán)境為參考,構(gòu)建海上航行柵格地圖,并依據(jù)無人船起始位置和目標(biāo)位置之間的相關(guān)信息,通過A*算法進(jìn)行全局路徑規(guī)劃,獲取最優(yōu)路徑規(guī)劃結(jié)果以及無人船的全局的路徑節(jié)點(diǎn);將獲取的全局路徑節(jié)點(diǎn)作為局部路徑的開始節(jié)點(diǎn),結(jié)合無人船航行過程中采集的環(huán)境實(shí)時(shí)信息,分析環(huán)境的變化情況,如果環(huán)境中存在障礙物,則通過動(dòng)態(tài)人工勢(shì)場(chǎng)法進(jìn)行障礙物規(guī)避,實(shí)現(xiàn)無人船避障路徑規(guī)劃,并對(duì)規(guī)劃結(jié)果進(jìn)行改進(jìn)。
圖1 無人船避障路徑規(guī)劃方法框架Fig.1 Obstacle avoidance path planning method framework for unmanned ships
本文在進(jìn)行無人船全局路徑規(guī)劃時(shí)采用A*算法完成,其在進(jìn)行路徑規(guī)劃過程中,能夠通過給定的啟發(fā)函數(shù)減少搜索節(jié)點(diǎn)數(shù)量,以此可顯著提升路徑搜索效率。該算法的評(píng)價(jià)函數(shù)F(k)計(jì)算公式為:
式中:g(k) 為路徑起點(diǎn)位置到當(dāng)前位置的實(shí)際消耗;h(k)為啟發(fā)函數(shù)。
該算法在進(jìn)行無人船全局規(guī)劃時(shí)的步驟如下:
1) 定義無人船的初始位置和目標(biāo)位置;
2) 通過A*算法按照一定方向進(jìn)行目標(biāo)位置搜索,獲取和當(dāng)前位置之間F(k)最小的位置;
3) 將上述獲取的位置作為下一個(gè)起點(diǎn),繼續(xù)獲取和該位置之間F(k)最小的位置。以此循環(huán)獲取目標(biāo)位置,獲取全局的路徑節(jié)點(diǎn)和路徑規(guī)劃結(jié)果。
通過A*算法獲取最優(yōu)路徑規(guī)劃結(jié)果以及無人船的全局路徑節(jié)點(diǎn)后,進(jìn)行局部避障路徑規(guī)劃。采用動(dòng)態(tài)人工勢(shì)場(chǎng)法有效避免基礎(chǔ)人工勢(shì)場(chǎng)法在障礙物較多環(huán)境中發(fā)生的最小值陷阱現(xiàn)象,提升避障路徑規(guī)劃效果。結(jié)合動(dòng)態(tài)人工勢(shì)場(chǎng)法概念可知:在運(yùn)動(dòng)環(huán)境內(nèi),無人船運(yùn)動(dòng)目標(biāo)位置和環(huán)境中存在的障礙物均會(huì)對(duì)無人船造成影響,會(huì)形成斥力和引力2 種勢(shì)場(chǎng),利用引力和斥力2 種函數(shù)分析無人船在該環(huán)境中的勢(shì)場(chǎng)。進(jìn)行避障路徑規(guī)劃時(shí),相對(duì)位置、相對(duì)速度分別用 κ,μ表示,前者對(duì)應(yīng)無人船初始位置和目標(biāo)位置之間,后者對(duì)應(yīng)初始速度和目標(biāo)點(diǎn)之間,在此基礎(chǔ)上完成無人船引力勢(shì)場(chǎng)函數(shù)f(x)的建立,即
式中:ε 和 φ均為常量,前者為正,后者為負(fù),均對(duì)應(yīng)引力勢(shì)場(chǎng)中。
依據(jù)f(x)計(jì)算無人船在當(dāng)前運(yùn)動(dòng)環(huán)境中受到目標(biāo)位置的引力值U(X,V),其計(jì)算公式為:
式中:F*(X)為無人船的引力方向;F*(V)為 μ方向的引力向量。
在進(jìn)行無人船避障路徑規(guī)劃時(shí),無人船對(duì)于目標(biāo)位置的追蹤由F*(X)決定,無人船趨向目標(biāo)位置速度則由F*(V)決定。依據(jù)無人船和障礙物之間的相對(duì)位置,建立無人船斥力勢(shì)場(chǎng)函數(shù)f(y),其表達(dá)公式為:
式中:c,h,a均為斥力勢(shì)能,以此分別對(duì)應(yīng)距離因素對(duì)于無人船、相對(duì)速度對(duì)于無人船、相對(duì)加速度對(duì)于無人船;γ為障礙物和無人船之間的歐式距離;φ,ω均為比例增益系數(shù),前者為正,后者為負(fù);ξ 為整體增益指數(shù)。
依據(jù)f(y)計(jì)算無人船在當(dāng)下運(yùn)動(dòng)環(huán)境中受到來自障礙物的斥力值U(X,V,A),其表達(dá)式為:
式中:c0,h0,a0均為斥力,依次分別對(duì)應(yīng) γ對(duì)無人船、相對(duì)速度對(duì)無人船、相對(duì)加速度對(duì)無人船;σ,τ,δ均為梯度,依次位于障礙物對(duì)于無人船形成的斥力場(chǎng)中、相對(duì)速度對(duì)無人船形成的斥力場(chǎng)中、相對(duì)加速度對(duì)無人船形成的斥力場(chǎng)中。
在動(dòng)態(tài)環(huán)境中,斥力和引力2 種勢(shì)場(chǎng)結(jié)合對(duì)無人船形成的總勢(shì)場(chǎng)用U*表示,其計(jì)算公式為:
依據(jù)全局勢(shì)場(chǎng)函數(shù)計(jì)算無人船當(dāng)前所在位置的全局勢(shì)能用U*(X)表示,其計(jì)算公式為:
式中:t,ei分別為無人船在單位時(shí)間內(nèi)達(dá)到的目標(biāo)位置和該位置的鄰域位置集。
如果U*(X)>0,則定義無人船在單位時(shí)間內(nèi)可以達(dá)到的目標(biāo)位置即為下一時(shí)刻的目標(biāo)位置,同時(shí)將該位置劃分至避障路徑點(diǎn)集內(nèi),其對(duì)應(yīng)的狀態(tài)即為目標(biāo)狀態(tài);如果U*(X)≤ 0,定義無人船在單位時(shí)間內(nèi)可以達(dá)到的目標(biāo)位置領(lǐng)域位置為下一時(shí)刻的目標(biāo)位置,同時(shí)將該位置劃分至避障路徑點(diǎn)集內(nèi),其對(duì)應(yīng)的狀態(tài)即為目標(biāo)狀態(tài)。依據(jù)上述公式即可完成無人船在運(yùn)動(dòng)環(huán)境中所經(jīng)過的全部故障點(diǎn)確定,并輸出避障路徑規(guī)劃結(jié)果。
動(dòng)態(tài)人工勢(shì)場(chǎng)法雖然能夠有效避免發(fā)生最小值陷阱現(xiàn)象,但無人船航行環(huán)境為未知情況下,適應(yīng)能力會(huì)受到一定影響,導(dǎo)致對(duì)避障路徑規(guī)劃效果較差;當(dāng)障礙物移動(dòng)速度較快時(shí)存在信息缺失情況,無法精準(zhǔn)掌握障礙物情況。因此,為保證無人船避障路徑規(guī)劃效果,采用長短記憶循環(huán)神經(jīng)網(wǎng)絡(luò)和強(qiáng)化學(xué)習(xí)算法相結(jié)合的方式對(duì)動(dòng)態(tài)人工勢(shì)場(chǎng)法進(jìn)行改進(jìn),提升應(yīng)用效果。以無人船在當(dāng)前時(shí)刻的信息輸出結(jié)果為基礎(chǔ),結(jié)合無人船之前的信息變化情況,對(duì)障礙物運(yùn)動(dòng)情況進(jìn)行預(yù)測(cè)后獲取障礙物預(yù)測(cè)狀態(tài)空間S0,在此基礎(chǔ)上對(duì)動(dòng)態(tài)人工勢(shì)場(chǎng)法對(duì)于障礙物檢測(cè)半徑R進(jìn)行調(diào)整,完成對(duì)運(yùn)動(dòng)障礙物的跟蹤,保證該方法在障礙物運(yùn)動(dòng)速度較快時(shí),依舊能夠可靠獲取障礙物信息,保證無人船避障路徑規(guī)劃效果。其詳細(xì)步驟如下:
1) 依據(jù)動(dòng)態(tài)人工勢(shì)場(chǎng)法獲取的避障路徑規(guī)劃結(jié)果,確定該方法的檢測(cè)半徑R;
2) 依據(jù)該半徑結(jié)果獲取整體可檢測(cè)的圓形結(jié)果T和障礙物斥力場(chǎng)之間存在的接觸點(diǎn)數(shù)量n,并確定n的分布情況,將該情況輸入長短記憶循環(huán)神經(jīng)網(wǎng)絡(luò)中;
3) 獲取S0結(jié)果,以S0的空間位置和無人船狀態(tài)為依據(jù),對(duì)R進(jìn)行調(diào)整。
在該步驟中,將獲取的S0輸入至強(qiáng)化學(xué)習(xí)算法中,并依據(jù)無人機(jī)狀態(tài)空間S設(shè)置回報(bào)函數(shù) ψ,以此保證無人船可為通過最佳的回報(bào)完成動(dòng)態(tài)障礙物的躲避,無人船和障礙物間的距離計(jì)算公式為:
式中:r為障礙物斥力場(chǎng)半徑;da1a2為2 個(gè)圓交點(diǎn)之間的距離。
在此基礎(chǔ)上設(shè)定 ψ結(jié)果:
式中:υ為無人船航行速度,在該速度下航行用υ×Δt表示;dsafe為安全距離。
如果ψ=-1,表示該規(guī)劃路徑不會(huì)發(fā)生碰撞;反之ψ=1,表示該規(guī)劃路徑會(huì)發(fā)生碰撞。
以LB-110 型號(hào)無人船作為實(shí)驗(yàn)對(duì)象,采用本文方法對(duì)其進(jìn)行避障路徑規(guī)劃,獲取相關(guān)規(guī)劃結(jié)果,衡量本文方法的應(yīng)用效果。無人船主要是用于采樣監(jiān)測(cè),其重量為20 kg,采樣流量為2 個(gè)2.5 L/min,其帶寬信號(hào)為100 kHz。參數(shù)設(shè)定:無人船初始位置坐標(biāo)為(115°06' 02E,22°26' 02N),目標(biāo)點(diǎn)位置坐標(biāo)為(115°09'05E,22°33' 04N);引力場(chǎng)和斥力場(chǎng)2 種系數(shù)取值分別設(shè)定為0.000 1 和1,步長為0.1 m。
無人船全局路徑的最優(yōu)規(guī)劃結(jié)果如圖2 所示。可知,本文方法應(yīng)用后,能夠依據(jù)無人船初始位置和目標(biāo)點(diǎn)位置獲取全局最優(yōu)路徑規(guī)劃結(jié)果,并且可依據(jù)可規(guī)劃結(jié)果生成無人船的路徑規(guī)劃柵格地圖結(jié)果。
圖2 無人機(jī)全局路徑的最優(yōu)規(guī)劃結(jié)果Fig.2 Optimal planning results of UAV global path
獲取本文方法在存在運(yùn)動(dòng)障礙物的復(fù)雜環(huán)境中,對(duì)于無人船的避障路徑規(guī)劃結(jié)果,如圖3 所示??芍疚姆椒☉?yīng)用后,無人船在運(yùn)動(dòng)過程中,即使在遇見運(yùn)動(dòng)障礙物的環(huán)境中,也能夠有效完成障礙物躲避,避免發(fā)生碰撞現(xiàn)象,并完成運(yùn)動(dòng)路徑規(guī)劃。
圖3 無人船的局部避障路徑規(guī)劃效果Fig.3 Local obstacle avoidance path planning effect of unmanned ship
采用碰撞危險(xiǎn)度作為評(píng)價(jià)指標(biāo),其包含空間和時(shí)間碰撞危險(xiǎn)度,2 個(gè)指標(biāo)的計(jì)算結(jié)果如表1 所示??芍?,在障礙物移動(dòng)速度不斷增加的情況下,本文方法應(yīng)用后,空間碰撞危險(xiǎn)度和時(shí)間碰撞危險(xiǎn)度2 個(gè)指標(biāo)的結(jié)果均滿足應(yīng)用需求。其中,空間碰撞危險(xiǎn)度值均大于4.26 m,其最大值為5.59 m,時(shí)間碰撞危險(xiǎn)度的值均在15 s 以上,其最高值達(dá)到20.2 s。因此,本文方法應(yīng)用效果良好,能夠極大程度避免無人船在路徑規(guī)劃過程中發(fā)生和障礙物碰撞情況。
表1 無人船碰撞危險(xiǎn)度測(cè)試結(jié)果Tab.1 Test results of unmanned ship collision risk
無人船在任務(wù)執(zhí)行過程中,為保證其在有效避免發(fā)生碰撞情況下,完成路徑規(guī)劃,保證無人船安全完成任務(wù),本文提出動(dòng)態(tài)人工勢(shì)場(chǎng)法的無人船避障路徑規(guī)劃方法。對(duì)該方法進(jìn)行相關(guān)測(cè)試結(jié)果表明:本文方法具有較好的無人船避障路徑規(guī)劃能力,可在有效躲避移動(dòng)障礙物的情況下,完成路徑規(guī)劃。