袁華清 高兆光 高建華 姚爽


摘? 要:本文設計了一款ROV自主避障系統。主要針對現有水下無人機無法實現低成本、高效率水下潛行等問題,通過機載的GPS、慣性測量單元和高性能的嵌入式處理器等估計并控制水下無人機的姿態和位置,實現無人機潛水、航行、上浮等功能。設計特定的水下機器視覺探測系統,搭配LED照明燈對水底地形和障礙物進行監測,經過圖像處理后,與上位機實現實時的數據傳輸,完成避障功能。
關鍵詞:圖像識別;嵌入式;ROV
一、引言
目前所有種類的水下無人航行器都面臨一個共同問題:在控制技術、動力系統、電池技術、仿生技術都已取得豐碩成果的時候,ROV仍需要專業人員在岸上根據水下高清攝像機提供的實時監控視頻來判斷和操作,這就導致在深海復雜環境下,無法更好地完成各種作業使命和其自身生命安全。因此,基于水下航行器,研究一套可實時自動識別水下環境進而實現避障功能的系統,使水下航行器可以對周圍環境障礙物可能造成碰撞危險進行感知并作出相應響應,提高航行安全度就很有必要。
二、系統硬件設計
智能化的ROV自主避障系統硬件設計主要包括水下機器視覺平臺、中央控制系統兩大部分。水下機器視覺平臺是本文研究的重點,包括照明燈、單目攝像頭和高性能處理器等裝置,負責采集圖像、收集圖像并進行預處理和與上位機進行數據傳輸,同時視頻采集卡的影像模塊采用OpenCV庫進行二次開發,完成更加復雜的圖像識別算法。中央控制系統設計負責解析上位機障礙物目標檢測后所發出的避障指令,調節PWM完成避障動作。中央控制系統與上位機通過RS485電纜串口通信,水下機器視覺平臺部分與中央處理器以及上位機通過串口通信。基于機器視覺的ROV自主避障系統硬件結構框圖如圖1所示。
1、水下機器視覺平臺設計
水下無人航行器(ROV)在檢測水下障礙物時,先采用單目攝像頭拍攝水下環境以獲取相應的視頻信號,然后用視頻分離芯片分離該視頻信號,再通過AD轉換將視頻信號轉換成數字信號,繼而可被上位機進行圖像處理。因此,水下機器視覺平臺的主要目標有:采集圖像、收集圖像、圖像預處理以及與上位機間的通信。單目攝像頭的選取也尤為重要,目前市場的模擬攝像頭有兩大主流:CCD和CMOS。兩者在效能與功能上有許多差異,綜合比對,選擇CMOS攝像頭。
2、ROV避障系統設計
ROV避障系統基于水下無人航行器的中央控制單元所操作,有動力系統、慣性測量單元、和電源部分。在本文中,避障系統負責接收上位機經圖像處理對障礙物目標標定后對當前ROV姿態所做出的調節指令,通過調節PWM波,進而改變電機的運行方向和速度,完成避障動作。
三、系統軟件設計
1、水下機器視覺平臺軟件設計
(1)下位機圖像預處理軟件設計部分
為了對水底可能存在的障礙物進行識別以及避障,通過AD采樣獲取到的數字信號進行算法分析處理,本文采用邊緣檢測方法來實現障礙物的尋找。
(2)噪音處理
任何邊緣檢測算法都不可能在未經噪音處理的原始數據上計算出很好的結果,所以第一步是對原始數據進行噪音處理。將數據與高斯平滑模板作卷積,得到的圖像雖然與原始圖像相比有些輕微的模糊,但對于要進行邊緣檢測算法運算的圖像數據,這點損失是微不足道的。單獨的一個像素噪聲在經過高斯平滑的圖像上變得幾乎沒用影響。
(3)邊緣檢測算法
本文擬采用的邊緣檢測算法的核心是軟件二值化算法。即首先對AD采集到的數字化圖像進行二值化,該算法首先尋找列邊緣。計數第一列黑點的數目,如果第一列黑點的數目超過閾值,認為該列有障礙物,此時記錄下黑白變化的邊緣;如果第一列黑點的數目超過閾值,認為該列有障礙物,此時記錄下來黑白變化的邊緣;如果第1列黑點的數目未超過閾值,認為該列沒用障礙物,則認為該列不存在障礙物邊緣。行邊緣檢測算法同理。障礙物中心提取算法的流程如圖2所示。
2、上位機采用OpenCV對圖像進行二次開發的軟件設計
本文采用PC端作為上位機,通過Windows操作系統下的VS+OpenCV對下位機傳送過來的數據進行更復雜的圖像識別算法。
(1)提取視頻流并顯示
單目攝像頭的原始視頻信號傳輸到視頻采集卡,以使攝像頭虛擬化,實現物理獨立性。攝像頭采集到的模擬視頻信號傳輸到上位機后可以顯示出較清晰的圖像,能夠作為對水下環境和水下無人航行器行為的監控。同時該模擬信號可以使用OpenCV庫進行處理和計算,從而完成更加復雜的圖像識別算法。
(2)串口通信連接、數據接收與顯示
因新興的水聲技術不成熟,無法保證本基于機器視覺的ROV自主避障系統對數據傳輸的實時性與準確性要求,所以特采用RS485電纜通信。對傳輸數據進行奇偶校驗,在確保大部分數據包沒用丟失的情況下進行顯示,方便調試。
(3)數據的保存與還原播放
為了方便調試和場景還原,上位機實現了數據的保存和還原播放功能。在接收到數據幀的時候不僅將數據顯示在文本框中,還將數據保存到擴展名為.fish的二進制文件中。保存格式采用每一幀的接收格式,在還原播放時將接收數據的來源重定向到.fish二進制文件中即可,達到復用功能的目的。
(4)避障系統的軟件設計
避障系統在接到上位機經圖像處理后對障礙物目標標定后所做出的避障指令后,系統應及時對命令進行解析,通過調節PWM波,控制各個電機的運動狀態,完成避障動作。
四、結語
本文設計了一種具有水下自主避障功能的水下無人航行器裝置,該系統不但具有成本低下,方便操作的特點,而且功能完備、運行效果良好。系統結合了嵌入式軟硬件開發與圖像處理等相關知識,實現了水下自主避障的效果。
參考文獻
[1]? 代威,張雯,張瀝,等.國外海洋無人航行器的發展現狀及趨勢[J].兵器裝備工程學報,2018,39(7):33-35.