郭小娟,陸 藝,郭 斌
(中國計量大學 計量測試工程學院,浙江 杭州 310018)
傳統(tǒng)的工業(yè)機器人通過逐點示教來完成生產(chǎn)線的物料搬運、裝配以及其他的移動操作,但對于工業(yè)現(xiàn)場環(huán)境復雜,工件隨意擺放,致使工業(yè)機器人無法順利完成任務,影響系統(tǒng)的穩(wěn)定性[1].所以在本機器視覺中將相機固定在工業(yè)機器人末端執(zhí)行器上,機器人可以在運動中觀察物體與手之間的偏差,并將其作為調(diào)整方向的參考數(shù)據(jù),實時調(diào)整其運動方向,從而實現(xiàn)視覺定位,靈活性較高.將視覺系統(tǒng)處理得到的產(chǎn)品質(zhì)心坐標與偏轉(zhuǎn)角度通過TCP/IP通信實時傳送給機器人本體,從而使機器人能實時響應圖像處理結(jié)果實現(xiàn)裝配的任務.實驗表明,該系統(tǒng)能夠快速確定移動工件的位置信息并實時完成裝配任務,能夠適應復雜的工業(yè)環(huán)境下的在線作業(yè),有廣闊的應用前景.
根據(jù)工業(yè)應用上產(chǎn)品裝配的需求,設(shè)計了手眼系統(tǒng)視覺裝配實驗平臺.實驗平臺結(jié)構(gòu)圖設(shè)計如圖1,整體結(jié)構(gòu)包括兩條輸送線、產(chǎn)品搬運模塊、裝配臺、六軸機器人和工業(yè)相機.為滿足系統(tǒng)產(chǎn)品裝配定位精度為0.8 mm的要求,視覺模塊選用分辨率為1 024×1 248,在物距為400 mm下,視野為185 mm×150 mm的面陣工業(yè)相機.為保證產(chǎn)品光照均勻選用環(huán)形光源,工業(yè)機器人選用重復定位精度為±0.03 mm的洋威公司六自由度機器人.控制執(zhí)行機構(gòu)選用伺服電機及其驅(qū)動器驅(qū)動輸送線的運動,雙軸氣缸用來執(zhí)行產(chǎn)品搬運任務,運動指令由上位機發(fā)送.
圖1 手眼系統(tǒng)整體布局圖Figure 1 Overall layout of the hand-eye system
手眼系統(tǒng)標定分為相機標定和手眼關(guān)系標定.相機標定是指建立圖像像素位置和場景點位置之間的關(guān)系也是標定手眼關(guān)系的核心步驟.面陣相機模型是基于針孔成像原理建立的[2].在成像模型中世界坐標系中點P(Xw,Yw,Zw)T與相機坐標系中點P(Xc,Yc,Zc)T的變換關(guān)系用旋轉(zhuǎn)矩陣R(α,β,γ)和平移向量T(Δx,Δy,Δz)T來表示如式(1),式(2)表示旋轉(zhuǎn)矩陣R(α,β,γ),其中(α,β,γ,Δx,Δy,Δz)是相機的外部參數(shù).
P(Xc,Yc,Zc)T=R(α,β,γ)·P(XW,YW,ZW)T+T,
(1)
(2)
在不考慮鏡頭畸變的情況下,根據(jù)小孔成像模型世界坐標系點P(Xw,Yw,Zw)T與圖像物理坐標系點(Xd,Yd)的轉(zhuǎn)換關(guān)系可用式(3)表示:
(3)
μ=Xd(1+k1r2+k2r4+…),
(4)
ν=Yd(1+k1r2+k2r4+…),
(5)
(6)
(7)
綜上(1),(2),(3),(6),(7)式可求得相機內(nèi)部參數(shù)(f,k1,dx,dy,cx,cy)和外部參數(shù)(α,β,γ,Δx,Δy,Δz).
手眼關(guān)系方程為AX=XB[3],求解此方程須至少控制機器人運動兩次,獲得三組數(shù)據(jù).其中X表示手眼關(guān)系矩陣即是待求參數(shù),A表示運動前后相機坐標系的相對位置關(guān)系,B表示運動前后機器人末端執(zhí)行器坐標系的相對位置關(guān)系.寫成矩陣形式如下:
(8)
式(8)中:R為旋轉(zhuǎn)矩陣和T1為平移向量,Ra,Ta分別是A關(guān)系下的旋轉(zhuǎn)矩陣和平移矢量,Rb,Tb分別是B關(guān)系下的旋轉(zhuǎn)矩陣和平移矢量,Ra,Rb為3×3正交單位矩陣.控制機器人兩次運動的旋轉(zhuǎn)軸不相互平行[4-5],取得R,T的唯一解.求解出的R和T可轉(zhuǎn)化為機器人直角坐標系的表示方式即手眼關(guān)系(tx,ty,tz,rx,ry,rz),其中tx,ty,tz分別表示在x,y,z軸方向的平移量,rx,ry,rz分別表示繞x,y,z軸的歐拉角,最終得到此視覺系統(tǒng)的手眼關(guān)系為(-0.634,-129.817,3.118,359.552,0.901,115.185),其中tx,ty,tz的單位為mm,rx,ry,rz的單位為(°).
基于零部件的外形特征并獲得前景圖像的質(zhì)心信息,對采集的圖像做如下處理,流程圖如圖2.
圖2 前景圖像質(zhì)心提取流程圖Figure 2 Extraction process of foreground image target point
背景差分法[6]是目前運動檢測的主流方法,是為去除復雜的背景對目標圖像的影響.本文中背景為傳送帶皮帶輪的變化,運動過程中皮帶輪的背景專一,不存在背景的擾動問題,采用高強度的環(huán)形光源來抑制外界光照的影響,所以可以采用單一背景法的處理方式,算法處理起來更加高效.基本思想是將當前幀的前景圖像與背景圖像相減,若相減后的像素閾值大于某一閾值,則判定當前圖像該閾值范圍的像素區(qū)域為前景運動區(qū)域[7];反之為背景區(qū)域.背景差分法的公式如下所示,其中(r,c)為像素坐標:
Sk(r,c)=|Ak(r,c)-Bk(r,c)|,
(9)
(10)
在(9),(10)式中,Ak(r,c)代表前幀的前景圖像,Bk(r,c)代表背景圖像,Sk(r,c)為差分之后的圖像,T為閾值,0代表背景區(qū)域,1代表前景運動區(qū)域,Nk(r,c)為判別區(qū)域是否為運動區(qū)域的結(jié)果值.如圖3所示是背景差分法處理步驟.
圖3 背景差分法流程圖Figure 3 Flow chart of background difference method
使用背景去除法后的零件前景圖以及差分后的圖像如圖4.
圖4 零件前景圖及差分圖Figure 4 Foreground and difference diagram of component
圖4中,(a)(c)分別是獲取的上下蓋的前景圖片,(b)(d)是背景差分后的上下蓋圖片,從圖中對比可以看出,背景差分后的圖像能夠很好地去除背景以及重影的影響,提取出目標物體的特征信息.
由背景差分法得到的差分之后的圖像進行形態(tài)學分析,找到產(chǎn)品的質(zhì)心以偏轉(zhuǎn)角度信息.因為上下蓋的邊緣形狀相同,故上下蓋采用同一提取特征點的圖像處理算法,基本算法流程如圖5.
圖5 目標圖像特征點提取算法Figure 5 Target image feature point extraction algorithm
2.2.1 目標連通區(qū)域標記
對目標圖像進行連通域標記,并根據(jù)連通域特征去除標記區(qū)域中非目標連通區(qū)域以獲得目標特征區(qū)域并標記.對于兩個像素,如果認為它們是相連通的,那么這兩個像素的灰度值應該滿足相對應的灰度值的集合M[8-11].一般連通指的是像素的4連通和像素的8連通,本文使用像素的8連通,其中像素p(r,c)的8鄰域坐標集合為:
L8(p)=L4(p)∪{(r+1,c+1),(r+1,c-1),
(r-1,c-1),(r-1,c+1)},
(11)
L4(p)={(r+1,c+1),(r-1,c),
(r,c+1),(r,c-1)}.
(12)
在(11),(12)式中L8(p)是像素p的8鄰域,L4(p)是像素p的4鄰域.如果兩個像素p和p1像素灰度值都在集合M中,則p1是L8(p)中的某像素點,就判定這些像素點是8連通的.如圖6(a),6(b)是把當前圖像中的前景像素進行連通之后獲取的目標連通區(qū)域并用紅色標記.
圖6 上下蓋連通域圖Figure 6 Connected domain diagram of the upper and lower covers
圖6(a),(b)中得到連通后的目標區(qū)域能夠很好地反映目標外形輪廓信息.
2.2.2 目標區(qū)域質(zhì)心標記
獲取連通區(qū)域標記后須獲得目標圖像區(qū)域的輪廓,其提取的方法為:將目標區(qū)域的圖像表示為集合E[12],集合E輪廓用α(E)表示,則α(E)先由一個適當?shù)慕Y(jié)構(gòu)元素F對E腐蝕,再用E減腐蝕之后的結(jié)果如下:
α(E)=E-(EΘF).
(13)
式(13)中:Q表示形態(tài)學腐蝕算子,提取的輪廓如圖7(a),(b).
圖7 上下蓋輪廓圖Figure 7 Outline drawing of the upper and lower covers
提取輪廓之后對其進行矩形擬合,如果像素點的數(shù)量超過極限值,矩形擬合準確度會隨著像素點的增多而降低,并且延長了處理時間,所以須先用輪廓重心法[13]獲得產(chǎn)品中心點的坐標.其獲取方式是通過中心坐標把目標輪廓劃分成4個區(qū)域,在每個區(qū)域中計算出離中心點最遠的點,確定圖像的4個頂點,分別用a1,a2,a3,a4表示,然后以4個近似頂點為界,把輪廓點分為4組,對每組的輪廓坐標進行等間隔采樣,采集數(shù)量合適的像素坐標點.這種方法不僅能去除一些干擾點,而且能使圖像具有較高的擬合準確性,在一定程度上縮短了運行時間.每組采樣的像素坐標集的個數(shù)分別為m1,m2,m3,m4,則每組像素點坐標表達式為:
(14)
采樣之后根據(jù)矩形的四條邊的特征,關(guān)系式如下:
(15)
在式(15)中,b1,b2,b3,b4為相鄰四條直線的截距,k1,k2為兩條平行直線的斜率.將采樣點式(14)代入式(15)得到最小二乘法方程[14]:
(16)
在式(16)中n≤min(mi),di表示采樣后的第i個像素點到擬合直線的距離,‖d‖為采樣后的像素點到擬合后的直線距離的平方和,‖d‖越小表示準確性越高.由(14),(15),(16)可得到擬合后第j個目標的矩形四個點像素坐標為a1(rj0,cj0),a2(rj0,cj1),a3(rj1,cj0),a4(rj1,cj1),如圖8,記第j個目標質(zhì)心為(rj,cj).
圖8 矩形中心點標記圖Figure 8 Center mark of the rectangle
為保證算法的實時性,將目標外接矩形的中心標記為目標的質(zhì)心,則質(zhì)心(rj,cj)的表達式:
(17)
圖9 上下蓋擬合圖Figure 9 Fitting diagram of the upper and lower covers
如圖9,某時刻盒子上下蓋的質(zhì)心位置和偏轉(zhuǎn)角度,此處的質(zhì)心坐標已由質(zhì)心的像素坐標根據(jù)手眼標定結(jié)果轉(zhuǎn)化為其在機器人基座標系下的位置(單位:mm)以及偏轉(zhuǎn)角度(單位:°),兩圖中的坐標的x,y為機器人基座標的方向,分別與像素坐標的r,c方向平行.
當矩形的一條短邊與機器人基座標的x軸無夾角時,認為目標沒有發(fā)生偏移,則目標的偏移角度可以表示為
φ=tan-1((ci0-ci1)/(ri0-ri1)).
(18)
由(18)式知,偏轉(zhuǎn)角的范圍為-90°~90°,當偏轉(zhuǎn)角大于0時須逆時針進行補償;反之則順時針進行補償.
在實驗中利用光電傳感器軟件觸發(fā)相機拍照獲取視野中的前景圖像進行圖像處理,獲取產(chǎn)品的質(zhì)心坐標以及偏轉(zhuǎn)角度,將此信息發(fā)送給機器人,機器人追蹤運動產(chǎn)品相遇后抓取,然后進行角度偏差補償,以完成產(chǎn)品上下蓋的裝配過程,實驗場景如圖10.此方法的靈活性在于對于工業(yè)現(xiàn)場隨意擺放的工件,只需要求解質(zhì)心坐標以及偏轉(zhuǎn)角度即可完成裝配的過程.
圖10 產(chǎn)品合蓋實驗平臺Figure 10 Product cover experimental platform
在如圖10所示環(huán)境下進行了30組實驗,表示在裝配位置的質(zhì)心信息,結(jié)果如表1:(x,y)表示根據(jù)手眼關(guān)系計算得到的質(zhì)心在機器人基座標下的坐標,x表示裝配位置的橫坐標值,y表示裝配位置的縱坐標值.記盒子合蓋時固定質(zhì)心坐標為G(460.565 mm,90 mm),誤差表示抓取點與固定裝配位置G的偏差值,將表1的30組誤差取平均值得到產(chǎn)品上下蓋裝配精度為0.141 mm.
表1 盒子上下蓋合裝實驗
由于測量結(jié)果的不確定度往往由多種原因引起,整個機器視覺系統(tǒng)合成標準不確定度u由各個不確定度分量合成[15],計算公式為
(19)
式(19)中:ui是不確定度分量,n為不確定度分量的個數(shù),綜上所述機械臂重復定位精度為±0.03 mm,使用標定板標定,計算得到工業(yè)相機的像素精度為0.093 mm/pixel,圖像處理過程像素誤差為0.110 pixel,則標準不確定度計算如下:
(20)
由式(20)知合成標準不確定度小于裝配精度,滿足系統(tǒng)的要求.
本手眼系統(tǒng)實驗平臺實現(xiàn)了對流水線上零部件上下蓋的合裝,合裝精度能達到0.141 mm.解決了工業(yè)現(xiàn)場產(chǎn)品裝配受任意擺放限制的問題,具有很好的靈活性,滿足工業(yè)應用的需求,對提高生產(chǎn)線柔性具有很好應用價值.