王 翰 ,王西峰,康運(yùn)江,張文昌
WANG Han1 ,WANG Xi-feng2 ,KANG Yun-jiang1,ZHANG Wen-chang1
(1.機(jī)科發(fā)展科技股份有限公司,北京 100044;2.機(jī)械科學(xué)研究總院集團(tuán)有限公司,北京 100044)
雙目立體視覺(jué)能夠獲得攝像機(jī)視場(chǎng)范圍內(nèi)的三維位置信息在工業(yè)生產(chǎn)中應(yīng)用廣泛,如工件定位、三維測(cè)量、表面重構(gòu)[1~3]等。工件中通常帶有圓孔、柱狀體等圓特征,由于圓形在空間中各個(gè)方向沒(méi)有明顯區(qū)別,難以獲得定位特征點(diǎn),因此常用的特征定位方法難以對(duì)簡(jiǎn)單、無(wú)紋理的帶圓特征工件定位[4]。
本文在雙目視覺(jué)系統(tǒng)基礎(chǔ)上,對(duì)帶圓特征工件定位方法進(jìn)行研究,通過(guò)幾何關(guān)系結(jié)合三維重構(gòu)結(jié)果,解決空間圓定位的二義性問(wèn)題,獲得工件準(zhǔn)確空間位姿。
空間中圓面在攝像機(jī)成像面上的投影一般是橢圓,當(dāng)空間圓面于攝像機(jī)相交且法向量與光軸垂直時(shí),投影為一個(gè)線段,當(dāng)法向量與攝像機(jī)光軸重合時(shí),投影為一個(gè)正圓,本文討論一般的的情況。如圖1(a)所示,在空間中的圓O1在攝像機(jī)成像面中的投影為e1,通過(guò)對(duì)采集到的圖像進(jìn)行橢圓擬合,可以獲得圖像中投影橢圓的長(zhǎng)軸、短軸長(zhǎng)度Llradius、Lsradius和投影橢圓的圓心坐標(biāo)eO,以及長(zhǎng)軸相對(duì)于攝像機(jī)X軸的旋轉(zhuǎn)角度,根據(jù)擬合數(shù)據(jù)可以計(jì)算長(zhǎng)短軸端點(diǎn)m、n、p、q的坐標(biāo),假設(shè)在實(shí)際圓中的對(duì)應(yīng)點(diǎn)為M、N、P、Q。
圖1 投影橢圓
為了便于解決定位問(wèn)題,將攝像機(jī)坐標(biāo)系繞攝像機(jī)光心C旋轉(zhuǎn),攝像機(jī)光軸交于投影中心點(diǎn),軸交于攝像機(jī)長(zhǎng)軸,可構(gòu)成虛擬投影橢圓e',如圖1(b)所示。
根據(jù)文獻(xiàn)[5]可知,在原始攝像機(jī)坐標(biāo)系中投影到長(zhǎng)短軸的點(diǎn)M、N、P、Q,在虛擬攝像機(jī)坐標(biāo)系中的投影位置仍為虛擬投影橢圓的長(zhǎng)短軸端點(diǎn)m',n',p',q'。在虛擬坐標(biāo)系中的投影橢圓如圖2所示。
圖2 虛擬攝像機(jī)坐標(biāo)系中的投影橢圓
在原攝像機(jī)坐標(biāo)系中m、n、p、q各點(diǎn)的像素坐標(biāo)已知,根據(jù)標(biāo)定數(shù)據(jù)可以計(jì)算實(shí)際坐標(biāo)位置mr、nr、pr、qr,根據(jù)空間橢圓的幾何關(guān)系∠mCn=∠MCN,∠pCq=∠PCQ,旋轉(zhuǎn)前后M、N、P、Q位置不變,則∠mCn=∠m'C'n',∠pCq=∠p'C'q'??筛鶕?jù)∠mCn和∠pCq的值和攝像機(jī)焦距計(jì)算m、n、p、q各點(diǎn)在虛擬攝像機(jī)坐標(biāo)系對(duì)應(yīng)點(diǎn)m',n',p',q'的實(shí)際位置為:
從而可以計(jì)算從原始坐標(biāo)系到虛擬坐標(biāo)系的旋轉(zhuǎn)矩陣Rotr-virtual,為:
以虛擬攝像機(jī)光心C'頂點(diǎn),以虛擬投影橢圓為底面,可構(gòu)成底面為橢圓的橢圓錐。由于此橢圓錐是通過(guò)空間圓在平面上的投影橢圓構(gòu)成,因此使用平面對(duì)橢圓錐截得的二次曲線中必然存在正圓,通過(guò)獲得截得正圓的平面即可獲得圓相對(duì)于虛擬攝像機(jī)坐標(biāo)系的姿態(tài)。
在虛擬攝像機(jī)坐標(biāo)系中,橢圓錐可表示為:
假設(shè)任意平面方程為Ax+By+Cz+D=0,在橢圓錐中截得的曲線方程為:
根據(jù)二次曲線為圓條件,當(dāng)平面滿足A=0,B≠0,C≠0時(shí),截得的曲線為圓??芍仄矫娴姆ㄏ蛄繛閚1=(0,B,C),長(zhǎng)軸方向向量為nl=(1,0,0),因此可知空間圓O1與橢圓e'長(zhǎng)軸平行,即繞橢圓e'長(zhǎng)軸旋轉(zhuǎn),即可獲得得到圓面,即虛擬投影橢圓長(zhǎng)軸端點(diǎn)m'、n'與投影到這兩個(gè)點(diǎn)的空間點(diǎn)M、N有m'n'//MN。截得的圓關(guān)于yC'z對(duì)稱,由于橢圓錐與xC'z面對(duì)稱,因此截得的圓關(guān)于xC/z面對(duì)稱的曲線也為圓,平面在橢圓錐中可以截得與投影橢圓長(zhǎng)軸平行的兩個(gè)圓。
假設(shè)虛擬投影橢圓所在的平面為z=f,將平面繞長(zhǎng)軸X軸旋轉(zhuǎn)θ,在橢圓錐截得的二次曲線,根據(jù)文獻(xiàn)[6],當(dāng)截得的曲線為圓時(shí),旋轉(zhuǎn)角度θ為:
其中,θ為銳角。根據(jù)旋轉(zhuǎn)角度即可計(jì)算投影成當(dāng)前橢圓的圓面的方向向量為:
根據(jù)旋轉(zhuǎn)矩陣Rotr-virtual的逆矩陣,即可計(jì)算空間圓在攝像機(jī)坐標(biāo)系中的方向向量為:
上述計(jì)算過(guò)程中,會(huì)產(chǎn)生圓面的二義性問(wèn)題,如圖3所示,經(jīng)過(guò)計(jì)算得到的是兩個(gè)方向不同的圓。在單目視覺(jué)中二義性很難直接解決,本文通過(guò)雙目視覺(jué)系統(tǒng)在雙目視覺(jué)系統(tǒng)中完成定位,能夠有效解決這一問(wèn)題。
圖3 空間中圓面位姿
雙目視覺(jué)系統(tǒng)三維重構(gòu)能夠視場(chǎng)內(nèi)的高度信息,即能夠直接獲得點(diǎn)P、Q在攝像機(jī)坐標(biāo)系中的位置坐標(biāo)(xp,yp,zp),(xq,yq,zq),空間中圓的圓心坐標(biāo)
假設(shè)當(dāng)Q點(diǎn)與攝像機(jī)的距離大于P時(shí),zq>zp,對(duì)應(yīng)在虛擬攝像機(jī)坐標(biāo)系,空間圓方向向量在xC'y中的投影點(diǎn)在y軸的負(fù)半軸位置,即此時(shí)的方向向量為通過(guò)這種方式,解決二義性問(wèn)題,獲得空間圓的方向向量,得到圓特征工件相對(duì)于攝像機(jī)坐標(biāo)系的姿態(tài)。
本文拍攝使用Balser公司acA2500-14gm工業(yè)攝像機(jī)搭建雙目視覺(jué)系統(tǒng),鏡頭焦距為15mm,極線距離為70mm,視覺(jué)系統(tǒng)與工件放置平面的距離為900mm,經(jīng)計(jì)算雙目視覺(jué)系統(tǒng)的視場(chǎng)范圍為250mm×250mm,搭建的視覺(jué)實(shí)驗(yàn)系統(tǒng)如圖4所示。實(shí)驗(yàn)中使用的工件如圖5所示。
圖4 雙目視覺(jué)系統(tǒng)
圖5 定位實(shí)驗(yàn)工件
通過(guò)標(biāo)定雙目視覺(jué)系統(tǒng)獲得左右攝像機(jī)參數(shù)為CamParL=[0.01517,-26.4215,2.20061e-06,2.2e-06,1315.49,970.90],CamParR=[0.01525,117.29,2.20018e-06,2.2e-06,1232.72,931.14],分別表示左右攝像機(jī)的焦距、畸變系數(shù)、單個(gè)像素點(diǎn)的長(zhǎng)寬和圖像中心點(diǎn)坐標(biāo)。
本文將實(shí)驗(yàn)工件以固定姿態(tài)擺放在雙目視覺(jué)系統(tǒng)視場(chǎng)內(nèi),擺放在視場(chǎng)內(nèi)不同位置并采集數(shù)據(jù),對(duì)工件進(jìn)行定位實(shí)驗(yàn),計(jì)算重復(fù)定位精度。并以平均值作為基準(zhǔn)值,計(jì)算誤差。實(shí)驗(yàn)結(jié)果如表1,表2所示。
表1 定位算法定位位置坐標(biāo)
表2 位置誤差
根據(jù)上述誤差可知,本文定位算法在Z軸方向重復(fù)定位精度的誤差≤0.3mm,姿態(tài)的重復(fù)定位精度誤差≤0.05°。實(shí)驗(yàn)結(jié)果表明:本文使用算法對(duì)帶圓工件的定位精度能夠滿足工業(yè)生產(chǎn)過(guò)程中工件定位的精度要求。
本文針對(duì)帶圓特征工件定位問(wèn)題,基于雙目視覺(jué)系統(tǒng)根據(jù)空間圓面與投影橢圓的幾何關(guān)系,提出了一種對(duì)空間圓面的定位方法,并能夠有效解決二義性問(wèn)題,搭建試驗(yàn)臺(tái),通過(guò)實(shí)驗(yàn)驗(yàn)證了本文算法,實(shí)驗(yàn)結(jié)果表明:定位精度滿足工業(yè)生產(chǎn)過(guò)程中工件定位的精度要求,原理清晰、計(jì)算過(guò)程簡(jiǎn)單,在實(shí)際應(yīng)用中有著很大的意義。