概述

根據機器人運動學的知識,通常機器人也指多關節多自由度機械臂,機械臂通過多個旋轉電機驅動,實現機器人末端的可控制定位驅動。機器人自身是沒有感測器的,人為在機器人上或旁安裝相機,通過使用相機獲得目標坐標,從而讓機器人根據相機得到的圖像對目標進行操作的方式叫做機器人視覺。而,為了使得相機(亦即機器人的眼)與機器人(亦即機器人的手)坐標系之間建立關係就必須要對機器人與相機坐標系進行標定,該標定過程也就叫做手眼標定

通常機器人的手眼關係分為eye-in-hand, 又稱moving camera以及eye-to-hand,又稱stationary camera兩種。其中eye-in-hand也就是眼在手上,如上圖a,機器人的視覺系統隨著機械臂末端運動;而eye-to-hand也就是眼在手旁,如圖b,機器人的視覺系統與機器人基座固定,不會在世界坐標系內運動。

  1. 對於eye-in-hand情況,機器人手眼標定即標定得到機器人末端與相機之間的坐標變換關係;
  2. 對於eye-to-hand情況,機器人手眼標定即標定得到機器人基座與相機之間的坐標變換關係

兩種標定方法都將機器人以及相機之間的不變數確定了下來,從而建立了兩者的轉換矩陣。

手眼標定方法

Tsai-Lenz方法是手眼標定中最常用的方法之一,普遍用於eye-in-hand的手眼固定形式,但是同樣也能夠用於eye-to-hand的情況,具有成熟可用的工具包,該方法藉助標定板,通過求解線性方程的方法求取手眼關係。

另外eye-to-hand也有九點標定法等更簡單的方法。九點標定法,亦即使用相機和機械臂獲得空間中的多組相同點坐標值,從而建立機械臂與相機之間的坐標轉換關係。

手眼標定系統——圖片來自網路,侵刪

Tsai-Lenz標定原理

上圖中為手眼標定系統。同樣是在機器人運動學中已經提到的機器人坐標表達方法。

^{robot}_{end}T 代表從機器人末端(gripper/robot)到機器人基座(end/base)的齊次變換矩陣。同理 ^{cam}_{obj}T 為相機到目標的變換矩陣, robot_1,robot_2 代表了兩個末端達到的位置。

對於eye-in-hand,根據機器人基座與目標/標定板之間位置相對固定的關係建立等式,利用相機與末端之間的坐標關係不變,得到 ^{cam_1}_{robot_1}T = ^{cam_2}_{robot_2}T

從而將問題下式中的變為求解 Acdot X = Xcdot B

(^{robot_2}_{end}T^{-1} cdot^{robot_1}_{end}T) cdot ^{cam_1}_{robot_1}T = ^{cam_2}_{robot_2}T cdot (^{obj}_{cam_2}T cdot ^{obj}_{cam_1}T^{-1})

求解得到的 X 即為所求的eye-in-hand標定矩陣。

對於eye-to-hand的情況,利用標定板/目標與機器人末端之間不變的轉換關係:

(^{cam}_{obj_2}T^{-1} cdot ^{cam}_{obj_1}T) cdot ^{end}_{cam} T  =  ^{end}_{cam} T cdot (^{robot_2}_{end}T cdot ^{robot_1}_{end}T^{-1})

求解得到的 X 即為所求的eye-to-hand標定矩陣。

手眼標定的具體步驟

首先對相機進行標定,獲得相機內參。

將相機、標定板固定好,啟動機器人調整機械臂末端位置姿態,並將對應的照片、機器人末端位姿記錄下來。

利用相機內參計算得到照片中相機與標定板之間的坐標轉換關係。

利用「兩步法」求解基本方程。先從基本方程中求解 ^{cam}_{robot}R ,再求解 ^{cam}_{robot}T

參考資料

R. Y. Tsai and R. K. Lenz, "A new technique for fully autonomous and efficient 3D robotics hand/eye calibration," in IEEE Transactions on Robotics and Automation, vol. 5, no. 3, pp. 345-358, June 1989. doi: 10.1109/70.34770


推薦閱讀:
相關文章