吳慶華,萬(wàn) 偲*,李子奇,蔡瓊捷思
(1.湖北工業(yè)大學(xué) 機(jī)械工程學(xué)院,武漢 430068;2.現(xiàn)代制造質(zhì)量工程湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430068)
隨著工業(yè)機(jī)器人自動(dòng)化水平的提高,工業(yè)機(jī)器人參與的自動(dòng)化加工成為未來(lái)工業(yè)發(fā)展的主導(dǎo)[1]。通過(guò)視覺(jué)引導(dǎo)機(jī)器人進(jìn)行抓取、搬運(yùn)等任務(wù)作業(yè),對(duì)于提高生產(chǎn)線(xiàn)的自動(dòng)化水平,拓寬機(jī)器人的應(yīng)用范圍都有十分重要的意義[2]。由于線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器具有非接觸、抗干擾能力強(qiáng)、精度高、實(shí)時(shí)性強(qiáng)、主動(dòng)受控等優(yōu)點(diǎn)[3,4],常常用于三維散放零件的視覺(jué)引導(dǎo)抓取。而線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器與機(jī)器人之間的位姿關(guān)系的標(biāo)定,是視覺(jué)引導(dǎo)中的研究熱點(diǎn)[5,6]。其難點(diǎn)在于尋找一個(gè)合適的靶標(biāo),分別建立起靶標(biāo)與視覺(jué)傳感器和機(jī)器人之間的聯(lián)系。
國(guó)內(nèi)外很多學(xué)者對(duì)線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器與機(jī)器人之間的手眼關(guān)系標(biāo)定展開(kāi)研究,手眼關(guān)系的標(biāo)定靶標(biāo)可分為:平面靶標(biāo)、場(chǎng)景點(diǎn)、立體靶標(biāo)。第一類(lèi)靶標(biāo)是平面靶標(biāo),Sung[7]等控制機(jī)器人帶動(dòng)相機(jī)進(jìn)行純平移和旋轉(zhuǎn)運(yùn)動(dòng),拍攝固定的棋盤(pán)格靶標(biāo),同時(shí)完成了相機(jī)的標(biāo)定和手眼標(biāo)定;解則曉[8]等控制機(jī)器人帶動(dòng)棋盤(pán)格在相機(jī)視野內(nèi)進(jìn)行數(shù)次姿態(tài)變換,采用兩步法[9]依次求取手眼矩陣中的R和t,該方法棋盤(pán)格圖像數(shù)據(jù)獲取過(guò)程繁雜,數(shù)據(jù)處理時(shí)間長(zhǎng),不適用于現(xiàn)場(chǎng)手眼標(biāo)定,且該手眼系統(tǒng)對(duì)較遠(yuǎn)距離(約700mm~1100mm)目標(biāo)的三維定位誤差在5mm左右,精度低。第二類(lèi)靶標(biāo)是場(chǎng)景點(diǎn),Qi[10]等提出一種基于線(xiàn)結(jié)構(gòu)光條紋直線(xiàn)特征的手眼標(biāo)定方法,標(biāo)定過(guò)程中攝像機(jī)捕捉兩條線(xiàn)結(jié)構(gòu)光條紋相交的交點(diǎn)作為標(biāo)定點(diǎn),但實(shí)際中線(xiàn)結(jié)構(gòu)光條紋相交的特征點(diǎn)提取過(guò)程精度難以保證;Hu[11]等提出一種基于平面特征的機(jī)器人手眼標(biāo)定方法,以投射到平面上的光斑為標(biāo)定點(diǎn),但是同樣存在平面特征精度無(wú)法保證的限制。第三類(lèi)是立體靶標(biāo),劉蘇宜[12]等設(shè)計(jì)了鉆有圓孔的小方塊作為靶標(biāo),提取了經(jīng)靶標(biāo)調(diào)制后的線(xiàn)條紋圖像特征點(diǎn)作為標(biāo)定參考點(diǎn),但其算法標(biāo)定點(diǎn)數(shù)量少,且圖像特征點(diǎn)提取精度不高,導(dǎo)致其標(biāo)定精度較低;Ren Y[13]等采用標(biāo)定球進(jìn)行手眼標(biāo)定,通過(guò)改變機(jī)器人的位姿變化得到多組數(shù)據(jù)進(jìn)行矩陣方程直接求解得到手眼關(guān)系,但沒(méi)有對(duì)整個(gè)標(biāo)定過(guò)程進(jìn)行誤差分析;李劍峰[14]等控制機(jī)器人帶動(dòng)標(biāo)定球做出復(fù)雜的旋轉(zhuǎn)平移,該方法對(duì)機(jī)器人重復(fù)定位精度要求高,而機(jī)器人定位精度誤差會(huì)累積到手眼矩陣的精度誤差,且該方法耗時(shí)長(zhǎng),不適用于現(xiàn)場(chǎng)標(biāo)定。
不同坐標(biāo)系之間位姿關(guān)系的求解也是視覺(jué)引導(dǎo)系統(tǒng)標(biāo)定中的一個(gè)關(guān)鍵問(wèn)題,以待求解數(shù)據(jù)類(lèi)型的不同分為2D-2D問(wèn)題[15]、3D-2D問(wèn)題[16]和3D-3D問(wèn)題[17]。三維視覺(jué)手眼關(guān)系求解是典型的3D-3D問(wèn)題,即已知n對(duì)特征點(diǎn)在不同坐標(biāo)系下的三維坐標(biāo),求解兩個(gè)不同坐標(biāo)系之間的位姿關(guān)系。Besl和McKay[18]提出的經(jīng)典的最近點(diǎn)迭代算法在數(shù)據(jù)初值良好的情況下,可以給出較為準(zhǔn)確的旋轉(zhuǎn)平移矩陣,常用于解決3D-3D的位姿求解問(wèn)題。然而,經(jīng)典的最近點(diǎn)迭代算法對(duì)點(diǎn)云初值位置要求高,進(jìn)行迭代計(jì)算時(shí)容易陷入局部最優(yōu)解[19]。Serafin J[20]提出的基于法向量的改進(jìn)最近點(diǎn)迭代算法,在最近點(diǎn)匹配的過(guò)程中考慮了點(diǎn)云曲面的法向量,并以此為評(píng)價(jià)指標(biāo)剔除一些明顯的錯(cuò)誤匹配點(diǎn)對(duì),減少了計(jì)算量并且提高了配準(zhǔn)的精度。
本文針對(duì)Eye-to-Hand線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器的機(jī)器人引導(dǎo)系統(tǒng)的現(xiàn)場(chǎng)手眼問(wèn)題,采用標(biāo)準(zhǔn)球作為標(biāo)定靶標(biāo),機(jī)器人只需平動(dòng),以解決靶標(biāo)特征點(diǎn)數(shù)量少且難以提取、標(biāo)定結(jié)果受機(jī)器人重復(fù)定位精度影響大的問(wèn)題;引入改進(jìn)的最近點(diǎn)迭代算法,以提高手眼標(biāo)定的精度。
Eye-to-hand機(jī)器人線(xiàn)結(jié)構(gòu)光視覺(jué)引導(dǎo)系統(tǒng)由視覺(jué)掃描系統(tǒng)和機(jī)器人系統(tǒng)組成,結(jié)構(gòu)示意圖如圖1所示。
圖1 機(jī)器人線(xiàn)結(jié)構(gòu)光視覺(jué)引導(dǎo)系統(tǒng)示意圖
本文求解的手眼關(guān)系即機(jī)器人的基坐標(biāo)系OR-XRYRZR與線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系OS-XSYSZS之間的旋轉(zhuǎn)平移矩陣。
標(biāo)定時(shí),設(shè)在n個(gè)靶標(biāo)特征點(diǎn)在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系OS-XSYSZS下的坐標(biāo)點(diǎn)集為P={Pi|Pi∈R3,i=1,2,...,n},對(duì)應(yīng)的n個(gè)靶標(biāo)特征點(diǎn)在機(jī)器人的基坐標(biāo)系OR-XRYRZR下的坐標(biāo)點(diǎn)集為Q={Qi|Qi∈R3,i=1,2,...,n}。兩組數(shù)據(jù)的旋轉(zhuǎn)矩陣R和平移矩陣t即為手眼關(guān)系。計(jì)算兩組數(shù)據(jù)的變換矩陣實(shí)質(zhì)上是3D-3D的位姿估計(jì)問(wèn)題,最終手眼矩陣[R,t]的求解問(wèn)題轉(zhuǎn)變?yōu)槭?1)的求解問(wèn)題。
手眼關(guān)系求解的整個(gè)流程分為三步,第一步是靶標(biāo)特征點(diǎn)在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系下數(shù)據(jù)的獲取,第二步是靶標(biāo)特征點(diǎn)在機(jī)器人基座標(biāo)系下數(shù)據(jù)的獲取,第三步是引入改進(jìn)的最近點(diǎn)迭代算法求解手眼關(guān)系。
獲取靶標(biāo)特征點(diǎn)在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器下的坐標(biāo)數(shù)據(jù),即求標(biāo)準(zhǔn)球心在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系下的坐標(biāo)。標(biāo)定時(shí),線(xiàn)結(jié)構(gòu)光傳感器投出的光平面與標(biāo)準(zhǔn)球相交,采集得到的是一段空間點(diǎn)云數(shù)據(jù)。擬合此點(diǎn)云即可恢復(fù)球心在線(xiàn)結(jié)構(gòu)光傳感器坐標(biāo)系下的坐標(biāo)。
空間圓點(diǎn)云數(shù)據(jù)是一段由線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系下的眾多點(diǎn)組成的圓弧,且此圓弧存在于線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系下的光平面既XSOSZS平面內(nèi),其所有點(diǎn)的Y坐標(biāo)為0。采用最小二乘法擬合擬合此圓弧,最終可得到擬合圓圓心在XSOSZS平面內(nèi)的坐標(biāo)(xC,yC)以及擬合圓的半徑r。
求得空間圓在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系下的圓心坐標(biāo)(xC,yC)和半徑r,結(jié)合球體特殊的立體結(jié)構(gòu)即可獲的靶標(biāo)球心在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系下的坐標(biāo)。如圖2所示,此剖切面的圓心為OC(xC,0,zC),靶標(biāo)的球心坐標(biāo)為OB(xB,yB,zB),在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系中剖切面圓心OC與標(biāo)準(zhǔn)球靶標(biāo)球心OB連線(xiàn)OCOB垂直于XSOSZS平面。剖切面的圓心坐標(biāo)與靶標(biāo)球心坐標(biāo)存在如下坐標(biāo)轉(zhuǎn)換關(guān)系:
圖2 標(biāo)準(zhǔn)球靶標(biāo)與光平面相交
式中:R1和r分別為標(biāo)準(zhǔn)球的半徑與空間擬合圓的半徑。yB的正負(fù)號(hào)可以通過(guò)線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器掃描標(biāo)準(zhǔn)球的部位確定。
求得空間圓的圓心坐標(biāo)(xC,yC)和半徑r,通過(guò)式(2)即可求取靶標(biāo)球心在結(jié)構(gòu)光傳感器坐標(biāo)系下的的空間球心坐標(biāo)OB(xB,yB,zB)。
機(jī)器人平動(dòng)改變標(biāo)準(zhǔn)球位置,即可得到一系列標(biāo)準(zhǔn)球心在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器下的坐標(biāo)點(diǎn)集P。
求靶標(biāo)特征點(diǎn)在機(jī)器人基坐標(biāo)系下的坐標(biāo)數(shù)據(jù),即求標(biāo)準(zhǔn)球心在機(jī)器人基座標(biāo)系下的坐標(biāo)。從機(jī)器人控制器中可以獲取機(jī)器人TCP(Tool Center Point,即機(jī)器人末端工具坐標(biāo)系原點(diǎn))在機(jī)器人基座標(biāo)系下的坐標(biāo)值,只需建立起機(jī)器人基座標(biāo)系下靶標(biāo)球心坐標(biāo)值跟機(jī)器人TCP坐標(biāo)值之間的固定的聯(lián)系即可獲取靶標(biāo)特征點(diǎn)在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器下的坐標(biāo)數(shù)據(jù)。
通過(guò)設(shè)計(jì)一個(gè)特殊的載物架來(lái)建立起靶標(biāo)球心坐標(biāo)跟機(jī)器人TCP坐標(biāo)之間固定的坐標(biāo)轉(zhuǎn)換關(guān)系。結(jié)合機(jī)器人法蘭盤(pán)上的四個(gè)螺孔和法蘭凸緣的尺寸,設(shè)計(jì)了如圖3所示的載物架。載物架左邊有一個(gè)用來(lái)與法蘭凸緣配合給載物架定位的通孔,其四周是四個(gè)用來(lái)配合螺紋鏈接的孔位;載物架右邊是一個(gè)直徑為φ的通孔,標(biāo)定時(shí)標(biāo)準(zhǔn)球放置在上面。
如圖3所示,在機(jī)器人法蘭凸緣的定位下,用四個(gè)螺釘通過(guò)螺紋連接把載物架緊固在EPSON機(jī)器人的末端法蘭上。載物架的上端面與機(jī)器人末端法蘭貼合。由幾何關(guān)系可得,結(jié)合載物架具體尺寸,可得靶標(biāo)球心在機(jī)器人末端工具坐標(biāo)系下的坐標(biāo)為。讀出機(jī)器人TCP坐標(biāo),即可獲取靶標(biāo)球心在機(jī)器人基坐標(biāo)系下的坐標(biāo)數(shù)據(jù)。
圖3 載物架與法蘭盤(pán)的裝配示意圖
在標(biāo)準(zhǔn)球與線(xiàn)結(jié)構(gòu)光傳感器的光平面處于相交狀態(tài)的范圍內(nèi),機(jī)器人平動(dòng)改變標(biāo)定位置即可得到一系列標(biāo)準(zhǔn)球心在機(jī)器人基坐標(biāo)系下的坐標(biāo)點(diǎn)集Q。
求解手眼關(guān)系,即求解式(1)中的[R,t]矩陣,這是一個(gè)典型的3D-3D問(wèn)題,即已知n對(duì)特征點(diǎn)在不同坐標(biāo)系下的三維坐標(biāo),求兩個(gè)不同坐標(biāo)系之間的位姿關(guān)系。最近點(diǎn)迭代算法常用于解決3D-3D的位姿求解問(wèn)題。經(jīng)典的最近點(diǎn)迭代算法主要分為搜索最近點(diǎn)、求解變換關(guān)系(R,t)、應(yīng)用變換關(guān)系(R,t)得到新點(diǎn)集、重復(fù)迭代計(jì)算這幾個(gè)關(guān)鍵步驟。然而,經(jīng)典的最近點(diǎn)迭代算法只是利用點(diǎn)對(duì)點(diǎn)之間的歐氏距離作為搜索最近點(diǎn)的唯一判據(jù),這種方法得到的點(diǎn)云初值位置不良,可能導(dǎo)致迭代計(jì)算陷入局部最優(yōu)解。
本文中的點(diǎn)云初值數(shù)據(jù)是空間中n對(duì)特征點(diǎn)分別在傳感器坐標(biāo)系和機(jī)器人基坐標(biāo)系下的坐標(biāo)點(diǎn)集,其坐標(biāo)數(shù)據(jù)在獲取的過(guò)程中受傳感器測(cè)量誤差和機(jī)器人重復(fù)定位誤差的影響,故點(diǎn)云初值不夠準(zhǔn)確;且本文點(diǎn)云數(shù)據(jù)分散,其點(diǎn)云法向量、點(diǎn)云曲率等特征提取困難。故引入向心向量的概念,定義向心向量(如圖4所示)為點(diǎn)集中任意一點(diǎn)到點(diǎn)集中心點(diǎn)的向量。首先,以點(diǎn)和點(diǎn)的向心向量之間歐氏距離為誤差項(xiàng),進(jìn)行最近點(diǎn)的匹配;然后,利用最近點(diǎn)對(duì)的向心向量夾角對(duì)最近點(diǎn)對(duì)進(jìn)行提純,剔除了較差初值的最近點(diǎn)對(duì),有效避免迭代計(jì)算陷入局部最優(yōu)解;最后,對(duì)較差初值的最近點(diǎn)對(duì)剔除之后的兩組點(diǎn)云進(jìn)行配準(zhǔn)迭代計(jì)算,求出兩組點(diǎn)云之間的旋轉(zhuǎn)平移矩陣。算法具體流程如下:
圖4 向心向量示意圖
第一步,根據(jù)點(diǎn)和點(diǎn)的向心向量之間歐氏距離進(jìn)行最近點(diǎn)的匹配。
定義2 個(gè)已知點(diǎn)集:源點(diǎn)集P={Pi|Pi∈R3,i=1,2,...,N}為靶標(biāo)球心在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系下的坐標(biāo)點(diǎn)集,目標(biāo)點(diǎn)集Q={Qj|Qj∈R3,j=1,2,...,N}為靶標(biāo)球心在機(jī)器人基座標(biāo)系下的坐標(biāo)點(diǎn)集。定義兩組點(diǎn)集的中心點(diǎn)分別為;則點(diǎn)集P中特征點(diǎn)的向心向量為,點(diǎn)集Q中特征點(diǎn)的向心向量為。選取源點(diǎn)集P中一個(gè)特征點(diǎn),計(jì)算其向心向量與目標(biāo)點(diǎn)集Q中所有點(diǎn)的向心向量之間的歐氏距離,并相互比較選取歐氏距離最小的兩個(gè)點(diǎn),如果最小距離與次最小距離相比小于預(yù)先設(shè)定的某個(gè)閾值G1(G1>0),則目標(biāo)點(diǎn)集Q中與源點(diǎn)集P中特征點(diǎn)向心向量歐氏距離最近點(diǎn)為一對(duì)最近點(diǎn)對(duì)。
向心向量之間歐氏距離的求解公式如式(3)所示。
第二步,利用最近點(diǎn)對(duì)的向心向量夾角對(duì)最近點(diǎn)對(duì)進(jìn)行提純。
考慮到源點(diǎn)集P與目標(biāo)點(diǎn)集Q雖然處于不同的空間坐標(biāo)系,但其空間拓?fù)潢P(guān)系應(yīng)該保持一致,最近點(diǎn)對(duì)的向心向量之間的夾角應(yīng)滿(mǎn)足一定的數(shù)學(xué)關(guān)系。
最近點(diǎn)對(duì)的向心向量之間的差別越大,其夾角的余弦值越小,即的值就越小。根據(jù)式(4)對(duì)向心向量之間的夾角余弦值設(shè)置閾值G2,將對(duì)應(yīng)最近點(diǎn)對(duì)的向心向量的乘積小于G2的點(diǎn)對(duì)視為較差初值的特征點(diǎn)對(duì),并將其剔除。
第三步,對(duì)剔除較差初值的最近點(diǎn)對(duì)之后的兩組點(diǎn)云進(jìn)行下一步配準(zhǔn)迭代計(jì)算求出兩組點(diǎn)云之間的旋轉(zhuǎn)和平移矩陣。
設(shè)旋轉(zhuǎn)矩陣為R,平移矩陣為t,用f(R,t)來(lái)表示點(diǎn)集P在變換矩陣(R,t)下與點(diǎn)集Q之間的誤差函數(shù)。則求解最優(yōu)變換矩陣的問(wèn)題就可以轉(zhuǎn)化為求解滿(mǎn)足minf(R,t)的最優(yōu)解(R,t)的問(wèn)題。
主要步驟如下:
1)計(jì)算旋轉(zhuǎn)矩陣R和平移矩陣t,使得誤差函數(shù)f(R,t)最小;
2)利用獲得的R和t對(duì)點(diǎn)集Q進(jìn)行旋轉(zhuǎn)平移,得到新的點(diǎn)集Q1;
3)計(jì)算新的點(diǎn)集P與點(diǎn)集Q1的平均距離D:
4)如果D小于某一給定的閾值或者迭代次數(shù)大于預(yù)設(shè)的最大迭代次數(shù),則停止迭代計(jì)算。否則返回第1步,直到滿(mǎn)足收斂條件為止。
其中誤差函數(shù)f(R,t)的求解采用常用的奇異值分解(Singular Value Decomposition,SVD)方法。
為了驗(yàn)證本文手眼標(biāo)定方法的可行性,以及改進(jìn)的最近點(diǎn)迭代算法求解手眼矩陣的精度,進(jìn)行了手眼標(biāo)定實(shí)驗(yàn),并以三維定位精度為評(píng)定依據(jù),與經(jīng)典的最近點(diǎn)迭代求解方法進(jìn)行對(duì)比分析。
如圖5所示為Eye-to-hand機(jī)器人線(xiàn)結(jié)構(gòu)光視覺(jué)引導(dǎo)實(shí)驗(yàn)平臺(tái),主要器材包括EPSON S5-A701S機(jī)器人,其重復(fù)定位精度為±0.02mm;LMI公司的Gocator2350線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器;直徑為20mm(精度0.5μm)的標(biāo)準(zhǔn)球、載物架、一維線(xiàn)性位移平臺(tái)、工控機(jī)等。用高精度的坐標(biāo)測(cè)量機(jī)測(cè)得載物架的關(guān)鍵尺寸即標(biāo)準(zhǔn)球放置孔的孔徑F為19.993mm、O1O2距離L為149.981mm。其中,Gocator2350線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器固定安裝在一維線(xiàn)性位移平臺(tái)上,確保EPSON機(jī)器人的工作空間位于相機(jī)視場(chǎng)范圍內(nèi)。
圖5 Eye-to-hand機(jī)器人線(xiàn)結(jié)構(gòu)光視覺(jué)引導(dǎo)系統(tǒng)
第一步,求取靶標(biāo)球心在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器坐標(biāo)系和機(jī)器人基坐標(biāo)系下的坐標(biāo)點(diǎn)集P和Q。
控制機(jī)器人帶動(dòng)標(biāo)準(zhǔn)球靶標(biāo)移動(dòng)至線(xiàn)結(jié)構(gòu)光傳感器光平面內(nèi),使球面與線(xiàn)結(jié)構(gòu)光相交??刂茩C(jī)器人在線(xiàn)結(jié)構(gòu)光與球面相交的范圍內(nèi)平動(dòng)并采集15組空間圓點(diǎn)云數(shù)據(jù),使用2.1節(jié)中方法得到標(biāo)準(zhǔn)球靶標(biāo)球心在線(xiàn)結(jié)構(gòu)光傳感器下的坐標(biāo)點(diǎn)集P={Pi|Pi∈R3,i=1,2,...,15}。同時(shí),從機(jī)器人控制器中讀出對(duì)應(yīng)的15組機(jī)器人TCP坐標(biāo)點(diǎn)集為T(mén)={Ti|Ti∈R3,T={i=1,2,...,15}。根據(jù)2.2節(jié)中的坐標(biāo)轉(zhuǎn)換公式可求得對(duì)應(yīng)的15組靶標(biāo)特征點(diǎn)在機(jī)器人基坐標(biāo)系下的坐標(biāo)點(diǎn)集Q={Qi|Qi∈R3,i=1,2,...,N}。求得坐標(biāo)點(diǎn)集P和Q如表1所示。
表1 靶標(biāo)球心分別在視覺(jué)傳感器和機(jī)器人下的坐標(biāo)點(diǎn)集(mm)
第二步,使用2.3節(jié)改進(jìn)的最近點(diǎn)迭代算法求解這兩組坐標(biāo)點(diǎn)集Q和P之間的旋轉(zhuǎn)平移矩陣[R,t],根據(jù)試驗(yàn)數(shù)據(jù)將最近點(diǎn)匹配的閾值G1設(shè)定為0.05,將最近點(diǎn)對(duì)提純的閾值G1設(shè)定為0.8,實(shí)驗(yàn)過(guò)程中第7、13組點(diǎn)對(duì)被剔除,最終求得的手眼關(guān)系為:
手眼關(guān)系標(biāo)定無(wú)法單獨(dú)評(píng)估其精度,需要進(jìn)行機(jī)器人線(xiàn)結(jié)構(gòu)光視覺(jué)引導(dǎo)系統(tǒng)的三維定位精度驗(yàn)證實(shí)驗(yàn),以三維定位精度為指標(biāo)來(lái)檢驗(yàn)手眼標(biāo)定精度。
保持機(jī)器人和標(biāo)準(zhǔn)球不動(dòng),由線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器掃描獲得標(biāo)準(zhǔn)球球心坐標(biāo)值,然后通過(guò)手眼矩陣將此坐標(biāo)值轉(zhuǎn)換到機(jī)器人基坐標(biāo)系下??刂茩C(jī)器人平動(dòng)使標(biāo)準(zhǔn)球移動(dòng)到另外一個(gè)位置,再次得到標(biāo)準(zhǔn)球球心在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器下的坐標(biāo)值,轉(zhuǎn)換此坐標(biāo)值到機(jī)器人基坐標(biāo)系下。重復(fù)多次移動(dòng)和測(cè)量,得到標(biāo)準(zhǔn)球球心在機(jī)器人基坐標(biāo)系下的坐標(biāo)集{M};同時(shí),讀取機(jī)器人TCP坐標(biāo)集,由2.2節(jié)中的方法換算出標(biāo)準(zhǔn)球球心在機(jī)器人基坐標(biāo)系下實(shí)際坐標(biāo)值,得到坐標(biāo)集{N}。根據(jù)坐標(biāo)集{M}、{N}的坐標(biāo)數(shù)據(jù),通過(guò)式(7)計(jì)算得到三維定位的誤差集{S}。以誤差集{S}中的誤差均值和誤差的標(biāo)準(zhǔn)值為指標(biāo)來(lái)對(duì)手眼標(biāo)定精讀進(jìn)行評(píng)價(jià)。
式中:K為三維定位誤差;xM1、yM1、zM1為坐標(biāo)集{M}中固定點(diǎn)三維坐標(biāo)值;xN1、yN1、zN1為坐標(biāo)集{N1}中同一固定點(diǎn)三維坐標(biāo)值。
完成系統(tǒng)的手眼標(biāo)定工作后,啟動(dòng)一維線(xiàn)性位移平臺(tái)帶動(dòng)線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器對(duì)由載物架固定在機(jī)器人TCP上的標(biāo)準(zhǔn)球靶標(biāo)進(jìn)行掃描測(cè)量,在線(xiàn)結(jié)構(gòu)光視覺(jué)傳感器掃描工作范圍內(nèi),通過(guò)控制機(jī)器人平動(dòng)對(duì)10個(gè)不同位置的標(biāo)準(zhǔn)球進(jìn)行掃描測(cè)量,測(cè)量結(jié)果如表2所示。
根據(jù)表2統(tǒng)計(jì)數(shù)據(jù),Eye-to-hand機(jī)器人線(xiàn)結(jié)構(gòu)光視覺(jué)引導(dǎo)系統(tǒng)的機(jī)器人定位精度實(shí)驗(yàn)的定位誤差的均值為1.091mm,定位誤差的標(biāo)準(zhǔn)差為0.399mm,可以滿(mǎn)足大多數(shù)機(jī)器人線(xiàn)結(jié)構(gòu)光視覺(jué)引導(dǎo)系統(tǒng)的定位要求。
表2 三維定位精度分析(mm)
為保證算法的普遍有效性,通過(guò)多組數(shù)據(jù)進(jìn)行驗(yàn)證。按4.1節(jié)所述方法,完成10次標(biāo)定數(shù)據(jù)的采集,分別使用改進(jìn)的最近點(diǎn)迭代算法和直接使用最近點(diǎn)迭代算法獲取手眼矩陣,使用上述方法分別獲得10次實(shí)驗(yàn)中三維定位誤差均值和誤差的標(biāo)準(zhǔn)值,結(jié)果如圖6和圖7所示。10次實(shí)驗(yàn)中,改進(jìn)的最近點(diǎn)迭代算法獲取的手眼矩陣用于系統(tǒng)三維定位時(shí)的定位誤差的均值和定位誤差的標(biāo)準(zhǔn)差都小于用經(jīng)典最近點(diǎn)迭代算法的實(shí)驗(yàn)組。相比經(jīng)典的最近點(diǎn)迭代算法,本文方法標(biāo)定后,10次三維定位實(shí)驗(yàn)中定位誤差均值的平均值由1.96mm降為1.01mm,定位誤差的標(biāo)準(zhǔn)差的平均值由0.444mm降為0.391mm。
圖6 手眼矩陣用于三維定位時(shí)的誤差均值
圖7 手眼矩陣用于三維定位時(shí)的誤差標(biāo)準(zhǔn)差
為分析改進(jìn)的最近點(diǎn)迭代算法性能,如表3所示,將10次標(biāo)定實(shí)驗(yàn)中改進(jìn)的最近點(diǎn)迭代算法和經(jīng)典最近點(diǎn)迭代算法的迭代次數(shù)、迭代配準(zhǔn)用時(shí)、配準(zhǔn)精度進(jìn)行對(duì)比。10次實(shí)驗(yàn)中,改進(jìn)的最近點(diǎn)迭代算法的平均迭代配準(zhǔn)用時(shí)由1630ms降到640ms,配準(zhǔn)誤差由0.5441mm降為0.1136mm。
表3 算法性能比較
本文改進(jìn)的最近點(diǎn)迭代算法中,由于點(diǎn)云的向心向量的計(jì)算是一次性的,不需要在每次迭代計(jì)算中再重新計(jì)算,算法每次迭代的時(shí)間減少了;經(jīng)過(guò)最近點(diǎn)的匹配和最近點(diǎn)對(duì)的提純,算法提供了良好的點(diǎn)云初始配準(zhǔn)位置,因此算法迭代次數(shù)有所減少,配準(zhǔn)精度反而有所提高;且整個(gè)算法的迭代配準(zhǔn)用時(shí)比經(jīng)典最近點(diǎn)迭代算法少。
針對(duì)Eye-to-Hand機(jī)器人線(xiàn)結(jié)構(gòu)光視覺(jué)引導(dǎo)系統(tǒng)的手眼標(biāo)定問(wèn)題,提出了一種基于改進(jìn)的最近點(diǎn)迭代算法的手眼關(guān)系標(biāo)定方法。在標(biāo)定過(guò)程中,只需要機(jī)器人做若干組平動(dòng)的動(dòng)作即可方便快捷地獲取兩組標(biāo)定數(shù)據(jù),且手眼標(biāo)定精度受機(jī)器人重復(fù)定位精度影響較?。辉诟倪M(jìn)的最近點(diǎn)迭代算法中,引入向心向量;以點(diǎn)和點(diǎn)的向心向量之間歐氏距離為誤差項(xiàng),進(jìn)行最近點(diǎn)的匹配;利用最近點(diǎn)對(duì)的向心向量夾角對(duì)最近點(diǎn)對(duì)進(jìn)行提純。由實(shí)驗(yàn)數(shù)據(jù)知,由于提供了較好的初值位置,改進(jìn)的最近點(diǎn)迭代算法的迭代次數(shù)和迭代時(shí)間都進(jìn)一步縮短,且配準(zhǔn)誤差進(jìn)一步減小了;10次三維定位實(shí)驗(yàn)中用本文方法進(jìn)行手眼標(biāo)定后的定位誤差平均值由1.96mm降為1.01mm,定位誤差標(biāo)準(zhǔn)差的平均值由0.444mm降為0.391mm。證明本文中改進(jìn)的最近點(diǎn)迭代算法對(duì)于提高機(jī)器人線(xiàn)結(jié)構(gòu)光視覺(jué)引導(dǎo)系統(tǒng)的三維定位精度有實(shí)際意義。