陸 藝,郭小娟,郭 斌,沈添秀
(1.中國(guó)計(jì)量大學(xué)計(jì)量測(cè)試工程學(xué)院,浙江 杭州 310018; 2.杭州沃鐳智能科技股份有限公司,浙江 杭州 310018)
在機(jī)器視覺(jué)中常將相機(jī)固定在工業(yè)機(jī)器人末端執(zhí)行器上,這種配置相當(dāng)于將“眼”放在“手”上,相比于“眼”放在“手”外的配置有很好的靈活性,機(jī)器人可以在運(yùn)動(dòng)中觀察物體與手之間的偏差,并將其作為調(diào)整方向的參考數(shù)據(jù),逐漸調(diào)整手的運(yùn)動(dòng)方向,從而實(shí)現(xiàn)視覺(jué)定位。手眼系統(tǒng)標(biāo)定包括相機(jī)標(biāo)定和手眼關(guān)系標(biāo)定,因?yàn)橄到y(tǒng)標(biāo)定的精度將直接影響系統(tǒng)定位的精度,所以手眼標(biāo)定是解決手眼視覺(jué)定位的關(guān)鍵內(nèi)容,也是手眼問(wèn)題的核心。傳統(tǒng)的標(biāo)定方法主要有:Tsai兩步標(biāo)定法[1],自標(biāo)定方法[2],雙平面標(biāo)定法[3],張正友標(biāo)定方法[4]等,其中張正友的標(biāo)定法具有精度較高,適用場(chǎng)合廣泛等特點(diǎn),在實(shí)際生產(chǎn)環(huán)境中得到廣泛的應(yīng)用。所以本手眼系統(tǒng)標(biāo)定引入了張正友標(biāo)定方法,與張正友標(biāo)定方法使用棋盤(pán)格標(biāo)定板作為校準(zhǔn)物不同,此處使用圓點(diǎn)標(biāo)定板,其特征點(diǎn)可采用圓擬合算法快速計(jì)算。相機(jī)從多個(gè)角度采集多幅標(biāo)定板圖片進(jìn)行相機(jī)內(nèi)外參數(shù)標(biāo)定和手眼標(biāo)定。在標(biāo)定過(guò)程中需要在每個(gè)角度進(jìn)行一次相機(jī)標(biāo)定,以獲取不同位置相機(jī)內(nèi)外參數(shù),來(lái)提高手眼標(biāo)定的精度。
根據(jù)工業(yè)應(yīng)用上產(chǎn)品裝配的需求,設(shè)計(jì)了手眼系統(tǒng)視覺(jué)裝配實(shí)驗(yàn)平臺(tái),整體結(jié)構(gòu)包括臺(tái)架(兩條輸送線),機(jī)器視覺(jué)模塊,控制執(zhí)行機(jī)構(gòu),其中視覺(jué)模塊構(gòu)建模型如圖1所示。
圖1 視覺(jué)模塊示意圖
為滿足系統(tǒng)產(chǎn)品裝配定位精度為0.8 mm的要求,視覺(jué)模塊選用分辨率為1 024×1 248,像素精度為0.093 mm的面陣工業(yè)相機(jī),為保證產(chǎn)品光照均勻選用環(huán)形光源,工業(yè)機(jī)器人選用重復(fù)定位精度為±0.03 mm的洋威公司六自由度機(jī)器人??刂茍?zhí)行機(jī)構(gòu)選用伺服電機(jī)及其驅(qū)動(dòng)器驅(qū)動(dòng)輸送線的運(yùn)動(dòng),雙軸氣缸用來(lái)執(zhí)行產(chǎn)品搬運(yùn)任務(wù),運(yùn)動(dòng)指令由上位機(jī)發(fā)送,手眼系統(tǒng)實(shí)驗(yàn)平臺(tái)實(shí)物圖如圖2所示。
圖2 手眼系統(tǒng)實(shí)物圖
相機(jī)標(biāo)定是標(biāo)定手眼關(guān)系的核心步驟,因此對(duì)相機(jī)內(nèi)參和外參的確定十分重要。面陣相機(jī)模型是基于針孔成像原理建立的[5],在成像模型中如圖3所示包含相機(jī)坐標(biāo)系OXcYcZc,圖像物理坐標(biāo)系XdO1Yd,圖像像素坐標(biāo)系XfO2Yf,世界坐標(biāo)系O3XwYwZw。圖像物理坐標(biāo)系原點(diǎn)O1在圖像像素坐標(biāo)系中的坐標(biāo)用(cx,cy)表示,用dx,dy來(lái)表示相鄰像素點(diǎn)中心在x軸方向和y軸方向的實(shí)際物理距離,f為相機(jī)焦距。
圖3 成像模型
世界坐標(biāo)系中點(diǎn)P(Xw,Yw,Zw)與相機(jī)坐標(biāo)系中點(diǎn)P(Xc,Yc,Zc)的變換關(guān)系用旋轉(zhuǎn)矩陣和平移向量來(lái)表示如式(1)所示,其中組成了相機(jī)的外部參數(shù)。
在不考慮鏡頭畸變的情況下,根據(jù)小孔成像模型可用式(2)表示世界坐標(biāo)系點(diǎn)P(Xw,Yw,Zw)與圖像物理坐標(biāo)系點(diǎn)(Xd,Yd)的轉(zhuǎn)換關(guān)系:
相機(jī)鏡頭不可避免會(huì)存在畸變,一般考慮徑向畸變,用一個(gè)參數(shù)k來(lái)模擬,將畸變圖像平面物理坐標(biāo)點(diǎn)(Xd,Yd)轉(zhuǎn)換成未失真圖像平面物理坐標(biāo)點(diǎn)
綜上可求得相機(jī)內(nèi)部參數(shù)(f,k, dx, dy,cx,cy)和外部參數(shù)
機(jī)器人的運(yùn)動(dòng)姿態(tài)往往由一個(gè)繞x,y和z軸的旋轉(zhuǎn)序列來(lái)規(guī)定的,這種旋轉(zhuǎn)角序列稱為歐拉角[6-7]。歐拉旋轉(zhuǎn)變換矩陣可以用3個(gè)旋轉(zhuǎn)矩陣相乘來(lái)計(jì)算,其中矩陣乘法是非交換的,所以旋轉(zhuǎn)次序很重要。根據(jù)旋轉(zhuǎn)所繞軸次序不同,共分為12種不同類型的歐拉角,6種對(duì)稱型歐拉角:zyz,zxz,yzy,yxy,xzx,xyx和6種非對(duì)稱型歐拉角:zyx,zxy,yzx,yxz,xyz,xzy。本系統(tǒng)六自由度的關(guān)節(jié)串聯(lián)型機(jī)器人,其控制柜中內(nèi)建的運(yùn)動(dòng)模型為D-H模型[6],坐標(biāo)變換發(fā)生在直角坐標(biāo)系中。該末端執(zhí)行器坐標(biāo)系與基坐標(biāo)系空間姿態(tài)轉(zhuǎn)換關(guān)系的歐拉角序列為zyx型,新舊坐標(biāo)系變換關(guān)系用旋轉(zhuǎn)矩陣表示,分別表示z,y,x方向的旋轉(zhuǎn)矩陣,示意圖如圖4所示。
圖4 歐拉角旋轉(zhuǎn)示意圖
圖4表示末端執(zhí)行器坐標(biāo)系先繞z軸旋轉(zhuǎn)角,再繞y軸旋轉(zhuǎn)角,最后繞x軸旋轉(zhuǎn)角,得到基坐標(biāo)系,即歐拉變換:
由式(5)可計(jì)算出機(jī)器人末端執(zhí)行器坐標(biāo)系與機(jī)器人基坐標(biāo)系的旋轉(zhuǎn)矩陣的結(jié)果:
由以上可知,手眼標(biāo)定之前須先確定機(jī)器人坐標(biāo)系旋轉(zhuǎn)矩陣的歐拉角序列次序。已知機(jī)器人末端執(zhí)行器坐標(biāo)系與基坐標(biāo)系的關(guān)系,若求解出手眼關(guān)系,便可實(shí)現(xiàn)視覺(jué)定位。
求解手眼關(guān)系就是確定相機(jī)坐標(biāo)系與機(jī)器人末端執(zhí)行器坐標(biāo)系之間的關(guān)系的過(guò)程[8-10],如圖5所示控制機(jī)器人從位置1移動(dòng)到位置2,用相機(jī)多次觀察標(biāo)定板,計(jì)算出相機(jī)坐標(biāo)系與機(jī)器人執(zhí)行器末端坐標(biāo)系的位置關(guān)系。obj表示標(biāo)定板坐標(biāo)系(世界坐標(biāo)系),camera表示相機(jī)坐標(biāo)系,robot表示機(jī)器人末端執(zhí)行器的坐標(biāo)系。
圖5 機(jī)械手運(yùn)動(dòng)位置
手眼關(guān)系方程為CX=XD,其中X表示手眼關(guān)系矩陣即是待求參數(shù),C表示運(yùn)動(dòng)前后相機(jī)坐標(biāo)系的相對(duì)位置關(guān)系,D表示運(yùn)動(dòng)前后機(jī)器人末端執(zhí)行器坐標(biāo)系的相對(duì)位置關(guān)系。則該手眼關(guān)系方程可用旋轉(zhuǎn)矩陣R和平移向量T來(lái)表示:
根據(jù)式(7)可得:
Rc,Tc分別是C關(guān)系下的旋轉(zhuǎn)矩陣和平移矢量,Rd,Td分別是D關(guān)系下的旋轉(zhuǎn)矩陣和平移矢量,Rc,Rd為 3×3 正交單位矩陣[6-7]。
由相機(jī)在1,2兩個(gè)位置處相機(jī)外參數(shù)A,B,可計(jì)算出C=AB-1;由1,2兩個(gè)位置處機(jī)器人輸出位姿可求解出D。機(jī)器人末端執(zhí)行器移動(dòng)前后,相機(jī)與其相對(duì)位置不變,可得到如下關(guān)系式:
其中Rc1,Rc2和Tc1,Tc2分別是末端執(zhí)行器在位置1和位置2時(shí)C關(guān)系下的旋轉(zhuǎn)矩陣和平移矢量,Rd1,Rd2和Td1,Td2分別是末端執(zhí)行器在位置 1和位置2時(shí)D關(guān)系下的旋轉(zhuǎn)矩陣和平移矢量。控制機(jī)器人兩次運(yùn)動(dòng)的旋轉(zhuǎn)軸不相互平行,取得R的唯一解:
式中ec1,ec2,ed1,ed2分別是Rc1,Rc2,Rd1,Rd2旋轉(zhuǎn)軸的方向向量。
將式(14)代入式(12)和(13)中得到關(guān)于T的超定方程組,用最小二乘法求解出平移向量T的唯一解。求解出的R和T可轉(zhuǎn)化為機(jī)器人笛卡爾坐標(biāo)系的表示方式(tx,ty,tz,rx,ry,rz),其中tx,ty,tz分別表示在x,y,z軸方向的平移量,rx,ry,rz分別表示繞x,y,z軸的歐拉角,(tx,ty,tz,rx,ry,rz)即為求解出的手眼關(guān)系。
在Halcon平臺(tái)上運(yùn)用張正友標(biāo)定方法選用7×7圓點(diǎn)標(biāo)定板作為校準(zhǔn)物體,標(biāo)定時(shí)世界坐標(biāo)系的原點(diǎn)建立在中心圓點(diǎn)圓心位置??臻g上6個(gè)以上特征點(diǎn)即可以求解出相機(jī)的內(nèi)外參數(shù),該標(biāo)定板上有49個(gè)已知特征點(diǎn),可采用最小二乘法求解以降低誤差影響。標(biāo)定板最佳選擇方式是其大小占據(jù)視野的1/3~1/4。在本實(shí)驗(yàn)平臺(tái)中,物距為300 mm,視場(chǎng)范圍約為130 mm×110 mm的條件下,選用有效面積為40 mm×40 mm的陶瓷標(biāo)定板,如圖6所示。
圖6 7×7圓點(diǎn)標(biāo)定板
根據(jù)D-H法創(chuàng)建六自由度機(jī)械手的手眼數(shù)標(biāo)定模型,手眼系統(tǒng)標(biāo)定流程[11]如圖7所示,相機(jī)每采集一張圖片就在相對(duì)應(yīng)的視野下進(jìn)行一次相機(jī)標(biāo)定,由式(2)可知,實(shí)時(shí)計(jì)算相機(jī)內(nèi)外參可以減小求解手眼關(guān)系矩陣中由于焦距的影響帶來(lái)的計(jì)算誤差并能減小求解手眼關(guān)系過(guò)程中的疊加誤差。
實(shí)驗(yàn)得到的手眼關(guān)系(tx,ty,tz,rx,ry,rz)如表1所示,tx,ty,tz為平移量,rx,ry,rz旋轉(zhuǎn)量。
圖7 改進(jìn)后的標(biāo)定流程
表1 手眼關(guān)系
由機(jī)器人末端執(zhí)行器坐標(biāo)系與基坐標(biāo)系之間的轉(zhuǎn)化關(guān)系和手眼關(guān)系,可計(jì)算出相機(jī)中以像素為單位表示的目標(biāo)點(diǎn)在機(jī)器人基坐標(biāo)系中的坐標(biāo)表示,實(shí)現(xiàn)目標(biāo)點(diǎn)的定位[12]。使用如下方法驗(yàn)證定位精度:機(jī)器人末端加探針獲取平面上點(diǎn)并記錄其坐標(biāo),然后利用手眼關(guān)系計(jì)算出獲取點(diǎn)在基坐標(biāo)系下的測(cè)量坐標(biāo),最后比較視覺(jué)系統(tǒng)測(cè)量坐標(biāo)與機(jī)器人記錄點(diǎn)的坐標(biāo)差值,計(jì)算誤差。在平面上隨機(jī)取36個(gè)實(shí)驗(yàn)點(diǎn),測(cè)量結(jié)果如表2所示。
用x方向誤差Δx,y方向的誤差Δy,和xy平面坐標(biāo)點(diǎn)的誤差Δl的平均值來(lái)分別度量x,y方向和平面上坐標(biāo)點(diǎn)的定位精度,計(jì)算公式如下,n表示實(shí)驗(yàn)點(diǎn)數(shù),e表示定位精度,Δ表示誤差量:
由式(15)計(jì)算得到,x方向定位精度為0.129 mm,y方向的定位精度為0.173 mm,測(cè)量平面坐標(biāo)點(diǎn)的定位精度為0.234 mm,最大誤差為 0.543 mm,如圖8所示的x,y以及平面的定位誤差曲線,由圖知定位誤差小于0.6 mm。
表2 實(shí)驗(yàn)點(diǎn)的實(shí)測(cè)位置與視覺(jué)計(jì)算的位置
圖8 定位誤差
整個(gè)手眼系統(tǒng)定位過(guò)程中存在不確定誤差[13],由硬件本身攜帶的誤差包括陶瓷標(biāo)定板誤差±0.02 mm,機(jī)器人重復(fù)定位誤差±0.03 mm,工業(yè)相機(jī)像素誤差±0.093 mm;在圖像處理中采用的算法不可避免會(huì)受到噪音的影響,一般會(huì)存在1個(gè)像素的誤差。因此用不確定度來(lái)評(píng)估系統(tǒng)誤差,它由各個(gè)不確定度分量合成,可表示為
本文搭建了一套基于手眼系統(tǒng)的視覺(jué)裝配實(shí)驗(yàn)平臺(tái),對(duì)手眼系統(tǒng)進(jìn)行標(biāo)定并驗(yàn)證視覺(jué)定位精度。實(shí)驗(yàn)數(shù)據(jù)分析表明,在實(shí)驗(yàn)環(huán)境下該手眼系統(tǒng)視覺(jué)定位精度能達(dá)到 0.6 mm,高于系統(tǒng)裝配精度0.8 mm,滿足常規(guī)裝配和分揀的視覺(jué)系統(tǒng)的實(shí)際需求,具有較廣闊的應(yīng)用前景。