劉冀龍,尹 崗,趙建偉
(1.內(nèi)蒙古工業(yè)大學內(nèi)蒙古呼和浩特010051;2.中國礦業(yè)大學(北京)北京100089)
在采礦工業(yè)中,貨物搬運與抓取是非常重要的工作,然而由于采礦行業(yè)的地形限制,大部分工作環(huán)境都非常惡劣,很多工作場合不適合人工操作[1]。隨著科學技術(shù)的發(fā)展,機器人技術(shù)與機器視覺技術(shù)日趨成熟,礦物搬運機器人在特殊領(lǐng)域中有著廣泛應用[2]。本文利用樹莓派3作為視覺處理設(shè)備,Arduino MEGA2560單片機作為下位控制機械臂,搭建出一套能夠進行運動目標顏色識別的機械臂控制系統(tǒng),可以跟蹤指定顏色的目標進行抓取。
礦物搬運機器人分為底盤運動部分與機械臂抓取部分[3],其中本裝置是應用于機械臂抓取部分而設(shè)計的。視覺處理部分由USB攝像頭與樹莓派3組成,運動控制部分由MEGA2560單片機、閉環(huán)步進電機驅(qū)動器FESS60與大型機械臂組成。
在視覺處理端,USB攝像頭固定在機械爪上方,使得機械爪與與攝像頭處于同一水平面,采集到的圖像傳入樹莓派3中進行處理;樹莓派3內(nèi)移植開源視覺開發(fā)庫OpenCV,利用OpenCV進行顏色識別與跟蹤[4];運動控制端MEGA2560單片機通過串口接收處理后的數(shù)據(jù),再控制FESS60對機械臂進行運動控制。由于樹莓派3的處理速度足以實現(xiàn)實時檢測,因此整個系統(tǒng)是一套實時運動控制系統(tǒng)。
由于礦山環(huán)境的惡略性以及攝像頭需要安裝在機械爪上隨時運動[5],選用的攝像頭必須具有堅固的外殼和自動對焦、曝光補償?shù)裙δ埽@樣才能保證讀取到高質(zhì)量的圖像。
經(jīng)過實際測試后,綜合價格因素,選用OV5640自動對焦攝像頭,其攝像頭具有以下特點:
1)采用OV5640 CMOS Sensor
2)AF自動對焦馬達鏡頭。M12 800萬像素高清鏡頭。
3)支持自動曝光控制AEC,自動白平衡AEB與自動增益控制AGC
4)全金屬外殼,外殼下方有固定孔位,便于安裝
當攝像頭采集回圖像之后需要對原始圖像進行處理,針對ARM嵌入式存儲空間小,CPU主頻較低的特點,選擇算法優(yōu)化較為成熟,能夠跨平臺交叉編譯的開源視覺庫Open Source Computer Vision Library(OpenCV)作為核心[6]。整體算法流程圖如圖1所示。
圖1 機械臂顏色追蹤算法流程圖
為了實現(xiàn)攝像頭的可替代性與通用性,在OV5640攝像頭可以外接USB2.0接口,采用Linux內(nèi)核中集成的 Video for Linux2(V4L2)接口傳輸圖像[7]。利用V4L2接口讀取到原始圖像之后需要對原始圖像進行預處理,預處理之后就可以選擇合適的顏色閾值分割法對多顏色目標進行檢測,分割出不同顏色之后選擇要抓取的目標顏色,計算整個目標的質(zhì)心與面積,再將目標的位置通過串口發(fā)送給Arduino MEGA2560單片機,MEGA2560驅(qū)動機械臂進行抓取。
在圖像處理中,最常用的顏色空間是RGB模型[8],常用于顏色顯示和圖像處理,但對于多顏色目標,RGB模型不容易進行顏色分割,因此,需要用能夠直接進行顏色信息分割的顏色模型。
HSV顏色模型是把H(色相),S(飽和度),V(亮度)當做色值來定位顏色的空間[9]。其中色相的取值范圍是0~360度,用來表示顏色的類別。紅色是0度,綠色為120度,藍色則是240度。飽和度的取值范圍是0%~100%。用來表示顏色的鮮艷程度,灰色的飽和度是0%,純粹的顏色比如大紅(255,0,0)青色(0,255,255)等等的飽和度是100%。亮度的取值范圍是0%~100%,用來表示顏色的明暗程度,亮度為0%時為黑色,亮度為100%時為白色,介于0%~100%之間時,則用來表示各個顏色的明暗程度[10]。
HSV在用于指定顏色分割時,有比較大的作用。相對于RGB空間,HSV空間能夠非常直觀的表達色彩的明暗,色調(diào),以及鮮艷程度,方便進行顏色之間的對比[11]。因此選擇HSV顏色分割法進行顏色分割。使用OpenCV中內(nèi)集成的RGB轉(zhuǎn)HSV函數(shù)cvCvtColor(image,hsv,CV_BGR2HSV)就能實現(xiàn)顏色空間的轉(zhuǎn)換。不同的是OpenCV中H∈[0,180][12]。經(jīng)過實驗,識別藍色的取值是H在100到140,S和V都在90到255之間。圖2是識別藍色球的結(jié)果。
圖2 藍色球識別效果圖
經(jīng)過實際測試,S與V保持在90到255之間可以滿足所有的顏色選擇需求,只需要更改H值就能選擇不同的顏色進行識別,表1是在日光下進行實際測試后總結(jié)的一些常用顏色的H值范圍。
表1 常用顏色H值范圍
樹莓派3識別到目標之后,需要將位置信息發(fā)送給Arduino MEGA2560單片機,單片機作為機械臂控制核心控制機械臂動作。為了簡化發(fā)送的信息,采用象限規(guī)劃的方式進行編碼,具體規(guī)劃方法如圖3所示。
圖3 象限規(guī)劃圖
如圖3所示,設(shè)計成四象限形式,在不同象限內(nèi)編碼不同的字符,當目標質(zhì)心處于四象限當中的某一象限時,樹莓派3通過串口給MEGA2560發(fā)送串口數(shù)據(jù),另外當質(zhì)心坐標與象限原點偏差不超過5個像素時時,發(fā)送數(shù)據(jù)1,超過5個像素發(fā)送0,因此串口一共發(fā)送3位字符串數(shù)據(jù)給MEGA2560。
運動控制端主要包括MEGA2560單片機、閉環(huán)步進電機驅(qū)動器FESS60與大型機械臂,其中MEGA2560接收到串口發(fā)送的數(shù)據(jù)之后進行循環(huán)判斷[13],驅(qū)動FESS60控制大型機械臂進行定位抓取等動作。
本裝置中使用的是Arduino MEGA2560是一塊使用USB連接PC的單片機,具有多達54路數(shù)字輸入輸出,特別適合需要大量IO接口的設(shè)計。處理器核心是ATmega2560,16路PWM輸出,16路模擬輸入,4路UART接口,一個16 MHz晶振,一個USB,一個電源插座,一個ICSP header和一個復位按鈕[14]。
FESS60閉環(huán)步進電機驅(qū)動器用來控制機械臂進行動作,F(xiàn)ESS60屬于混合步進電機[15],采用脈沖控制,具有反饋系統(tǒng),同時兼具步進電機與伺服電機的優(yōu)點,適合低轉(zhuǎn)速運行。
本裝置采用MEGA2560來產(chǎn)生脈沖,利用8路數(shù)字輸出控制4個步進電機,每兩路數(shù)字輸出控制一個點機,其中DIR接口用來控制步進電機正反轉(zhuǎn)方向,PUL接口用來輸入脈沖波形,所需的控制信號都用MEGA2560產(chǎn)生,其中一組步進電機驅(qū)動程序如下:
如以上程序所示,一個引腳控制電機正反轉(zhuǎn)方向,一個引腳產(chǎn)生一段高低電平脈沖來驅(qū)動步進電機轉(zhuǎn)動。
經(jīng)過本方案設(shè)計的機械臂定位裝置實物圖如圖4所示,大型機械臂可以跟蹤不同顏色圓球進行動作并順利抓取,對于運動的物體,機械臂可以跟隨物體進行運動,對于靜止的物體,可以定位到物體中心位置,當攝像頭中心與目標質(zhì)心相差5個像素以內(nèi)時,機械爪向前運動,當目標面積在攝像頭視野內(nèi)超過10 000時機械爪停止并合爪,分別測試紅色、綠色、藍色球都能完成抓取動作。
圖4 機械臂抓取實驗圖
本文設(shè)計的采用圖像處理技術(shù)的機械臂定位裝置以樹莓派3作為視覺檢測核心,控制器采用價格低廉的Arduino MEGA2560單片機與FESS60閉環(huán)步進電機驅(qū)動器作為控制核心,應用簡便快捷,經(jīng)過測試表明,該裝置能夠快速準確地找到目標并對確定的顏色進行跟蹤,可以應用到礦山地區(qū),安裝在礦物搬運機器人上對某種礦物進行抓取搬運,降低人工搬運的危險,具有較高的實用價值。
[1]杜永志.采礦技術(shù)的特點及應用分析[J].內(nèi)蒙古煤炭經(jīng)濟,2016(10):18-19.
[2]苗登雨.重載搬運機器人結(jié)構(gòu)設(shè)計與動態(tài)性能分析優(yōu)化[D].合肥:合肥工業(yè)大學,2014.
[3]趙彬,高宏力,張艷榮.搬運機器人控制系統(tǒng)設(shè)計[J].機械設(shè)計與制造,2014(12):183-186.
[4]沈鐳,高麗.中國西部能源及礦業(yè)開發(fā)與環(huán)境保護協(xié)調(diào)發(fā)展研究[J].中國人口.資源與環(huán)境,2013(10):17-23.
[5]A Dziri.Real-time multiple objects tracking on Raspberry-Pi-based smart embedded camera[J].JournalofElectronicImaging,2016,25(4):41-45.
[6]陰亞芳,袁浩,廖延娜.基于機器視覺的光滑球面缺陷檢測系統(tǒng)設(shè)計[J].電子設(shè)計工程,2016(14):113-115.
[7]幕鑫.嵌入式人臉識別系統(tǒng)的研究與應用[D].無錫:江南大學,2013.
[8]S Lin,Y Chen,YK Lai,等.Fast capture of textured full-body avatar with RGB-D cameras[J].Visual Computer,2016:1-11.
[9]李慧霞.室內(nèi)智能移動機器人規(guī)則物體識別與抓取[D].北京:北京交通大學,2016.
[10]Jisuanji,F(xiàn)uzhu,Sheji,等.Relationship between Saturation and Brightness Value in HSV Color Space[J].Journal of Computer-Aided Design&Computer Graphics,2014,26(8):1272-1278.
[11]譚曉波,殷萇茗,周書仁.融合HSV空間與形態(tài)學的救生衣圖像分割[J].計算機應用與軟件,2016(1):198-202.
[12]OpenCV 官 方手 冊[EB/OL].[2016-05-11].http://opencv.org/.
[13]張雁琳.基于Arduino的ZigBee無線傳感節(jié)點的硬件設(shè)計[J].電子設(shè)計工程,2015(24):162-165.
[14]Mega2560 官方手冊[EB/OL].https://www.arduino.cc/en/Main/ArduinoBoardMega2560.
[15]李國杰.混合式步進電機靜音細分驅(qū)動器及其應用[D].杭州:杭州電子科技大學,2014.