陳 靜 王 強
武漢理工大學(xué)交通與物流學(xué)院 武漢 430063
無人船靠泊環(huán)境感知系統(tǒng)在無人船自主靠泊過程中獲取無人船與岸邊泊位的相對位置信息,是無人船自主靠泊技術(shù)實現(xiàn)的重要保證。無人船靠泊環(huán)境感知系統(tǒng)輔助無人船航行狀態(tài)數(shù)據(jù),運用多傳感器數(shù)據(jù)融合技術(shù),對多個測量數(shù)據(jù)進行融合,獲取精確的靠泊環(huán)境信息。本文根據(jù)無人船的工作特點,分析了無人船靠泊航行與??窟^程,設(shè)計了一套基于立體視覺與激光傳感器融合的無人船靠泊環(huán)境感知系統(tǒng)。
國內(nèi)外部分先進港口和船舶開始研究與開發(fā)無人船技術(shù),引進各種測速、測距裝置輔助無人船安全靠泊。閆曉飛等[1]利用三維激光掃描儀可快速獲取船舶動態(tài)參數(shù),解決了點式激光監(jiān)測方法尋找目標難的問題,但是三維激光掃描儀固定于碼頭對船舶的適應(yīng)性較差,難于連續(xù)照射同一目標點,用于無人船自主靠泊過程時,需要實時連續(xù)的對距離進行測量,可能出現(xiàn)捕捉不到岸邊信息的問題,系統(tǒng)可靠性較低。Yasuhiro Nomura等[2]提出一種利用立體攝像機對船舶進行三維位置測量的方法,密集立體相機放置于岸邊測量船體多個部位三維位置,提高了船舶監(jiān)測的安全性和魯棒性。Hideki Kawai等[3,4]提出了由2個可移動的圖像傳感器組成的測量系統(tǒng),通過對碼頭上的目標進行監(jiān)測和跟蹤來測量相對距離,完成自動靠泊系統(tǒng)中船舶的橫搖、縱搖和偏航運動的檢測。此方案試驗了船舶在20~100 m以內(nèi)的靠泊過程且誤差在1 m以內(nèi),當(dāng)無人船靠泊系統(tǒng)精度要求較高時,本方法并不能適應(yīng)。甘興旺等[5]提出基于視覺的船舶環(huán)境感知數(shù)據(jù)融合算法可實現(xiàn)對船舶周邊環(huán)境的高效感知?;赮OLOv3建立船舶自動識別模型,通過相機圖像實現(xiàn)對周邊船舶的自動化目標檢測,與船舶自動識別系統(tǒng)(AIS)信息融合,提高感知精度。本方法用于船舶海上航行安全性較高,用于自主靠泊過程中精度遠遠不足。
因此,為滿足無人船自主靠泊過程中對測量精度和測量連續(xù)性的要求,本文采用基于立體視覺和激光傳感器的環(huán)境感知系統(tǒng),利用視覺系統(tǒng)識別與快速定位到岸邊系泊機械裝置,調(diào)整旋轉(zhuǎn)云臺使激光雷達精確測距,再依據(jù)空間坐標轉(zhuǎn)換修正視覺測量值,快速準確地獲得無人船與岸邊泊位的相對位置信息,實現(xiàn)無人船靠泊過程的連續(xù)監(jiān)測。實驗結(jié)果證明本方案可大幅度提高測量精度。
無人船采用安裝在泊位處的岸邊系泊機械裝置將其固定至泊位,抑制無人船??繒r與岸邊泊位間的移動。岸邊系泊機械裝置是一種不依靠任何人工勞動力就可以完成無人船系泊工作的新型機械裝置。它改變了傳統(tǒng)的手工式系纜方式,為無人船全自動化發(fā)展提供了可能。岸邊系泊機械裝置作為感知系統(tǒng)監(jiān)測的目標點,無人船靠泊環(huán)境感知系統(tǒng)在無人船自主靠泊過程中通過對目標點的識別與監(jiān)測得到無人船與岸邊泊位間的相對位置信息,引導(dǎo)無人船進行靠泊。
無人船采用角度靠泊法實現(xiàn)平靠于泊位,??窟^程(見圖1)為:1)無人船沿航道駛?cè)氩次桓浇?,控制舵機使無人船開始轉(zhuǎn)向,無人船在主推進器的作用下其船首慢慢靠近泊位;2)無人船船首保持不動,控制器發(fā)出指令控制其船尾的側(cè)推器,在側(cè)推器的作用下,無人船慢慢側(cè)移入泊位并平行于泊位。3)無人船平行??坑诓次桓浇?,岸邊系泊機械裝置作用于無人船船體,實現(xiàn)無人船在泊位處的??俊?/p>
圖1 無人船自主靠泊過程
為實現(xiàn)無人船在整個靠泊過程中的工作安全與可靠,設(shè)計了一套環(huán)境感知系統(tǒng),可實現(xiàn)對無人船靠泊過程的連續(xù)監(jiān)測。采用立體視覺和激光同時匹配工作,系統(tǒng)由深度相機、2D激光雷達和旋轉(zhuǎn)云臺組成。無人船靠泊過程中需要的2個岸邊系泊機械裝置作為無人船自主靠泊環(huán)境感知系統(tǒng)測量的目標點。2個相機分別放置于無人船的船首與船尾,2個相機的連線與無人船中心線重合,激光雷達放置于2個深度相機中間。無人船靠泊環(huán)境感知系統(tǒng)總體結(jié)構(gòu)如圖2所示。
圖2 無人船靠泊環(huán)境感知系統(tǒng)總體結(jié)構(gòu)圖
無人船自主靠泊過程中無人船緩緩靠近岸邊泊位,相機受視場角的影響,測量范圍受限無法同時將2個岸邊系泊機械裝置同時檢測到,無法獲得無人船的完整位置信息。2個相機分別放置在船首和船尾可以彌補單個相機的缺陷,船首相機和船尾相機構(gòu)成立體視覺系統(tǒng)。
無人船靠泊過程中無人船在風(fēng)、浪、流的作用下,不能始終保持激光雷達掃描平面與目標物所在平面重合,2D激光雷達受結(jié)構(gòu)的影響只能測量某個特定平面上的信息,故需要引入旋轉(zhuǎn)云臺去拓寬激光雷達的工作范圍。激光雷達裝載到旋轉(zhuǎn)云臺后可調(diào)整其掃描平面,擴大雷達的監(jiān)視范圍,實現(xiàn)單一平面掃描到三維空間內(nèi)任意一個平面上目標的捕捉。
無人船靠泊環(huán)境感知系統(tǒng)獲得信息后需要通過無人船的控制系統(tǒng)實現(xiàn)無人船靠泊過程并順利停靠于岸邊泊位。無人船的控制系統(tǒng)分為岸基控制平臺和船載控制系統(tǒng)2部分[6]。主要硬件組件有船載PC、控制器、激光傳感器、立體相機、控制局域網(wǎng)(Control Area Network,CAN)、以及執(zhí)行機構(gòu)等,無人船控制系統(tǒng)硬件結(jié)構(gòu)示意圖如圖3所示。
圖3 無人船控制系統(tǒng)硬件結(jié)構(gòu)示意圖
無人船駛?cè)氚哆叢次桓浇庍M行靠泊操作時,無人船靠泊環(huán)境感知系統(tǒng)開始工作,獲取無人船與岸邊泊位精確的相對位置信息,以達到靠泊過程對精度的要求。首先,立體視覺系統(tǒng)對無人船??坎次惶巸赡繕它c的位置進行粗略測量,測量數(shù)據(jù)通過CAN通信模塊傳至船載PC進行處理分析;船載PC分析立體視覺系統(tǒng)的測量結(jié)果傳遞給激光測距系統(tǒng),控制旋轉(zhuǎn)云臺運動使目標點處于激光雷達的捕捉范圍內(nèi),隨后激光雷達進行高精度距離測量;船載PC將激光雷達測量結(jié)果與立體視覺系統(tǒng)的測量結(jié)果進行融合,得出目標點的精確位置信息,獲得無人船靠泊過程中動態(tài)參數(shù)信息。船載PC通過CAN通信模塊將信息傳給控制器,控制執(zhí)行機構(gòu)完成無人船自主靠泊過程。
無人船靠泊環(huán)境感知系統(tǒng)包括立體視覺系統(tǒng)和激光測距系統(tǒng),融合了兩者的優(yōu)點,具有精度高、搜尋目標快的特點。立體視覺系統(tǒng)和激光測距系統(tǒng)相互作用進行信息融合,最終得到無人船自主靠泊過程中的無人船與泊位的相對位置與姿態(tài)信息,具體實現(xiàn)流程如圖4所示。
圖4 系統(tǒng)實現(xiàn)流程
深度相機采集到目標點的圖片,通過識別定位算法獲得目標點在深度相機坐標系下的位置,受相機測量屬性的限制,此信息為目標點的粗略位置。根據(jù)相機獲得的目標點的粗略信息,激光雷達在旋轉(zhuǎn)云臺的帶動下快速定位到目標點,測出目標點的精確位置。激光測距系統(tǒng)中測量出的位置信息再傳遞給立體視覺系統(tǒng),修正由于相機自身限制引起的目標點測量精度差的問題,在無人船自主靠泊過程中循環(huán)此測量過程,實現(xiàn)對無人船的船首、船尾距離岸邊泊位相對位置的連續(xù)與精確測量。
深度相機獲得彩色圖像信息和深度圖像信息,識別和定位到岸邊系泊機械裝置。具體實現(xiàn)步驟是:首先,深度相機同時拍攝獲取彩色圖像和深度圖像并保存;其次,彩色圖像經(jīng)過深度學(xué)習(xí)YOLOv4框架[7],識別出岸邊系泊機械裝置位置并定位到像素位置;最后,深度圖像與彩色圖像進行配準對齊,獲取彩色圖像對應(yīng)于深度圖像像素位置處的深度信息,即岸邊系泊機械裝置在相機坐標系下的坐標。
其中,深度相機的深度圖像和彩色圖像融合過程[8]為:P為空間一點,Ki為相機深度圖像內(nèi)參,Kr為相機彩色圖像內(nèi)參,Ri、Ti為相機深度圖像旋轉(zhuǎn)矩陣和平移矩陣,Rr、Tr為相機彩色圖像旋轉(zhuǎn)矩陣和平移矩陣,[ui,vi]T為相機深度圖像像素平面一點Pi的像素坐標,[ur,vr]T為相機彩色圖像像素平面一點Pi的像素坐標。
深度相機使用前進行標定,標定完成后固定旋轉(zhuǎn)矩陣和平移矩陣,實現(xiàn)彩色圖像與深度圖像的像素對齊,深度相機通過彩色圖像識別與定位到目標點后,通過像素對齊即可獲得目標點的深度信息。
根據(jù)圖5建立4個坐標系:船首相機坐標系、船尾相機坐標系、激光測距系統(tǒng)工作坐標系和激光測距系統(tǒng)初始坐標系。
圖5 系統(tǒng)坐標系示意圖
1)立體視覺系統(tǒng)中船首相機的坐標系OhXhYhZh,以船首相機的光心作為坐標原點Oh,船首相機的光心指向船尾相機的光心連線方向為Xh軸正方向,垂直于2個相機中心連線方向向上為Yh軸正方向,Zh軸方向采用右手定則確定。目標點A在OhXhYhZh坐標系中坐標為(XhA,YhA,ZhA)。
2)立體視覺系統(tǒng)中船尾相機的坐標系OtXtYtZt,以船尾相機的光心作為坐標原點Ot,船首相機的光心指向船尾相機的光心連線方向為Xt軸正方向,垂直于2個相機中心連線方向向上為Yt軸正方向,Zt軸方向采用右手定則確定。目標點B在OtXtYtZt坐標系中坐標為(XtB,YtB,ZtB)。
3)激光測距系統(tǒng)工作坐標系OLXLYLZL,以激光雷達的發(fā)射中心點為原點,激光發(fā)射方向為ZL軸方向,YL軸為垂直于發(fā)射平面豎直向上方向,XL軸方向采用右手定則確定。激光測距系統(tǒng)初始坐標系以旋轉(zhuǎn)平臺無工作狀態(tài)下,激光雷達的發(fā)射中心點為原點,激光發(fā)射方向為ZL1軸方向,Xh的平行方向為軸方向,YL1軸方向采用右手定則確定。目標點A在OLXLYLZL坐標系中坐標為(XLA,YLA,ZLA),目標點B在OLXLYLZL坐標系中坐標為(XLB,YLB,ZLB)。目標點A在坐標系中坐標為(XLA1,YLA1,目標點B在坐標系中坐標為
無人船靠泊環(huán)境感知系統(tǒng)獲取無人船與碼頭之間相對位置信息的具體工作過程為:
1)標定立體視覺測量系統(tǒng)與激光測距系統(tǒng),R為旋轉(zhuǎn)矩陣、T為平移矩陣,得到立體視覺系統(tǒng)坐標系OhXhYhZh到激光測距系統(tǒng)初始坐標系的變換為
(r1,r4,r7)、(r2,r5,r8)、(r3,r6,r9)分別表示xL1、yL1、zL1坐標軸在坐標系中的單位方向矢量分量。式(4)可實現(xiàn)目標點A、目標點B的坐標信息在立體視覺坐標系和激光測距系統(tǒng)坐標系間的相互轉(zhuǎn)換。
2)無人船駛?cè)肟坎磪^(qū)域開始靠泊操作,本設(shè)計方案啟動,安裝在船首和船尾的相機分別對2目標點進行測距,測量出目標點A在船首坐標系OhXhYhZh中坐標為(XhA,YhA,ZhA),目標點B在船尾坐標系OtXtYtZt中坐標為(XtB,YtB,ZtB)。
3)根據(jù)目標點A在船首坐標系坐標可計算出OhA和OhOL的夾角θ1和OLA。
聯(lián)立式(5)~式(7)求出OLA和OhOL的夾角φA,即測量目標點A時激光雷達旋轉(zhuǎn)角度;根據(jù)目標點B在船尾坐標系坐標可計算出OtB和OtOL的夾角θ2和XLB。
聯(lián)立式(8)~式(10)求出OLB和OtOL的夾角180°-φB、φB即為測量目標點B時激光雷達旋轉(zhuǎn)角度。
4)由式(4)得到激光測距系統(tǒng)初始坐標系下目標點A、目標點B的坐標信息,據(jù)此計算旋轉(zhuǎn)云臺的轉(zhuǎn)角α為
船載PC控制調(diào)整旋轉(zhuǎn)云臺轉(zhuǎn)動α角度,激光雷達對準目標點進行掃描,得到精確的相對距離信息dLA、dLB。
5)依據(jù)相對精確的相對距離信息計算相機需要跟蹤的目標點A、目標點B的位置信息,修正立體視覺系統(tǒng)相機光軸測量誤差大的問題。重復(fù)以上步驟,在無人船靠泊過程中連續(xù)測量無人船船首與船尾距離岸邊泊位的距離。
為驗證設(shè)計的算法是否滿足無人船在靠泊過程中環(huán)境感知系統(tǒng)的精度需求,搭建本文設(shè)計的環(huán)境感知系統(tǒng)平臺進行了實驗測試,2個相機固定放置且相隔1.5 m來模擬船首相機與船尾相機,激光雷達放置在2相機連線之間并距船首相機0.15 m處。木桿的兩端固定2個箱體貼上目標標志物,模擬泊位岸線,移動木桿慢慢靠近環(huán)境感知系統(tǒng)來代替無人船緩慢向泊位靠近的狀態(tài)。
激光傳感器使用TOF激光雷達(RPLIDAR A2),其水平掃描范圍為0°~360°,水平掃描采樣間隔為0.25°。激光雷達安裝在旋轉(zhuǎn)云臺上,實現(xiàn)掃描平面的變化,掃描面俯仰運動范圍為-30°~30°,俯仰采樣間隔0.3°。立體相機采用Realsense D435i,可以30幀/s的速度實現(xiàn)分辨率為1 280×720、深度距離在0.1~10 m之間、視場角度為85°×58°。
首先將目標物放在測量系統(tǒng)前方20 m處,慢慢移動目標物使其靠近感知系統(tǒng)。實驗過程中保持立體視覺系統(tǒng)和激光測距系統(tǒng)的位置固定不動,控制目標從20 m逐漸移動到0.2 m,連續(xù)跟蹤目標并采集多組數(shù)據(jù)進行實驗。實驗條件具體設(shè)計為:1)相機幀頻50 Hz,2相機間基線距離為1.5 m;2)激光測距的出射點處在視覺傳感器所在的坐標系的坐標值為(0,0.15,0),單位為m;3)激光測距系統(tǒng)的工作距離0.05~15 m;4)目標物的尺寸為0.2 m×0.2 m。
無人船自主靠泊過程中最重要的是無人船相對于泊位的位置信息,為避免無人船與泊位線相撞,測量系統(tǒng)中近距離測量面對的挑戰(zhàn)更大。因此,在目標物緩慢移動靠近測量系統(tǒng)的過程中,本次實驗分別選取了目標物距離測量系統(tǒng)0.9 m、1.5 m、2 m時的狀態(tài),反復(fù)測量了140次目標點進行了記錄,實驗數(shù)據(jù)結(jié)果如圖6~圖8所示。其中,紅色的離散點是視覺測量的距離值,連續(xù)的藍色點是通過激光與視覺融合后的距離值。
圖6 目標物與測量系統(tǒng)間距離為0.9 m處測量數(shù)據(jù)
圖7 目標物與測量系統(tǒng)間距離為1.5 m處測量數(shù)據(jù)
圖8 目標物與測量系統(tǒng)間距離為2 m處測量數(shù)據(jù)
視覺系統(tǒng)在不同測量距離時,測量結(jié)果偏離真實值范圍和最大相對誤差統(tǒng)計如表1所示,隨著視覺測量系統(tǒng)距離目標點越來越遠,測量值偏離真實值越大。當(dāng)測量距離為0.9 m時,最大相對誤差為0.44%;當(dāng)測量距離為1.5 m時,最大相對誤差為23.33%;當(dāng)測量距離為2 m時,最大相對誤差達到39%。這是由于相機受自身特點的限制[9],距離越遠,測量誤差越大。
表1 視覺測量結(jié)果統(tǒng)計表
由圖6可以看出視覺系統(tǒng)測量結(jié)果與真實值相差較小,且視覺測量結(jié)果比融合后測量結(jié)果更好。這是由于在近距離測量時,視覺系統(tǒng)測量精度較高,融合激光雷達測量數(shù)據(jù)之后反而效果差。本方案在整個實驗過程中,測量結(jié)果偏移真實值的范圍始終控制在10 mm以內(nèi)。
本文設(shè)計的環(huán)境感知系統(tǒng)用于無人船自主靠泊過程,可實時獲取無人船靠近時船首和船尾分別距岸邊泊位的距離,滿足在整個無人船靠泊過程中系統(tǒng)測量誤差控制在10 mm的范圍內(nèi),為無人船靠泊工程提供技術(shù)保證。
本文設(shè)計了基于立體視覺與激光雷達的測量系統(tǒng),提出傳感器數(shù)據(jù)融合算法,用于無人船自主靠泊過程中無人船距離岸邊泊位精確位置測量。先依據(jù)相機識別與定位到船首、船尾與岸邊系泊機械裝置,再將相機得到的信息轉(zhuǎn)換后傳遞給激光測距系統(tǒng)中,由激光雷達測量出精確的距離信息,最后激光雷達得到的信息傳遞給相機重新修正相機測量值,用于更精準的跟蹤岸邊系泊機械裝置實現(xiàn)無人船靠泊過程中對環(huán)境信息的連續(xù)測量。本方法融合了視覺與激光的數(shù)據(jù)、結(jié)合了二者的優(yōu)勢,有效提高了測量精度與測量的實時性,為無人船的自主化、智能化提供了一種可行的技術(shù)思路。為保證整個感知系統(tǒng)的穩(wěn)定性,后面可考慮提高融合算法精度實現(xiàn)動態(tài)測量的連續(xù)性。