姜 海,張鳳濤,鐘 晨,趙偉鵬,陳塏格
(長春師范大學(xué)工程學(xué)院,吉林 長春 130032)
傳統(tǒng)的人工下水檢修不僅人力資源消耗大且存在極大的安全隱患,同時這類問題也引來了很多的討論。為此,本文設(shè)計了一款專用于水中的機器人,主要用于對管道的沿途檢測。本設(shè)計主要功能是使機器人在水中工作時通過攝像頭進行循跡,當(dāng)自身偏離航道之后可以通過主控板對電機的控制進行航道重新拾??;在循跡過程中可以通過攝像頭進行物塊識別,再將信息傳輸?shù)较到y(tǒng),由主控板將信息傳遞出來。
采用ATMEGA2560單片機。ATMEGA2560單片機是現(xiàn)今常使用的單片機,能實現(xiàn)的功能多于AT89C51,最主要的是它的54路數(shù)字輸入輸出,滿足本設(shè)計模塊多串口需求量大的要求。其次它本身可以通過3種方式供電,使用USB接口直接供電在進行程序編輯過程中可以給予極大便利;電池連接GND和VIN引腳又可以直接驅(qū)動整體。新版ATMEGA2560新增的IOREF與預(yù)留管腳兼容擴展板的特點也滿足不時之需。6路的外部中斷,在多程序循環(huán)過程中也可以起到十分重要的作用。
采用OpenMV機器視覺模塊。OpenMV機器視覺模塊本身就可作為一個處理核心,但由于串口較少,就只令其作為循跡模塊使用。在水中,可以先采集周圍環(huán)境與管道視角對閾值進行調(diào)整,較之紅外傳感器的手動調(diào)整光感優(yōu)勢極大,同時外接顯示器可以在測試時及時對運行識別狀況進行調(diào)整。
同樣采用OpenMV機器視覺模塊。空氣中與水中視覺差別較大,傳統(tǒng)的紅外傳感器在進入水中后受到的影響較大,且在進入深水后同樣的限制條件下需要重新進行聚焦。而OpenMV機器視覺模塊的視覺算法能靈敏地識別出物塊的形狀,它優(yōu)秀的處理功能在編程過程中能通過程序?qū)π枰R別的物塊提出限制條件,讓它能夠?qū)崿F(xiàn)物塊辨別的功能。由此,可以連接電腦在現(xiàn)場選擇物體進行信息采集,觀察對應(yīng)的物體是否被紅線框出,再選擇是否修改程序,這樣在設(shè)計過程中就不再需要進行整體修改。
采用直流電機驅(qū)動。直流電動機更易控制,只需接入電路對輸出的PWM進行控制就可以實現(xiàn)電機的正、反轉(zhuǎn)及停止功能。
一組直流電動機與船體平行擺放控制船體的啟停及轉(zhuǎn)向。這種方式在運行過程中動力不足,且在水中進行轉(zhuǎn)向時會因為慣性以及水施加的力脫離軌道,且無法利用編程使其自動調(diào)整軌跡。
采用兩組直流電機菱形擺放控制船體的啟停及轉(zhuǎn)向。這種方式在運行過程中能夠準(zhǔn)確地以船體為中心向X、Y軸的正負(fù)方向平穩(wěn)移動,且動力充足,轉(zhuǎn)向過程中利用編程可以在船體受慣性以及水施加力的情況下自動調(diào)整軌跡。
采用L9110S芯片作為電機驅(qū)動芯片。該芯片有兩個TTL/CMOS兼容電平的輸入,具有良好的抗干擾性,同時每個通道800 mA的實際通過電流與1.5 A最大電流,在保證電機驅(qū)動的最大利用下同時保證了安全性。兩個輸出端能直接驅(qū)動電機的正反向運動,且該模塊體積較小,管腳少,組裝方便。
(1)控制系統(tǒng)電路設(shè)計
船體主要控制系統(tǒng)由單片機ATMEGA2560、OpenMV機器視覺模塊、電機驅(qū)動模塊及電機等組成。由此繪制其結(jié)構(gòu)圖,如圖1。
核心控制模塊:單片機ATMEGA2560。
循跡、物塊識別模塊:OpenMV機器視覺模塊。
電機驅(qū)動模塊及電機:電機驅(qū)動芯片L9110S、直流電機。
(2)電機驅(qū)動模塊及電機
采用兩塊以L9110S為驅(qū)動芯片的驅(qū)動模塊,每一塊控制一組電機,兩電機分別接入驅(qū)動模塊的IA、IB串口,通過改變PWM控制電機的正、反轉(zhuǎn)及停止。在運行途中,單片機通過控制電機的啟停,正、反轉(zhuǎn)進而使船體在轉(zhuǎn)向及脫離軌道時能夠自行調(diào)整從而順利循跡。
(3)循跡模塊
采用OpenMV機器視覺模塊,通過Python語言進行編程,使OpenMV機器視覺模塊通過自身算法,通過拍攝信息采集后,在電腦上進行對管道識別的閾值調(diào)整,將閾值輸入程序中,使模塊能夠精準(zhǔn)識別。
(4)物塊識別模塊
采用OpenMV機器視覺模塊,OpenMV機器視覺模塊本身自帶的視覺算法使其可以進行邊緣檢測,同時編輯程序給出條件,使其能夠通過自身判斷之后將信息傳輸?shù)街骺匕?,再通過主控板將識別的信息反饋出來。
系統(tǒng)電路原理圖如圖2。
OpenMV機器視覺模塊:OpenMV模塊自帶CPU核心,在程序編輯過程中將子程序編入其中,使其能夠獨立運行,實現(xiàn)循跡及物塊識別功能,主控板大大減少了運算,在對其余驅(qū)動模塊發(fā)出命令時能夠更加快速。
程序?qū)崿F(xiàn)功能:船體在水中能夠自動循跡,同時能夠識別不同的物體并利用彩色LED燈閃爍不同顏色進行表示。在該設(shè)計中,利用PID算法,通過OpenMV機器視覺模塊在行程中自我調(diào)整航道軌跡。
設(shè)計思路如圖3。
實驗在尺寸為(長、寬、高)3000 mm×2000 mm×600 mm、水面高度為460 mm的長方形水池中進行。管道采用直徑為75 mm的白色PVC管,將場地分成管道底部離池底分別為210 mm的淺水區(qū)(管道長度2500 mm)、靠淺水區(qū)有210 mm支撐的漸變區(qū)(管道長度1000 mm)、依附池底的深水區(qū),管道與水池邊緣間隔500 mm。在場地的淺水區(qū)、深水區(qū)設(shè)置3個吸附物,漸變區(qū)設(shè)置2個吸附物,位置隨機。
船體在場地中對整體運行時長以及報警裝置的信息正確性進行測試。測試數(shù)據(jù)如表1。
表1 用時數(shù)據(jù)表
表2 正確報警計數(shù)表
通過對以上兩個表格的分析可知,在給定的區(qū)域內(nèi)船體能夠?qū)艿肋M行快速識別完成循跡,且不論在管道處于水深哪種區(qū)域均能對吸附物進行精準(zhǔn)識別。
隨著社會的發(fā)展,陸地的利用率終會趨向飽和,在水中的基礎(chǔ)設(shè)施建設(shè)只會越來越多。因此,在設(shè)施建設(shè)之后,維護也將成為必然。本設(shè)計能夠?qū)崿F(xiàn)機器人在水中沿著管道行駛,同時在偏離航線后能夠自主巡回,可在惡劣的水波動環(huán)境下精準(zhǔn)運行;其中的物塊識別功能是水下基建檢修的良好檢測器,加之報警功能,可以使檢測人員在陸地上觀察到何處發(fā)生了破壞。