一、AX=BX方程的建立
本文采用 eye-in-hand 的安装方式,主要求解机械臂末端与相机之间的变换关系。
eye-in-hand 涉及到四个坐标系,分别是:基坐标系{base},末端坐标系{end},相机坐标系{camera},标定板坐标系{board}。设 baseHend = A , boardHcamera = B,endHcamera = X 。
其中 A代表机器人基坐标系与末端坐标系之间的转换矩阵, B 代表标定板坐标系与相机坐标系之间的转换矩阵, X 代表末端坐标系与相机坐标系之间的转换矩阵。
控制机械臂从初始位置移动到位置 1,其推导公式如下:
由以上三个公式可以得出 Pbase,其计算公式如下:
同理机械臂移动到位置 2,其计算公式如下:
因为基坐标与物体的位置是固定的,所以baseHboard 不变, 可以得出:
设 baseHend(1) = A1, baseHend(2) = A2 , endHcamera = X , boardHcamera(1) = B1,boardHcamer(2)a = B2,可以得出:
使 A * A = A , B * B = B,因此 AX = XB,其中A已知, B通过相机标定得到, X 为待求。
二、AX=BX方程的建立
Tsai-Lenz 手眼标定算法
由于 A, B , X 均为变换矩阵,则 AX = XB 可以拆解为以下等式:
在Tsai-Lenz论文中使用旋转轴+旋转角的方式来表示旋转。作者使用了修正的罗德里格斯参数表示旋转变换。
R表示一个旋转矩阵,R的特征向量和特征值一定是它的旋转轴和1。我们可以定义R的旋转轴为Pr(旋转向量),则有:R *P r = 1 * Pr。
使用修正的罗德里格斯变换重新定义Pr:
求Pcg和和Pcij , Pgij 之间的关系。
这张图描述了各个向量之间的关系。从图中,我们根据向量之间的关系,可以得到:
可得公式:
计算旋转矩阵
计算平移矩阵