王連慶,錢 莉
(上海工程技術大學 機械與汽車工程學院,上海 201620)
隨著科技的進步與發展,人們對自動化領域提出了無人工廠,高精度裝配等理念,這些理念的核心作用就是降低人工參與度。而工業機器人[1]的出現,一定程度上滿足了人們對自動化行業提出的要求。如今越來越多的工業機器人系統集成了視覺接口,利用視覺技術配合機械手實現目標物體的定位,分類,檢測。機器視覺的核心就是將相機采集的圖像進行處理,提取圖像的特征信息[2],來判斷圖像上層語義,進而替代人眼和人腦完成約定任務,甚至可以完成特殊環境下人眼無法完成的任務。除此之外視覺技術還運用在虛擬現實[3],汽車導航[4],瑕疵檢測等領域。本文運用機械手與視覺技術的結合,將物料盒中的無序物料進行識別,定位,并引導機械手進行抓取,有序放入物料盒中。
1)CCD相機:相機采用大華公司A3600MG18型號相機,使用千兆網卡與工控機通訊,安裝在物料盒,來料盒上方,與機械人末端下方。
2)鏡頭:鏡頭采用日本COMPUTAR公司的25mm標準鏡頭。
3)計算機:采用研華公司的工控計算機,軟件運行環境為Window10,Visual Studio 2017 C#,CPU:Intel i5-4800,RAM:12GB。
4)光源:光源采用上海愷威光電科技的LED環形光,此款源可以減少相機曝光時間,提高圖像質量。
5)機器人:采用雅馬哈YK500-600XGL四軸機械手。該機械手末端重復精度可達到0.005mm,編程簡單,采用TCP/IP協議與工控機通訊。
機器人視覺引導無序抓取系統整體硬件的搭建如圖1所示。

圖1 機器人視覺引導無序抓取整體硬件的搭建
本系統中3只相機分別安裝在物料盒的上方,來料盒的上方,和機械手位置2的正下方,保持相機安裝與工作臺垂直。3只相機的目的是分別對物料盒放置物料的圓形凹槽,來料盒中的無序來料,和機械手末端圓形吸料吸嘴進行定位。工作流程的第一步是將3只相機與機械手做一次聯合標定,將3只相機與機械手標定至同一坐標系下即將圖像從像素坐標系轉化到機械手基坐標系下。第二步將機械手運動至位置3,相機2采集圖像,對圖像進行處理,定位物料中心在機械手基坐標坐標系下的坐標,同時相機3采集圖像,定位機械手圓形吸嘴中心在機械手基坐標下的坐標。將兩坐標進行解算,解算出機械手需要運動的關節信息,通過網絡協議傳輸至機械手控制端,機械手運動至位置2對物料進行吸取。第三步相機1進行拍照對物料盒放置物料的圓形凹槽中心進行定位,同時將機械手移動至位置3,利用相機3對機械手已吸取物料中心進行拍照定位,通過兩定位坐標再次解算出機械手需要運動的關節信息。操作機械手運動至位置1圓形凹槽上方釋放物料,完成機械手的搬運任務,往復工作直到物料盒為空。從而實現機械手無序抓取物料并有序放置的任務,具體工作流程如圖2所示。

圖2 視覺引導抓取系統工作流程
相機的針孔成像模型與小孔成像原理[5]類似,如圖3所示,成像平面所呈的像為實際物體倒立的像,相機內部在做圖像處理的時候會將圖像進行倒立,放縮,使圖像與實際物體一致。根據小孔成像原理我們可以把相機的成像效果等價與平面的成像效果。

圖3 針孔成像原理
根據小孔成像原理我們可以把相機模型分為相機坐標系,圖像坐標系,像素坐標系,世界坐標系,圖像坐標系和像素坐標系在平面π1上,將平面π1放大后如圖4所示,左上角O0定義為圖像的像素坐標系原點,u和v分別為X和Y軸。點O為圖像坐標系的原點,x和y分別為坐標系的X,Y軸。我們假設相機成像形狀為矩形,每個像素在x軸與y軸的物理尺寸為dx與dy,單位為mm/px,假設在像素坐標系下存在一點(u,v),在圖像坐標系下為(x,y),則有以下對應關系:

圖4 圖像坐標系

我們將式(1)轉化為矩陣表達式有

相機坐標系如圖3中OC-XCYCZC,其中XC,YC與圖像坐標系中的X軸,Y軸同軸,ZC與成像平面垂直,OCC為光心到成像平面的距離即相機的焦距,假設距離為f,我們將相機坐標系下的一點p1(X,Y,Z)投影到圖像坐標系中得到p2(x,y),則有對應關系

綜合考慮式(2)和式(3)可以推出像素坐標系到相機坐標系的關系

世界坐標系如圖3中OW-XWYWZW,在世界坐標系中有一點(XW,YW,ZW),在相機坐標系下有一點(X,Y,Z),我們將兩坐標轉化為齊次坐標就有對如下應關系:

