黃繼鵬,李楠,伊明
(東北師范大學(xué)物理學(xué)院,吉林長春,130024)
學(xué)科競賽是培養(yǎng)學(xué)生實踐能力、創(chuàng)新能力和團(tuán)隊協(xié)作能力最為直接有效的方式。以學(xué)科競賽為依托,有助于實踐教學(xué)與人才培養(yǎng)模式的改革創(chuàng)新[1],激發(fā)大學(xué)生的興趣和潛能,培養(yǎng)協(xié)作意識和創(chuàng)新精神。本文從組織學(xué)生參加中國工程機器人競賽搬運工程項目出發(fā),設(shè)計了一個基于攝像頭的自動分揀搬運機器人[2]。該機器人運用單片機、攝像頭和舵機,實現(xiàn)了物料顏色識別、路徑檢測以及規(guī)劃,對目標(biāo)物體的抓取以及自動搬運等功能。該分揀搬運系統(tǒng)技術(shù)使得搬運機器人分揀運輸自動化和智能化程度得到進(jìn)一步提高,有助于改善一般物流倉儲工作中,人工輔助依賴性較高的現(xiàn)狀。
目前市面上的搬運機器人大多加裝了專用顏色傳感器、灰度傳感器等或購買使用OpenMv攝像頭進(jìn)行外部代碼的移植,此類傳感器和OpenMv不但增加了成本,而且在部分零件出現(xiàn)問題時,難以精準(zhǔn)定位故障以及及時更換零件,影響工作效率。本文設(shè)計的機器人系統(tǒng)使用低成本的攝像頭進(jìn)行識別,并在STM32中編寫了圖像處理相關(guān)代碼,節(jié)省了專用傳感器以及OpenMv的費用,并測試了不同的補光光強和設(shè)定的不同顏色的閾值對顏色識別準(zhǔn)確率的影響,經(jīng)測試系統(tǒng)能很好的完成顏色和路徑的識別。
智能分揀搬運機器人在軟件和硬件上均采用模塊化設(shè)計,主要由主控模塊、圖像采集模塊、電機驅(qū)動模塊、電源穩(wěn)壓模塊、機械臂模塊組成。
采用STM32F103作為主控芯片,由攝像頭采集圖像后傳給單片機進(jìn)行分析,然后控制電機的行走和機械臂的搬運,其中單片機和電機由穩(wěn)壓模塊供電。系統(tǒng)總體框圖如圖1所示。
圖2 野火OV7725攝像頭模塊電路圖
采用野火OV7725攝像頭模塊進(jìn)行視頻圖像的信息采集。該模塊主要由鏡頭、圖像傳感器、FIFO緩存組成。光線經(jīng)過鏡頭傳輸?shù)綌z像頭的圖像傳感器上,然后將采集到的光線信號緩存到攝像頭背面的FIFO緩存中,然后單片機再從中獲取拍攝到的圖像數(shù)據(jù)。其中單片機與攝像頭模塊的傳輸協(xié)議為SCCB協(xié)議,相當(dāng)于一個簡易的I2C協(xié)議。如圖2所示。
穩(wěn)壓模塊采用的是LM2596模塊,此模塊為降壓模塊,輸入電壓的范圍為直流3.2V至40V,輸出要比輸入低1.5V以上。電壓的輸入為兩節(jié)3.7V鋰電池供電,輸出調(diào)至5V,用于給舵機和單片機供電。
使用兩個MG90S舵機構(gòu)成了一個二自由度的機械鉤子,負(fù)責(zé)鉤取堆疊在一起的所需物料。一個舵機控制鉤子的水平方向,另一個舵機控制鉤子的垂直方向。使用由一個舵機構(gòu)成的機械爪子控制爪子的開合,負(fù)責(zé)搬運單個物料。
智能分揀搬運機器人軟件設(shè)計主要包含攝像頭采集,物體顏色識別,舵機的控制,黑線的尋跡與識別。
舵機的控制是使用單片機產(chǎn)生PWM信號來控制舵機的轉(zhuǎn)動角度,通過控制PWM 波的占空比來調(diào)節(jié)電機轉(zhuǎn)速。通過控制兩個360°舵機的轉(zhuǎn)速來控制機器人左轉(zhuǎn)右轉(zhuǎn);通過控制兩個180°舵機控制機械鉤子的左右和上下;通過一個180°舵機控制機械爪子的張合。
邊緣提取算法主要是為了小車的尋跡,識別交叉路口等操作。圖像邊緣往往包含著一幅圖像的大部分信息,是圖像的基本特征之一。經(jīng)典的邊界提取算法是先對圖像進(jìn)行平滑濾波處理,來濾除圖像中的噪聲,然后進(jìn)行一階微分運算求得梯度最大值,最后根據(jù)效果選取合適的閾值來進(jìn)行邊緣提取。邊緣檢測流程圖如圖3所示。在進(jìn)行邊緣提取時,先將路徑進(jìn)行二值化處理,之后進(jìn)行邊緣的檢測。
圖3 邊緣檢測流程圖
在圖像處理中,最常用的顏色空間是RGB模型,常用于顏色顯示和圖像處理,因為顏色識別更注重于色彩表示,因此要將RGB模型轉(zhuǎn)變?yōu)镠SV模型,這個模型中顏色的參數(shù)分別是:色調(diào)(H),飽和度(S),明度(V)。
RGB到HSV的轉(zhuǎn)變的算法:
如圖4所示,攝像頭采集到圖像后讓其在外界LCD顯示屏上顯示出來,單片機可以直接從FIFO中讀取RGB模型后提取出來并轉(zhuǎn)換為HSV模型,然后根據(jù)設(shè)定各個顏色的HSV的閾值,判斷物料的顏色。
圖4 單片機處理后對小物塊顏色的識別
在機器人的路徑識別中,需要根據(jù)采集圖像的邊緣檢測結(jié)果,路徑識別算法需要判斷行走是否在一條直線上,避免機器人驅(qū)動系統(tǒng)左右兩輪轉(zhuǎn)動有細(xì)微區(qū)別或者路況不平整的情況;判斷機器人在行走到交叉路口的時候的路徑選擇;判斷機器人是否走到目標(biāo)位置。
首先將提取之后的圖像在顯示屏上以80×60的分辨率顯示出來,并在顯示屏上建立坐標(biāo),之后單片機做邊緣檢測,并將顯示出的圖像按縱軸均分六等份,采用采樣的方式分析路徑,以提高單片機的處理效率。
調(diào)節(jié)機器人的巡線程序,使其能沿路徑行走。通過判斷中間黑線是否走偏,若黑線偏左,則需調(diào)節(jié)兩輪的轉(zhuǎn)速,使其向左移動一些延時之后再判斷,向右偏同理。在巡線的基礎(chǔ)上,設(shè)計了讓機器人識別交叉路口的程序,攝像頭在采集到機器人行進(jìn)到交叉路口時,會有黑線的干擾,因此讓攝像頭識別交叉口兩端的黑線,若檢測到兩端黑線達(dá)到了顯示屏劃定的坐標(biāo)位置,即為行進(jìn)到了交叉路口。在此基礎(chǔ)上又設(shè)計了目標(biāo)位置的檢測,目標(biāo)位置存在有些許標(biāo)識或黑線,當(dāng)攝像頭檢測到目標(biāo)位置的標(biāo)識或黑線達(dá)到了顯示屏上劃定的坐標(biāo)位置,證明機器人達(dá)到了目標(biāo)位置。流程圖如圖5所示。
圖5 路徑識別算法流程圖
根據(jù)上述設(shè)計,完成自動分揀搬運機器人實物搭建,如圖6所示。
圖6 智能分揀搬運機器人實物圖
在競賽實驗過程中,發(fā)現(xiàn)顏色識別準(zhǔn)確度影響搬運的成功率,而不同的顏色的HSV的閾值設(shè)定的不同會影響顏色識別的準(zhǔn)確率,此外周圍環(huán)境的亮度也會影響識別的準(zhǔn)確率,因此在識別顏色的時候會加入LED光源照明。因此要找到最合適的閾值設(shè)定,本次測試地點選在夜間無自然光的實驗室內(nèi),經(jīng)過100次的不同光照強度下的顏色識別的檢測成功率,測試不同的閾值設(shè)置對實驗結(jié)果的影響,選出最合適的閾值。經(jīng)測試,以90Lux光強為基準(zhǔn),逐步降低光照強度,帶有LED光源照明達(dá)到80Lux以上的機器人,且以90Lux光照下設(shè)置的各個顏色的HSV的閾值為標(biāo)準(zhǔn),此時紅色對應(yīng)閾值設(shè)置為((h_hsv<=15&&h_hsv>=0)||(h_hsv<=360&&h_hsv>=330)),藍(lán)色對應(yīng)的閾值設(shè)置為((h_hsv<=230&&h_hsv>=200))&&(v_hsv<0.38), 綠 色 對應(yīng)的閾值設(shè)置為((h_hsv<=200&&h_hsv>=125))&&(v_hsv>0.2&&v_hsv<0.7),白色對應(yīng)的閾值設(shè)置為((h_hsv<=240&&h_hsv>=175))&&(v_hsv>0.3),其余閾值均視為黑色時,對顏色識別準(zhǔn)確率最高。當(dāng)光照強度變?nèi)鯐r,紅色和黑色的識別成功率影響較小,白色、藍(lán)色和綠色的識別受到的影響最大。如圖7所示。
圖7 閾值和光源對顏色識別準(zhǔn)確率的影響
經(jīng)過學(xué)生團(tuán)隊多次測試,攝像頭成功實時地采集到圖像并在LCD顯示屏上顯示出來,機器人也能精準(zhǔn)的尋跡和搬運,物料的顏色識別準(zhǔn)確率較高,實驗表明,智能分揀機器人總體表現(xiàn)穩(wěn)定,系統(tǒng)的可靠性高。
經(jīng)過學(xué)生的團(tuán)隊協(xié)作,在基于機器視覺的智能分揀搬運機器人中,設(shè)計實現(xiàn)了尋跡系統(tǒng)可自動尋導(dǎo),顏色識別系統(tǒng)可以分類物料類別,經(jīng)實戰(zhàn),榮獲了2019年中國工程機器人大賽暨國際公開賽攝像頭搬運工程一等獎。通過學(xué)科競賽,以賽促學(xué)的方式激勵更多學(xué)生主動參與到工程訓(xùn)練項目,增強了學(xué)生的創(chuàng)新能力和解決實際問題的能力,提升了團(tuán)隊協(xié)作的素養(yǎng),達(dá)到了促進(jìn)工程能力培養(yǎng)的目的。