11 机器人学基础 · 坐标系与位姿变换

返回 00 - 项目总览与学习路线 | 下一节 12 机器人学基础 - 运动学与遥操作控制

为什么学这个(项目关联)

这是整个项目的数学地基。原文标定章节的一句话就是全部标定工作的本质:

“控制器坐标系与工具坐标系刚性固连,二者由一组固定平移 + 旋转变换关联。标定就是求解该变换矩阵。”

不理解坐标变换,就看不懂:

  • 为什么”控制器原点和指尖存在距离会带来力臂效应”
  • 为什么”工具轴仅 1° 旋转误差,就会让指尖位置偏移若干毫米”(旋转误差 × 力臂长度)
  • 四种标定方法各自在解什么方程

知识点清单

核心(必须掌握)

  1. 刚体位姿 = 位置(3) + 姿态(3),共 6 自由度
  2. 本项目的坐标系族:
    • 世界系 W(Quest 追踪系统的全局系)
    • 机器人基座系、法兰系、工具系/指尖 TCP
    • 相机光学系、控制器系、ArUco 标记系
  3. 旋转的三种表示及互转:
    • 旋转矩阵 R ∈ SO(3):正交、行列式 =1、列是坐标系基向量
    • 欧拉角(原文用的 ZYX:yaw-pitch-roll)、万向锁问题
    • 四元数(Quest 输出格式)、单位四元数、q 与 −q 等价
  4. 齐次变换矩阵 T(4×4):
    • 结构:[R p; 0 1]
    • 复合:T_AC = T_AB · T_BC(链式法则)
    • 求逆:T⁻¹ = [Rᵀ, −Rᵀp; 0 1]
  5. 记法约定:T_A_B 表示”B 坐标系相对 A 坐标系的变换”;点变换 p_A = T_A_B · p_B。读论文先确认作者约定,这是新手最大坑
  6. 外参 vs 内参:外参 = 坐标系之间的 T;内参 = 相机自身成像参数(见 19 视觉基础 - 相机模型与内参标定)

进阶(复刻时用到)

  1. 位姿误差度量:平移用欧氏距离;旋转用角度差 θ = arccos((tr(R)−1)/2)
  2. 变换的螺旋/指数坐标表示(Modern Robotics 框架,选学)
  3. 概率视角:位姿估计的不确定性(99 分位误差半径的来源,见 23 实验方法论 - 误差分析与对照实验)

学习资源

资源用途
《Modern Robotics》(Lynch & Park) 第 3 章最推荐的免费教材,有中文翻译版 + B 站课程
《机器人学导论》(Craig) 第 2 章经典替代
3Blue1Brown 四元数视频直觉建立
scipy.spatial.transform.Rotation 文档编程实践的标准库

实践任务

  1. ✍️ 手推:给定 T_W_C(世界→控制器)和 T_C_T(控制器→工具),求 T_W_T,并解释每一项含义
  2. 💻 用 numpy 实现:旋转矩阵 ↔ 欧拉角(ZYX) ↔ 四元数 三者互转,与 scipy 结果对拍
  3. 💻 matplotlib 画 3D 坐标轴可视化:两个坐标系 + 变换 T,直观理解”坐标系 B 在 A 中的位置姿态”
  4. 💻 模拟”力臂效应”:设控制器原点到指尖 10cm,让 R 有 0.5°、1°、2° 误差,算指尖偏移量,体会原文为什么说标定至关重要
  5. ✍️ 用本项目语言重述:四种标定方法(手眼/支点/重力/Quest-标记)分别求解 T 的哪个部分、用什么观测量

掌握标准(自测)

  • 能不查资料写出 T 的复合与求逆公式
  • 能向别人解释 T_A_B 下标记含义并正确进行链式计算
  • 能算出”1° 旋转误差 + 10cm 力臂 ≈ 1.7mm 指尖偏移”
  • 能说清楚本项目中存在哪些坐标系、标定要求解的是哪两个坐标系之间的变换

关联笔记

实践记录

(学习时在这里追加:日期 / 做了什么 / 踩坑 / 疑问)