国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

機(jī)器人簡單視覺模塊的研究

2019-11-07 09:18:03葉偉康薛宇曦吳慧瑩趙敏
無線互聯(lián)科技 2019年15期
關(guān)鍵詞:機(jī)器視覺

葉偉康 薛宇曦 吳慧瑩 趙敏

摘? ?要:在噴藥機(jī)器人比賽中,視覺識別成為機(jī)器人完成任務(wù)不可缺少的重要功能。為了實(shí)現(xiàn)機(jī)器人自主識別和噴藥,文章采用了Pixycam視覺模塊,以SPI方式與Arduino控制器相連接,設(shè)計了可靠的運(yùn)動系統(tǒng)和噴藥系統(tǒng)。通過Pixy自帶的CCC算法來實(shí)現(xiàn)對目標(biāo)的識別、接近和噴藥。

關(guān)鍵詞:機(jī)器視覺;顏色追蹤;Pixycam;Arduino

根據(jù)2019年中國機(jī)器人大賽比賽規(guī)則,在機(jī)器人噴藥項(xiàng)目中需要對雜草進(jìn)行識別。然而市面上普遍流行的視覺模塊都具有算法復(fù)雜、入門要求高等特點(diǎn),不利于初學(xué)者接觸和使用。經(jīng)過查閱、討論、研究后,發(fā)現(xiàn)Pixy作為一個集成化程度比較高的視覺模塊,非常適合剛接觸機(jī)器人視覺的創(chuàng)客使用。為了能更好地識別雜草,達(dá)到準(zhǔn)確噴藥的目的,本研究將Arduino控制器和Pixycam視覺模塊相結(jié)合,使用C語言進(jìn)行編程。本文著重介紹Pixycam簡單視覺系統(tǒng)的原理和使用方法,并結(jié)合案例分析來實(shí)現(xiàn)對目標(biāo)位置、大小、顏色的精確識別,從而達(dá)到比賽所要求的精準(zhǔn)噴藥效果。

1? ? 主要硬件介紹

1.1? Arduino? UNO介紹

Arduino UNO板基于ATMEGA328單片機(jī)。同時,基于AVR平臺,對AVR庫進(jìn)行了二次編譯封裝,大大降低了軟件開發(fā)難度。只需根據(jù)自身系統(tǒng)要求下載官方Arduino IDE便可以編程。適合初學(xué)者編程、學(xué)習(xí)[1]。

1.2? Pixycam介紹

Pixy是內(nèi)基梅隆機(jī)器人研究所在2014年推出的視覺模塊,可以支持連接不同的控制器,支持多種接口選項(xiàng),如串行外設(shè)接口(Serial Peripheral Interface,SPI)、通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)串行、USB 、集成電路總線(Inter-Integrated Circuit,I2C)或數(shù)字/模擬(Digital-to-Analog,D/A)輸出,Pixy的CCC算法(計算來自圖像傳感器的每個RGB像素的顏色(色調(diào))和飽和度,并將它們用作主要過濾參數(shù))[2]能夠記住7種不同的顏色代碼,通過PixyMon軟件可以輕松捕捉需要識別物體的顏色[3]。

1.2.1? Pixy視覺模塊的原理

所謂圖形處理就是視覺傳感器將圖像信號轉(zhuǎn)換為連續(xù)電壓信號,最后轉(zhuǎn)換成數(shù)字信號進(jìn)行處理的過程。如今的視覺識別系統(tǒng)主要有兩種搭建方案:

(1)使用Matlab或OpenCV等軟件來進(jìn)行編碼,搭配一般的攝像頭來實(shí)現(xiàn)圖像處理。

(2)使用Pixycam或Openmv等具有圖像處理能力的相機(jī),通過官方的用戶界面來實(shí)現(xiàn)簡單的視覺識別。

雖然OpenCV在很多高端領(lǐng)域應(yīng)用廣泛,但它上手比較困難,具有非常復(fù)雜的算法。而Pixycam相比較而言更加簡單方便,同時也能達(dá)到需要的效果。因此,本文選擇Pixy作為機(jī)器人的識別模塊。

1.2.2? Pixy視覺模塊使用方法

Pixycam作為一款集成化比較高的視覺傳感器,通過官方軟件平臺PixyMon來實(shí)現(xiàn)對目標(biāo)的選取,以識別雜草為例,打開PixyMon,只要簡單的3步:選擇Action→選擇Set signature 1→在畫面中選擇目標(biāo),就能選中需要識別的目標(biāo),如圖1所示。

識別完雜草之后,需要在Pixycam和Arduino之間建立起通信。這里采用的是SPI連接方式(Pixy同時支持UART串行、I2C、數(shù)字/模擬輸出等)。在連接之前需要把Pixycam關(guān)于Arduino的庫文件安裝到Library文件夾下。這樣就能夠在Arduino IDE上直接調(diào)用封裝好的程序進(jìn)行編程。由于使用的是SPI,數(shù)據(jù)傳輸速度總體來說比I2C要快,速度可到達(dá)1 Mbits/s,能進(jìn)行數(shù)據(jù)高速處理。在Arduino IDE中只需要引入#include 庫便可以輕松在串口監(jiān)視器中獲得目標(biāo)物體的位置、大小和顏色,如圖2所示。根據(jù)這些數(shù)據(jù)再配合上一些簡單的傳感器便能實(shí)現(xiàn)機(jī)器人的噴藥功能。

