Self-calibration Approach for Structured Light Eye-in-hand System
Based on Active Vision
吉 峰1 郭新年2 曹沁婕2 白瑞林2 于圣龍2
(無錫信捷電氣股份有限公司1,江蘇 無錫 214072;江南大學輕工過程先進控制教育部重點實驗室2,江蘇 無錫 214122)
基于主動視覺的結(jié)構(gòu)光手眼系統(tǒng)自標定方法
Self-calibration Approach for Structured Light Eye-in-hand System
Based on Active Vision
吉峰1郭新年2曹沁婕2白瑞林2于圣龍2
(無錫信捷電氣股份有限公司1,江蘇 無錫214072;江南大學輕工過程先進控制教育部重點實驗室2,江蘇 無錫214122)
摘要:為實現(xiàn)結(jié)構(gòu)光手眼系統(tǒng)的標定,提出一種基于主動視覺的結(jié)構(gòu)光手眼系統(tǒng)自標定方法。該標定方法精確控制機器人進行2組平移運動和1組帶旋轉(zhuǎn)運動:2組平移運動標定出攝像機內(nèi)參數(shù)、手眼矩陣的旋轉(zhuǎn)部分和光平面的法向量;1組帶旋轉(zhuǎn)運動標定出手眼矩陣的平移部分和光平面的深度信息。試驗結(jié)果表明,該標定方法簡單,無需使用特定靶標,特征選取容易,測試結(jié)果穩(wěn)定,定位精度可達到 ±1.02 mm,對結(jié)構(gòu)光手眼系統(tǒng)在實際工業(yè)現(xiàn)場的使用有重要意義。
關(guān)鍵詞:激光視覺傳感器結(jié)構(gòu)光手眼系統(tǒng)主動視覺自標定
Abstract:In order to calibrate the structured light eye-in-hand system, the self-calibration approach based on active vision is proposed. In this calibration method, by precisely controlling the robot, 2 groups of translational motion and 1 group of motion with rotating are conducted. The intrinsic parameters of camera, and the normal vectors of eye-in-hand rotation matrix and the light plane are calibrated by 2 groups of translational motion, and the translational section of eye-in-hand matrix and the depth information of the light plane are calibrated by 1 group motion with rotating. The test results show that this calibration approach is simple, specific target is not requested, feature selection is easy, testing result is stable, the accuracy is ±1.02 mm. This provides important significance to structured light eye-in-hand system in industrial fields.
Keywords:Laser vision sensorStructured lightEye-in-hand systemActive visionSelf-calibration
0引言
結(jié)構(gòu)光手眼系統(tǒng)(structured light eye-in-hand system)是由視覺傳感器(包括攝像機和線激光投射器)安裝在機器人本體末端構(gòu)成的系統(tǒng),在機器人視覺測量與控制領(lǐng)域有著廣泛應(yīng)用。基于主動視覺的結(jié)構(gòu)光手眼系統(tǒng)標定方法通過精確控制攝像機運動,根據(jù)圖像與攝像機和機器人運動之間的關(guān)系來進行標定。由于運動信息(定性或定量信息)已知,算法簡單,模型參數(shù)可以線性求解,魯棒性較高。
基于主動視覺的標定方法最早由Ma[1]在1996年提出,通過控制攝像機做2組3正交平移運動,利用擴展焦點(focus of expansion,FOE)性質(zhì)線性求解攝像機內(nèi)參數(shù)。其后,經(jīng)楊長江等[2]、李華等[3]、裴明濤等[4]不斷改進,減少了運動限制,降低了對運動平臺的要求。主動視覺方法同樣被引入手眼矩陣標定,楊廣林等[5]通過控制攝像機做2次平移和1次旋轉(zhuǎn)運動,標定出機器人手眼矩陣。王海霞等[6]、Haixia Xu等[7]深入分析手眼系統(tǒng),將攝像機內(nèi)參數(shù)和旋轉(zhuǎn)矩陣看作“黑箱”直接求解,無需分別確定系統(tǒng)各部分參數(shù),既降低了計算量又減少了誤差。其中文獻[8]無需求解FOE問題,精度高,實用性強。光平面標定方面,徐德等[9]的方法需要3次及以上攝像機位姿,且需已知激光條所在平面的方程,還需用測量尺對激光條上特定點間的距離進行測量,雖達到了較高的標定精度,但標定過程較復雜。陳天飛等[10]通過多組平移運動,采用線面模型,分別標定光平面法向量和光平面深度信息,達到了很高的標定精度。
基于機器人的主動視覺硬件前提,給出一種新的系統(tǒng)自標定方法。通過精確控制機器人進行2組平移運動和1組帶旋轉(zhuǎn)運動,無需使用特定靶標,只需場景中的3個特征點,即可實現(xiàn)結(jié)構(gòu)光手眼系統(tǒng)的自標定。
1手眼系統(tǒng)中坐標變換關(guān)系
結(jié)構(gòu)光手眼系統(tǒng)參數(shù)包括手眼矩陣和激光視覺傳感器參數(shù),其中激光視覺傳感器參數(shù)包括攝像機內(nèi)參數(shù)和線激光平面參數(shù)。結(jié)構(gòu)光手眼系統(tǒng)中機器人基坐標系、機器人末端坐標系和攝像機坐標系之間的關(guān)系,如圖1所示。
圖1 結(jié)構(gòu)光手眼系統(tǒng)
結(jié)構(gòu)光手眼系統(tǒng)中坐標變換關(guān)系如下[1,11-12]:
XW=εRHWRK-1m+RHWt+tHW
(1)
2平移運動標定部分
控制機器人做2組平移運動,第一組包括5次兩兩線性無關(guān)的平移運動,以標定出攝像機的內(nèi)參數(shù)和手眼矩陣的旋轉(zhuǎn)部分[7];控制機器人做另外一組在不同位姿下的2次平移運動,以標定出線激光平面的法向量[10]。
設(shè)P為空間中的一點,XW、XH和XC分別為點P在機器人基坐標系、機器人末端坐標系和攝像機坐標系下的坐標,RHW和tHW表示機器人基坐標系與機器人末端坐標系之間的關(guān)系,P在各坐標系的關(guān)系為:
XW=RHWXH+tHW
(2)
XH=RXC+t
(3)
P點在A處和B處機器人末端坐標系下的坐標分別為XH和XH1=XH+b,在攝像機坐標系下的坐標分別為XC和XC1,則有:
XH1=XH+k1b1=RXC1+t
(4)
(5)
轉(zhuǎn)換到像素坐標系,即:
ε1m1-ε0m0=KR-1b1
(6)
式中:mo=[u0,v0,1]T、m1=[u1,v1,1]T分別為P在A、B點的齊次坐標值。
令A=KR-1=[A1,A2,A3]T,可得:
(7)
控制攝像機做5次及以上線性無關(guān)的平移運動,可得ε1mi-ε0m0=KR-1bi(i=1,2,…,5)。建立關(guān)于未知矩陣A的最小二程方程組形式Ax=b,假定ε0=1,即可線性求解與A相差系數(shù)ε0的A01。
為了確定ε0的真實值,將矩陣A=KR-1寫成如下形式:
(8)
(9)
同時可得R=A02K。
理論上一個特征點即可實現(xiàn)標定,為保證在復雜工業(yè)環(huán)境中的使用,采用取3個特征點分別求解A后取均值作為內(nèi)參矩陣,以減少誤差,增強魯棒性。
設(shè)光平面方程為:
Ax+By+Cz+D=0
(10)
在攝像機光軸與直線所在平面不垂直時,在笛卡爾空間平行的直線在圖像空間不再平行,兩平行直線相交于消失點[13],消失點的方向可表示平行直線在攝像機坐標系的方向。
控制機器人沿不垂直于光軸方向進行平移運動,運動中在不同位置點取2幅及以上圖像,提取光條直線方程為aix+biy+ci=0,其中i表示第i幅圖像得到的直線。求解兩條及以上光條直線的最小二乘交點,即為消失點坐標[ue1,ve1]T。
改變機器人位姿,控制機器人做另一組平移運動,提取光條直線,求解消失點坐標[ue2,ve2]T。
將兩消失點經(jīng)內(nèi)參矩陣K變化到攝像機坐標系歸一化平面,即為激光線的方向向量。
[xc1,yc1,1]T=K-1[ue1,ve1,1]T
(11)
設(shè)γ1=[xc1,yc1,1]T、γ2=[xc2,yc2,1]T分別為以上兩組平行直線在光平面中的方向向量,γ3為光平面的法向量,兩條直線及其法向量的對偶關(guān)系如圖2所示。則有:
(12)
圖2 直線對偶關(guān)系
3帶旋轉(zhuǎn)運動標定部分
選取場景中不在同一直線的3個特征點,進行一組包括2次帶旋轉(zhuǎn)運動,可求解手眼矩陣平移部分和3個特征點在機器人基坐標系的坐標;根據(jù)激光條在3個點確定的平面上,標定光平面的深度信息。
選取場景中不在同一直線上的3個特征點,進行2次帶旋轉(zhuǎn)運動,第2次帶旋轉(zhuǎn)運動后取一幅帶激光條圖像。由結(jié)構(gòu)光手眼系統(tǒng)之間的關(guān)系式(1)可得:
(13)
其中mij=[ui,vi,1]T(i,j=1,2,3)表示在第i個位姿下第j個特征像點的坐標,其余類推。
以上方程兩兩相減可得:
(14)
(15)
通過最小二乘求解每個位姿下每個特征點的深度信息和手眼矩陣平移部分t。
圖3 光平面深度信息確定示意圖
3個特征點構(gòu)成的平面方程為:
a0x+b0y+c0z+1=0
(16)
(17)
進而可知P點在攝像機坐標系的齊次坐標XC=[xCP,yCP,zCP]T為:
XC=εPK-1[u,v,1]T
(18)
將P點在攝像機坐標系的坐標XC代入光平面方程(10),可得光平面方程的深度信息D:
(19)
在標定實現(xiàn)過程中,可取光平面上多個點,分別求解D后取均值。
標定步驟如下。
① 給定初始位姿T0,第一組包括至少5次兩兩線性無關(guān)平移運動,提取圖像特征點m0ij(i=1,2,3;j=0,1,2,…,5),根據(jù)3.1節(jié)標定原理,標定內(nèi)參數(shù)矩陣K和手眼矩陣旋轉(zhuǎn)部分R。
② 到達給定位姿T1、T2,提取特征點圖像m1ij(i=1,2,3;j=1,2),打開激光器,進行第二組平移運動,運動過程中采集多幅帶激光條圖像,提取光條并細化,經(jīng)Hough變換提取直線方程,根據(jù)3.2節(jié)求解光平面法向量信息γ3。
③ 到達給定位姿T3,提取圖像特征點m1i3(i=1,2,3),與T1、T2構(gòu)成一組帶旋轉(zhuǎn)運動,由3.1節(jié)得到手眼矩陣平移部分t和各特征點的深度值。
④ 根據(jù)式(4)中求得的各特征點深度信息求解特征點在機器人基坐標系坐標信息,得到特征點平面在機器人基坐標系方程,并在給定位姿T3采集一幅帶激光條圖像,結(jié)合3.2節(jié)標定激光平面深度信息D。
4試驗測試與分析
本試驗標定方法理論測試在Win7系統(tǒng)的Matlab 2011a平臺上完成,試驗使用Denso VP-6242E/GM六軸工業(yè)機器人,其重復定位精度0.02 mm;攝像機使用Xinje智能攝像機,CCD為640×480;使用computar工業(yè)鏡頭,焦距為8 mm。
試驗中攝像機隨機器人自由移動,由機器人控制器給定機器人平移運動,試驗中使用5組運動,分別為:b1=[35,0,0]T,b2=[0,35,0]T,b3=[35,35,0]T,b4=[35,10,15]T,b5=[0,35,15]T。2次帶旋轉(zhuǎn)運動通過給定機器人三位姿實現(xiàn),機器人末端旋轉(zhuǎn)矩陣表示方式為ZYX方式,試驗中使用3個不同位姿,如表1所示。
表1 機器人給定位姿
使用激光打印機打印的非等腰直角三角形角點作為特征點,角點提取采用文獻[14]所述方法,精度可達到0.2 pixel。
匹配方法根據(jù)特征點之間距離不同進行匹配,具體如下:提取角點,求解特征角點兩兩之間的距離,選擇距離最大的兩點外的第三點作為編號1點,另兩點中,離1點距離遠的編號為2點,剩余的編號為3點。為保證匹配結(jié)果魯棒性,試驗要求攝像機光軸與特征點平面法向量夾角小于45°。在求解光平面法向量時,在平移運動過程中提取7個位置圖像,優(yōu)化求解消隱點。優(yōu)化求解消隱點的試驗結(jié)果如圖4所示。
圖4 試驗結(jié)果圖
結(jié)合結(jié)構(gòu)光手眼系統(tǒng)標定參數(shù),在機器人姿態(tài)不變的前提下,進行平面和三維數(shù)據(jù)測試,測試結(jié)果如表2所示,最大誤差為±1.02mm。
表2 三維數(shù)據(jù)測試結(jié)果
5結(jié)束語
為實現(xiàn)結(jié)構(gòu)光手眼系統(tǒng)的標定,提出一種基于主動視覺的標定方法。該標定方法無需使用特定靶標,只需場景中3個特征點,通過精確控制機器人做2組特定平移運動和1組帶旋轉(zhuǎn)運動即可實現(xiàn)整個系統(tǒng)的標定,有利于實現(xiàn)標定過程的標準化和全自動化。
三維數(shù)據(jù)測試表明,該方法測試結(jié)果穩(wěn)定,在基于
Denso機器人構(gòu)建的結(jié)構(gòu)光手眼系統(tǒng)中,重復定位精度可達到±1.02 mm,滿足實際工業(yè)過程應(yīng)用中對精度較高的要求。
參考文獻
[1] Ma S D.A self-calibration technique for active vision systems[J].Robotics and Automation,IEEE Transactions on,1996,12(1):114-120.
[2] 楊長江,汪威,胡占義.一種基于主動視覺的攝像機內(nèi)參數(shù)自標定方法[J].計算機學報,1998,21(5):428-435.
[3] 李華,吳福朝.一種新的線性攝像機自標定方法[J].計算機學報,2000,23(11):1121-1129.
[4] 裴明濤,賈云得.基于主動視覺的攝像機線性自標定方法[J].北京理工大學學報,2006,26(1):27-31.
[5] 楊廣林,孔令富,王潔.一種新的機器人手眼關(guān)系標定方法[J].機器人,2006,28(4):400-405.
[6] Wang H X,Wang C Y,Lu X. Self-calibration technique based on hand-eye vision systems[C]∥Proceedings of the 26th Chinese Control Conference,IEEE,2007:212-215.
[7] Xu H X,Wang Y N,Chen W,et al.A self-calibration approach hand-eye relation using a single point[C]∥International Conference on Information and Automation,IEEE,2008:413-418.
[8] 徐德,趙曉光,涂志國,等.基于單特征點的手眼系統(tǒng)攝像機標定[J].高技術(shù)通訊,2005,15(1):32-36.
[9] Xu D,Jiang Z,Wang L,et al.Features extraction for structured light image of welding seam with arc and splash disturbance[C]∥The Eighth International Conference on Control,Automation,Robotics and Vision,Kunming China,2004.
[10]陳天飛,馬孜,吳翔.基于主動視覺標定線結(jié)構(gòu)光傳感器中的光平面[J].光學精密工程,2012,20(2):256-262.
[11]Zhang B W,Li Y F,Chen S Y.Concentric-circle-based camera calibration[J].Image Processing,IET,2012,6(7):870-876.
[12]Zhang Z Y.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[13]Bruno C,Vincent T.Using vanishing points for camera calibration[J].Computer Vision,1990,4(2):127-140.
[14]顧國慶,白瑞林,杜斌.基于曲率多尺度的高精度角點檢測[J].光學技術(shù),2010,36(6):918-922.
中圖分類號:TP242+.62
文獻標志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201502003
江蘇高校優(yōu)勢學科建設(shè)工程資助項目(編號:PAPD);
江蘇省產(chǎn)學研前瞻性聯(lián)合研究項目(編號:BY2012056)。
修改稿收到日期:2014-08-29。
第一作者吉峰(1981-),男,2006年畢業(yè)于江南大學檢測技術(shù)與自動化裝置專業(yè),獲碩士學位,工程師;主要從事嵌入式系統(tǒng)研究與開發(fā)、智能算法的軟硬件協(xié)同設(shè)計、機器視覺技術(shù)研究。