主要介绍eye_in_hand手眼标定,如下图,B为机械臂固定基座坐标系,E为机械臂末端坐标系,C为相机坐标系,相机坐标系与末端坐标系间无相对运动,手眼标定的目标就是要求得相机坐标系到末端坐标系的变换关系矩阵: Pe = Rce * Pc + Tce , 其中 Pc为相机坐标系下的一个坐标点,通过手眼变换关系可以得到点Pc在末端坐标系下的坐标值,标定的目的是要求出两个坐标系的变换矩阵 Rce 和平移向量Tce,也可以写成Pe = Hce * Pc 。
手眼标定方程推导:
如上图,W 是用于标定的棋盘格坐标系,标定过程中基座坐标系B和棋盘格坐标系W是固定不动的。
step 1: 首先来看机械臂末端从E点运动到E’前后的坐标关系:
在E点处:
Pb=He∗Pe (1)
Pc=Hwc∗Pw (2)
在E’ 处:
Pb=He′∗Pe′ (3)
Pc′=Hwc′∗Pw (4)
step 2: 相机从C运动到C’,结合公式(2)与(4): 公式中 Hwc 和 Hwc’ 是事先标定得到相机内参然后求得的外参,即棋盘格坐标系到相机坐标系的变换矩阵。
因为Pw=(Hwc′)−1∗Pc′
所以Pc=Hwc∗(Hwc′)−1∗Pc′
记 Hc=Hwc∗(Hwc′)−1
Pc=Hc∗Pc′ (5)
step 3: 机械臂末端从E运动到E’,结合公式(1)与(3):
He∗Pe=He′∗Pe′
所以 Pe=(He)−1∗He′∗Pe′
记 Hg=(He)−1∗He′
Pe=Hg∗Pe′ (6)
step 4: 由相机与末端的变换关系有:
Pe=Hce∗Pc (7)
Pe′=Hce∗Pc′ (8)
step 5: 将公式(6)代入公式(7)有:
Hg∗Pe′=Hce∗Pc
所以Pe′=(Hg)−1∗Hce∗Pc (9)
将公式(5)代入公式(9)有:
Pe′=(Hg)−1∗Hce∗Hc∗Pc′ (10)
根据公式(8)和公式(10)有:
Hce=(Hg)−1∗Hce∗Hc
所以 Hg∗Hce=Hce∗Hc (11)
step 6: 公式(11)便是手眼标定需要求解的方程,手眼标定问题转换为AX = XB 方程求解问题,将公式写成以下矩阵形式:
然后将矩阵化简运算得到: