邱曉榮, 劉全勝, 趙 吉
(1. 馬來西亞管理科學大學信息科學與工程學院,雪蘭莪 莎阿南 40100;2. 無錫職業技術學院物聯網技術學院,江蘇 無錫 214121; 3. 江南大學物聯網工程學院,江蘇 無錫 214122)
視覺測量與控制作為機器人智能化最重要的實現方式之一,可以大幅提高機器人的效率和精度,目前在工業生產中有著非常廣泛的應用。機器人在生產操作時,需要知道目標物體相對于機械手末端執行器的位置,這可以通過手眼系統的自標定來獲取,獲取的關鍵在于確定機械手末端坐標系與攝像機坐標系之間的相對位置關系[1-3]。常見的手眼系統一般可以分為固定視點系統和非固定視點系統2種。非固定視點系統中,攝像機被固定在機器人機械手末端,隨末端執行器一起移動,可實時觀測到攝像機視野中的工件圖像。
為了實現非固定視點系統的自標定,目前常用的方法是在不使用標定參照物的基礎上,精確控制攝像機做線性無關的平移運動和旋轉運動,只需依據場景中若干特征點,即可線性求解手眼系統中的攝像機內參矩陣、手眼關系、特征點目標深度等信息。楊廣林等[4]提出依據2個特征點,利用2次平移運動和1次旋轉運動,可線性求解手眼關系的平移向量和特征點目標深度。許海霞等[5]提出只需1個特征點,利用5次以上平移運動和2次以上旋轉運動,可實現自標定。孔令富等[6]提出利用4次純平移運動可以計算手眼關系的旋轉矩陣,繼而實現特征點目標深度實時估計。曲學軍等[7]提出基于平行直線束圖像序列,利用消隱點標定攝像機的焦距和外參數。陳天飛等[8]通過多次平移運動,同時結合四參數平面模型,分別標定光平面法向量和目標深度信息。張黎爍等[9]提出僅需2個特征點,通過控制攝像機做4次線性無關的平移運動和2次旋轉運動,即可實現手眼系統的標定。何佳唯等[10]結合標定板設計了一種手眼關系混合標定方法,用于求解手眼旋轉矩陣和平移矩陣。徐成剛等[11]基于馬達代數空間構建手眼標定方程,并利用SVD方法求解手眼關系矩陣,取得了較好的效果。
受上述相關研究的啟發,本文提出一種新的基于主動視覺的自標定方法,簡化攝像機旋轉的次數,降低了運算的復雜度,能夠滿足工業領域的精度要求。
攝像機成像系統原理如圖1所示,特征點M在CCD成像平面O-uv中的成像點坐標為MUV(u,v),在圖像平面ON-XNYN中的成像點坐標為MN(xn,yn),在攝像機坐標系OC-XCYCZC中的坐標為MC(xc,yc,zc)。

圖1 攝像機成像系統原理圖

K是攝像機內參矩陣五參數模型,圖像平面x軸、y軸的尺度因子分別用表示,表示畸變因子,(u0,v0)是CCD成像平面的原點。攝像機成像系統中坐標變換關系如下:

基于主動視覺的手眼系統如圖2所示。其中,特征點M在世界坐標系OW-XWYWZW中的坐標為MW(xw,yw,zw),在機械手末端坐標系OH-XHYHZH中的坐標為MH(xh,yh,zh),在攝像機坐標系OC-XCYCZC中的坐標為MC(xc,yc,zc)。

圖2 基于主動視覺的手眼系統原理圖
綜合式(1)~式(5),得到手眼系統中的坐標變換關系,其中ξ表示特征點在攝像機坐標系的深度值。

根據擴展焦點的性質[12],任一特征點在攝像機平移前后的對應點連線均通過擴展焦點,因此可以通過場景中的2個或2個以上特征點來求解擴展焦點。
如圖3所示,圖像I和圖像II是攝像機平移前后的兩幅圖像,P1和P2是特征點M在平移前后圖像上的位置。攝像機做平移運動,直線OCO和OC'O'平行,直線P2'O和P2O'平行。P2'是P2在圖像I上的對應點,對應點連線P2'P1和OCOC'相交于擴展焦點e。

圖3 擴展焦點的原理圖
由式(2)和式(3),可得擴展焦點e在攝像機坐標中的坐標:

式中moce表示OC到e的向量,mococ′表示OC到OC′的向量,c=moce/|moce|,表示攝像機平移運動的單位向量,且k>k1>0。
控制攝像機做1次平移運動,XH1、XH2是平移前后特征點M在機械手末端坐標系中的坐標,XC1、XC2是平移前后特征點M在攝像機坐標系中的坐標,則有:

式(10)-式(9),可得:

式(11)結合式(8),可得:

如式(12)所示,控制機械手做3次線性無關的平移運動,可得:

式中B=(b1,b2,b3),C=(c1,c2,c3),可得手眼關系旋轉矩陣為

式(14)表明,通過精確控制攝像機做3次線性無關的平移運動,可以標定手眼關系的旋轉矩陣,且為正交陣。
式(7)結合式(12),可得:

式(15)等價于:

假定

結合式(16)和式(17),可得:

如式(18)和式(19)所示,假定另一矩陣A′除外其余元素與A相同,控制攝像機做4次線性無關的平移運動,可通過最小二乘法求出A′的唯一解。為了確定a33的值,由式(17)得:


