余海洋
(常州大學(xué),江蘇 常州 213164)
在水上作業(yè)技術(shù)日臻成熟的背景下,利用無人船進行水上作業(yè)的方式越來越廣泛。無人船不需要人工遙控,可依據(jù)自身攜帶的衛(wèi)星定位裝置和傳感裝置在水面上自由航行,其可用于水環(huán)境監(jiān)測、科研勘探、測繪以及救援等多種需求[1,2]。受無人船作業(yè)區(qū)域水環(huán)境復(fù)雜影響,其作業(yè)區(qū)域會存在漂浮的障礙物或者固定障礙物,阻擋無人船航行甚至造成無人船傾覆。為使無人船實現(xiàn)自動避障,很多學(xué)者設(shè)計了無人船自動避障系統(tǒng)。畢衛(wèi)紅等[3]設(shè)計了多線激光雷達的避障系統(tǒng),該系統(tǒng)利用激光雷達獲得當(dāng)前無人船在水上環(huán)境周圍的連續(xù)數(shù)據(jù),再通過對障礙物點云進行過濾、聚類和分割處理后,得到障礙物實際位置,然后使用A*算法規(guī)劃無人船航線后,實現(xiàn)無人船避障。羅賢程等[4]設(shè)計船舶自動避障系統(tǒng),該系統(tǒng)將無人船航跡劃分為航跡保持、避讓以及復(fù)航3 個階段,然后對無人船航行環(huán)境進行建模后,通過控制無人船舵角實現(xiàn)避障。以上系統(tǒng)雖均可實現(xiàn)無人船航行避障,但均存在運行穩(wěn)定性欠佳問題,因此應(yīng)用范圍不夠廣泛。人工勢場法屬于路徑規(guī)劃算法的一種,其基本思想是通過目標(biāo)在周圍環(huán)境中的運行行為,利用抽象人造引力勢場規(guī)劃平滑、安全的路徑,該種路徑規(guī)劃方法被應(yīng)用在交通指揮、機器人巡檢、船舶避障等多個領(lǐng)域[5]。在此針對人工勢場法存在的缺陷加以改進,以其為基礎(chǔ),設(shè)計改進人工勢場法的無人船航行自動避障系統(tǒng),為無人船航行提供有效的避障手段。
無人船航行自動避障系統(tǒng)總體結(jié)構(gòu)如圖1 所示。無人船航行自動避障系統(tǒng)總體結(jié)構(gòu)由信息感知與處理模塊、反饋模塊決策模塊和避障控制執(zhí)行模塊組成。其中信息感知與處理模型將氣象預(yù)報、海事安全和無人船航行計劃存儲到岸基數(shù)據(jù)庫后,通過衛(wèi)星通信方式將其傳輸?shù)酱藬?shù)據(jù)庫內(nèi),同時反饋模型將無人船當(dāng)前航向、航速和航行環(huán)境圖像發(fā)送到信息感知與處理模塊中的感知信息融合單元內(nèi),將融合后的無人船航向、航速等信息存儲到船端基礎(chǔ)數(shù)據(jù)庫內(nèi)。決策模塊通過調(diào)取船端基礎(chǔ)數(shù)據(jù)庫內(nèi)無人船航行信息后,對其當(dāng)前航行環(huán)境中的障礙物進行識別后,依據(jù)該識別結(jié)果使用改進人工勢場的碰撞路徑規(guī)劃單元規(guī)劃無人船航行路徑。再將路徑規(guī)劃結(jié)果發(fā)送到避障控制執(zhí)行模塊內(nèi),該模塊通過無人船載控單元控制無人船動力體系運行,實現(xiàn)無人船航行自動避障。
圖1 無人船航行自動避障系統(tǒng)總體結(jié)構(gòu)Fig.1 Overall structure of the automatic obstacle avoidance system for man ship navigation
無人船航行自動避障系統(tǒng)的載控單元硬件結(jié)構(gòu)如圖2 所示。無人船載控單元硬件包括接收機、遙控器、數(shù)傳模塊、陀螺儀、電機等多種硬件,其通過遙控器和QGC 指令向無人船發(fā)送路徑規(guī)劃航行信息,使用接收機和數(shù)傳模塊將控制指令發(fā)送到船載控制芯片內(nèi),通過該芯片連接無人船電機、舵機等硬件,將其發(fā)送控制指令,無人船載控單元主要是負(fù)責(zé)接收指令并將其傳輸?shù)綗o人船動力體系內(nèi)。
圖2 無人船載控單元硬件結(jié)構(gòu)Fig.2 Hardware structure of unmanned ship control unit
無人船的動力源為鋰電池,其為無人船航行提供動力,無人船動力裝置結(jié)構(gòu)如圖3 所示。無人船動力裝置連接系統(tǒng)載控單元,通過DTU 無線終端與無人船的DSP 控制單元相連。使用12 V 鋰電池為其供電,鋰電池可直接輸電到DSP 控制單元或經(jīng)過DC/DC 轉(zhuǎn)換單元將12 V 電壓轉(zhuǎn)換成5 V 電壓輸入到DSP 控制單元。DSP 控制單元通過驅(qū)動程序啟動推進電機,通過推進電機驅(qū)動螺旋槳轉(zhuǎn)動。同時DC/DC 轉(zhuǎn)換單元將電壓轉(zhuǎn)換成24 V,驅(qū)動數(shù)字舵機,通過數(shù)字舵機控制無人船轉(zhuǎn)向軸,控制無人船轉(zhuǎn)向。
圖3 無人船動力裝置結(jié)構(gòu)Fig.3 Unmanned ship power system structure
系統(tǒng)決策模塊內(nèi)航行環(huán)境障礙物識別單元負(fù)責(zé)識別無人船當(dāng)前航行環(huán)境中存在的障礙物,其障礙物識別過程如下:
步驟1無人船航行環(huán)境圖像濾波去噪處理。
步驟2確定當(dāng)前無人船航行環(huán)境圖像分辨率是否為400×400。
步驟3將無人船航行環(huán)境圖像等分劃分為40 個網(wǎng)格。
步驟4在每個網(wǎng)格中逐個判斷當(dāng)前像素點是否為白色,若是則認(rèn)為該像素點位置為障礙物位置[6],對該位置進行標(biāo)記。
步驟5使用十六進制到十進制信息轉(zhuǎn)換方式將標(biāo)記為障礙物的像素點進行轉(zhuǎn)換處理后[7],得到當(dāng)前障礙物實際位置,由此完成無人船航行環(huán)境障礙物識別程序設(shè)計。
人工勢場法屬于虛擬力法,其將無人船航行的目的地看作是引力場而環(huán)境中的障礙物為斥力場,無人船在引力場和斥力場共同作用下向著目標(biāo)前進。因此無人船勢場斥力函數(shù)隨著其航行距離縮小而增大。以無人船航行環(huán)境中的障礙物位置為基礎(chǔ),令g0表示無人船最小安全距離,g表示當(dāng)前無人船距離障礙物距離,當(dāng)g→g0,斥力值Frep則趨近于無窮大,因此無人船的斥力計算公式為:
式中:ZR表示當(dāng)前無人船位置;Kr為斥力場常量;Z0表示障礙物當(dāng)前位置;g(ZR,Z0)2表示一個矢量;gm表示斥力場影響距離。
由于斥力場引力函數(shù)受無人船目標(biāo)位置和其自身運動影響,在使用人工勢場法規(guī)劃無人船避障路徑時,弱化了目標(biāo)對無人船自身的吸引作用,無法形成連貫的航行路徑,在此為每個航行路徑單位長度引入一個質(zhì)點,通過質(zhì)點調(diào)整來描述無人船移動。無人船當(dāng)前勢場的拉力Falt(ZR)計算公式為:
式中:Ka表示引力場常量;ZC表示引力源位置,該引力源即為相鄰質(zhì)點。
結(jié)合式(1)和式(2),則無人船在斥力和引力作用下的合力表達式為:
無人船在人工勢場內(nèi)行駛的路徑即為避障規(guī)劃路徑。
以某測繪無人船作為實驗對象,該無人船尺寸為1.05 m×0.55 m,船體材質(zhì)為碳纖維,總重量為10 kg,可抗3 級風(fēng)和0.5 m 高的浪,最小工作水深為0.2 m,最高航行速度為0.5 m/s。使用本文系統(tǒng)控制該無人船進行避障,分析驗證本文系統(tǒng)實際應(yīng)用效果。
首先驗證本文系統(tǒng)運行的穩(wěn)定性,系統(tǒng)穩(wěn)定運行是其應(yīng)用的基礎(chǔ),以系統(tǒng)運行時的性能損失值作為衡量指標(biāo),測試在運行線程數(shù)量不同情況下的本文系統(tǒng)性能損失情況,并設(shè)置系統(tǒng)性能損失閾值為10%,測試結(jié)果如圖4 所示。分析可知,本文系統(tǒng)在運行時,其運行線程數(shù)量低于20 個時,系統(tǒng)的性能損失值微乎其微,但當(dāng)運行線程超過20 個后,系統(tǒng)的性能損失值呈現(xiàn)上升趨勢。在線程數(shù)量為90 個時,本文系統(tǒng)的性能損失值為7%左右,該數(shù)值低于預(yù)設(shè)閾值。上述結(jié)果說明:本文系統(tǒng)在多線程環(huán)境下運行時,系統(tǒng)性能損失值較小,系統(tǒng)運行穩(wěn)定性能較好。
圖4 系統(tǒng)運行穩(wěn)定性測試結(jié)果Fig.4 System operation stability test results
驗證本文系統(tǒng)識別障礙物能力,以某水面區(qū)域為實驗對象,使用本文方法識別該區(qū)域障礙物,識別結(jié)果如圖5 所示。分析可知,在該無人船航行區(qū)域內(nèi)共存在8 個障礙物,其分布較為分散,使用本文系統(tǒng)可有效識別8 個障礙物,說明本文系統(tǒng)識別障礙物能力較好,也從側(cè)面說明本文系統(tǒng)對無人船的自主避障能力較強。
圖5 障礙物識別結(jié)果Fig.5 Obstacle Identification results
以該無人船某個執(zhí)行任務(wù)區(qū)域為實驗對象,該區(qū)域內(nèi)存在若干個不規(guī)則分布的障礙物,使用本文系統(tǒng)控制該無人船進行避障,規(guī)劃其路徑,結(jié)果如圖6 所示。分析可知,在無人船執(zhí)行任務(wù)區(qū)域內(nèi),存在眾多的障礙物,而本文系統(tǒng)規(guī)劃其避障路徑后,可以最短的距離使無人船到達終點,且在路徑上,無人船距離障礙物位置較遠(yuǎn)。結(jié)果說明:本文系統(tǒng)可有效為無人船規(guī)劃路徑,使其躲避障礙物,本文系統(tǒng)具備較為顯著的應(yīng)用效果。
圖6 無人船避障路徑規(guī)劃結(jié)果Fig.6 Planning results of obstacle avoidance path for unmanned ships
本文設(shè)計改進人工勢場法的無人船航行自動避障系統(tǒng),在該系統(tǒng)中運用人工勢場法為無人船航行規(guī)劃避障路徑,并針對人工勢場法存在的缺陷,引入相鄰質(zhì)點對其進行改進處理。經(jīng)過實驗驗證,本文系統(tǒng)運行穩(wěn)定性能較好,在多線程運行環(huán)境中,本文系統(tǒng)性能損失數(shù)值較少,可有效識別無人船航行環(huán)境中的障礙物并規(guī)劃其避障路徑,應(yīng)用效果較好。