任 兵, 陳衛國, 饒銀輝, 崔 彬,, 洪曉斌
(1. 華南理工大學機械與汽車工程學院,廣東 廣州 510640; 2. 廣船國際有限公司,廣東 廣州 511462)
隨著人工智能技術的發展,無人駕駛技術得到快速發展,無人艇無需人員艇上作業,可完成水文勘測、水質監測、漁業養殖、海上搜救、海上巡邏、海上掃雷、反潛、火力打擊和海上攔截等任務[1-3]。同時對無人艇航行性能的評估至關重要,評估無人艇自主航行性能需要獲得無人艇航行過程中的實時位置、航行軌跡等狀態信息,倘若把測量儀器直接安裝在被測無人艇上,被測無人艇自主航行性能容易受影響,故需要一種獨立于被測無人艇的監測手段獲取被測無人艇航行信息。
相對于其他海洋監測手段,以浮標為載體的檢測技術在自動化、連續性以及長期等方面具有良好特征表現,是現代海洋環境立體監測系統的重要組成部分[4]。近年來,利用浮標為載體的監測與導航定位平臺在各個領域已經取得一定成果。如Kato T等利用海洋浮標組成GNSS陣列,設計了海嘯等地質災害預警系統[5];王朋朋等基于BANG設計了海洋浮標岸站接收系統,實現與浮標系統的通信、數據實時存儲,服務于氣象、水文要素需求[6];王柏林等通過GPRS與岸基數據中心對接,基于STM32設計了用于測量海水域的風速、風向、氣壓、氣溫等氣象要素的海洋浮標[7];唐原廣等以浮標作為觀測平臺,采用螺旋槳式風傳感器、電子羅盤以及水文氣象數據采集器,采集和處理風速風向[8];周金金等為解決浮標成像系統不穩定問題,設計了一套基于ARM11的云臺穩定控制系統,可用于船舶監控[9];李鵬等針對近海海底觀測網的安全問題,設計了一套多警戒浮標的實時監控系統,該警戒浮標可獲取浮標本身工作狀態,并能實時、動態、連續地將警戒浮標的運行狀態發送到陸基站,實現對目標海域的實時監控[10]。
目前浮標主要用于水文氣象信息采集觀測和海域監控,而針對無人艇性能測試的監測浮標研究尚處于起步階段。結合無人艇性能測試需求,本文設計一種移動式浮標,該浮標即可作為監測平臺載體,又可作為性能測試時的靜態障礙物和動態障礙物。采用DGPS接收機、三維激光雷達和攝像機作為傳感設備,通過三維激光雷達測量無人艇在浮標空間坐標系上的相對位置,融合DGPS數據解算無人艇實時的位置信息,便可繪制無人艇實時航行軌跡,進而計算各項技術指標對其自主航行性能進行評估。
無人艇航行監測系統基于ROS(robot operating system)實現,由電源系統、信號處理及控制系統、電機驅動系統、傳感信息采集系統、通信系統和岸基可視無紙化系統組成,各個傳感設備作為ROS系統的一個節點和信號處理及控制器通信傳輸數據,系統框架如圖1所示。其中,外接電源采用24 V直流電池。樹莓派4B、攝像機、三維激光雷達、電機驅動和圖傳電臺需12 V供電,樹莓派4B、DGPS接收機、電機控制器需5 V供電,因此需要設計降壓穩壓電路,如圖2所示。選取電源芯片LM2596降壓穩壓模塊,它內含固定頻率振蕩器(150 kHZ)和基準穩壓器(1.23 V),并具有完善的保護電路、電流限制、熱關斷電路等,降壓穩壓電路為可調節狀態,根據實際需要調節輸出為5 V和12 V。
圖1 無人艇航行監測平臺系統框圖
圖2 降壓穩壓電路原理圖
信號處理及控制器采用樹莓派4B,擁有4個USB端口,40針pin引腳,其CPU為高性能的64位 ARM Cortex-A72,擁有 4GB RAM,能夠支持無人艇航行監測平臺系統的計算需求和功能擴展。
傳感器采集系統由高精度厘米級別DGPS接收機、攝像機和三維激光雷達組成。DGPS接收機通過轉換器連接到信息處理與控制器的USB口上。將DGPS主機站安置在基準站上進行觀測,基準站已知精密坐標,計算出基準站到衛星的距離改正數,并由基準站實時將這一數據發送出去。浮標上的DGPS接收機在獲取位置信息的同時,也接收到基準站發出的改正數,并對其定位結果進行改正,從而提高定位精度。三維激光雷達通過RJ45接口連接到信息處理與控制器上,該激光雷達內部裝有16對激光發射接收模組,電機以5 Hz轉速驅動進行 360°掃描。其垂直方向上視場角為–15°~15°,角分度2°;水平方向上視場角為360°,分辨率為0.09°。激光雷達安裝在防抖云臺上,其內置Y軸指向正北方向。攝像機通過RJ45接口連接到信息處理與控制器上。清晰度4 MP,180°大廣角,在浮標上安裝2個攝像機便可實現360°監測。攝像機視頻傳輸至岸基實現實時無人艇航行實時畫面顯示,既可作為無人艇自主航行功能測試的參考依據,又可實時監控無人艇,在無人艇遇到危險狀況時能及時采取相應措施。
推進系統選用螺旋槳為推進器,由無刷電機控制其方向。電機驅動模塊通過RS485轉USB模塊連接到信息處理及控制器的USB口上,可以直接給定目標位置(絕對位置或相對于當前的位置)使驅動器轉動到目標位置。驅動器將根據設定的加、減速加速度和最大速度,自動控制電機按照牛頓運動定律迅速、平穩地運動到目標位置。
通信系統用于實現浮標上信息處理及控制器與岸基可視無紙化平臺之間的遠距離通信,工作在2.4 GHz頻段,傳輸距離可達 15 km,通過 RJ45接口和信息處理及控制器連接。
以浮標上的三維激光雷達點云數據和DGPS位置信息為基礎,無人艇航行監測方法分為四個部分,解算出無人艇的航行位置精確數據,為計算無人艇性能評估技術指標奠定數據基礎。
在三維激光雷達獲取無人艇坐標位置時,雷達會不可避免地檢測到海面上其他浮標、無人艇、海面和岸上陸地。為減輕后續雷達點云數據處理的計算壓力,首先過濾過高的點云數據,因此可過濾三維激光雷達點云Z軸的值大于無人艇高度與激光雷達安裝高度之差的點云。在三維激光雷達獲取點云數據時,由于存在電磁干擾、浮標晃動等環境因素影響,點云數據中會存在一些不合理的離散干擾點。為濾除這些離散噪聲點,可計算每個點云數據離附近k個點云數據的平均值,若該值超過設定閾值,則認為該點云數據為離散噪聲點,應當濾除。
海面點云數據量較大,且對后續聚類分割效果影響大,因此應當先對海面點云-非海面點云濾除。本文采用 Ray Ground Filter方法[11],將點云數據的(x, y, z)三維空間降到(x,y)平面來看,計算每一個點到浮標正方向的平面夾角,對360°進行微分,分成若干等份,每一份角度為0.09°(鐳神智能16線雷達的水平光束發散間隔),這個微分的等份近似地看作一條射線,如圖3所示是激光雷達的縱截面與橫截面的示意圖,雷達從下至上分布16個激光器,發射如圖所示的放射狀激光束,同一夾角上由16束這樣的射線。為方便對同一角度的線束進行處理,要將原來的直角坐標系的點云轉換成柱坐標描述的點云數據結構,轉換公式為:
圖3 激光雷達掃描縱截面與橫截面
將同一夾角的線束上的點按照半徑大小進行排序,設定兩個閾值,一個是同一夾角下鄰近兩點的坡度閾值,一個是整個海面的坡度閾值,單位均為度。通過這兩個坡度閾值以及當前點的半徑求得高度閾值,再判斷當前點的高度即當前點的z值是否在海面加減高度閾值范圍內來判斷當前點是否是海面。過濾后的海面點云和非海面點云可視圖如圖4所示,被過濾的海面點云采用白色顯示。
圖4 海面-非海面點云圖
如圖4所示,經過濾之后的點云數據除了包含無人艇之外,還包含其他物體點云。因此,為進一步準確分割無人艇信息,基于歐氏聚類分割方法對過濾之后的點云數據聚類分割,提取無人艇的輪廓邊緣,這是準確計算無人艇外形集合尺寸的基礎。
歐氏聚類分割是一種基于歐氏距離度量的聚類算法,其流程如圖5所示。對于空間某點P,通過KD-Tree近鄰搜索算法[12]找到n個離P點最近的點,這些點中距離小于設定的聚類搜索半徑閾值的便聚類到集合Q中。如果Q中元素的數目不再增加,整個聚類過程便結束;否則須在集合Q中選取P點以外的點,重復上述過程,直到Q中元素的數目不再增加為止。
圖5 歐氏聚類流程
KD-Tree是在一個歐幾里德空間中組織點的基本數據結構,它本質上就是一個每個節點都為k維點的二叉樹。在PCL中,由于點云的三維屬性,所用到的K維樹即為3維樹。本文使用一個2維樹,將點云壓縮成了2維——即將所有點的z值(高度)設為0,因為兩個物體在Z軸方向疊在一起可以將其視為一個障礙物,并且壓縮成2維能加快聚類速度以滿足監測系統感知實時性的需求。構造KDTree時需對數據排序,排序規則為:在二維空間中在根和偶數層比較X軸坐標值(假設根的深度為0),在奇數層比較Y軸坐標值。構造KD-Tree構造流程如圖6所示。
圖6 KD-Tree構造流程
對歐氏聚類分割得到的物體進行幾何特征計算。采用PCL開源點云庫中的有向包圍盒(oriented bounding box,OBB)計算每個聚類點云簇的長寬高,和無人艇幾何特征進行驗證,若其在無人艇幾何特征范圍內,則認為它是無人艇點云簇,計算其中心點坐標。若此中心點坐標與上一幀無人艇點云簇中心點距離超過設定閾值,則摒棄這一點云簇,繼續計算下一點云簇的幾何特征。
浮標上的DGPS接收機經差分計算后可得到浮標的精確經緯坐標,和2.3中計算的無人艇相對浮標的三維坐標值(x, y, z)融合即可計算出無人艇經緯坐標值。DGPS和三維激光雷達分別作為ROS的一個節點,其各自的傳感信息通過話題形式發布到主程序上,主程序通過ROS同步訂閱機制,根據消息的時間戳對DGPS和三維激光雷達發布的消息在時間上進行融合。
如圖7所示,假設浮標在位置O,其經緯度為(lonO,latO),無人艇在位置A,其經緯度為(lonA,latA)。無人艇相對于浮標坐標為(x,y)。
圖7 無人艇坐標圖
水平平移的距度x除以點O浮標所在緯度的切面周長,乘以360°,可求得水平橫向平移了多少度,再加上lonO,即得lonA的值。同理,計算點A浮標的緯度,為垂直平移的距離y除以地球縱向周長,再乘上360 °,求得縱向平移多少度,再加上latO,即求得,latA的值。計算公式如下:
其中,ARC 為地球半徑,本文取 6 371.393 km。
計算出無人艇經緯坐標之后,附上時間戳通過圖傳電臺發送至岸基可視無紙化平臺,保存無人艇航行定位數據,并繪制出無人艇航行軌跡,實現無人艇航行監測,為后續計算性能測試評估指標提供數據基礎。
為驗證無人艇航行監測系統的定位測量效果,在廣州市南沙區龍穴島近海海域進行試驗,海域測試場長 900 m,寬 800 m,深 8 m,把浮標放置在測試場內,場內有一位置固定且經緯度已知的長18.12 m、寬5.24 m、高5.49 m無人艇,即為圖4所示無人艇1號。浮標實物如圖9所示。浮標分別安置在距離無人艇 30~40 m、60~70 m 和 90~100 m 的位置,通過浮標上的無人艇航行監測系統測量解算無人艇的位置信息,與無人艇真實位置數據比較,計算誤差評估其定位測量效果。
圖9 浮標實物圖
三維激光雷達離海面高度約為2.10 m,根據無人艇的高度,先過濾z值大于3.50 m的點云。依據測試場內風速和浪高,設置濾除海面點云時的鄰近兩點坡度閾值為25°,整個海面的坡度閾值為15°,歐氏聚類分割搜索半徑為1.0 m,經濾除海面點云、聚類分割和利用包圍盒計算點云簇的幾何特征后,檢測識別出無人艇點云包圍盒。計算無人艇中心點的X、Y和Z坐標軸的值即為無人艇相對于浮標的坐標。表1為實驗過程浮標定位信息和三維激光雷達掃描的無人艇相對位置坐標,表2為無人艇實際位置數據和浮標傳感系統解算的無人艇位置信息及其誤差。
表1 浮標傳感設備數據
表2 監測系統定位數據對比分析
從實驗結果可以看出,基于浮標的無人艇航行監測系統解算的無人艇位置信息與無人艇傳感系統定位數據的最小誤差為0.33 m,最大誤差為2.03 m,約為0.11個固定無人艇長度,平均誤差為1.34 m,約為0.074個固定無人艇長度,滿足無人艇性能測試要求。
本文設計了一種基于移動式浮標的無人艇航行監測系統,對監測系統相關硬件結構框架進行分析設計,提出一種用DGPS和三維激光雷達融合解算無人艇航行位置的方法,從而實現監測無人艇航行。通過實驗測量海上固定無人艇的信息,驗證了監測系統監測艇航行位置平均誤差為1.34 m,約為0.074個無人艇艇身長度,這對無人艇的性能(自主航行性能、避障性能等)測試結果影響極小,表明了基于移動式浮標的無人艇航行監測系統的有效性,為后續無人艇性能測試奠定基礎。