2. 眼在手外标定板位姿采集与数据质量检查
眼在手外配置下的采集对象与约束
眼在手外(eye-to-hand)时,相机固定在工位上方或侧面,标定板安装在机器人末端法兰或夹具上。机器人运动时,标定板随末端一起移动,相机保持不动。此时需要采集的是:每一组数据中机器人末端在基座坐标系下的位姿 T_base_tool,以及标定板在相机坐标系下的位姿 T_cam_board。手眼标定求解的是相机到机器人基座的固定变换 T_base_cam。
与眼在手上不同,眼在手外不要求标定板始终在相机视野内随末端大范围翻转,但要求标定板在相机视野中的位姿分布足够分散,且机器人末端运动能激励出足够的旋转轴变化。若所有采集点都集中在视野中央、姿态接近,求解出的 T_base_cam 在深度方向和旋转分量上会存在较大不确定性。
采集前的现场准备
- 标定板固定:确保标定板与末端法兰之间无相对松动,标定板平面法向尽量与工具Z轴一致或已知固定夹角。
- 相机固定:相机支架锁紧,采集过程中不得触碰相机或改变焦距、光圈。
- 机器人通信:确认能同时读取机器人末端位姿和触发相机拍照,时间戳对齐误差应小于一个采集周期。
- 工作空间:规划机器人运动范围,使标定板在相机视野中覆盖左、右、上、下、远、近、倾斜等多个区域。
位姿采集流程与数据记录
建议采集 15~25 组数据。每组操作如下:
- 手动或程序控制机器人运动到一个新位姿,使标定板在相机图像中处于一个与之前不同的位置和角度。
- 等待机器人稳定(通常 0.5~1 s),记录当前末端位姿
T_base_tool。 - 触发相机采集一帧图像,检测标定板角点,计算
T_cam_board。 - 将
T_base_tool与T_cam_board作为一组数据存入列表。 - 重复上述过程,直到覆盖足够的位姿分布。
采集时建议同时记录每组的重投影误差(标定板角点检测残差)和标定板在图像中的像素位置,便于后续质量检查。
数据质量检查的三个维度
1. 位姿分布检查。将每组 T_cam_board 的平移部分投影到相机图像平面,观察标定板中心是否覆盖图像的不同区域。理想情况下,标定板中心应分布在图像中心、四角、边缘附近,而不是全部挤在中心。同时检查标定板法向与相机光轴的夹角,应有正负倾斜变化。
2. 重投影误差检查。每组数据在检测标定板角点时都会产生重投影误差。单组重投影误差通常应小于 0.5 像素(具体阈值取决于相机分辨率和标定板尺寸)。若某组误差明显偏大,说明该组角点检测不可靠,应剔除或重新采集。
3. 运动范围检查。检查机器人末端姿态的旋转变化。计算所有采集点末端旋转矩阵之间的角度差,若最大角度差小于 15°~20°,说明旋转激励不足,标定求解时旋转分量容易病态。眼在手外配置下,末端应至少绕两个不同轴产生明显旋转。
采集记录表与检查结果示例
下表为一次教学示例采集的部分记录(数据为假设示例,用于说明检查方法):
| 组号 | 标定板中心像素(u,v) | 法向与光轴夹角 | 重投影误差(px) | 末端旋转角(°) | 检查结果 |
|---|---|---|---|---|---|
| 1 | (320, 240) | 5° | 0.21 | 0 | 通过 |
| 2 | (180, 160) | 12° | 0.18 | 8 | 通过 |
| 3 | (480, 320) | 18° | 0.35 | 15 | 通过 |
| 4 | (300, 400) | 22° | 0.42 | 22 | 通过 |
| 5 | (310, 245) | 3° | 0.19 | 2 | 分布集中,建议补采 |
| 6 | (500, 150) | 25° | 0.88 | 18 | 误差偏大,剔除 |
检查结论:第5组位姿与第1组过于接近,分布贡献低;第6组重投影误差超过0.5 px,角点检测不可靠。剔除第6组、补采2~3组分散位姿后,剩余数据可用于手眼标定求解。