22 标定系统 · 支点标定、重力姿态与 Quest-标记标定
返回 00 - 项目总览与学习路线 | 前置 21 标定系统 - 手眼标定
为什么学这个(项目关联)
这三种方法是本毕设最有”研究味”的部分:没有公认最优的控制器→工具标定方案,作者自研两种方法并与经典方法系统对比。学习重点不只是方法本身,而是”如何为自己的传感器系统发明并验证一个标定方法”。
知识点清单
1. 支点标定(Pivot Calibration)——经典方法(来自医疗机器人/超声探头标定)
- 原理:刚体绕空间固定点 p 旋转 → 控制器位姿序列满足
t_i = −R_i · p_ctrl + p_world(线性最小二乘可解 p_ctrl,即支点在控制器系的坐标 = 平移量) - 旋转怎么解:单个支点只给平移;≥3 个不共线支点联合求解(每个支点给出旋转的约束)
- 原文实践:夹爪 5 个角点分别压在防滑胶带上,绕每个点大角度旋转;重复 10 次
- 关键经验:
- 旋转幅度越大越好(原文三主轴平均转动幅度数值见原文)
- 精度最差方向 = 支点间距最小的方向(几何基线短 → 角度解算弱)
- 误差来源:角点陷入胶带、3D 打印公差 → 解出支点间距系统性偏小
- 改进方向:专用工装 + 尖锐木螺钉支点 + 三维拉开距离
- 结果:平移精度在所有方法中最优
2. 重力姿态标定——自研,只解旋转
- 原理:控制器 IMU 输出重力向量(世界系已知方向:竖直向下);把 UMI 的三个法向已知平面分别贴平水平台面 → 每个姿态下重力在控制器系中的读数给出工具系一根轴的方向约束
- 最少两个轴即可解旋转;第三轴冗余,提升精度 + 正交性校验(原文校验偏差落在 3D 打印公差内)
- 前提:水平仪校准台面(水平误差控制在小量级)
- 结果:旋转精度在所有方法中最优
- 启发:利用一个免费的、全局一致的方向基准(重力)来锚定姿态——零硬件成本
3. Quest-标记标定——自研,最终采用
- 原理:UMI 固定不动,移动头显;机体上贴 6 个 CAD 坐标已知的 ArUco;头显双目相机检测标记(头显内参预先标定)+ 控制器持续输出自身位姿(头显与控制器同在追踪系)
- 联合优化:最小化标记重投影误差,解 T_ctrl_tool(本质是把”手眼标定”反过来:相机动、标定物不动,且用双目多帧多标记冗余)
- 原文参数:10 轮 × ~37 组拍摄 × 左右两眼 ≈ 每轮 176 次标记检测
- 结果:单次平移误差最大,但交叉验证一致性最好:
- 平移与手眼标定吻合
- 旋转与重力姿态吻合
- → 最终变换矩阵采用它的输出
4. 方法间交叉验证的决策逻辑(本节灵魂)
原文的最终决策不是”谁误差棒最小”,而是:
单方法统计离散(bootstrap 99 分位) ≠ 方法学偏差
不同方法之间的互相偏差 > 各自离散范围 → 存在系统性 bias
→ 找"被多个独立原理佐证"的结果(Quest-标记:平移被手眼佐证、旋转被重力佐证)
→ 再加可视化校验(CAD 渲染 vs 实物照片四视角)
- 可视化校验做法:用 Claude 从 Unity SDK 提取控制器网格 → CAD 复现 → 按各方法结果摆放坐标系 → 四视角渲染对照
- 没有方法在全部视角全对 → 接受”数据分析综合最优”的工程决策
5. 各方法速查表
| 方法 | 解什么 | 硬件需求 | 强项 | 弱项 |
|---|---|---|---|---|
| 手眼 | 平移+旋转 | ChArUco 棋盘 | 标准、信息量大 | 链路长、依赖内参与相机→工具转换 |
| 支点 | 平移(+3支点解旋转) | 防滑垫 | 平移最准 | 手动操作繁琐、异常值 |
| 重力姿态 | 仅旋转 | 水平台+水平仪 | 旋转最准、零成本 | 不给平移 |
| Quest-标记 | 平移+旋转 | 6 个 ArUco | 双重佐证、一次性拟合 | 单次平移误差最大、需 HMD 移动 |
学习资源
| 资源 | 用途 |
|---|---|
| 检索 “pivot calibration ultrasound probe” | 支点标定经典文献 |
| OpenCV solvePnP + 非线性优化(Ceres/scipy least_squares) | Quest-标记联合拟合实现 |
| 原文数值表(见原文网页) | 各方法误差定量对比 |
实践任务
- 💻 仿真支点标定:生成带噪声的绕点旋转位姿序列,最小二乘解支点,观察噪声/旋转幅度/支点数对精度的影响
- 💻 重力姿态仿真:手机传感器 App 读重力向量,把手机三个面贴桌面,解手机”工具系”旋转,与 IMU 姿态对拍
- 💻(复刻进阶)在真机上实现 Quest-标记标定的联合拟合(重投影误差最小化)
- ✍️ 写一页:如果是你,会怎么组合四种方法的结果?(如:支点平移+重力旋转)并论证
- ✍️ 整理”误差预算表”:从零件公差→装配→追踪→标定链路,列出每个误差源量级
掌握标准(自测)
- 能推导支点标定的线性方程(t_i 与 R_i、p 的关系)
- 能解释重力姿态标定为什么需要”三个互相垂直的平面”以及第三个面的校验作用
- 能描述 Quest-标记标定的优化目标(重投影误差)与观测构成
- 能复述”方法间偏差 > 各自离散 → 选交叉验证一致结果”的决策逻辑
关联笔记
- 前置:21 标定系统 - 手眼标定、11 机器人学基础 - 坐标系与位姿变换
- 评估工具:23 实验方法论 - 误差分析与对照实验
- 原文对应章节:01 - 原文存档 - Dream-UMI 开发手记 “支点标定 / 重力姿态标定 / Quest-标记标定 / 标定结果汇总”
实践记录
(学习时在这里追加:日期 / 做了什么 / 踩坑 / 疑问)