姜超群,張愛華,趙佳冉,婁成龍,李建軍
(中原工學(xué)院 電子信息學(xué)院,河南 鄭州 450007)
《中國制造2025》規(guī)劃指出加快新一代信息技術(shù)與制造業(yè)的深度融合,實現(xiàn)制造業(yè)由大變強(qiáng)的歷史跨越[1]。機(jī)器視覺是完成該規(guī)劃的一項重要技術(shù)之一,機(jī)器視覺綜合數(shù)字視頻、圖像處理、傳感器、自動控制等技術(shù),現(xiàn)已成功運用在部分工業(yè)領(lǐng)域[2-3]、農(nóng)業(yè)領(lǐng)域[4-5]、日常生活領(lǐng)域[6]。
雖然機(jī)器視覺得到了廣泛的應(yīng)用,但目前市面上主流的視覺分揀平臺一般面向具體行業(yè)應(yīng)用。唐媛紅、劉月云將機(jī)器視覺技術(shù)應(yīng)用到采摘機(jī)器人的分揀作業(yè)中[7]。王鵬、曹現(xiàn)剛等人設(shè)計了一種基于機(jī)器視覺的多機(jī)械臂煤矸石分揀機(jī)器人系統(tǒng)[8]。此類平臺操作復(fù)雜,移植難度較大,不適用于基礎(chǔ)人群學(xué)習(xí)和使用。宋東亞、淮妮等人分別采用DSP作為運動控制平臺設(shè)計機(jī)械臂[9-10],成本較高,普通的設(shè)計愛好者難以承擔(dān)。針對目前存在的這些問題,本文設(shè)計了一款低成本、易移植、易操作的三軸機(jī)械臂分揀裝置。
系統(tǒng)分為傳動模塊、運動控制模塊、視覺處理模塊、吸取模塊。系統(tǒng)結(jié)構(gòu)以及模塊之間的關(guān)聯(lián)如圖1所示。其中,PC機(jī)作為本系統(tǒng)的數(shù)據(jù)處理單元進(jìn)行數(shù)據(jù)處理與任務(wù)發(fā)布,傳動模塊控制物體的運動速度,圖像采集模塊負(fù)責(zé)采集物體信息,運動控制模塊負(fù)責(zé)機(jī)械臂的運動與控制,抓取模塊負(fù)責(zé)物體的抓放。
圖1 基于視覺的三軸機(jī)械臂分揀裝置系統(tǒng)框圖
本裝置采用.Net Framework平臺進(jìn)行軟件系統(tǒng)的開發(fā),編程語言為C#語言。工作流程:系統(tǒng)開始運行后進(jìn)入待機(jī)狀態(tài),當(dāng)光電傳感器檢測到有物體經(jīng)過時,PC讀取此刻攝像頭采集的圖像數(shù)據(jù)及物體的傳動速度,通過灰度重心法計算出物體的中心坐標(biāo),通過傳動速度推斷中心點的運動軌跡。PC機(jī)通過以太網(wǎng)通信將物體坐標(biāo)信息發(fā)送給運動控制模塊,同時,通過USART通信模塊將位置信息發(fā)送至抓取模塊。最后實現(xiàn)物體的分揀。軟件流程如圖2所示。
圖2 基于視覺的三軸機(jī)械臂分揀裝置軟件流程
傳動模塊選用鋁型材作為支架,采用兩相四線式86步進(jìn)電機(jī)作為動力源。采用STM32F407ZET6作為傳動模塊控制核心,輔以外部電路,通過配置該芯片的寄存器,使能定時器輸出PWM波作為驅(qū)動源,控制步進(jìn)電機(jī)的傳動速度。上位機(jī)通過USART串口通信向STM32發(fā)送包含運行速度和運動方向的指令,實現(xiàn)對傳送裝置運動速度和運動方向的調(diào)節(jié),同時,上位機(jī)可以實時獲取傳送帶的速度信息和方向信息。傳動模塊操作窗口如圖3所示。
圖3 傳動模塊操作窗口
本文采用成本較低的氣泵加吸盤的組合方式設(shè)計抓取模塊。其運行原理:使用小型氣泵作為吸氣源,其吸氣口與三通電子閥門相接。抓取模塊包括STM控制板、PWM數(shù)字開關(guān)、三通電子閥門、氣泵和吸盤。三通電子閥門和氣泵分別連接PWM數(shù)字開關(guān),并由STM32控制板控制,通過上位機(jī)控制定時器產(chǎn)生的PWM頻率精確實現(xiàn)對物體的吸放操作。小型氣泵作為吸氣源,其吸氣口與三通電子閥門相接,當(dāng)三通電子閥門打開時,2、3口相通,吸盤與氣泵連通,進(jìn)行物體吸?。划?dāng)三通電子閥門關(guān)閉時,1、3口相通,吸盤進(jìn)行物體放置。抓取模塊設(shè)計簡圖如圖4所示。
圖4 抓取模塊設(shè)計簡圖
系統(tǒng)中的圖像處理模塊利用單目攝像頭作為圖像采集端,采用歐姆龍光電傳感器作為圖像采集開關(guān)。在無物體通過時,系統(tǒng)處于休眠狀態(tài);有物體通過時,光電傳感器返回一個低電壓信號,控制板收到信號后傳遞給PC端,PC控制攝像頭進(jìn)行圖像采集并進(jìn)行圖像數(shù)據(jù)處理。
(1)手眼標(biāo)定
本系統(tǒng)共有攝像頭所處的相機(jī)坐標(biāo)系、相機(jī)成像后的圖像坐標(biāo)系、相機(jī)采集數(shù)據(jù)的像素坐標(biāo)系、本裝置所在的世界坐標(biāo)系、抓取部分的機(jī)械臂坐標(biāo)系。由于攝像頭采集的數(shù)據(jù)單位為像素,與現(xiàn)實世界的單位不同,故需要執(zhí)行像素坐標(biāo)系與機(jī)械臂坐標(biāo)系的轉(zhuǎn)換,即手眼標(biāo)定。
如圖5所示,空間中某點在世界坐標(biāo)系下的坐標(biāo)表示為(xw, yw, zw)、在相機(jī)坐標(biāo)系下的表示為(xc, yc, zc)。考慮相機(jī)畸變模型,通過相機(jī)坐標(biāo)系、圖像坐標(biāo)系和像素坐標(biāo)系的轉(zhuǎn)換,得到像素坐標(biāo)系和世界坐標(biāo)系的對應(yīng)關(guān)系式:
圖5 坐標(biāo)系示意圖
式中:s表示比例因子;u、v為圖像坐標(biāo)系X軸、Y軸坐標(biāo)值;(cx, cy)為基準(zhǔn)坐標(biāo);fx和fy是單位為pixel的相機(jī)焦距;R為相機(jī)的旋轉(zhuǎn)矩陣;T為偏移向量矩陣。
機(jī)械臂坐標(biāo)系和世界坐標(biāo)系之間的關(guān)系為:
式中,Δxw,Δyw,Δzw分別為機(jī)械臂x、y、z軸原點與世界坐標(biāo)系原點的距離差。
綜合式(1)和式(2),即可完成手眼標(biāo)定工作,為后續(xù)系統(tǒng)運行提供條件,手眼坐標(biāo)系關(guān)系可表示為:
(2)基于EmguCV的物體質(zhì)心坐標(biāo)識別
本系統(tǒng)的圖像處理利用計算機(jī)視覺庫EmguCV實現(xiàn)。將攝像頭采集的物體圖像轉(zhuǎn)換為RGB格式,并顯示在上位機(jī)圖像框中,光電傳感器檢測到物體時,將RGB圖像轉(zhuǎn)換成8位灰度圖像,然后使用自適應(yīng)閾值QTSU算法對轉(zhuǎn)換后的灰度圖進(jìn)行自適應(yīng)二值化處理,清除圖像中的無用信息。提取物體形狀的輪廓并將篩選過后的數(shù)據(jù)進(jìn)行存儲,利用輪廓多邊形逼近函數(shù)ApproxPolyDp進(jìn)行擬合,并判斷物體形狀。最后采用灰度重心法計算物體的重心,確定位置坐標(biāo)。圖像檢測示意圖如圖6所示。
圖6 圖像檢測示意圖
運動控制模塊包括運動控制機(jī)構(gòu)、三軸執(zhí)行機(jī)構(gòu)。運動控制機(jī)構(gòu)采用STM32F107VCT6和XILINX XC6SLX9作為核心芯片,STM32通過以太網(wǎng)物理層收發(fā)器與上位機(jī)進(jìn)行以太網(wǎng)通信,F(xiàn)PGA作為STM32的外圍設(shè)備,通過8位地址線進(jìn)行獨立的片外空間尋址,實現(xiàn)對機(jī)械臂三個軸的分別控制。
如圖7所示,F(xiàn)PGA運動控制模塊主要包括脈沖產(chǎn)生電路、24位邏輯計數(shù)器、定位控制電路。脈沖產(chǎn)生電路負(fù)責(zé)輸出脈沖OUTx和脈沖方向DIRx;24位邏輯位置計數(shù)器通過對輸出脈沖的計數(shù)為定位控制電路提供定位依據(jù);定位控制電路接入外部原點輸入端口ORG,運動軸極限位置輸入端口+EL、-EL,當(dāng)外部輸入EL信號時,定位控制電路直接阻止脈沖產(chǎn)生電路產(chǎn)生脈沖。經(jīng)過測試,此設(shè)計脈沖產(chǎn)生穩(wěn)定準(zhǔn)確。
圖7 運動控制機(jī)構(gòu)框圖
由于外部輸入信號電壓不定,I/O接口電路加入光電耦合開關(guān)進(jìn)行系統(tǒng)保護(hù)。同時,為了系統(tǒng)設(shè)計輕量化,本裝置采用軟件回原點,將OUT0~OUT3分別作為3個運動軸的ORG端口輸入,當(dāng)定位控制電路收到上位機(jī)回原點命令的同時,OUT端口輸出上升沿,對應(yīng)邏輯位置計數(shù)器清零,即該軸當(dāng)前位置設(shè)置為原點。
執(zhí)行機(jī)構(gòu)由三組絲桿、滑軌滑塊、梅花聯(lián)軸器、57步進(jìn)電機(jī)組成,采用DM542驅(qū)動器作為電機(jī)驅(qū)動源。執(zhí)行機(jī)構(gòu)示意圖如圖8所示。
圖8 運動控制模塊執(zhí)行機(jī)構(gòu)示意圖
本裝置上位機(jī)主要分為2個窗口,分別是手動模式窗口和自動模式窗口。點擊“手動模式”按鈕進(jìn)入手動控制操作窗口,此窗口可以通過鼠標(biāo)或鍵盤手動控制機(jī)械臂的3個軸運動。點擊“自動模式”按鈕進(jìn)入自動控制操作窗口,此窗口可自動進(jìn)行物體的識別和分揀。系統(tǒng)上位機(jī)窗口如圖9所示。三軸機(jī)械臂抓取裝置說明示意圖如圖10所示。
圖9 系統(tǒng)上位機(jī)窗口
圖10 三軸機(jī)械臂抓取裝置說明示意圖
在自動模式下測試本裝置物體識別率與系統(tǒng)響應(yīng)速度,測試物體包括:橙色方形積木、黃色四邊形積木、粉色圓形積木、綠色橢圓形積木、黃色三角形積木。在室內(nèi)正常光照強(qiáng)度下,本裝置在20 mm/s和30 mm/s的速度下分別做30次抓取實驗。測試物體如圖11所示。傳動裝置速度為20 mm/s時抓取成功率見表1所列,傳動裝置速度為30 mm/s時抓取成功率見表2所列。
表1 抓取成功率(速度:20 mm/s)
表2 抓取成功率(速度:30 mm/s)
圖11 測試物體
系統(tǒng)運行上位機(jī)窗口如圖12所示,系統(tǒng)運行實物如圖13所示。
圖12 系統(tǒng)運行上位機(jī)窗口
圖13 系統(tǒng)運行實物
通過測試可證明,在傳動裝置運動速度為20 mm/s與30 mm/s的情況下測試結(jié)果相差不大,除黃色三角形積木外,其余形狀均達(dá)到93%以上的抓取結(jié)果。其主要原因為:測試物體體積較小,且圖像采集攝像頭不能均在物體正上方采集,導(dǎo)致判斷物體質(zhì)心不準(zhǔn)確。此現(xiàn)象在三角形物體上表現(xiàn)最為突出,三角形物體抓取示意圖如圖14所示。
圖14 三角形物體抓取示意圖
本裝置基于機(jī)器視覺技術(shù)進(jìn)行開發(fā)與實現(xiàn),系統(tǒng)采用模塊化設(shè)計,包括傳動模塊、運動控制模塊、視覺處理模塊以及抓取模塊。對樣機(jī)分別在20 mm/s、30 mm/s的運動速度下對不同形狀和顏色的物體進(jìn)行了測試,整體識別抓取結(jié)果符合預(yù)期。但由于絲桿螺距較大、氣泵吸盤口較大、待分揀物體較小,導(dǎo)致部分物體會出現(xiàn)漏抓現(xiàn)象,三角形物體尤其明顯,后續(xù)考慮精細(xì)化裝置。該裝置可以作為機(jī)器人等相關(guān)專業(yè)學(xué)生的實驗設(shè)備,成本低,運行穩(wěn)定,能為學(xué)生提供比較高的學(xué)習(xí)創(chuàng)作自由度。