MW為相機的外參,即相機坐標系到世界坐標系的轉化關系。綜合式(4)、式(5)我們可以得出以下公式,該公式表達了像素坐標系到世界坐標系的轉化關系。即可以將實物從外部的三維世界轉化為二維平面。

根據式(6)我們就可以通過相機拍攝不同位置的標定板,求解出相機的內參和外參。
在進行相機標定時,我們可以獲得相機的內外參數,但是在進行視覺引導時已知這些參數是遠遠不夠的,需要對機械手和相機之間進行標定,獲得機械手基坐標系和像素坐標系之間的關系,才可進行視覺引導。
在此套系統中采用的Eye-on-Hand[7,8]的標定方式,Eye-on-Hand系統即眼在手外系統,將相機固定在某一位置,標定板固定在機械手末端,保持相機與標定片平面處于垂直狀態,如圖5所示。

圖5 固定相機手眼關系
從上述轉換關系我們可以得到以下等式


只要對該方程求解就可以獲得手眼標定的結果。過于解上述方程需要足夠多的位置移動,考慮到過擬合問題和誤差較小兩個問題,我們需要保證一個足夠大的平面來進行標定。
圖像的提取特征[9]和模板匹配[10]是機械手對目標物體定位最重要的步驟,對于目標圖像我們可以提取它的幾何特征,直方圖信息[11],灰度信息等作為匹配的特征要素。成功提取特征后還需要利用搜索匹配算法來實現模板與目標圖像之間的匹配。模板匹配的運算時間直接決定整個系統的運行時間,因此我們在考慮準確性的同時還要盡量縮小算法的運算時間。
常用的匹配算法有提取灰度信息和幾何特征。基于幾何特征的匹配算法[12]是提取目標物體的外部輪廓,對輪廓進行對比匹配。基于灰度信息的匹配算法[13]是比較相同位置灰度的差值,選取差值最小處或者達到最小閾值則為成功匹配。基于灰度特征的匹配算法原理簡單,也相對成熟。因此本系統優先采用的基于灰度特征的模板匹配算法。
我們采用模板圖像與目標圖像所有灰度值差值的平方和作為其相似性度量標準。設模板圖像為W×H個像素,模板與目標圖像評價函數如下:

將上述式(9)歸一化后有:

T(m,n)和D(i+m,j+n)分別為模板圖像在(m,n)坐標下的像素,目標圖像在(i+m,i+n)坐標下的像素值,通過為每一個位置像素之差求平方和來評價模板圖片與目標圖片的相似度。評價函數的得分越低說明模板圖片和目標圖片的匹配程度越高。該方法設置閾值后,可以在目標圖像中找個多個與模板相似的圖片,符合本套系統的設計一致。
圖6為模板圖片,基于該模板特征提取灰度信息,在目標圖片圖7中綠色框內為目標圖片與模板重合的區域,紅色部分表示匹配上但是得分較低的區域。可以看出匹配準確性比較高,結果可以作為實際定位結果。

圖6 模板圖片

圖7 目標圖片
我們利用雅馬哈YK500-600XGL四軸機械手,海康600萬相機,研華工控機對該系統進行驗證。實驗圖如圖11所示。

圖11 實際驗證硬件架設
首先確定機械手與上位機的通信方式,本次實驗采取TCP/IP通訊方式,編寫該系統上位機,上位機界面中包含了機器人標定點位,機器人試教點位,匹配圖像顯示界面等。其次確定機械手末端采用氣動吸嘴,實現機械手對物料的抓取與釋放。
進行實驗前我們利用棋盤格對該系統進行相機內外參標定,手眼標定。在機械手進行抓取之前我們機械手吸嘴進行定位如圖10所示,并對來料盒中的物料進行定位如圖7所示,根據兩定位結果反解出機械手運動的關節信息,擺動機械手到物料位置吸取物料,吸取料后再次對來料進行定位如圖9所示,同時對料盒進行定位如圖8所示,根據兩定位信息解算出機械手應走的位置,將物料至于料盒中。其中對機械手吸嘴定位與再次對吸取物料定位是為了防止吸取物料時產生偏差(如圖9所示)與放料誤差的疊加導致放料失敗,從而不能保證整個系統的穩定性。

圖8 物料盒物料放置槽定位

圖9 機器人吸取物料定位

圖10 機器人吸嘴定位
我們用300片物料進行實驗,實驗結果如表1所示,由表可以看出該系統的準確性和穩定性可以達到98.6%,符合制定的要求。使用該套系統可以大大減少人力成本,提高產能,為企業減少成本。
本文完成了基于機器視覺引導機械手對無序物料進行抓取系統的設計,并且在實際的實驗測試中取得了較高的成功率,從而驗證了該套系統的可靠性,同時驗證了標定算法,定位算法的可靠性,引導抓取方案的實用性。機器視覺出現提高了自動化行業的效率和生產質量,使得產品更加穩定可靠,但是我國的視覺技術仍處于起步階段,需要大量的專業人才共同努力,才能縮小和自動化強國技術人的差距。