21 标定系统 · 手眼标定
返回 00 - 项目总览与学习路线 | 前置 19 视觉基础 - 相机模型与内参标定 | 下一节 22 标定系统 - 支点标定、重力姿态与Quest-标记标定
为什么学这个(项目关联)
本项目四种标定方法中唯一的”教科书标准方法”。原文用它 + Tsai 求解器 + OpenCV 完成标定,并作为自研方法的交叉验证基准(平移结果被手眼佐证)。
知识点清单
1. 问题定义:AX = XB
- setup:相机与控制器(“手”)刚性固连,一起运动
- 已知:每时刻 棋盘→相机 变换
A_i = T_cam_board(i)、控制器相对运动B_i = T_ctrl(i+1→i) - 求解:相机相对控制器的固定变换
X = T_ctrl_cam - 直觉:刚性固连的两个传感器,各自看到的相对运动必须一致 → 解出它们的相对安装
2. 经典求解器(OpenCV calibrateHandEye 全部内置)
| 方法 | 思路 |
|---|---|
| TSAI_LENZ(原文用) | 旋转/平移分离:先解旋转轴(Rodrigues),再线性解平移 |
| PARK | 类似 Tsai,李代数表述 |
| HORAUD | 非线性闭式 |
| ANDREFF | 同时线性化旋转平移 |
| DANIILIDIS | 对偶四元数,旋转平移统一 |
3. 数据采集要求(原文实践)
- 运动必须绕两个不平行轴旋转(否则只有平移可观、旋转病态)
- 理论 3 组快照足够;实际 20 组/轮大量平均抑制噪声(原文每轮 20 组,共 10 轮)
- 姿态变化幅度要大、覆盖各方向
4. 完整 pipeline(复刻路线)
1. 相机内参标定(omnidir,见 19) → K, D
2. 采集:手持 UMI 对 ChArUco 做多姿态运动,同步记录 相机帧 + Quest 位姿流
3. 每帧:ChArUco 位姿估计 → T_cam_board
4. 时间对齐:图像帧 ↔ 位姿流(时延补偿,见 18)
5. calibrateHandEye(boards, grippers) → X = T_ctrl_cam
6. 链式合成:T_ctrl_tool = T_ctrl_cam · T_cam_tool(后者需贴齐标定等给出相机→工具关系)
7. 评估:bootstrap 仿真 99 分位误差(见 23)
5. 原文的评估与发现(重要)
- 没有绝对真值 → 用 10 次独立标定的均值代替真值,bootstrap 蒙特卡洛仿真估计 99 分位误差半径;10 次平均显著降误差
- 仿真无法捕捉全局固定 bias(Quest 追踪误差、3D 打印偏差)——所以单方法统计好 ≠ 准
- 原文发现:手眼的偏差一部分来自”用理论光轴倾角做相机→工具转换”,而贴齐标定实测倾角不同 → 链式合成的每一环都是误差源
- 可视化校验结论:原始手眼结果在 CAD 渲染对比中全部视角都对不上,但”手眼平移 + 重力姿态旋转”组合可以——启发:方法组合可能优于单方法
学习资源
| 资源 | 用途 |
|---|---|
| Tsai & Lenz 1989《A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration》 | 经典原文 |
OpenCV calibrateHandEye 文档 + 官方示例 | 动手 |
| 检索 “hand eye calibration AX=XB tutorial” | 多角度讲解 |
实践任务
- 💻 跑通 OpenCV 手眼标定官方示例(webcam + 棋盘 + 模拟”手”的已知位姿)
- 💻 变量实验 A:采集时只平移不旋转 vs 只绕一轴旋转 vs 充分旋转——观察求解退化
- 💻 变量实验 B:快照数 3/5/10/20 → X 的稳定性曲线(体会”理论 3 组够,实际要平均”)
- ✍️ 手推 AX=XB 的旋转部分分离(用旋转轴向量构造线性系统,2 自由度练习)
- 💻(复刻时)在真机上完成 10 轮手眼标定 + bootstrap 评估,记录进 31 复刻路线图与里程碑 M3
掌握标准(自测)
- 能写出 AX=XB 中 A、B、X 各是什么(用本项目坐标系命名)
- 能解释为什么运动必须含两个不平行旋转轴
- 能用 OpenCV 独立完成手眼标定并评估
- 能解释”统计误差小但方法间偏差大”说明什么
关联笔记
- 数学:11 机器人学基础 - 坐标系与位姿变换
- 前置:19 视觉基础 - 相机模型与内参标定、20 视觉基础 - ArUco 与 ChAruco
- 平行方法:22 标定系统 - 支点标定、重力姿态与Quest-标记标定
- 评估方法:23 实验方法论 - 误差分析与对照实验
- 原文对应章节:01 - 原文存档 - Dream-UMI 开发手记 “手眼标定”
实践记录
(学习时在这里追加:日期 / 做了什么 / 踩坑 / 疑问)