求出a33后,再由式(20)求出A,實現攝像機內參矩陣的標定。
如圖1所示,控制攝像機做1次平移運動,(u1,v1)和(u2,v2)是平移前后特征點M在CCD成像平面的坐標,(x1,y1)和(x2,y2)是平移前后特征點M在圖像平面的坐標,MC1(xc1,yc1,zc1)和MC2(xc2,yc2,zc2)是平移前后特征點M在攝像機坐標系中的坐標,由式(2)、式(3)和式(8)得:

結合式(1),將式(22)代入式(23),可得:

化簡式(25),可得:


同理,通過式(26)可以求出zc2的值。同時式(26)、式(27)也表明通過控制攝像機做1次平移運動,可以求出平移前后特征點的目標深度信息。
完成上述4次線性無關的平移之后,為了標定手眼關系的平移向量,可以先控制機械手做1次實旋轉運動(姿態1→姿態2,如圖4所示),然后再控制攝像機做1次虛擬旋轉運動(姿態2→姿態3,如圖5所示)。
同時需要注意的是,由于手眼系統中攝像機被固定在機械手末端,為了使旋轉前后機械手末端坐標系和攝像機坐標系的旋轉部分平移部分保持一致,實際是不能控制攝像機基于機械手末端完成姿態2→姿態3的旋轉操作。因此,圖5所示的只是假想控制攝像機做1次虛擬旋轉運動,并基于此次虛擬旋轉做進一步的標定分析,同時還需保證虛擬旋轉結束后的攝像機坐標系與實旋轉之前攝像機坐標系的各個數軸平行且方向完全一致。

圖4 實旋轉前后手眼系統姿態對比

圖5 虛旋轉前后手眼系統姿態對比
XH5、XH6是實旋轉前后特征點M在機械手末端坐標系中的坐標,XC5、XC6是實旋轉前后特征點M在攝像機坐標系中的坐標。則有:

由式(28),可得:

如圖5所示,虛旋轉完成后,特征點M在機械手末端坐標系中的坐標是XH7,在攝像機坐標系中的坐標是XC7,可得:

結合式(29)和式(30),可得:

式(31)表明經過一次實旋轉和一次虛旋轉后,特征點M在攝像機坐標系中的坐標XC5(xc5,yc5,zc5)和XC7(xc7,yc7,zc7),可以看作是一次平移運動前后的坐標變換。
結合式(2)、式(3)和式(30),可得

假定

將式(33)和式(34)代入式(32),可得:

將式(35)展開,可得:

式(36)中,矩陣D的9個元素已知,(u6,v6)是機械手實旋轉后特征點M在CCD成像平面的坐標,由此可以求出機械手虛旋轉后特征點M在CCD成像平面的坐標(u7,v7),進而可以求出虛旋轉后特征點M在攝像機坐標系的坐標XC7(xc7,yc7,zc7)。
由式(2)、式(3)和式(8)得:

由于(u5,v5)→(u7,v7)的對應關系類似于一次平移運動,因此結合這兩點的坐標可以求出平移運動的單位向量c′。
將式(1)和式(37)代入式(38),可得:

化簡式(40),可得:



由式(43)可知,通過控制手眼系統中的機械手做一次實旋轉,然后再控制攝像機做一次虛旋轉,可以實現對手眼關系平移向量的標定。
標定實驗的測試平臺采用的是DENSO VP-6242E/GM工業機器人,攝像機鏡頭的焦距為8 mm,感光CCD分辨率為640×480。
如圖6所示,首先控制攝像機做4次線性無關的平移運動。為提高計算精度,取三特征角點對應連線的均值[9]計算CCD成像平面中擴展焦點的坐標。

圖6 4次平移運動
然后根據擴展焦點的坐標可以求出攝像機平移運動過程中的方向向量,繼而求出手眼關系的旋轉矩陣和 攝像機內參矩陣。

接著做1次實旋轉運動,此次實旋轉結合1次假想的虛旋轉,可以求出手眼關系的平移矩陣為

為了進一步確保自標定方法的正確性,最后還需在機械手末端安裝一個執行器,同時計算該末端執行器在機器人世界坐標系中的偏移修正值ts。

在攝像機內參矩陣、手眼關系旋轉矩陣和平移向量完成求解之后,在保持機器人本體姿態不變的情況下,進行平面和三維數據驗證測試,測試結果如表1所示。

表1 測量精度分析
表1中的計算坐標由手眼系統自標定時相關特征點坐標值計算得出,其中1~5號為平面測試數據,6~10號為三維測試數據,最大測量誤差均不超過0.40 mm,能夠滿足工業領域的精度要求。
與傳統手眼系統自標定方法相比,提出的基于主動視覺的手眼系統自標定方法無需標定參照物,實現過程相對簡單,并在2個方面對做了較好的改進:1)通過控制攝像機做3次線性無關的平移運動,即可實現對手眼關系旋轉矩陣的線性求解,比文獻[6]簡化了1次平移運動,降低了手眼關系旋轉矩陣以及后續攝像機內參矩陣求解的運算復雜度;2)與文獻[9]相比,本方法簡化了1次實旋轉,只需1次實旋轉結合1次虛旋轉即可,降低了求解手眼關系平移向量的運算復雜度。最后的實驗結果表明,本方法能夠保證實際作業精度,對促進手眼系統的工業應用具有參考價值。