摘 要: 以固高GRB-400機(jī)器人和攝像機(jī)組成手眼系統(tǒng),在手眼關(guān)系旋轉(zhuǎn)矩陣的標(biāo)定方面,分析了基于主動視覺的標(biāo)定方法。為實現(xiàn)手眼關(guān)系平移向量的標(biāo)定,提出以固定于機(jī)械臂末端的激光筆來獲取工件平臺上特征點的基坐標(biāo),并結(jié)合已標(biāo)定的旋轉(zhuǎn)矩陣來標(biāo)定平移向量。最后,從圖像求取多個特征點之間的距離并與實際值進(jìn)行誤差比較,平面特征點間的長度測量誤差在±0.8 mm之間,表明手眼標(biāo)定精度較高,可滿足機(jī)器人進(jìn)行工件定位與自動抓取的要求。
關(guān)鍵詞: 機(jī)器人;手眼系統(tǒng);主動視覺;激光筆;標(biāo)定
0 引言
當(dāng)今,機(jī)器人視覺系統(tǒng)以其精度高、成本效率高、連續(xù)性、靈活性等特點被廣泛應(yīng)用于電子原件裝配、焊接工程、零配件尺寸檢查等領(lǐng)域。手眼標(biāo)定是機(jī)器視覺系統(tǒng)中的關(guān)鍵技術(shù),手眼標(biāo)定的精度將直接影響系統(tǒng)的定位精度。因此,為提高系統(tǒng)的定位精度,需要大量的實驗來實現(xiàn)手眼標(biāo)定,以減小最終誤差。在手眼標(biāo)定方面許多學(xué)者做了努力,并取得了一定的成果,如Ma[1]提出了主動視覺的方法,通過攝像機(jī)的正交平移運動,利用極點建立約束方程組,求解攝像機(jī)內(nèi)參數(shù)及手眼關(guān)系;楊廣林[2]等給出一種手眼標(biāo)定方法,僅需場景中的兩個特征點,通過控制攝像機(jī)做兩次平移運動和一次旋轉(zhuǎn)運動即可實現(xiàn)手眼標(biāo)定。此外,針對一些機(jī)器人如SCARA機(jī)器人,其在做旋轉(zhuǎn)運動時僅能繞z軸旋轉(zhuǎn),對于一些手眼標(biāo)定方法該類機(jī)器人無法實現(xiàn),如Shiu[3]和Tsai[4]的手眼標(biāo)定方法均要求至少需要旋轉(zhuǎn)軸不平行的兩組運動,才能唯一確定手眼矩陣的各分量。本文以固高GRB-400機(jī)器人和攝像機(jī)組成的手眼系統(tǒng)為研究對象,采用基于主動視覺的手眼標(biāo)定方法對手眼關(guān)系的旋轉(zhuǎn)矩陣進(jìn)行標(biāo)定,借助于激光筆來獲取工件平臺上特征點的世界坐標(biāo),然后根據(jù)特征點的世界坐標(biāo)和已標(biāo)定的旋轉(zhuǎn)矩陣來求取手眼關(guān)系的平移向量。
1 固高GRB-400機(jī)器人
四自由度GRB-400機(jī)器人是典型的SCARA機(jī)器人,具有3個旋轉(zhuǎn)關(guān)節(jié)和1個移動關(guān)節(jié),采用D-H法建立坐標(biāo)系,如圖1所示。從控制器中獲取關(guān)節(jié)變量?茲1、?茲2、?茲4、d3,由圖1可求得各連桿的變換矩陣,從而得到機(jī)械臂末端的位姿參數(shù):
其中,分別表示基坐標(biāo)系與機(jī)械臂末端坐標(biāo)系之間的旋轉(zhuǎn)矩陣和平移向量。
易知其中的旋轉(zhuǎn)矩陣具有如下形式:
2 手眼關(guān)系的標(biāo)定
2.1 手眼系統(tǒng)中的坐標(biāo)變換
手眼關(guān)系示意圖如圖2所示,Qw-xyz、Qh-xyz和Qc-xyz分別表示機(jī)器人基坐標(biāo)系、機(jī)械臂末端坐標(biāo)系和攝像機(jī)坐標(biāo)系,分別表示基坐標(biāo)系與機(jī)械臂末端坐標(biāo)系之間的旋轉(zhuǎn)矩陣和平移向量,Rhc和Thc分別表示機(jī)械臂末端坐標(biāo)系與攝像機(jī)坐標(biāo)系之間的旋轉(zhuǎn)矩陣和平移向量。設(shè)P為空間中的一點,Pw、Ph和Pc分別為點P在坐標(biāo)系Qw-xyz、Qh-xyz和Qc-xyz中的坐標(biāo),則P在手眼系統(tǒng)中各坐標(biāo)系之間的關(guān)系如下:
2.2 手眼關(guān)系中旋轉(zhuǎn)矩陣的標(biāo)定
在手眼系統(tǒng)中,當(dāng)控制機(jī)械手做平移運動時,攝像機(jī)也隨著機(jī)械手做平移運動。參考文獻(xiàn)[1]給出了確定攝像機(jī)坐標(biāo)系平移方向的方法。
當(dāng)控制機(jī)械手做一次平移運動時,設(shè)其平移向量為 k1,相應(yīng)的攝像機(jī)平移向量為k
1(
1、
1均為單位向量),設(shè)P點在機(jī)械臂坐標(biāo)系平移前后的坐標(biāo)分別為Ph和Ph+k
1,在攝像機(jī)坐標(biāo)系平移前后的坐標(biāo)分別為Pc和Pc+k
1,根據(jù)式(3)可得:
類似地,控制機(jī)械手沿不同方向做兩次平移運動,設(shè)其平移向量分別為k2、k
3,相應(yīng)的攝像機(jī)平移向量分別為k
2、k
3(
i、
i均為單位向量,i=2,3),同樣可推得:
將式(6)~(8)合成矩陣形式有:
由此可得手眼關(guān)系的旋轉(zhuǎn)矩陣:
在實際標(biāo)定過程中,可以只通過控制機(jī)械手沿相互正交的兩個方向平移,然后采用施密特正交化方法對得到的兩個攝像機(jī)平移向量進(jìn)行正交化,第三個平移向量3、
3由前兩項叉乘得出,即
3=
1×
2,
3=
1×
2,由此可求得正交的旋轉(zhuǎn)矩陣
。
2.3 手眼關(guān)系中平移向量的標(biāo)定
手眼關(guān)系的平移向量是通過以固定于機(jī)械臂末端的激光筆來獲取工件平臺上特征點的基坐標(biāo),并結(jié)合已標(biāo)定的旋轉(zhuǎn)矩陣來標(biāo)定的。
2.3.1 基于激光筆求工件平臺上特征點的基坐標(biāo)
基于激光筆求特征點基坐標(biāo)的示意圖如圖3所示,工件平臺與基坐標(biāo)的z軸垂直(設(shè)工件平臺在z軸的坐標(biāo)位置已知),P為工件平臺上位置固定的特征點,設(shè)其基坐標(biāo)表示為(wxp,wyp,wzp)T,激光筆安裝于機(jī)械臂末端,即Qh-xyz坐標(biāo)系的A處,且使激光射線平行于Qh-xyz的z軸??赏ㄟ^控制機(jī)械手上下移動觀察激光射線是否打在工件平臺上的同一點來判斷激光射線是否平行于Qh-xyz的z軸,若不是則調(diào)整激光筆直到激光射線與Qh-xyz的z軸相平行。易知當(dāng)激光射線與Qh-xyz的z軸相互平行時,激光射線上的點在Qh-xyz上具有相同的x、y軸坐標(biāo)值且不隨機(jī)械手的移動而改變,設(shè)分別為hxp、hyp。
首先,通過調(diào)整機(jī)器人的四個關(guān)節(jié)狀態(tài)使激光射線打在P點上(如圖3(a)所示),設(shè)此時P點在Qh-xyz中的坐標(biāo)為(wxp,wyp,wzp)T,從控制器中獲取當(dāng)前機(jī)器人的關(guān)節(jié)變量分別為,根據(jù)D-H法可求得機(jī)械臂末端的位姿參數(shù)
,易知旋轉(zhuǎn)矩陣
具有如式(2)的形式,設(shè)為:
接著,保持機(jī)械臂末端與工件平臺的距離不變,即機(jī)器人的移動關(guān)節(jié)參數(shù)值仍為d3,改變機(jī)器人的其他三個旋轉(zhuǎn)關(guān)節(jié),且仍使激光射線打在P點上(如圖3(b)所示),顯然此時的P點在Qh-xyz中的坐標(biāo)仍為(wxp,wyp,wzp)T,從控制器中獲取當(dāng)前機(jī)器人的關(guān)節(jié)變量分別為,同理可求得
,且旋轉(zhuǎn)矩陣
具有式(2)的形式:
由式(12)、(13)可解得:
在基坐標(biāo)系下,對于工件平臺上的特征點的z軸坐標(biāo)值相等且為已知,因此只需求取x、y軸的坐標(biāo)值。將求得的(hxp,hyp)T帶入式(12)即可求得P點在基坐標(biāo)系下的x、y軸的坐標(biāo)值。為減?。╤xp,hyp)T的誤差,可采用對不同特征點重復(fù)多次實驗求平均的方法。
2.3.2 平移向量的標(biāo)定
根據(jù)手眼系統(tǒng)中的坐標(biāo)變換關(guān)系,由式(3)、(4)可得:
標(biāo)定過程:控制機(jī)械手使工件平臺上已知基坐標(biāo)的特征點置于場景中,從控制器中獲取當(dāng)前機(jī)器人的關(guān)節(jié)變量求得,從圖像上獲取特征點的圖像像素坐標(biāo)(u,v),zc可由參考文獻(xiàn)[2]給出的方法求得,
、M均已標(biāo)定求出,則由式(19)即可求得手眼關(guān)系的平移向量
。通過重復(fù)多次實驗求平均,可減少誤差。
3 實驗結(jié)果及分析
本文的手眼系統(tǒng)的硬件部分主要有:四自由度GRB-400機(jī)器人、機(jī)器人控制柜、控制計算機(jī)、CCD攝像頭、圖像采集卡及其他輔助設(shè)備。攝像機(jī)安置于機(jī)械臂手爪的旋轉(zhuǎn)關(guān)節(jié)上,其采集的圖像尺寸為2 048× 1 536。
3.1 手眼關(guān)系旋轉(zhuǎn)矩陣的標(biāo)定實驗
控制機(jī)械手沿機(jī)械臂末端坐標(biāo)系的Zh+(“+”表示坐標(biāo)軸的正方向,“-”表示坐標(biāo)軸的負(fù)方向)方向移動 10 mm,根據(jù)移動前后圖像特征對應(yīng)點求取攝像機(jī)的平移向量k1,再控制機(jī)械手沿機(jī)械臂末端坐標(biāo)系的Yh+方向移動10 mm,同樣可求得攝像機(jī)的平移向量k
2,利用Schmidt正交化,令
3=
1×
2,同時利用機(jī)械手平移的方向向量由式(10)求得手眼關(guān)系的旋轉(zhuǎn)矩陣
。同理控制機(jī)械手沿機(jī)械臂末端坐標(biāo)系的Zh-、Yh+、Zh+、Yh-、Zh-、Yh-方向移動10 mm,每兩次移動就可確定一個
。旋轉(zhuǎn)矩陣的多次實驗結(jié)果數(shù)據(jù)如表1所示,其中最大偏差為旋轉(zhuǎn)矩陣的計算值與平均值之間的偏差矩陣中的最大值。從表1可看出旋轉(zhuǎn)矩陣的偏差是穩(wěn)定的,取平均值作為
的標(biāo)定結(jié)果。即:
3.2 手眼關(guān)系平移向量的標(biāo)定實驗
在求平移向量之前,需通過激光筆來獲取工件平臺上特征點的基坐標(biāo),因此先對激光筆在機(jī)械臂末端坐標(biāo)系x、y軸的坐標(biāo)位置hxp、hyp進(jìn)行標(biāo)定。通過多次標(biāo)定得到的數(shù)據(jù)結(jié)果如表2所示,其中偏差為(hxp,hyp)T的實驗計算值與平均值之間的差值。
由表2可以看出,實驗得出的hxp、hyp比較穩(wěn)定,取平均值作為hxp、hyp的標(biāo)定結(jié)果。即:
hxphyp=-6.950 2-46.765 7
在求得hxp、hyp后,控制機(jī)器人使激光射線打在工件平臺上基坐標(biāo)待求的特征點P上,從控制器中獲取當(dāng)前機(jī)器人的關(guān)節(jié)變量求得機(jī)械臂末端的位姿參數(shù),由式(12)即可求得P點的基坐標(biāo)。
接著對手眼關(guān)系平移向量進(jìn)行標(biāo)定:控制機(jī)械手使工件平臺上基坐標(biāo)已知的4個特征點置于場景中,從控制器中獲取當(dāng)前機(jī)器人的關(guān)節(jié)變量求得,從圖像上獲取這些特征點的圖像像素坐標(biāo),這些特征點的zc值按參考文獻(xiàn)[2]的方法另外求取,
、M均已知,由式(19)即可求得手眼關(guān)系的平移向量
。平移向量的標(biāo)定結(jié)果數(shù)據(jù)如表3所示,其中最大偏差為平移向量的計算值與平均值之間的偏差向量中的最大值。
由表3可看出,平移向量的最大偏差小于0.5 mm,取平均值為其標(biāo)定結(jié)果。即:
3.3 標(biāo)定結(jié)果測試
選取工件平臺上的4個點作為測試點,且將特征點置于不同的場景中,如圖4所示,通過求取特征點的基坐標(biāo)以求得這4個特征點兩兩之間的距離,實驗結(jié)果數(shù)據(jù)如表4所示,其中實際值為由游標(biāo)卡尺直接測量所得特征點之間的間距。
由表4可得不同場景中特征點間距計算值與實際值的誤差曲線,如圖5所示。從圖5可以看出,特征點間距計算值與實際值的誤差在±0.8 mm之間,說明所標(biāo)定的手眼關(guān)系的旋轉(zhuǎn)矩陣和平移向量
精度較高,可滿足機(jī)器人的工件定位與自動抓取的要求。
表5列出了本文方法和其他文獻(xiàn)方法的手眼標(biāo)定精度。從表5可以看出,參考文獻(xiàn)[5]的標(biāo)定精度最高,達(dá)到了0.5 mm,但其標(biāo)定過程要求機(jī)器人的外臂坐標(biāo)系到機(jī)器人基坐標(biāo)系的旋轉(zhuǎn)矩陣以及末端執(zhí)行器的高度保持不變,具有一定的局限性。而參考文獻(xiàn)[1]和參考文獻(xiàn)[6]的手眼標(biāo)定方法在求解平移向量時均需要機(jī)器人做旋轉(zhuǎn)運動,并且不能僅僅只繞某一軸旋轉(zhuǎn),若僅繞某一軸旋轉(zhuǎn)將無法求出平移向量。在標(biāo)定精度方面,參考文獻(xiàn)[6]的標(biāo)定精度與本文方法相當(dāng),而參考文獻(xiàn)[1]和參考文獻(xiàn)[5]的標(biāo)定精度均低于本文方法。
4 結(jié)論
本文提出了通過固定在機(jī)械臂末端的激光筆來獲取工件平臺上特征點的基坐標(biāo),以此來標(biāo)定手眼關(guān)系的平移向量;通過場景中的兩個特征點,通過精確控制機(jī)械臂做2次特定的平移運動即可標(biāo)定出手眼關(guān)系的旋轉(zhuǎn)矩陣。實驗結(jié)果表明,本文方法的標(biāo)定精度較高(±0.8 mm),可滿足一般機(jī)器人工件自動抓取、跟蹤控制等作業(yè)的使用要求。此外,本文提出的方法對于平移向量的標(biāo)定,只需要求機(jī)器人末端手臂垂直于工件平臺,并使固定在該臂上的激光筆的射線平行于該臂坐標(biāo)系的z軸,這對于大多數(shù)的機(jī)器人都是易于實現(xiàn)的,因此本文的方法精度高,適用范圍廣。
參考文獻(xiàn)
[1] MA S D. A self-calibration technique for active vision systems [J]. IEEE Transactionsons on Robotics and Automation,1996,12(1):114-120.
[2] 楊廣林,孔令富,王潔.一種新的機(jī)器人手眼關(guān)系標(biāo)定方法[J].機(jī)器人,2006,28(4):400-405.
[3] SHIU Y C, AHMAD S. Calibration of wrist-mounted robotic sensors by solving homogeneous transform equations of the form AX=XB[J]. IEEEE Transactions on Robotics & Automation, 1989,5(1):16-29.
[4] TSAI R Y, LENZ R K. A new technique for fully autonomous and efficient 3D robotics hand/eye calibration[J]. IEEEE Transactions on Robotics & Automation, 1989,5(3):345-358.
[5] 戚芳,席鋒.簡便高精度的機(jī)器人手眼視覺標(biāo)定方法[J].傳感器與微系統(tǒng),2006,25(1):27-29.
[6] 張黎爍,趙志梅.基于主動視覺的結(jié)構(gòu)光手眼系統(tǒng)自標(biāo)定方法[J].科學(xué)技術(shù)與工程,2014,14(9):202-206.