西南民族大學(xué)電氣信息工程學(xué)院 楊旭瓊 賈雪蕾 鄧彥松
作為一種新的智能機(jī)器,機(jī)器魚具有機(jī)動(dòng)性、高效性、低噪性等優(yōu)點(diǎn),隨著它的問世和近幾年的不斷發(fā)展,機(jī)器魚已經(jīng)運(yùn)用到了很多領(lǐng)域,如水域質(zhì)量檢測,海洋資源探測和水下地形勘探等。目前機(jī)器魚類型主要有遙控機(jī)器魚,語音機(jī)器魚及自主避障機(jī)器魚等。這里提出一種基于紅外的自主避障機(jī)器魚進(jìn)行圖像采集的方案[2]。
整個(gè)系統(tǒng)由四個(gè)部分組成,分別是雙攝像頭組成的圖像采集模塊、由STM32微控制器組成的CPU模塊、彩色液晶顯示模塊、機(jī)器魚硬件平臺(tái)模塊、紅外測距避障模塊。硬件構(gòu)成框圖如圖1所示。
工作流程是:首先通過紅外傳感器傳回障礙物距離的模擬電壓信息,通過AD芯片轉(zhuǎn)換后傳送給CPU進(jìn)行判斷,根據(jù)障礙物距離由CPU發(fā)出指令,控制機(jī)器魚硬件平臺(tái)做出動(dòng)作,與此同時(shí)雙攝像頭將采集到的圖像信息存儲(chǔ)在存儲(chǔ)器中,并且機(jī)器魚的相關(guān)數(shù)據(jù)顯示在顯示屏上(如速度、方向等)。
雙攝像頭是系統(tǒng)的信息采集部分,而且考慮到攝像頭在機(jī)器魚的硬件平臺(tái)上工作,應(yīng)該要求是單電源、抗噪能力較強(qiáng)、低功耗,以及以此同時(shí)的價(jià)格最好是相對較低。綜合以上的要求,決定使用OV7670攝像頭,它是一種CMOS圖像傳感器,其電源消耗量低,體積小,適合本系統(tǒng)對于元件的要求。攝像頭的放置是兩個(gè)攝像頭相互背對,布局如圖2所示;這樣布局的優(yōu)勢在于:雙攝像頭視角更為寬廣,可以一次性采集到周圍環(huán)境的圖像數(shù)據(jù)[1]。
在主控制器的選擇上,采用STM32F-103ZET6芯片,此芯片具有72MHz的主頻,32bit的位寬,具有從256K至512K字節(jié)的閃存程序儲(chǔ)存器和64K字節(jié)的SRAM,數(shù)據(jù)處理能力強(qiáng),引腳資源豐富,有多達(dá)4個(gè)16位定時(shí)器,每個(gè)定時(shí)器有多達(dá)4路PWM波,適可合于精確控制舵機(jī)。強(qiáng)大的數(shù)據(jù)處理能力和較高的主頻適合于快速的完成最優(yōu)路徑選取的算法[3]。
機(jī)器魚舵機(jī)組是由三個(gè)舵機(jī)構(gòu)成,以魚體波函數(shù)為核心算法的智能機(jī)器,在舵機(jī)的配合運(yùn)作下完成相應(yīng)動(dòng)作,進(jìn)而來實(shí)現(xiàn)仿生機(jī)器魚的游動(dòng)。其中,單片機(jī)通過所執(zhí)行的程序計(jì)算出各個(gè)關(guān)節(jié)的轉(zhuǎn)動(dòng)角度,以此產(chǎn)生十五位的不同占空比的PWM波,控制舵機(jī)旋轉(zhuǎn),繼而控制“魚體”擺動(dòng)[5]。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
圖2 機(jī)器魚布局
圖3 AD0809
圖4 電源供電模塊
圖5 主程序流程框圖
圖6 紅外模塊流程圖
紅外測距壁障模塊采用的傳感器是夏普公司的GP2Y0A21YKIR,AD芯片采用的是常用的8位的AD0809芯片,測距精度為0.3cm左右。GP2Y0A21YKIR是夏普公司推出的一款性價(jià)比高、最常用的紅外測距傳感器、其與GP2D12測量射程相同,但探測面積略有增加,可用來對物體的距離進(jìn)行測量,實(shí)現(xiàn)機(jī)器人的避障功能。它不但體積小、功耗低、價(jià)格便宜,而且測距效果好,適合機(jī)器人使用;ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。其硬件原理圖如圖3所示。
電源部分為整個(gè)系統(tǒng)提供工作電壓,這個(gè)模塊由4節(jié)可充電電池和穩(wěn)壓電路組成。四節(jié)可充電電池在沖滿電時(shí)電壓可以達(dá)到6.2V左右,所以為了得到5V的電壓我們采用AMS1117穩(wěn)壓芯片。AMS1117是一個(gè)正向低壓降穩(wěn)壓器,在1A電流下壓降為1.2V,內(nèi)部集成過熱保護(hù)和限流電路,是電池供電的最佳選擇。AMS1117有兩個(gè)版本:固定輸出版本和可調(diào)版本,這里采用固定輸出電壓為3.3V、5.0V的兩個(gè)版本,分別為電路部分和舵機(jī)供電。硬件電路如圖4所示。
芯片通過AD管腳對紅外傳感器的發(fā)射模塊傳送命令。通過返回光強(qiáng)產(chǎn)生相應(yīng)的模擬電壓,經(jīng)過A/D轉(zhuǎn)換器后變成十位的二進(jìn)制數(shù)據(jù)量,通過算法計(jì)算出到障礙物的距離。芯片判斷計(jì)算出的距離與預(yù)設(shè)值的邏輯關(guān)系,根據(jù)結(jié)果判斷是否執(zhí)行相應(yīng)的程序進(jìn)行躲避障礙物的動(dòng)作。而雙攝像頭分別采集機(jī)器魚前后視覺狀況,經(jīng)處理后返回給觀察人員,以便了解魚體周圍環(huán)境狀況。具體流程框圖如圖5所示。
紅外傳感器是一種比較有效地接近覺傳感器,利用紅外線的定向傳播和反射能力檢測前方是否有障礙物。由于光的方向性好,紅外傳感器具有角度分辨率高,反映靈敏,結(jié)構(gòu)簡單等優(yōu)點(diǎn)。它的工作原理是:當(dāng)有障礙物的時(shí)候,接收電路端口輸出的為高電平,沒有障礙的時(shí)候,端口輸出的為低電平。通過高低電平的判斷來識(shí)別是否有障礙物。[4]
紅外測距傳感器的信號經(jīng)過AD轉(zhuǎn)化后,傳給單片機(jī),單片機(jī)根據(jù)傳回?cái)?shù)據(jù)計(jì)算出障礙物與魚體之間的距離,在不同的距離段做出不同的動(dòng)作。與此同時(shí),雙攝像頭的數(shù)據(jù)進(jìn)過STM32的DMA總線,存儲(chǔ)至存儲(chǔ)器中,以待調(diào)用。紅外模塊流程如圖6所示;核心程序如下:
攝像頭屬于字符類設(shè)備,所以能夠像字節(jié)流一樣被程序訪問,而且只能夠按順序讀寫[2]。同時(shí),雙攝像頭在多功能機(jī)器魚(如:潛水類機(jī)器魚)中,可以選擇其他安裝方式(如:一上一下),以便對魚體的環(huán)境狀況進(jìn)行更多視角的觀察。
本文介紹了借助雙攝像頭采集圖像信息,利用紅外測距實(shí)現(xiàn)機(jī)器魚智能避障的新方法。其中通過雙攝像使得采集的圖像數(shù)據(jù)更為全面,為后續(xù)自主視覺的發(fā)展提供了一定的幫助。最后,相信隨著科研的進(jìn)步,機(jī)器魚的研究與設(shè)計(jì)會(huì)更加智能化,并給人類在海洋發(fā)展等方面提供更多的資源。
[1]樓永堅(jiān),曹向群.CMOS圖像傳感器的性能及應(yīng)用發(fā)展[J].杭州電子工業(yè)學(xué)院學(xué)報(bào),2003(02).
[2]黃福勇,向偉,楊洋.基于ARM自主避障機(jī)器魚設(shè)計(jì)[J].電子元器件應(yīng)用,2012(07).
[3]萬少云,向強(qiáng).基于TMS320F2812的自主視覺機(jī)器魚控制系統(tǒng)設(shè)計(jì)[J].西南民族大學(xué)學(xué)報(bào)自然科學(xué)版,2011(37).
[4]桑海泉,王碩,譚民,張志剛.基于紅外傳感器的仿生機(jī)器魚自主避障控制[J].系統(tǒng)仿真學(xué)報(bào),2005(6).
[5]丁俐,余瑾,吳垠,王偉東.基于PIC單片機(jī)的仿生機(jī)器魚的舵機(jī)控制[J].微計(jì)算機(jī)信息(嵌入式與SOC),2010(26).