手眼标定:是为了获得相机和机械手臂之间的坐标转换关系。
例子:人的眼睛和手就是手眼标定的最好例子,从婴儿时期开始,我们就开始练习抓取东西,直到我们找到一组参数来完成手眼标定。而机器也是类似,由于传感器的安装误差,需要对传感器进行标定,找到相机和机械臂的坐标转换关系。
眼在外:即相机固定在机械臂以外的地方,主要标定相机和基底坐标系的转换矩阵
眼在手:即相机固定在机械臂末端,主要标定相机和机械臂末端的转换矩阵
坐标系表示:
机械臂基底坐标系—Base
机械臂末端坐标系—End
相机坐标系—Camera
标定板坐标系—Object
R表示旋转矩阵,t表示平移向量;T为表示变换矩阵关系构建的齐次矩阵
第一种:眼在手外( Eye-to-Hand )标定
机械臂实物图 机械臂简图
求解目标:基底坐标系到相机之间的坐标转换关系( X=T𝐵→𝐶T_(B→C))
实现方法:1、把标定板固定在机械臂末端
2、使用相机拍摄不同机械臂姿态下的标定板图片n张(n>3)
求解关键:
1.摄像头与机械臂底座之间的坐标转换关系不变,也就是说, T𝐵→𝐶T_(B→C)始终不变;
把TE→OT_(E→O)按照前后两次运动展开,有:
得到:AX=XB
第二种: 眼在手上( Eye-in-Hand )标定
机械臂实物图 机械臂简图
求解目标:机械臂末端与相机坐标系之间的变换矩阵( X=TE→CT_(E→C))
实现方法:1、把标定板固定到固定位置不动
2、移动机械臂末端,从不同角度拍摄n张标定板图片(n>3)
求解关键:
把T𝐵→𝑂T_(B→O)按照前后两次运动展开,有
记:
即得出:AX=XB
也就是,如果能够计算移动前后,机械臂末端的坐标变换关系 A 以及相机的坐标变换关系 B ,即可求出机械臂末端到相机之间的坐标变换关系 X
推导AX=XB,看到网上多种推导方法,但奈何数学不行,推导实属难,看了一篇硕士论文得到了一些启发。论文名称:面向3D无序抓取的目标定位与手眼标定技术研究_林云森
之前调研了一下推导求X矩阵的方法,大致分为4种。
手眼标定方法:
- 通过几何关系求解---------Tsai-Lenz算法
- 通过欧几里得群求解-------Navy算法
- 通过单位四元数求解-------Horaud算法
- 通过对偶四元数求解-------Dual quaternions算法
对应这四篇论文,这四篇论文最经典。 以下是自己手写的,可能不对,就是自己现阶段的理解,在此以作记录,为以后学习做准备。
背景知识:需要了解一下四元数、旋转矩阵、欧拉角、旋转向量之间的转化,一些矩阵论、线性代数知识。可以参考:三维旋转:欧拉角、四元数、旋转矩阵、轴角之间的转换 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/45404840
学习罗德里格斯公式(Rodriguez formula),参考链接: