手眼标定原理
手眼标定是指求解出工业机器人的末端坐标系与相机坐标系之间的坐标变换关系,或者工业机器人的基底坐标系与相机坐标系之间的坐标变换关系。手眼标定有两种情形:第一种是相机(眼)固定在机器臂(手)的末端,相机相对于机器臂末端是固定的,相机跟随机器臂移动,这种方式的手眼标定成为 Eye-in-hand;第二种是相机(眼)和机器臂(手)分离,相机相对于工业机器人的基座是固定的,机器臂的运动对相机没有影响, 这种方式的手眼标定成为 Eye-to-hand。
眼在手上的手眼标定
对于 Eye-in-hand 手眼标定方式,需要求解工业机器人的末端坐标系与相机坐标系之间的坐标转换关系。 Eye-in-hand 手眼标定的原理示意图如图 1所示。这其中有几个坐标系, 基础坐标系(用 base 表示) 是机器臂的基底坐标系,末端坐标系(用 end 表示) 是机器臂的末端坐标系, 相机坐标系(用 cam 表示) 是固定在机器臂上面的相机自身坐标系,标定物坐标系(用 cal 表示)是标定板所在的坐标系。任意移动两次机器臂,由于标定板和机器臂的基底是不动的,因此对于某个世界点,其在 base 坐标系和 cal 坐标系下的坐标值不变,在 end 坐标系和 cam 坐标系下的坐标值随着机器臂的运动而改变。根据这一关系,可以求解出end坐标系和 cam 坐标系之间的转换矩阵。具体求解过程如下。
对于手眼标定矩阵的求解,即求解出 end 坐标系和 cam 坐标系之间的转换矩阵,目前有许多方法,基本原理都是根据上述约束关系来求解的。 cal 坐标系下的某个点 P0 ,根据已知的相机外参(转换矩阵T 1)能够转换到 cam 坐标系下点 P1,再根据待求的手眼标定矩阵(转换矩阵 X )能够转换到 end 坐标系下点 P2,然后根据已知的机器人自身参数(转换矩阵T3)能够转换到 base 坐标系下点 P3。因此能够得到关系式如下:
$$
T_3XT_1P_0=P_3
$$
移动机器臂,对于同一点,P0 和P3的坐标值不变,只是P1 和P2 的坐标值改变了,上述关系式变为如下形式:
$$
T_3^\prime XT_1^\prime P_0=P_3
$$
上式中$ T_3^\prime $和$ T_1^\prime$同样是第二次测量的已知参数。联立(1)和(2)式可以得到如下关系式
$$
T_3XT_1=T3^\prime XT_1^\prime
$$
对式(3)变换一下,得: $$ T_3^ {\prime-1}T_3X=XT_1^\prime T_1^{-1} $$ 上式可以看成$ A X = X B $方程形式,且矩阵$ A=T_3^{\prime-1}T_3 $和$ B=T_1^\prime T_1^{-1} $都是已知的。对手眼标定方程$ A X = X B $求解,即可得到手眼转换矩阵X的值