高天銘,閆 敬 ,尤康林,張 良,林景勝,羅小元
(1.燕山大學電氣工程學院,河北秦皇島 066004;2.國家海洋技術中心自然資源部海洋觀測技術重點實驗室,天津 300110)
海珍品,例如海參、海膽、扇貝等,富含豐富的蛋白質和微量元素,具有極高的營養(yǎng)價值.近年來,隨著國民收入的持續(xù)增加以及對健康的日益關注,人們對海參為代表的海珍品需求量逐年遞增.目前,通常采用人工作業(yè)的方式對海珍品進行捕撈,潛水員需潛入海中半小時至兩小時不等,長期的潛水作業(yè)一方面對潛水員身體造成極大的危害,另一方面增加了捕撈成本.為保證潛水員的健康安全、提升捕撈效率、降低捕撈成本,亟需設計一套面向海珍品捕撈的水下智能識別與自主抓取機器人.
目前,常用的目標智能識別算法主要分為兩類:1)以Fast R-CNN[1]為代表的二階段算法,其優(yōu)點是擁有較高的檢測精度,例如文獻[2]使用自制數(shù)據集訓練Fast R-CNN模型,并通過核相關濾波算法完成了對海珍品的識別與跟蹤;文獻[3]使用透視變換和光照合成對數(shù)據集擴增,進而使用Fast R-CNN完成海珍品檢測.但上述網絡架構層數(shù)多、在線推理辨識實時性差,不適合水下目標檢測這種實時性要求高的場合;2)YOLO系列[4]的一階段檢測算法,例如文獻[5]將多尺度視網膜的顏色增強算法與YOLO識別算法相結合實現(xiàn)海洋牧場中的魚群檢測;文獻[6]通過空間金字塔結構擴大感受域,將目標檢測轉化為回歸問題,使其具有較高的檢測速度與實時性,但所使用的YOLOv4網絡架構包含162層,過深的層數(shù)導致網絡參數(shù)龐大,對系統(tǒng)硬件要求高.此外,現(xiàn)有的水下目標識別方法通常采用雙目相機進行目標識別,例如Cui等人[7]通過雙目相機中左右目標的四角鄰域匹配以確定水下目標對應位置.Xu等人[8]在高斯混合模型下設定了目標識別的可接受閾值,并使用倫茨畸變模型對雙目相機校正以實現(xiàn)目標定位.然而,雙目相機存在目標搜索范圍窄的不足,此外基于可接受閾值的識別算法對閾值的依賴度過高,尤其當目標位置發(fā)生改變或出現(xiàn)水流等干擾時易產生誤判.如何設計一種網絡結構簡單、搜索范圍廣且誤判率低的水下目標智能識別算法顯得尤為重要.
基于已識別的水下圖像信息,水下機器人對目標的追蹤控制是抓取的基礎與前提.為此文獻[9]使用擴展卡爾曼濾波觀測器預測目標軌跡,并通過模型預測與非線性控制器克服模型不確定和隨機干擾;文獻[10]通過異步定位算法確定水下機器人位置,采用多元概率配置法估計系統(tǒng)模型的不確定參數(shù),最后設計了基于強化學習的跟蹤控制器;文獻[11]構建了合作跟蹤網絡,使水下機器人利用浮標定位估計器獲取自身位置,進一步通過自適應非奇異終端滑膜跟蹤控制器抵達目標.而能否實現(xiàn)海珍品目標的有效抓取將決定整個任務的成敗.為此,文獻[12]利用雙目視覺算法調整水下機器人位姿,進而設計基于角度和電流反饋的比例-積分-微分抓取控制器.文獻[13]通過反向曲率模型求解多自由度機械臂逆運動學,采用自適應控制來抓取水下目標.此外,文獻[14]設計了一種多信號比例反饋控制器,即通過水下機器人的定位信息、深度信息和目標檢測信息的聯(lián)合反饋調整位姿,以實現(xiàn)不同圖像識別狀態(tài)下的目標抓取.上述文獻通常假設水下機器人在抓取過程中深度是固定不變的,而受水流等不確定擾動影響,水下機器人深度呈時變波動特性.上述特性,一方面降低水下目標的識別定位精度;另一方面引起抓取機構的不規(guī)律機械振動,降低抓取效率甚至失敗.此外,考慮水下機器人動力學建模非常困難,文獻[12-14]采用了比例-積分-微分或者比例控制器實現(xiàn)水下目標的抓取,其優(yōu)點是簡單且不依賴于系統(tǒng)模型,但其控制器的參數(shù)選擇將直接影響抓取性能.盡管學者們提出很多適合陸地環(huán)境的參數(shù)調整策略[15-17],但如何考慮水下機器人深度時變波動特性,以設計一種適合水下識別與抓取的比例-積分-微分控制器參數(shù)調整策略仍是一個待解決的問題.
本文搭建了兼具目標識別與抓取功能的水下機器人,設計了水下智能識別與自主抓取算法,并通過水池測試驗證了所提方法的實用性.論文主要貢獻如下:1)設計了具有目標識別與抓取功能的水下機器人,該機器人對器件間通信與人機通信進行聯(lián)合設計,可實現(xiàn)識別與抓取信息的有效反饋,具有操控簡單以及可靠性高等優(yōu)點;2)在YOLOv4-tiny網絡[18]下,提出了基于單雙目自適應切換與多目標選擇的水下目標識別定位算法,與基于YOLOv4網絡的識別算法[6]相比,該算法具有復雜度低的優(yōu)點,與文獻[7-8]相比,該算法通過單雙目自適應切換與多目標選擇策略擴大了目標識別視野、降低了誤判率;3)提出了基于模糊比例-積分-微分的抓取控制器,與文獻[12-14]不同,該控制器加入了定深設計,可克服水下機器人深度時變特性對抓取性能的影響,同時模糊規(guī)則的引入可有效提升控制性能.
如圖1所示,設計了水下圖像智能識別與自主抓取機器人,該水下機器人主要由圖像處理單元、通信單元、控制單元、上位機及機械手抓取單元組成.
圖1 水下抓取機器人樣機圖Fig.1 Prototype of the underwater grasp vehicle
其中圖像處理單元負責接收單雙目相機采集的視頻流,進而通過構建的YOLOv4-tiny網絡完成海珍品等目標的在線識別與定位;通信單元通過串行通信等方式以確保人機之間和各個內部器件之間的數(shù)據傳輸;控制單元根據采集到的傳感器數(shù)據和圖像處理數(shù)據,通過所設計的水下機器人航行與抓取控制器,以實現(xiàn)水下機器人對海珍品等目標的實時趨近與可靠定深抓取;上位機通過接收通信單元傳輸?shù)臄?shù)據,進而完成視頻流和傳感器數(shù)據的可視化;機械手抓取單元根據控制單元指令,通過舵機轉動以調動齒輪機構實現(xiàn)開閉,完成對目標的抓取.基于上述單元,系統(tǒng)硬件主要包含控制艙、電池艙、單雙目相機、照明燈、機械手、測距聲吶以及推進器,其結構關系如圖2所示.
圖2 水下抓取機器人結構關系Fig.2 Structural relationship of underwater grasp vehicle
圖像處理單元將水下視覺裝置采集的視頻流,分別傳輸至控制單元與上位機,以進行反饋決策與在線監(jiān)測.為此,選用樹莓派4B作為圖像處理主板,構建了YOLOv4-tiny網絡完成海珍品等目標的在線識別與定位,并外接一枚邊緣計算芯片提升計算能力,保證識別與定位過程中的實時性.該主板包含4個USB接口,分別外接控制器通訊串口、計算芯片、及單雙目相機;同時其千兆以太網接口,外接控制艙內的電力載波模塊;此外水下視覺裝置由控制艙內的單目廣角相機和艙外的雙目相機組成,其中單目廣角相機置于控制艙半球罩內,具有廣闊的視野,負責遠距離目標的識別;艙外雙目相機置于機械手上方,負責近距離目標的識別與定位.
考慮數(shù)據的有效傳輸和人機交互與自主抓取的需求,從人機通信和器件間通信兩個層面分別設計.具體來說,在人機通信層面,通過IEEE802.11無線通信協(xié)議將手柄控制信號傳輸至上位機;上位機對手柄控制信號進行解算,并將解算數(shù)據和上位機命令傳輸給電力載波模塊,電力載波模塊采用IEEE1901.1有線通信協(xié)議將上述數(shù)據轉發(fā)至樹莓派;與此同時,上位機通過電力載波模塊接收樹莓派的反饋信息,以實現(xiàn)人機通信層面信息的雙向交互.在器件間通信層面,樹莓派通過USB通信協(xié)議接收來自水下視覺裝置傳輸?shù)囊曨l流,并通過通用異步串行收發(fā)(universal asynchronous receiver transmitter,UART)協(xié)議將圖像處理數(shù)據傳輸至控制器;控制器接收樹莓派發(fā)送的數(shù)據,并通過集成電路總線(inter-integrated circuit,I2C)、UART通信協(xié)議接收來自深度傳感器、聲吶、慣性測量單元采集的深度、航速、姿態(tài)等數(shù)據,以實現(xiàn)器件間通信層面上信息的雙向交互.此外,為防止不同鏈路間發(fā)生通信干擾,每條通信鏈路配置了不同的頻帶.
為實現(xiàn)海珍品等目標視頻流和傳感器數(shù)據的可視化,開發(fā)了如圖3所示的上位機.需注意的是,上位機具有顯示和控制兩大功能,不僅能通過調節(jié)參數(shù)、調用運動指令、使用復位命令實現(xiàn)水下機器人的調試、布放和上浮回收,而且可通過傳感器數(shù)值和視頻流的可視化界面,實現(xiàn)水下機器人姿態(tài)信息、深度信息及水下識別與抓取情況的實時監(jiān)測.
圖3 上位機界面Fig.3 Supervisory computer interface
所設計的機械手抓取單元由樹脂機械連桿、連接器件、鋁制機械抓手和防水舵機組成.由于海珍品的種類、大小和硬度不一,為防止抓取力過大損害海珍品,在機械抓手內側海綿置有一個壓力傳感器,在抓取時傳感器壓力探針進行壓力反饋,通過對抓取力的動態(tài)調節(jié)可實現(xiàn)無損抓取.同時當機械手夾緊海珍品時,由于舵機的電氣特性會產生堵轉電流,機械手閉合時間過久會出現(xiàn)堵轉故障,嚴重甚至燒毀控制器.為此,在控制器與機械手之間配置了一枚繼電器,當機械手完成抓取回收動作后,繼電器自動觸發(fā)斷開電路使舵機斷開防止出現(xiàn)持續(xù)堵轉,再次發(fā)送控制信號機械手復位.
水下機器人采用如圖4所示的流程抓取目標:首先使用海珍品數(shù)據集對YOLOv4-tiny網絡進行離線訓練,訓練完畢后將該網絡模型構建至樹莓派;將水下機器人布放至指定海域,利用測距聲吶測量海底深度,并下潛至預設深度,樹莓派通過單目相機采集的視頻流在線搜索識別;水下機器人環(huán)視確認四周是否存在目標,若不存在則調整水平位姿再次環(huán)視,若存在則向目標趨近并調整姿態(tài);隨著水下機器人趨近目標,單目-雙目自適應切換算法關閉單目相機開啟雙目相機對目標識別定位;判斷目標是否處于機械手可抓取范圍,若不在則水下機器人繼續(xù)調整姿態(tài),若在則根據雙目相機所測距離調整姿態(tài)下潛,通過機械手完成目標的定深抓取,抓取完畢上浮至預設深度重復上述步驟;若作業(yè)時間結束,機器人上浮至海面,人員對其進行回收.
圖4 目標抓取主要流程Fig.4 The main operations of the target grasping
水下目標智能識別包括離線訓練與在線識別兩個過程,其中離線訓練過程需要訓練出滿足目標識別要求的網絡模型,在線識別過程需要通過構建的網絡模型完成海珍品的實時檢測.需要注意的是,本文研究重點為真實海洋環(huán)境下的海珍品智能識別和自主捕撈.與陸地環(huán)境不同,海洋弱光照條件由于光線在水中的吸收、散射衰減特性,影響進一步目標識別,通常采用文獻[19-21]的圖像增強算法,解決所采集圖像模糊不清、低對比度及噪聲等問題.本文在物理層面使用兩個黃光照明燈并使光線匯聚在搜索區(qū)域,以表現(xiàn)海珍品特征并還原其色彩對比度,圖像增強部分并非本文的研究重點.
3.1.1 離線訓練
采用YOLOv4-tiny網絡進行水下圖像離線訓練.該網絡主要由主干網絡、頸部網絡和預測頭組成,最小組件由卷積層、歸一化層和泄露線性整流函數(shù)(convolution-batch normalization-leaky-relu,CBL)組成.相比與傳統(tǒng)YOLOv4,其主干部分使用的跨階段局部網絡由原網絡結構簡化而來[22],將提取的特征分為殘差塊和路由層,并將兩部分結果合并輸出至最大池化層以提高計算速度;頸部網絡僅保留特征金字塔結構[23],由預測頭對得到的特征結果預測,可輸出兩個尺度的預測結果.網絡模型總層數(shù)僅有38層,內部參數(shù)由6000萬減小至600萬,降低了復雜度.離線訓練過程包括如下步驟.
步驟1(數(shù)據集建立) 所建立的數(shù)據集包括海參、海膽、扇貝等海珍品.共6000張圖片,結合海珍品視覺圖像的自身特征,對數(shù)據庫中的圖片進行數(shù)據清洗,并將不能表現(xiàn)目標特征的圖片剔除,保證圖片的特征一致性.同時對部分圖片隨機切割和旋轉,并將室內水池模擬環(huán)境采集的500張海珍品圖片一同添加至數(shù)據集.所建立的數(shù)據集包含6000張圖片,海珍品個數(shù)在數(shù)據集中均勻分布,將訓練集劃分為5000張圖片的訓練集和1000張圖片的測試集.
步驟2(標簽劃分) 對數(shù)據集不同種類的海珍品進行標定與標簽劃分.隨后將測試集輸入至YOLOv4-tiny網絡模型中,輸入圖片的大小被調整至416×416以確保輸入的唯一性.
步驟3(網絡訓練) 設置迭代次數(shù)和初始學習率,調整權重衰退因子和抖動因子,防止網絡出現(xiàn)過擬合.采用動量梯度下降法作為學習算法,迭代次數(shù)結束則訓練完成,并得到損失函數(shù).若損失函數(shù)沒有收斂,則增加迭代次數(shù);若收斂則進入步驟4.
步驟4(網絡測試與模型評價) 將測試集輸入網絡模型,根據訓練集和測試集得到的平均精度值(average precision,AP)和平均精度均值(mean average percision,mAP)評價模型性能,若訓練集遠高于測試集考慮出現(xiàn)過擬合,添加訓練樣本返回步驟3調整參數(shù)重新訓練,直到網絡模型在訓練集和測試集皆具有較高的AP值和mAP值.上述模型評價與召回率Rec和準確率Pre有關,定義如下
其中:OIoU∈[0,1]為預測框與真實物體框的交并比,在實際應用中通常取;TP表示OIoU≥時正確檢測的海珍品數(shù)目;FP表示時錯誤檢測的海珍品數(shù)目;FN為漏檢數(shù)目.進一步通過插值計算每種海珍品平均精度值,其中:k為圖片的次序;N為測試集中的圖片總數(shù);?k表示第k張圖片后,具有最大召回率的圖片.mAP值為式(3)中每類海珍品AP值的均值
3.1.2 在線識別
在水下圖像在線識別階段,將已離線訓練的模型嵌入至樹莓派,將單雙目相機實時采集的視頻流作為輸入,識別框的類別和位置信息作為有效反饋,以完成海珍品等水下目標的在線識別.
根據單雙目相機視野范圍不同,以圖5為例,O為原點建立坐標系,將其劃分為以O為原點長度A3寬度B3的單目域、以O為原點長度A2寬度B2的雙目域和以O1為原點長度A3寬度B3的抓取可行域3個區(qū)域.其中,O1點坐標(0,y1),y1為縱坐標;目標識別框中心點O2坐標為(x2,y2),x2為橫坐標,y2為縱坐標;抓取可行域下方器件為機械手在圖像中的示意圖.
圖5 單目-雙目視域劃分示意圖Fig.5 Monocular-binocular field of view division
基于上述可行域,提出了單目-雙目自適應切換算法以完成目標位于不同視域時相機的選擇,擴大水下機器人視野范圍,提高搜索效率.首先利用單目相機識別搜索目標,選擇目標后更新目標的位置(x2,y2);判定目標位置是否位于雙目域,若位于雙目域則切換至雙目相機,開啟雙目測距功能獲取目標的距離信息;繼續(xù)更新目標位置,并判定目標是否處于抓取可行域,若是則根據雙目相機所測距離解算水下機器人抓取需要調整的位姿,若否則水下機器人繼續(xù)向目標趨近調整;最后水下機器人按解算的距離信息調整位姿完成抓取,將雙目相機切換回單目相機.具體實現(xiàn)步驟如表1所示.在上述單雙目相機在線識別階段,檢測頭對一個目標檢測時可能會輸出多個識別框,每個識別框的置信度反映了網絡識別目標的可靠程度
表1 單目-雙目自適應切換算法Table 1 Mono-binocular adaptive switching algorithm
其中Eobj為檢測到海珍品的概率,若檢測到海珍品取1,未檢測到海珍品則取0.并采用非極大值抑制算法,僅保留所獲得的多個識別框中置信度最大值的海珍品識別框,將其余識別框篩除.
此外,真實海洋環(huán)境的海珍品具有聚集特性,針對多個海珍品的目標識別問題,設計了基于多目標選擇的目標持續(xù)選擇算法,以完成對單個目標的持續(xù)選擇與識別.首先,設置海珍品置信度閾值?vp并采集k幀視頻流,按照式(4)計算置信度,若某一幀某海珍品置信度小于該閾值,則將該海珍品篩除,計篩除完畢后剩余海珍品的總數(shù)為q,并計算上述k幀中第j個海珍品的置信度均值即
其中:i為圖片的幀數(shù);j=1,2,···,q為海珍品標號;表示第i幀中的第j個海珍品的置信度.取平均置信度最大海珍品為所期望目標,并記錄該目標的種類和坐標(m,n).隨后計算第k+1幀每個海珍品與第k幀所選擇目標(m,n)的歐氏距離Lj,即
其中:a與b為正常數(shù)為第j個海珍品在第k+1幀的坐標,xj為橫坐標,yj為縱坐標.進而計算每個海珍品的相似度得分Sj
其中:c1,c2與c3為權重系數(shù),當海珍品與被選擇目標為同一類時η=1,否則表示第k+1幀第j個目標的置信度.基于此可求得相似度得分最大值的海珍品即為第k+1幀選擇目標.重復上述步驟,即可實現(xiàn)單目/雙目目標識別過程中對單一目標的持續(xù)選擇,具體實現(xiàn)方式如表2所示.
表2 基于多目標選擇的目標持續(xù)識別Table 2 Target continuous recognition based on multitarget selection
在上述識別基礎上設計雙目視覺下的目標定位策略.設f為雙目相機焦距,左右目相機光心距離為T.在水平不同位置采集圖像時,目標在左右兩個平面成像橫坐標為xl與xr,視差即為Δx=xl-xr.根據相似三角形原理得出目標到相機的理論距離值Z
利用塊匹配方法[24],可得出雙目相機采集圖像的最小絕對誤差矩陣(sum of absolute differences,SAD),即
其中:λ為正方形滑動窗口的邊長;l為滑動窗口在右相機的覆蓋區(qū)域,r為滑動窗口在右相機的覆蓋區(qū)域;α與β分別為滑動窗口內像素點的橫縱坐標.
測距過程可歸結為:獲取目標點在雙目左相機中位置(x2l,y2l);在左相機以目標點坐標為中心用λ×λ大小的窗口覆蓋,得到像素區(qū)域l,并在右相機的同一行選擇起始點,使用同樣大小窗口覆蓋,得到像素區(qū)域r;根據式(9)計算SAD值,以τ為步長沿同一行滑動右相機窗口r,得到該行像素點的SAD矩陣;該矩陣中數(shù)值最小的一項為左右相機的最佳匹配塊,可得到目標在右相機中的位置(x2r,y2r),左右相機的橫坐標之差即為所求視差Δx=x2l-x2r;根據式(8),可計算出目標到雙目相機的距離Z.需要注意的是,所使用的雙目相機為集成了左右目相機的模組,視頻流已在模組內部合成,經過目標識別再劃分為左右目圖像.若使用兩個獨立單目相機分別采集兩路視頻流進行識別,兩相機可能不能同時識別目標從而無法求取視差,且難以保證采集圖像的同步性.
自主抓取分為水下機器人深度控制和趨近控制兩部分,其中深度控制過程需要水下機器人根據反饋的深度信息,完成定深搜索及定深抓取;趨近控制過程需要水下機器人根據所識別目標位置的反饋完成水平位姿的調整并趨近目標.
3.2.1 水下機器人深度控制
水下機器人深度控制分為定深搜索及定深抓取兩部分,需要深度信息的精確反饋.測距聲吶通過向海底發(fā)射聲束,聲束到達海底會產生回波,通過聲束收發(fā)的時間差即可測算當前水下機器人距離海底的距離.但當水下機器人貼近海底抓取時,回波信號太強,會造成數(shù)據紊亂導致聲吶失效;深度傳感器可通過外部探針感知當前深度水壓,而深度與水壓存在映射關系,通過與海面水壓值比對,即可解算出當前所處深度.但隨著下潛抓取深度增加,海水的溫鹽深會使誤差累積,從而影響測深精度.為此,采用一種聲吶-深度傳感器的聯(lián)合定深策略保證深度信息的精確反饋,一方面解決短距離聲吶回波過強引起的聲吶失效問題,另一方面減小海水溫鹽深帶來的不利影響:在定深搜索過程采用測距聲吶定深.首先將水下機器人布放至指定海域海平面,由測距聲吶計算海平面到海底的垂直距離H,隨后下潛至期望深度Ed1,并保持該深度識別搜索
其中:He為聲吶失效距離;δ為保證清晰識別條件下調整的深度,二者由試驗測得.在下潛抓取過程中采用深度傳感器配合雙目測距信息定深.具體來說,水下機器人搜索到目標后向目標進行趨近,當目標處于圖5中劃分的的抓取可行域時,再開啟深度傳感器測量此刻深度h.同時雙目相機對目標識別框中心點測距,水下機器人根據測距結果調整自身位姿,首先前進cosθ(Z+Δz),再下潛sinθ(Z+Δz)以完成抓取.其中Δz為雙目測距修正誤差,θ為雙目相機傾角.在上述下潛抓取過程,不論雙目相機是否能識別目標,水下機器人都將根據雙目測距結果調整位姿.則定深抓取時深度傳感器的期望深度
基于上述深度信息的反饋進行深度控制.根據水下機器人所處深度不同考慮以下情況:1)處于海平面,機身未完全浸沒海水,浮力較小;2)定深搜索,機身完全浸沒海水,浮力增大;3)定深抓取,此時距海底較近,推進器高速旋轉加快海底與水下機器人間水流流速,產生向下壓力.因此深度控制參考圖6所示的深度控制框圖.深度環(huán)采用模糊比例-積分-微分控制下潛深度,確保在識別搜索和抓取過程完成期望深度的定深;角度環(huán)采用比例-積分-微分控制俯仰角,以確保豎直下潛.其中,d,?為當前深度和俯仰角,俯仰角可由艙內慣性測量單元測得;Ed,E?為期望深度和期望俯仰角;ed,e?為深度及俯仰角偏差;v1,v2為深度環(huán)、角度環(huán)輸出的推進器轉速,對應的推進器輸出轉速v可由下式求得
圖6 深度控制框圖Fig.6 The block diagram of depth control
其中:ζ=1,2,···,Ω為采樣時刻,Ω為采樣時間;Δed,Δe?為深度和俯仰角在相鄰采樣時刻的差值;γ為使水下機器人在海水中處于懸停狀態(tài)時的推進器轉速值;KP1,KI1,KD1分別為深度環(huán)比例、積分、微分增益系數(shù),通過下式整定
式中:K′P1,K′I1,K′D1為深度環(huán)的比例、積分、增益初值,ΔKP1,ΔKI1,ΔKD1為模糊控制器的比例、積分、微分增益輸出,該模糊控制器以當前深度d為輸入,以ΔKP1,ΔKI1,ΔKD1為輸出,將輸入輸出劃分為S,M,B3個模糊子集分別代表小、中、大,并制定了3條模糊規(guī)則.KP2,KI2,KD2為角度環(huán)比例、積分、微分系數(shù).
3.2.2 水下機器人趨近控制
在水下機器人向目標趨近過程中,按圖5計算目標點與抓取可行域中心點的橫縱偏移量ex,ey及相鄰采樣時間的偏移量差值Δex,Δey,根據目標所處位置不同分為以下兩種趨近策略:1)當y2∈時,水下機器人調整偏航角使ex=0,再行進至ey=0.2)當時,水下機器人首先橫移運動至ex=0,再縱移至ey=0.兩種策略首先皆根據橫偏移量調整偏航角或進行橫移,由于水下機器人在調整ex時受水流影響較大,故在該過程中采用模糊比例-積分-微分控制,在調整ey時采用比例-積分-微分控制.所對應的推進器轉速由下式求出
其中:v3,v4為調整橫縱偏移量輸出的推進器轉速,模糊控制器輸入為ex,Δex,ΔKP3,ΔKI3,ΔKD3為輸出.KP3,KI3,KD3為調整橫偏移量的增益,KP4,KI4,KD4為調整縱偏移量時的增益.
如表3所示,使用相同的數(shù)據集訓練了YOLOv4-tiny、YOLOv4和YOLOv3-tiny三種網絡模型作為對比.其中YOLOv4的mAP值可達86.32%,識別速度僅有4.6 FPS;YOLOv3-tiny雖然檢測速度最快,可以達到24.3 FPS,但mAP值僅有68.85%;而本文采用的YOLOv4-tiny網絡mAP值為80.4%,檢測速度為18.0 FPS,在樹莓派的檢測速度為9.3 FPS,可兼顧在線識別精度和速度的需求.
表3 網絡模型性能對比Table 3 Performance comparison of network models
此外,在數(shù)據集和室內水池完成了目標識別測試,結果如圖7所示.圖7(a)-(b)為數(shù)據集測試結果,所訓練的YOLOv4-tiny網絡識別了所有的海珍品;圖7(c)為室內水池正常光照下的識別場景,k=10,受水下機器人運動影響,中心的海參被誤識別為扇貝且具有7.7%的最大置信度,但結合前10幀的海珍品種類、歐氏距離及置信度計算相似度得分,算法將其篩除并選擇圖7(d)中右上角正確識別的海參.圖7(e)為夜晚僅開啟照明燈模擬海底弱光照的場景,受水下機器人運動及弱光照特征缺失影響,右側的海參被誤識別,但圖(f)中的扇貝目標物被最終選定.由此證明了所設計的算法一定程度上能篩除誤識別的海珍品并有效實現(xiàn)單一目標的持續(xù)選定,從而防止多目標情況因決策失誤導致的誤抓取.
圖7 海珍品識別結果Fig.7 Recognition results of precious seafood
在目標定位試驗中,所使用的雙目相機焦距為f=3mm,光心距離T=60mm.在水池中經過標定得到該相機內部參數(shù).隨后將一扇貝目標置于視野范圍中的抓取可行域,進行如圖8所示測距試驗,其中左側彩圖8(a)為扇貝目標圖像,右側黑白圖像(b)為采用所設計的算法生成的視差圖.試驗結果如表4所示,最后經過抓取試驗調整設修正誤差z=6cm,水下機器人在定深抓取過程中,將修正誤差引入式(11)中,使定深更加精準,提高抓取的成功率.
圖8 雙目測距試驗Fig.8 Experiment of binocular distance measurement
表4 雙目測距結果Table 4 Results of binocular distance measurement
為驗證控制器的定深性能,在室外湖泊進行了水下機器人定深下潛試驗.湖泊水深3.7 m,設置定深識別深度及定深抓取深度為3.1 m和3.68 m.分別采用所設計的模糊比例-積分-微分控制器和比例-積分-微分控制器進行對比定深試驗.使用兩種方法的深度軌跡如圖9所示,可以看出在3.1 m深度時,兩種方法均可實現(xiàn)定深,但模糊比例-積分-微分控制器超調較小;深度為3.68 m時,使用比例-積分-微分控制器在定深過程中,由于水流流速加快引起附加壓力被反復壓向湖底,從而在圖中表現(xiàn)出震蕩,無法完成定深.而使用所設計的模糊比例-積分-微分控制器在兩種深度均可實現(xiàn)定深,證明了該控制器的有效性.
圖9 深度控制軌跡Fig.9 Depth control trajectory
為驗證所設計水下機器人的抓取性能,在室內水池布放了海參模型進行了如圖10所示自主抓取試驗.該室內水池水深0.7米,定深識別及定深抓取深度分別為0.1米和0.69米,t為時間,紅色虛線圈為待抓取的海參目標物.圖10(a)-(d)為抓取過程中的俯視圖,在上述自主抓取過程中,所搭載單雙目相機傳回上位機的實時視頻流如圖10(e)-(j)所示.在圖10(f)中水下機器人識別到了目標并向其趨近,直至圖10(g)中t=11s時,目標位于視域中的預設位置,單目-雙目自適應切換算法切換至雙目相機,切換后的圖像如圖10(h)所示.圖10(i)為開啟雙目測距并調整位姿進行定深下潛抓取,最終如圖10(j)完成了該海參目標的抓取.值得注意的是,在圖10(h)中可以清楚地看見兩個海參,但依然可以完成對目標的選定,再次證明識別算法的有效性.
圖10 室內水池自主抓取試驗Fig.10 Autonomous grasping experiment in indoor pool
本文研究了水下機器人目標識別與抓取控制問題.在硬件層面采用器件間通信與人機通信聯(lián)合設計的方式,設計了水下機器人的各個單元.在軟件層面采用YOLOv4-tiny網絡提出了基于單雙目自適應切換與多目標選擇的水下目標識別定位算法,進而設計了基于模糊比例-積分-微分的抓取控制器.最后通過試驗驗證了所提出方法的實用性,所設計的目標識別算法具有復雜度低、視野大以及誤判率低的優(yōu)點,同時抓取控制器可克服深度時變特性的影響.