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