李林葳,王 衡,盧震宇,李硯禾,劉振宇,關(guān)宇澤
(1.山西農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山西太谷 030801; 2.山西農(nóng)業(yè)大學(xué)工學(xué)院,山西太谷 030801)
中國是世界上最大的水產(chǎn)品生產(chǎn)和消費國之一,且水產(chǎn)養(yǎng)殖一直處于高速增長[1]。水產(chǎn)養(yǎng)殖需要及時了解水下狀況,但人工檢測人力和時間成本較高,多點檢測存在布控點有限的問題。因此水產(chǎn)養(yǎng)殖的無人化全覆蓋監(jiān)控對水產(chǎn)養(yǎng)殖業(yè)發(fā)展具有顯著意義。
為此,江西省建成智慧漁業(yè)示范基地,采用多平臺控制的智慧漁業(yè)系統(tǒng)[2];盛平等[3]研制了可實時檢測水質(zhì)參數(shù)的智能養(yǎng)殖裝備,集增氧、投飼于一體,且具有遠程智能控制等功能;景新等[4]設(shè)計了自動投飼系統(tǒng),提高了飼料的利用率;王勇平等[5]采用機器視覺設(shè)計了智能投飼系統(tǒng);溫繼文等[6]構(gòu)建了魚病遠程監(jiān)測預(yù)警與診斷系統(tǒng);劉雙印等[7]研制了對蝦疾病具有遠程智能診斷功能的系統(tǒng);黎柱坤等[8]研發(fā)了用于水產(chǎn)養(yǎng)殖的水下機器人,以實現(xiàn)水中穩(wěn)態(tài)控制、實時測量、實時拍攝功能。
從研究現(xiàn)狀來看,當前水產(chǎn)養(yǎng)殖的無人化監(jiān)控,主要將重心放在基于傳感器的物聯(lián)網(wǎng)監(jiān)控系統(tǒng),或通過無線圖傳將水下情況發(fā)送回用戶端。但物聯(lián)網(wǎng)系統(tǒng)對傳感器布控點要求較多,而依賴圖像處理的系統(tǒng)中,攝像頭能見度易受水質(zhì)影響,且主流水下機器人在巡游方面仍需要人為操控,為此本文提出將現(xiàn)有常見水下管道改造為循跡管道,結(jié)合DTX2 ROV機器人機體,以STM32F103C8T6為控制核心,通過FU-35FZ光纖傳感器和E18-D80NK紅外傳感器配合識別檢測管道上的外邊緣和簡易標識,來實現(xiàn)機器魚的自主巡游,以為后期搭載單套傳感器實現(xiàn)全水域監(jiān)控奠定基礎(chǔ)。
由于水下管道多以白色PVC管為材料鋪設(shè)成環(huán)形或U形,所以本文利用水下管道可塑性強的特點,在不影響水下物料供應(yīng)的前提下,將其設(shè)計為覆蓋特定水域,并在管道外側(cè)的正上方粘貼黑色膠帶,利用水下機器魚對管道的邊緣與黑色標識的識別,來完成對水下特定區(qū)域的巡游。
機器魚以與尾鰭連接的舵機為動力,實現(xiàn)對管道的循環(huán)檢測,并沿管道外邊緣不斷自動修正運動方向,為此本文利用光纖傳感器靈敏度高的優(yōu)點,將其用來進行自主巡游;而針對光纖傳感器價格較高的缺點,本文使用價格較低的紅外傳感器來實現(xiàn)標記點的檢測。
為此,本文提出在魚頭和魚尾左右兩側(cè)各安裝一個FU-35FZ光纖傳感器用于循跡;在右前方探出一只光纖傳感器,用來檢測右轉(zhuǎn);同時,在魚頭正下方安裝三個E18-D80NK紅外傳感器用來識別黑色標識,以確定自身所在位置。機器魚具體硬件部署如圖1所示。
圖1 機器魚結(jié)構(gòu)
本文以STM32F103C8T6為水下機器魚的中控系統(tǒng),為水中機器魚的水下巡游提供協(xié)調(diào)統(tǒng)籌能力。系統(tǒng)框架結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)框圖
當機器魚的光纖傳感器檢測到信號時,通過FS-V11信號放大器將信號傳輸?shù)介_發(fā)板中,檢測到信號即傳回0,未測到即為1,因此通過5個光纖傳感器的總計16種情況來進行方向的修正和轉(zhuǎn)彎。
本文使用PA8、PB11、PB12、PB13、PB15五個外置IO口來分別連接外置光纖傳感器,其中魚頭左側(cè)傳感器連接PB12,魚頭右側(cè)傳感器連接PB15,魚尾左側(cè)傳感器連接PB13,魚尾右側(cè)傳感器連接PB11,魚頭右前傳感器連接PA8。傳感器不同電平值對應(yīng)速度(Reg.Speed)和擺動方向(Reg.Direct)如表1所示,具體編碼值需依實際環(huán)境調(diào)整。
表1 傳感器傳回電平組合及處理方式
紅外傳感器有一個傳感頭,外置正極,負極和信號傳輸線共三根導(dǎo)線;內(nèi)置一個光信號發(fā)射裝置,一個光信號接收裝置和一塊信號處理板塊。當光信號接收裝置檢測到有信號傳回,通過信號線傳出低電平,否則傳出高電平。而LED小燈和有源蜂鳴器可以通過高低電平來控制。通過對黑色標志位計數(shù)和已知標志位對應(yīng)在游泳池的位置,即可使機器魚判斷自己所處位置。
為此,本文把紅外傳感器的負極接LED燈和有源蜂鳴器的負極腳接入電池負極,把紅外傳感器的正極直接接入電源正極(紅外傳感器的適應(yīng)電壓在6V~36V),紅外傳感器的信號線直接與LED燈和蜂鳴器的正極相連。當紅外傳感器沒有檢測到物體時傳出高電平,LED燈和蜂鳴器就會做出相應(yīng)的反饋,而當紅外傳感器檢測到物體時傳出低電平,LED燈和蜂鳴器無反應(yīng)。
機器魚的動力主要由魚尾的舵機操控尾鰭擺動來完成。硬件上,核心板通過PA15(或PB3)、+5 V電源口和GND口等三個IO口控制舵機;軟件方面則依賴PWM的相關(guān)輸出函數(shù)來調(diào)控舵機。通過“#include”來調(diào)用庫函數(shù)"Timer.h",然后通過void Timer1Initialize(void)來設(shè)置基本參數(shù),通過RTem[JointCount]和XTem[JointCount]函數(shù)實現(xiàn)尾鰭控制,其中Reg.Speed函數(shù)控制頻率,Reg.Direct可以控制方向。
傳感器傳輸信號到控制板后,控制板給舵機傳輸信號,機器魚的方向由數(shù)字0-14從左到右來控制,機器魚的速度由數(shù)字1-15從慢到快來控制。本文在主函數(shù)中使用Reg.ServoOffset[0]語句來改變尾鰭的中值,使得尾鰭的中值適應(yīng)自己的開發(fā)板,能夠在方向為7時延直線游動。
轉(zhuǎn)向方面,本文根據(jù)光纖傳感器的傳回信號組合,通過const float RTem[16]設(shè)定擺動幅度,其中用數(shù)字變化進行調(diào)控,以便于機器魚的轉(zhuǎn)向和方向微調(diào)。
速度方面,本文以尾鰭的擺動頻率函數(shù)const double FTem[16]設(shè)定舵機擺動頻率,本文設(shè)定了16種尾鰭擺動頻率,方便進行細小的擺動調(diào)控。
本文搭建了如圖3所示的模型對設(shè)計的自主巡游機器魚進行檢測。場地中的白色PVC塑料管按環(huán)形布置,管道上方黑色圓形膠帶用以輔助機器魚確認位置。機器魚從圖左上角所示位置投放使其進行自主游動。
圖3 測試場地效果圖
測試結(jié)果顯示:紅外傳感器發(fā)出的紅外線,黑色的反射識別距離最短,藍色稍長,白色最長。為確保機器魚準確辨識目標,需要使得發(fā)出去的紅外線遇到黑色區(qū)域無法返回,在藍色區(qū)域有返回光信號,且在白色區(qū)域內(nèi)也有返回光信號。
經(jīng)多次試驗發(fā)現(xiàn)紅外在空氣中檢測范圍約為7 cm~9 cm,但當在水中能夠檢測到藍色底面有返回光信號,并且黑色不返回光信號時,紅外距離水池底面的距離約為8 cm~10cm,距離管道頂部約為1 cm~2cm。而光纖在空氣中的檢測范圍在10 cm左右,在水中的檢測范圍影響可以忽略不計,但是需要注意光纖檢測受到水面反射光的影響。
1) 本文提出在不影響PVC管道進行物料輸送的前提下,對其進行設(shè)計,以實現(xiàn)對特定水域的覆蓋。
2) 本文以STM32F103C8T6為控制核心,通過FU-35FZ光纖傳感器和E18-D80NK紅外傳感器相配合來感知環(huán)境,并通過舵機來調(diào)整機器魚的直行和轉(zhuǎn)彎。
3) 本文設(shè)計的機器魚實現(xiàn)了設(shè)備可以按照既定軌跡自主巡游,同時對水質(zhì)的要求相對較低,為水下養(yǎng)殖的信息化、智能化發(fā)展提供一定的思路。