实验手册
lab2-hand-eye
实验 2 · 手眼标定
- 目标
- 用九点法解出相机与运动系的关系,并理解「眼在手上」与「眼看手」为什么不能混。
- 预计用时
- 45分钟
- 难度
- 入门
- 前置
- 完成实验 1。
目标
解出 T_World_Cam,并亲手制造一次「构型选错但残差很小」的假象。
步骤
- 确认 C1 像素当量已完成且在有效期内(
标定 → 概览里看)。 标定 → 手眼标定,构型选 眼看手(eye-to-hand),九点,跨度 60 mm。- 跑完,记录残差 RMS 和 verify 偏差。
- 故意选错:把构型改成「眼在手上」,用同一批数据重跑 solve。 记录残差——它可能仍然很小。
- 用 verify 的偏差判断哪个是对的。
- 拿标定结果做一次闭环验证:在图像里点一个位置,让平台走过去,看实际落点偏了多少。
判据
| 项 | 判据 |
|---|---|
| 步骤 3 残差 RMS | < 0.03 mm |
| 步骤 3 偏差 | < 0.05 mm |
| 步骤 4 残差 | 可能同样小 —— 这正是这个实验的重点 |
| 步骤 4 偏差 | 远超容差 |
| 步骤 6 闭环落点误差 | < 0.08 mm |
常见错误
- 构型选错:不会报错,只会给你一个残差很小的错结果。
- 九个点走成一条线:矩阵接近奇异,解不稳。九个点要铺开成方阵。
- 标定过程中碰了相机:外参变了,前面采的点全部作废。
- 用同一批点既求解又验证:残差必然好看,什么都没验证。
思考题
- 为什么构型选错时残差仍然可以很小?这和「模型自洽」与「模型正确」有什么关系?
- 九点如果走成 3×3 但间距只有 2 mm,会发生什么?画一下条件数随跨度的变化趋势。
- 闭环验证的误差里,有多少来自手眼标定,有多少来自像素当量和运动误差? 用误差预算的方法分解一下。