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