一、概论
现在的机器人少不了有各种传感器,传感器之间的标定是机器人感知环境的一个重要前提。所谓标定,是指确定传感器之间的坐标转换关系。由于标定的传感器各异,好像没有特别通用的方法。
手眼标定法是标定摄像头与机械臂的一个经典方法,不过这个思想也适用于其他传感器,比如自动驾驶中激光雷达与摄像头之间的标定,比如东京大学的这篇工作《LiDAR and Camera Calibration using Motion Estimated by Sensor Fusion Odometry》。
手眼标定法的核心公式只有一个, ,这里的 X 就是指手(机械臂末端)与眼(摄像头)之间的坐标转换关系。下面结合机械臂的两种使用场景,讲一下这个公式的由来。
用Base表示机械臂的底座(可以认为是世界坐标系),用End表示机械臂的末端,用Camera表示摄像头,用Object表示标定板。
Eye-In-Hand
![11ba80e1935e55a99c443f16c8ea824d.png](https://img-blog.csdnimg.cn/img_convert/11ba80e1935e55a99c443f16c8ea824d.png)
所谓Eye-In-Hand,是指摄像头被安装在机械臂上。此时要求取的是,End到Camera之间的坐标转换关系,也就是。这种情况下,有两个变量是不变的:
摄像头与机械臂末端之间的坐标转换关系不变,也就是说,
始终不变;
标定板与机械臂底座之间的坐标转换关系不变,也就是说,
也是不变的。
把按照前后两次运动展开,有
记
就得到了
也就是,如果能够计算移动前后,机械臂末端的坐标变换关系 以及相机的坐标变换关系
,即可求出机械臂末端到相机之间的坐标变换关系
。
Eye-To-Hand
![f9791223e20c841600c64e03b31a429b.png](https://img-blog.csdnimg.cn/img_convert/f9791223e20c841600c64e03b31a429b.png)
所谓Eye-To-Hand,是指摄像头被安装在一个固定不动的位置,而标定板被拿在机械臂手上。此时要求取的是,Base到Camera之间的坐标转换关系,也就是。这种情况下,有两个变量是不变的:
摄像头与机械臂底座之间的坐标转换关系不变,也就是说,
始终不变;
标定板与机械臂末端之间的坐标转换关系不变,也就是说,