蒲小虎,杜 青,王小東
(天津天獅學(xué)院 信息科學(xué)與工程學(xué)院,天津 301700)
水下機器人作為一種高技術(shù)手段,在海洋開發(fā)和利用領(lǐng)域的重要性日漸上升。隨著產(chǎn)業(yè)的發(fā)展,各行各業(yè)迫切需要大量適用于水下作業(yè)的各式各樣的水下機器人[1]。本設(shè)計以水下管道智能檢測的現(xiàn)實場景和未來發(fā)展為主題,利用智能技術(shù)自主設(shè)計一臺按照給定任務(wù)完成水下管道檢測的機器人。該機器人能夠沿著水下管道運動,檢測管道上的吸附物,并發(fā)出警報。任務(wù)執(zhí)行過程中可以不使用包括遙控在內(nèi)的任何人工交互的手段控制水中機器人及輔助裝置。
本系統(tǒng)可分為上位機和下位機兩部分,上位機通過VNC遠程登錄界面可以進行程序調(diào)試、修改閾值參數(shù),還可以進行圖像和信息數(shù)據(jù)的實時監(jiān)測。下位機以樹莓派為主體連接各個傳感器,通過圖像識別技術(shù)實現(xiàn)系統(tǒng)功能,下位機主要包括樹莓派4B、視覺模塊、深度傳感器、電機驅(qū)動模塊、潛水電機、報警模塊和電源電路等,系統(tǒng)框如圖1所示。
圖1 系統(tǒng)框
具體實現(xiàn)的功能如下。
(1)管道循跡:利用樹莓派獲取內(nèi)窺鏡采集的圖像進行數(shù)據(jù)處理,并將處理過的圖像數(shù)據(jù)通過遠程界面窗口顯示出圖像,對其進行記錄;在程序上設(shè)置電機前進、左轉(zhuǎn)、右轉(zhuǎn)和停止的閾值條件,通過設(shè)置的顏色閾值來識別管道,滿足機器人對不同的顏色管道的識別,可以適應(yīng)多種場景和不同的環(huán)境。
(2)對水下場景的拍攝:在進行管道巡檢中,VNC界面會實時顯示畫面,可以使用內(nèi)窺鏡對圖像進行拍照,保存在樹莓派內(nèi)部文件里,可用于分析后期水下場景數(shù)據(jù)。
(3)附著物識別報警:在進行管道巡檢中,可以對管道上的附著物進行形狀識別,并發(fā)出報警。
(4)可以采集水下深度信息。
本設(shè)計主控單元采用樹莓派,樹莓派是一款基于ARM的微型電腦主板,其大小僅比信用卡稍大點。其以SD/MicroSD卡為內(nèi)存硬盤,卡片主板周圍有1個10/100 以太網(wǎng)接口和4個USB接口,可連接鼠標(biāo)、鍵盤、網(wǎng)線,擁有HDMI高清視頻輸出接口和模擬信號的電視輸出接口,以上部件全部整合在1張主板上,具備PC的所有基本功能。擁有40個GPIO引腳,可以連接多個模塊,并且有著強大的可擴張性,可以添加拓展板來增加連接模塊的數(shù)量。設(shè)計中只需接通內(nèi)窺鏡和外圍設(shè)備,就能執(zhí)行實時視頻播放等諸多功能。
本設(shè)計中的電子內(nèi)窺鏡是TYPE-C&Android&PC三合一的,用USB接口跟樹莓派連接便可使用,不用安裝驅(qū)動[2]。電壓為5 V,分辨率有1 080×720和640×480兩種,頻率在30 fps,支持多個系統(tǒng),在本次設(shè)計中用來采集圖像和拍照(JPEG格式)。
L298N是一種具有大電流、高電壓的電機驅(qū)動芯片。該芯片采用15腳封裝。主要特點是:輸出電流大,瞬間峰值電流可達3 A,持續(xù)工作電流為2 A;額定功率可達25 W;工作電壓高,最高工作電壓可達46 V。L298N內(nèi)部含有兩個H橋的高電壓大電流全橋式驅(qū)動器,可以用來驅(qū)動直流電動機和步進電動機、繼電器線圈等感性負載;L298N是使用邏輯電平信號控制;可以外接檢測電阻,將變化量反饋給控制電路。使用L298N芯片驅(qū)動電機,該芯片可以驅(qū)動一臺兩相步進電機或四相步進電機,也可以驅(qū)動兩臺直流電機。本次根據(jù)設(shè)計要求,需要控制兩臺直流電機。
使用蜂鳴器加LED燈組合成一個聲光報警電路,所用蜂鳴器是一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電。這里使用的是高電平,給予它一個高(HIGH)信號就會發(fā)出警報,此時再給它一個低(LOW)信號報警就會停止,在設(shè)計中用來報警。在報警的時候,LED燈也會一并閃爍,進行報警提醒。
水深傳感器采用TE公司的MS5837壓力傳感器,MS5837壓力傳感器是高精度水深測量的理想選擇,水深測量分辨率高達2 mm。MS5837是新一代的高分辨率 I2C 接口壓力傳感器。MS5837壓力傳感器模塊包括高線性度的壓力傳感元件和超低功耗的 24 位△ADC 內(nèi)置工廠校準(zhǔn)系數(shù)。MS5837-30BA壓力傳感器可以提供高精度的24位壓力和溫度數(shù)字輸出,使用者可以根據(jù)實際應(yīng)用需要配置功耗和轉(zhuǎn)換的速度。該型號傳感器的通信協(xié)議簡單,不需要修改內(nèi)部的寄存器,可以與所有形式的微控器配合使用。
LM2596S降壓模塊是由德州儀器(TI)研發(fā)生產(chǎn)的一款降壓模塊,可以產(chǎn)生3 A電流輸出降壓,本質(zhì)上是一種非同步降壓型電源管理單片集成電路的開關(guān)電壓調(diào)節(jié)器。模塊內(nèi)含150 kHz固定頻率振蕩器和1.23 V基準(zhǔn)穩(wěn)壓器。LM2596S具有功能完善的電流限制、熱關(guān)斷電路、保護電路等。該降壓模塊只需要非常少的外圍器件就可以構(gòu)成高效穩(wěn)定的穩(wěn)壓電路[3]。還可以提供3.3 V,5 V,12 V等多種電壓選擇,本次設(shè)計選擇5 V電壓作為需求。
水下推進器是一款全防水的水下推進器,電機的轉(zhuǎn)子做了全面防水措施,可以完全浸泡在水下工作,如果需要在海水環(huán)境下工作,須在工作完畢后用淡水沖洗電機。如果不沖洗電機,電機內(nèi)部的海水干燥后會形成結(jié)晶,影響推進器的壽命。
本設(shè)計是在樹莓派內(nèi)部進行程序編寫,首先用SD卡配置鏡像,獲取樹莓派的IP地址并使用VNC登錄,配置好之后在其內(nèi)部進行程序的編寫和調(diào)試。在本次設(shè)計中使用的是Python語言,在進行編程時要清楚樹莓派GPIO口的定義如何使用和格式。
主程序的運行過程:打開電源開關(guān),系統(tǒng)正常供電,開始初始化,使用內(nèi)窺鏡獲取圖像,樹莓派對獲取的圖像進行處理,開始檢測白色的水下管道,根據(jù)管道的點位不同給電機使能信號,讓電機開始運作,根據(jù)圖像上白色區(qū)域的閾值進行前進、左轉(zhuǎn)、右轉(zhuǎn)。在循跡過程中,內(nèi)窺鏡會識別管道上是否有異物,并對其進行形狀識別。如果是圓形,LED燈(紅)閃爍,蜂鳴器報警;如果是方形,LED燈(綠)閃爍,蜂鳴器報警。主程序流程如圖2所示。
圖2 主程序流程
管道識別需要對內(nèi)窺鏡的實時圖像進行灰度處理,顯示出灰度圖像,然后進行二值化處理。本設(shè)計的測試使用白色管道來進行檢測,在程序中單獨調(diào)用一個二值化圖像的窗口用來識別管道,設(shè)定一個閾值,高于這個閾值為白色,低于閾值為黑色,進行劃線得到白色管道路徑。
要控制機器人的前進,左轉(zhuǎn)和右轉(zhuǎn),需要對當(dāng)前二值化圖像進行處理,求出白色管道的平均點位,再和船在管道正上方的位置時的白色管道的點位(320)進行比較,因為每幀圖像的大小是640×320,當(dāng)船體(管道檢測機器人)在巡檢管道正上方時,所拍攝的圖像中,白色管道在圖像的中心位置,測試管道點位為320左右。當(dāng)所獲得的圖像點位偏離320時,即可判斷船體的形式方向。
形狀識別流程是首先對于獲取的圖像進行腐蝕和膨脹處理,通過卷積核設(shè)置閾值來消除噪點,然后將膨脹和腐蝕過后的圖像分別顯示出來。有了腐蝕和膨脹圖像結(jié)果后,就可以在原圖上繪制輪廓線,通過繪制輪廓線可以獲取形狀面積,這個時候?qū)τ谳喞€的數(shù)量進行一個判定,輪廓線大于13條說明沒有檢測到附著物,反之則有。輪廓線小于13條在連續(xù)5次以上附著物為圓形,反之附著物為方形。
綜上所述,本文所設(shè)計的系統(tǒng)能夠識別水下白色管道并且能夠根據(jù)情況直行、左轉(zhuǎn)和右轉(zhuǎn),能夠發(fā)現(xiàn)附著物并判斷其形狀,能在淺水區(qū)進行有效識別。水下機器人的應(yīng)用在很大程度上可以降低人工巡檢的難度,提高工作效率。隨著社會的進步,水下巡檢機器人在未來會有非常廣泛的應(yīng)用。