2? ? 硬件電路與程序設(shè)計

總體方案設(shè)計如圖3所示。

根據(jù)比賽規(guī)則,噴藥機(jī)器人需要對c區(qū)花盆中的雜草進(jìn)行識別。因此,需要機(jī)器人能夠自主接近目標(biāo)并進(jìn)行噴藥。

2.1? 硬件電路的組成

硬件電路由Arduino UNO控制板[4]、Pixycam視覺識別模塊、超聲波模塊、降壓模塊(Arduino板推薦輸入電壓為7~12 V)、步進(jìn)電機(jī)驅(qū)動模塊和SX1278無線模塊組成。

(1)Arduino UNO作為控制板負(fù)責(zé)接收和處理Pixycam傳輸過來的數(shù)據(jù),并控制運(yùn)動系統(tǒng)接近、噴藥系統(tǒng)進(jìn)行噴藥。

(2)Pixycam視覺模塊和超聲波模塊協(xié)同識別和尋找目標(biāo)。

(3)步進(jìn)電機(jī)驅(qū)動器共陽極連接,脈沖控制車輪運(yùn)動。

(4)SX1278無線模塊通過UART串行連接,把Arduino UNO串口數(shù)據(jù)傳輸給PC端,方便對數(shù)據(jù)進(jìn)行分析。

2.2? 噴藥裝置構(gòu)成

噴藥裝置主要由SG90舵機(jī)、小型水泵和扇形噴頭組成。舵機(jī)可以調(diào)整噴頭的方向,根據(jù)Pixy處理后通過串口傳輸輸出關(guān)于目標(biāo)的x方向和y方向的坐標(biāo),調(diào)整噴頭朝向,最后,在目標(biāo)范圍內(nèi)進(jìn)行準(zhǔn)確噴藥。

2.3? 程序設(shè)計

如圖4所示,啟動噴藥機(jī)器人后,Pixycam開始尋找目標(biāo)(雜草)并通過超聲波模塊來確定目標(biāo)位置。在確定目標(biāo)位置后,步進(jìn)電機(jī)驅(qū)動車輪,使噴藥機(jī)器人接近目標(biāo)。通過Pixycam輸出的目標(biāo)坐標(biāo)x,y值,控制舵機(jī)角度從而調(diào)整噴頭,使其對準(zhǔn)雜草并噴藥。完成噴藥后繼續(xù)前進(jìn)尋找下一個目標(biāo)[5]。

3? ? 結(jié)語

根據(jù)比賽要求設(shè)計的噴藥機(jī)器人,以Pixycam模塊為視覺識別核心,能夠完美實(shí)現(xiàn)對目標(biāo)(雜草)的識別。同時,Pixycam由于集成化程度高、使用簡單等特點(diǎn),能夠?qū)Ω鞣N目標(biāo)進(jìn)行識別和追蹤。在之后的研究中,運(yùn)用相同的原理可以將Pixycam使用到循跡、避障、識別二維碼等項(xiàng)目中,并實(shí)現(xiàn)更多較為復(fù)雜的功能。希望Pixycam使更多的創(chuàng)客能夠認(rèn)識到Pixycam簡單而強(qiáng)大的視覺識別能力。

猜你喜歡
機(jī)器視覺
全自動模擬目標(biāo)搜救系統(tǒng)的設(shè)計與實(shí)現(xiàn)
基于機(jī)器視覺的自動澆注機(jī)控制系統(tǒng)的研究
科技視界(2016年26期)2016-12-17 17:31:58
大場景三維激光掃描儀在研究生實(shí)踐教學(xué)培養(yǎng)中的應(yīng)用
基于機(jī)器視覺的工件鋸片缺陷檢測系統(tǒng)設(shè)計
軟件工程(2016年8期)2016-10-25 15:55:22
基于機(jī)器視覺技術(shù)的動態(tài)“白帶”常規(guī)檢測系統(tǒng)的開發(fā)
科技視界(2016年20期)2016-09-29 11:11:40
機(jī)器視覺技術(shù)在煙支鋼印檢測中的應(yīng)用
泌阳县| 耿马| 富顺县| 济南市| 巴中市| 平度市| 巴塘县| 香河县| 夹江县| 莱州市| 高陵县| 鄂伦春自治旗| 长兴县| 九寨沟县| 应用必备| 凉城县| 三江| SHOW| 湘西| 江北区| 龙陵县| 武定县| 梅州市| 怀远县| 磴口县| 正宁县| 扶沟县| 巴楚县| 柘城县| 镇巴县| 沅陵县| 武强县| 资溪县| 赞皇县| 象山县| 海口市| 化州市| 彭州市| 来凤县| 治县。| 松溪县|