劉文波 余和青 馬 芳 姜貽樟
(中國電器科學(xué)研究院股份有限公司 廣州 510300)
在工業(yè)相機(jī)安裝在機(jī)器人末端執(zhí)行器的場(chǎng)合,要建立相機(jī)圖像坐標(biāo)系與機(jī)器人基礎(chǔ)坐標(biāo)系之間的關(guān)系,就必須通過標(biāo)定算法獲得相機(jī)坐標(biāo)系與機(jī)器人坐標(biāo)系之間的關(guān)系。天津工業(yè)大學(xué)的李金鐘[1]采用Tsai兩步法[2]對(duì)相機(jī)進(jìn)行標(biāo)定,標(biāo)定過程中,將相機(jī)固定于機(jī)器人末端,通過機(jī)器人控制相機(jī)從不同方位對(duì)固定位置的標(biāo)定板進(jìn)行圖像采集,實(shí)現(xiàn)相機(jī)的標(biāo)定,同時(shí)將獲得的相機(jī)內(nèi)外參數(shù)與機(jī)器人的位姿參數(shù)相結(jié)合實(shí)現(xiàn)了機(jī)器人的手眼標(biāo)定。華北電力大學(xué)的段堅(jiān)[3]等人利用小孔模型原理以及MATLAB的攝像機(jī)標(biāo)定工具箱,依次標(biāo)定了攝像機(jī)的內(nèi)外參數(shù)。西安工程大學(xué)的王曉華[4]等人針對(duì)攝像機(jī)鏡頭可能產(chǎn)生的畸變,提出了一種單獨(dú)求解畸變中心和畸變系數(shù)的徑向畸變校正方法,并采用Faugeras 的標(biāo)定方法對(duì)攝像機(jī)內(nèi)外參數(shù)進(jìn)行了標(biāo)定。
綜合大量文獻(xiàn)可知,在精度要求不是特別高的場(chǎng)合,用兩組圖像點(diǎn)、機(jī)器人坐標(biāo)點(diǎn)即可快速求得相機(jī)兩點(diǎn)標(biāo)定法[5]的唯一解。但由于圖像采集識(shí)別、機(jī)器人運(yùn)動(dòng)誤差等原因,只取兩個(gè)點(diǎn)進(jìn)行標(biāo)定獲得的精度較低。因此本文利用機(jī)器人系統(tǒng)的通訊功能,觸發(fā)相機(jī)對(duì)同一目標(biāo)位置在拍照平面內(nèi)多次移動(dòng)機(jī)器人末端執(zhí)行器的位置進(jìn)行拍照,然后通過機(jī)器人程序記錄多組圖像點(diǎn)、機(jī)器人坐標(biāo)點(diǎn),并引入最小二乘法進(jìn)行標(biāo)定圖像點(diǎn)、機(jī)器人坐標(biāo)點(diǎn)關(guān)系因子,并編寫相關(guān)機(jī)器人程序自動(dòng)計(jì)算標(biāo)定的關(guān)系,大大提高了標(biāo)定的速度、便捷程度、標(biāo)定精度。
在常規(guī)2D視覺應(yīng)用中,攝像機(jī)一般垂直于工件平面安裝,通常情況下相機(jī)距離工件景物平面的拍照距離固定,因此攝像機(jī)坐標(biāo)系相對(duì)工件坐標(biāo)系固定。
如圖1所示,OcXc Yc Zc為攝像機(jī)坐標(biāo)系,OwXw Yw Zw為工件坐標(biāo)系。為簡化標(biāo)定工作,設(shè)攝像機(jī)坐標(biāo)系Zc軸為光軸中心,工件坐標(biāo)系Zw軸選擇與光軸Zc重合,并且Xw Y與Xc Yc方向一致。設(shè)兩坐標(biāo)系中心點(diǎn)Oc到Ow的距離為d,景物平面內(nèi)任意一點(diǎn)P在工件坐標(biāo)系內(nèi)表示為,在攝像機(jī)坐標(biāo)系內(nèi)表示為
則有:
設(shè)點(diǎn)P在圖像坐標(biāo)系表示為(u ,v),查閱文獻(xiàn)[6]可知攝像機(jī)的四參數(shù)模型為:
通常攝像機(jī)的畸變可以忽略不計(jì),若已知工件景物平面內(nèi)兩點(diǎn)坐標(biāo)P1、P2在工件坐標(biāo)系、圖像坐標(biāo)系下分別表示為,則有:
可得變換系數(shù):
由式(4)可知,已知兩組坐標(biāo)點(diǎn)即可求得圖像坐標(biāo)系、工件坐標(biāo)系之間的變換系數(shù)kxd、kyd。
當(dāng)已知k組圖像坐標(biāo)、工件坐標(biāo)時(shí),由式(3)可得:
可求得系數(shù):
觀察式(7)可知,因X為單列向量,故XT X結(jié)果為常數(shù),XT U結(jié)果也為常數(shù)。機(jī)器人語言系統(tǒng)不支持復(fù)雜的矩陣運(yùn)算如求逆等,因此在機(jī)器人語言系統(tǒng)里可用編程式(7)直接計(jì)算求得坐標(biāo)系系數(shù)kxd、kyd。求得kxd、kyd后(即標(biāo)定完成后),對(duì)工件景象平面內(nèi)任一點(diǎn)Pi,有:
圖1 二維視覺測(cè)量的坐標(biāo)系
以川崎機(jī)器人為例,參考其編程手冊(cè)、機(jī)器人控制器操作手冊(cè),建立起機(jī)器人與視覺系統(tǒng)通訊后,就可在機(jī)器人端控制視覺系統(tǒng)進(jìn)行拍照,并獲取工件相應(yīng)的圖像坐標(biāo)。由于機(jī)器人基礎(chǔ)坐標(biāo)系相對(duì)工件坐標(biāo)系的變換關(guān)系固定,此時(shí)結(jié)合機(jī)器人基礎(chǔ)坐標(biāo)系下的坐標(biāo)值即獲得了一組圖像坐標(biāo)-機(jī)器人坐標(biāo)。固定視覺系統(tǒng)拍照高度,并在平面內(nèi)移動(dòng)機(jī)器人拍照,可獲得多組圖像坐標(biāo)-機(jī)器人坐標(biāo)。再根據(jù)式(7)、(8)可計(jì)算獲得圖像坐標(biāo)系、機(jī)器人基礎(chǔ)坐標(biāo)系變換系數(shù)及機(jī)器人坐標(biāo)。取5組坐標(biāo)點(diǎn),編寫的部分程序及界面如圖2所示。
5次拍照后程序自動(dòng)獲取的5個(gè)數(shù)據(jù)值如表1所示:
程序自動(dòng)計(jì)算得出的kxd值為5.999,用常規(guī)兩點(diǎn)法標(biāo)定的kxd值為(312.90-252.32)/(10-0)=6.058。程序自動(dòng)計(jì)算得出的kyd值為5.942,用常規(guī)兩點(diǎn)法標(biāo)定的kyd值為(285.13-226.54)/(10-0)=5.859。利用式(8)及已知的圖像坐標(biāo)點(diǎn)可以計(jì)算得到圖像坐標(biāo)點(diǎn)對(duì)應(yīng)的工件坐標(biāo)位置,利用機(jī)器人及視覺系統(tǒng)在相機(jī)視野范圍內(nèi)取5組坐標(biāo)點(diǎn),并計(jì)算偏差,如表2:
觀察表2可知,常規(guī)兩點(diǎn)方法計(jì)算出來的工件坐標(biāo)X、Y向最大誤差分別為0.31、-0.38,改進(jìn)法計(jì)算出來的工件坐標(biāo)X、Y向最大誤差分別0.24、-0.25。改進(jìn)法計(jì)算出的工件坐標(biāo)值相比常規(guī)兩點(diǎn)方法計(jì)算出的工件坐標(biāo)值誤差要大大減小,因此改進(jìn)方法是可靠、有效的。
圖2 自動(dòng)標(biāo)定程序及界面
表1 程序標(biāo)定過程中的數(shù)據(jù)
表2 計(jì)算坐標(biāo)與實(shí)際坐標(biāo)偏差
在相機(jī)固定、機(jī)器人末端執(zhí)行器在平面內(nèi)運(yùn)動(dòng)的場(chǎng)合,本文利用機(jī)器人系統(tǒng)的通訊功能,觸發(fā)相機(jī)對(duì)同一目標(biāo)位置在拍照平面內(nèi)多次移動(dòng)機(jī)器人末端執(zhí)行器的位置進(jìn)行拍照,然后通過機(jī)器人程序記錄多組圖像點(diǎn)、機(jī)器人坐標(biāo)點(diǎn),并引入最小二乘法進(jìn)行標(biāo)定圖像點(diǎn)、機(jī)器人坐標(biāo)點(diǎn)關(guān)系,并編寫相關(guān)機(jī)器人程序自動(dòng)計(jì)算標(biāo)定的關(guān)系因子,并進(jìn)行了可靠性驗(yàn)證,證明了改進(jìn)法計(jì)算出的工件坐標(biāo)誤差比常規(guī)兩點(diǎn)方法計(jì)算出的工件坐標(biāo)誤差大大減小,提高了標(biāo)定的速度、便捷程度、標(biāo)定精度。