謝小鵬, 彭澤林
(華南理工大學機械與汽車工程學院,廣東 廣州 510640)
隨著工業(yè)自動化和智能化的發(fā)展,工業(yè)機器人被廣泛應用于生產(chǎn)制造的各個領(lǐng)域中。視覺系統(tǒng)作為工業(yè)機器人的“眼睛”,有效提高了工業(yè)機器人在生產(chǎn)應用中的柔性和智能化程度,極大提升了生產(chǎn)效率和自動化水平[1-3]。
視覺系統(tǒng)與機器人關(guān)聯(lián)方式主要有兩種:非固定視點的視覺(eye-in-hand)和固定視點的視覺(eye-to-hand)[4]。非固定視點的機器人視覺,攝像機通常安裝在機械手末端,并隨著機械手末端移動,是機器人實現(xiàn)主動視覺的主要途徑;固定視點的機器人視覺,攝像機和機械手分離,攝像機安裝位置固定且靜置,因此系統(tǒng)結(jié)構(gòu)安裝方便,視覺系統(tǒng)不會因為機器人運動而導致結(jié)構(gòu)變化,精度相對較高,在工業(yè)機器人上應用也比較廣泛[5-6]。
固定視點的機器人手眼關(guān)系標定需要確定相機坐標系與機器人基坐標系的轉(zhuǎn)換關(guān)系。與非固定視點的機器人手眼關(guān)系標定相同,核心問題都是解決手眼轉(zhuǎn)換關(guān)系矩陣的求解,國內(nèi)外學者在這方面也進行了相關(guān)研究。早期的如Tsai等[7-8]提出控制機器人末端執(zhí)行機構(gòu)至少進行兩次運動,在3個不同方位對標定物進行成像,并將其數(shù)學模型歸結(jié)為求解矩陣方程;Ma[9]利用攝像機的3次兩兩正交的運動,利用極點建立約束方程組;張召瑞等[10]通過融合旋轉(zhuǎn)和平移約束信息解決系數(shù)矩陣不滿秩的標定問題;王金橋等[11]利用遺傳算法優(yōu)化手眼標定數(shù)學模型;Wu等[12]通過RANSAC算法篩選手眼矩陣測量數(shù)據(jù)提高精度。
上述求解固定視點的機器人手眼關(guān)系主要是通過建立矩陣方程或采用正交運動的方法,由于不能直接利用深度信息,因此求解復雜,操作難度大。
本文將闡述一種固定視點的機器人手眼關(guān)系標定方法,根據(jù)固定視點機器人及視覺系統(tǒng)結(jié)構(gòu)特點,在雙目立體視覺測量的基礎(chǔ)上,控制機械臂末端做3次平移運動和1次旋轉(zhuǎn)運動,通過雙目相機獲取測量點在相機坐標系下的坐標,建立機器人基坐標系和相機坐標系之間相對位置關(guān)系的約束方程組,線性求得相機坐標系和機器人基坐標系的轉(zhuǎn)換矩陣,無需復雜求解,操作過程簡單。
雙目立體視覺是根據(jù)視差原理,由多幅圖像獲取測量物體三維信息的方法[13]。圖1為雙目立體視覺測量原理圖,其中為左相機坐標系,為右相機坐標系。
圖1 雙目立體視覺測量原理
對于空間任意一點P點,在左相機成像平面的投影點為Pl,在右相機成像平面的投影點為Pr點(Pl與Pr稱為對應點)。
通過匹配Pl和Pr的對應關(guān)系確定空間點的視差d,根據(jù)雙目視覺的定位原理,可計算出空間點P在相機坐標系的空間三維坐標為
式中:Tx——左右相機坐標系水平方向距離,mm;
c1、c2——左、右相機圖像中心水平偏移量,mm;
cy——左相機圖像中心垂直偏移量,mm;
f——左、右相機焦距參數(shù),mm;
d——視差值,mm;
x、y——空間點在圖像二維平面坐標;
X、Y、Z——空間點在相機坐標系坐標。
固定視點的機器人手眼關(guān)系標定過程是相機坐標系與機器人基坐標系之間的轉(zhuǎn)換關(guān)系的確定,其手眼關(guān)系標定過程涉及的坐標系定義示意圖如圖2所示,機器人以簡單線條表示。
設機器人基坐標系為{R},機械臂末端坐標系為{E},相機坐標系為{C},平面標定板坐標系為{B}。視覺標定時,機器人基座相對于雙目相機靜止,因此機器人基坐標系{R}相對于相機坐標系{C}的位置轉(zhuǎn)換關(guān)系矩陣恒定,即恒定;使用穩(wěn)定的機構(gòu)將平面標定板固定在機械臂末端上,因此平面標定板坐標系{B}相對于機械臂末端坐標系{E}的位置轉(zhuǎn)換關(guān)系矩陣也恒定,即恒定。
假設平面標定板上某參考點P在機器人基坐標系{R}下的坐標為RP,在左相機坐標系{C}下的坐標為根據(jù)固定視點的機器人坐標系轉(zhuǎn)換關(guān)系,可得:
圖2 坐標系定義示意圖
式中:——機械臂末端坐標系{E}相對于機器人基坐標系{R}的位置轉(zhuǎn)換關(guān)系齊次矩陣;
——機器人基坐標系{R}相對于相機坐標系{C}的位置轉(zhuǎn)換關(guān)系齊次矩陣。
將式(2)中的齊次矩陣進行分解,左上角3×3元素部分為旋轉(zhuǎn)部分R,右邊3×1元素部分為平移部分t,分解后得到:
式中:的旋轉(zhuǎn)矩陣部分;
的平移矩陣部分;
的旋轉(zhuǎn)矩陣部分;
的平移矩陣部分。
本文通過控制機械臂末端做3次純平移運動和一次旋轉(zhuǎn)運動來對手眼關(guān)系進行標定。
首先標定手眼關(guān)系中的旋轉(zhuǎn)矩陣。機械臂末端在初始位置時,根據(jù)式(3),平面標定板上某參考點P在各坐標系下坐標轉(zhuǎn)換關(guān)系方程組為
控制機器人末端進行平移運動,平移1次后,根據(jù)式(3),平面標定板上同一參考點P坐標轉(zhuǎn)換關(guān)系為
分別將式(5)的第1式與式(4)第1式相減、式(5)第2式和式(4)第2式相減,得到方程組:
由于平面標定板通過穩(wěn)定的機構(gòu)固定于機械臂末端,平面標定板坐標系{B}和機械臂末端坐標系{E}的位置轉(zhuǎn)換關(guān)系恒定,因此平移前后由于機械臂末端進行的是平移運動,機械臂末端坐標系{E}相對于機器人基坐標系{R}的位置轉(zhuǎn)換關(guān)系的旋轉(zhuǎn)部分保持不變,因此平移前后由于相機坐標系{C}和機器人基坐標系{R}位置沒有變化,因此綜上,式(6)可簡化為
由式(7)方程組可得:
式中:——平移前后,平面標定板同一參考點在相機坐標系{C}下的坐標,可通過圖像處理和雙目視覺系統(tǒng)測量直接獲取;
——平移前后機械臂末端坐標系{E}相對于機器人基坐標系{R}位置轉(zhuǎn)換關(guān)系的平移部分,可通過機器人控制器獲取。
根據(jù)式(8)可知,通過3次機械臂末端的平移運動,可標定手眼關(guān)系中的旋轉(zhuǎn)矩陣為
獲取手眼關(guān)系中的旋轉(zhuǎn)矩陣后,接下來對手眼關(guān)系中的平移矩陣進行求解。首先在初始位置時,平面標定板上某參考點P在各坐標系下坐標轉(zhuǎn)換關(guān)系方程組如式(4)所示。
控制機器人末端進行一次旋轉(zhuǎn)運動后,平面標定板上同一參考點P坐標轉(zhuǎn)換關(guān)系如式(5)所示。
由于平面標定板通過穩(wěn)定的機構(gòu)固定于機械手末端,因此旋轉(zhuǎn)前后由于機械臂末端進行的是旋轉(zhuǎn)運動,機械臂末端坐標系{E}相對于機器人基坐標系{R}的位置轉(zhuǎn)換關(guān)系的平移部分保持不變,因此旋轉(zhuǎn)前后由于相坐標系{C}和機器人基坐標系{R}位置沒有變化,因此
將式(5)的第1式和式(4)的第1式聯(lián)立,得到方程如下:
將式(4)第2式、式(5)第2式和式(10)聯(lián)立,得到方程如式(11)所示:
式中:——旋轉(zhuǎn)前、后,平面標定板同一參考點在相機坐標系{C}下的坐標,可通過圖像處理和雙目視覺系統(tǒng)測量直接獲取;
——旋轉(zhuǎn)前、后機械臂末端坐標系{E}相對于機器人基坐標系{R}位置轉(zhuǎn)換關(guān)系的旋轉(zhuǎn)部分,可通過機器人控制器獲取。
將式(9)中手眼關(guān)系中旋轉(zhuǎn)部分計算結(jié)果帶入式(11)中,即可完成手眼關(guān)系中的平移矩陣的標定。
因此根據(jù)式(11)可知,通過1次機械臂末端的旋轉(zhuǎn)運動,可標定手眼關(guān)系中的平移矩陣。
綜上所述,本文固定視點的機器人手眼關(guān)系標定方法步驟如下:
1)將平面標定板通過穩(wěn)定的機構(gòu)固定于機械臂末端,控制機械臂末端進行平移、旋轉(zhuǎn)運動,利用雙目相機測量平面標定板上參考點位置的三維坐標。
2)從初始位置,控制機械臂末端進行3次平移運動,通過雙目相機和機器人控制器獲取參考點三維坐標和機械臂末端平移量,由式(9)獲取手眼關(guān)系中的旋轉(zhuǎn)部分。
3)從初始位置,控制機械臂末端進行1次旋轉(zhuǎn)運動,通過雙目相機和機器人控制器獲取參考點三維坐標和機械臂末端旋轉(zhuǎn)量,將2)中旋轉(zhuǎn)部分結(jié)果帶入,由式(11)獲取手眼關(guān)系中的平移部分。
4)至此,本文固定視點機器人手眼關(guān)系標定全部完成。
搭建的試驗平臺如圖3所示,圖像采集設備采用兩個USB2.0接口的MicroVision工業(yè)攝像頭組成雙目視覺系統(tǒng),相機分辨率1280×960,幀率15 f/s;平面標定板采用LH070鋁制高精度漫反射標定板,實心圓點直徑3.5 mm,打印精度為±0.01 mm;機器人采用SIASUN SR6C機器人,末端負載6 kg,各運動軸重復定位精度±0.05 mm;視覺軟件為自主開發(fā),開發(fā)環(huán)境Visual Studio,開發(fā)語言為C++;軟件運行環(huán)境為Windows7操作系統(tǒng)的計算機,采用Intel(R) Core i3 3210M CPU @ 2.5 GHz,4 GB內(nèi)存。
圖3 試驗平臺
固定視點的機器人對某點的聯(lián)合定位過程為:通過雙目視覺定位,獲取空間中某點P相對于相機坐標系{C}的坐標值CP,再根據(jù)相機坐標系{C}與機器人基坐標系{R}的手眼關(guān)系轉(zhuǎn)換矩陣計算P相對于坐標系{R}的坐標RP,最后根據(jù)機器人基坐標系{R}與機械臂末端坐標系{E}的位置轉(zhuǎn)換關(guān)系矩陣計算P相對于坐標系{E}的坐標固定視點機器人聯(lián)合定位過程如圖4所示。
圖4 固定視點機器人聯(lián)合定位過程
根據(jù)固定視點機器人聯(lián)合定位過程,視覺關(guān)聯(lián)機器人的聯(lián)合定位準確度主要取決于3個過程:1)雙目視覺定位準確性;2)手眼關(guān)系轉(zhuǎn)換矩陣的準確性;3)機器人基坐標系與機械臂末端坐標系轉(zhuǎn)換矩陣的準確性。由于視覺坐標系{C}、機器人基坐標系{R}與機械臂末端坐標系{E}都無法通過物理手段直接測量,因此導致視覺關(guān)聯(lián)機器人的定位準確度無法直接測量。此外,由于雙目視覺定位準確性和兩者從手眼標定過程就影響手眼標定結(jié)果,因此視覺關(guān)聯(lián)機器人定位誤差是由上述3個過程的整體耦合產(chǎn)生的,因此難以找到合適的數(shù)學模型定量分析每個環(huán)節(jié)與誤差產(chǎn)生的關(guān)系,不過視覺關(guān)聯(lián)機器人整體的定位準確度可以通過間接方法進行測量。
機器人視覺標定后,將平面標定板固定在工作臺,使平面標定板相對于機器人靜置。通過改變平面標定板固定位置和姿態(tài),進行N組視覺關(guān)聯(lián)機器人聯(lián)合定位試驗。雙目視覺測量平面標定板上所有參考點在相機坐標系{C}下的三維坐標,并根據(jù)求解得到的固定視點機器人手眼轉(zhuǎn)換矩陣轉(zhuǎn)換到機器人基坐標系{R}下,得到坐標集{Ai,i=1,2,3,…,N}。手動控制機械臂末端運動到平面標定板各個參考點,通過機械臂末端坐標系{E}相對于機器人基坐標系{R}的位置轉(zhuǎn)換矩陣,得到坐標集{Bi,i=1,2,3,…,N}。根據(jù)坐標集Ai、Bi的坐標數(shù)據(jù),通過式(12)計算對應參考點的空間距離(歐氏距離)偏差集{Si,i=1,2,3,…,N}。
式中:d——參考點空間距離偏差;
xA、yA、zA——坐標集Ai中某參考點三維坐標值;
xB、yB、zB——坐標集Bi中同一參考點三維坐標值。
實驗具體流程如圖5所示。
圖5 試驗流程圖
完成相機標定和手眼標定后,進行視覺關(guān)聯(lián)機器人定位精度試驗。由于機械臂末端無法識別實心點圓心位置,因此采用AFT-MCT-OV系列高精度棋盤格型金屬平面標定板,格邊長30 mm×30 mm,打印精度為±0.01 mm,尺寸400 mm×300 mm×5 mm,如圖6所示,進行定位精度試驗。
調(diào)整棋盤格標定板位置和姿態(tài)進行5次角點定位(即N=5),棋盤格標定板上有88個角點,因此共采集440個角點三維坐標數(shù)據(jù)。將偏差集Si中的對應角點的空間偏差制成散點折線圖,可以直觀看出每個角點的偏差值及偏差分布情況,如圖7所示。
圖6 棋盤格型平面標定板
圖7 歐氏距離偏差散點折線圖
統(tǒng)計偏差集Si偏差平均值和標準差,如表1所示。
表1 視覺關(guān)聯(lián)機器人定位偏差
根據(jù)圖7數(shù)據(jù)分布及表1統(tǒng)計數(shù)據(jù),采用本文固定視點的機器人視覺標定方法,視覺關(guān)聯(lián)機器人定位準確度試驗的定位偏差在1 mm內(nèi),偏差均值為0.53 mm,偏差標準差為0.19 mm,證明本文方法可行,可用于實際工程應用中。
針對固定視點的機器人手眼標定問題,提出固定視點機器人手眼關(guān)系標定方法,首先控制機械臂末端進行3次平移運動,通過末端平移量和雙目視覺系統(tǒng)測量數(shù)據(jù)求取手眼關(guān)系中的旋轉(zhuǎn)部分;然后控制機械臂末端進行1次旋轉(zhuǎn)運動,通過末端旋轉(zhuǎn)量、雙目視覺系統(tǒng)測量數(shù)據(jù)以及手眼關(guān)系旋轉(zhuǎn)部分求取手眼關(guān)系中的平移部分。同時以SIASUN SR6C機器人為實驗對象進行視覺關(guān)聯(lián)機器人定位準確度試驗。結(jié)果證明,所提出的求解手眼關(guān)系轉(zhuǎn)換矩陣的方法具有較高準確度。本文方法避免矩陣方程的復雜求解,也無需機械臂做正交運動,操作過程簡潔,標定準確度較高,有利于工程中的實際應用。
[1]徐昌源, 全燕鳴, 郭清達. 改進最小二乘法雙目視覺位姿測量技術(shù)研究與測試[J]. 中國測試, 2016, 42(9): 27–30.
[2]楊守瑞, 尹仕斌, 任永杰, 等. 機器人柔性視覺測量系統(tǒng)標定方法的改進[J]. 光學精密工程, 2014, 22(12): 3239–3246.
[3]沈程慧, 白瑞林, 李新. 視覺引導的裝配機器人平面定位補償方法[J]. 激光技術(shù), 2017,41(1): 79–84.
[4]VINCENTE P, JAMONE L, BERNARDINO A. Towards markerless visual servoing of grasping tasks for humanoid robots[C]//Robotics and Automation (ICRA), 2017 IEEE International Conference on IEEE, 2017: 3811–3816.
[5]LIN C C, GONZALEZ P, CHENG M Y, et al. Vision based object grasping of industrial manipulator[C]//Advanced Robotics and Intelligent Systems (ARIS), 2016 International Conference on IEEE, 2016: 1–5.
[6]WU K, WU L, REN H. An image based targeting method to guide a tentacle–like curvilinear concentric tube robot[C]//Robotics and Biomimetics (ROBIO), 2014 IEEE International Conference on IEEE, 2014: 386–391.
[7]TSAI R Y, LENZ R K. A new technique for fully autonomous and efficient 3D robotics hand/eye calibration[J]. IEEE Transactions on Robotics and Automation, 1989, 5(3):345–358.
[8]SHIU Y C, AHMAD S. Calibration of wrist–mounted robotic sensors by solving homogeneous transform equations of the form AX=XB[J]. IEEE Transactions on Robotics and Automation, 1989, 5(1): 16–29.
[9]DE MA S. A self–calibration technique for active vision systems[J]. IEEE Transactions on Robotics and Automation,1996, 12(1): 114–120.
[10]張召瑞, 張旭, 鄭澤龍, 等. 融合旋轉(zhuǎn)平移信息的機器人手眼標定方法[J]. 儀器儀表學報, 2015, 36(11): 2443–2450.
[11]王金橋, 段發(fā)階, 汪潤. 精確標定關(guān)節(jié)臂視覺檢測系統(tǒng)手眼關(guān)系[J]. 計算機工程與應用, 2015 (21): 225–22.
[12]吳晗, 李巍, 董明利. 基于RANSAC的便攜式激光掃描測量臂手眼標定方法[J]. 計算機工程與應用, 2017, 23: 046.
[13]全燕鳴, 黎淑梅, 麥青群. 基于雙目視覺的工件尺寸在機三維測量[J]. 光學精密工程, 2013, 21(4): 1054–1061.