4. 手眼标定问题建模:Eye-in-Hand vs Eye-to-Hand、AX=XB方程推导、未知量定义

手眼标定的核心是求解机器人末端执行器(或基座)与相机之间的固定空间变换关系。根据相机安装位置的不同,标定问题分为两种经典构型:Eye-in-Hand(眼在手上)和Eye-to-Hand(眼在手外)。两种构型虽然物理布局不同,但最终都归结为求解同一形式的矩阵方程 AX = XB。

4.1 两种构型对比

对比维度 Eye-in-Hand(眼在手上) Eye-to-Hand(眼在手外)
相机安装位置 固定在机器人末端法兰盘上,随机械臂运动 固定在工作空间外部,不随机械臂运动
标定物位置 标定板固定在工作空间内(静止) 标定板固定在机器人末端法兰盘上(随动)
待求变换 相机坐标系 → 末端坐标系(X) 相机坐标系 → 机器人基坐标系(X)
方程形式 A · X = X · B A · X = X · B
典型应用 移动抓取、焊缝跟踪、装配 固定工位视觉定位、大范围检测
关键区别:两种构型中,X 的物理含义不同,但方程形式完全一致。Eye-in-Hand 求解的是相机相对于末端的位姿;Eye-to-Hand 求解的是相机相对于机器人基座的位姿。

4.2 坐标系定义与变换链

为统一描述,定义以下坐标系:

  • {B} — 机器人基坐标系(Base)
  • {E} — 机器人末端坐标系(End-effector)
  • {C} — 相机坐标系(Camera)
  • {O} — 标定板/目标物坐标系(Object)

每次移动机械臂到不同位姿,记录两组数据:

  1. 机器人正运动学:末端相对于基座的变换矩阵 TE→B(或 TB→E)
  2. 相机外参估计:标定板相对于相机的变换矩阵 TO→C
Eye-in-Hand 与 Eye-to-Hand 坐标系变换链对比 Eye-in-Hand 与 Eye-to-Hand 坐标系变换链对比 Eye-in-Hand 基座 {B} 末端 {E} 相机 {C} 标定板 {O} TE→B X(待求) TO→C 闭环约束 Eye-to-Hand 基座 {B} 末端 {E} 相机 {C} 标定板 {O} TE→B TO→C X(待求) 闭环约束

4.3 AX = XB 方程推导

以 Eye-in-Hand 构型为例,推导过程如下:

  1. 建立闭环约束:从基座 {B} 出发,经过末端 {E}、相机 {C},到达标定板 {O},再回到基座 {B},构成一个闭环。
  2. 写出变换链:
    TB→E · TE→C · TC→O · TO→B = I
    其中 TE→C 即为待求的 X。
  3. 整理方程:将已知量移到一侧,未知量移到另一侧。取两次不同位姿(i 和 j),消去固定不变的 TO→B,得到:
    (TB→Ej)-1 · TB→Ei · X = X · (TC→Oj · (TC→Oi)-1)
  4. 定义 A 和 B:
    A = (TB→Ej)-1 · TB→Ei
    B = TC→Oj · (TC→Oi)-1
    于是得到经典方程:A · X = X · B。
物理含义:A 表示机器人末端从位姿 i 到位姿 j 的相对运动;B 表示相机观察到的标定板从位姿 i 到位姿 j 的相对运动。方程要求:经过 X 变换后,这两个相对运动应当一致。

4.4 未知量定义与分解

变换矩阵 X 是 4×4 齐次变换矩阵,包含旋转和平移两部分:

X = [ R   t ]
    [ 0   1 ]

其中:
R ∈ SO(3) — 3×3 旋转矩阵(3 个自由度)
t ∈ ℝ³    — 3×1 平移向量(3 个自由度)

因此,X 共有 6 个自由度(3 旋转 + 3 平移)。方程 AX = XB 可拆解为:

分量方程 形式 自由度 说明
旋转部分 RA · R = R · RB 3 先求解旋转矩阵,通常使用轴角、四元数或罗德里格斯公式
平移部分 RA · t + tA = R · tB + t 3 旋转解出后,平移为线性方程,可直接求解
注意:旋转部分求解是手眼标定的核心难点。由于旋转矩阵的非线性约束(正交性、行列式为 +1),不能直接使用线性最小二乘。常用解法包括:Tsai-Lenz 两步法、Park-Martin 法、基于四元数的线性化方法等。

4.5 方程可解性条件

要唯一确定 X 的 6 个自由度,至少需要:

  • 2 组 非退化的运动对(即至少 3 个不同位姿,形成 2 个独立的 A 和 B 对)
  • 每次运动的旋转轴不能平行,否则旋转部分欠约束
  • 每次运动的平移分量不能全为零,否则平移部分无法求解
AX=XB 方程求解流程 AX=XB 方程求解流程 采集 N 组位姿数据 构造 Ai 和 Bi 求解旋转 R 求解平移 t 输出 X = [R|t] 关键约束 • N ≥ 3 • 旋转轴不平行 • 平移非零 • 噪声鲁棒 • 两步法分离

4.6 本章小结

  • Eye-in-Hand 与 Eye-to-Hand 虽然物理构型不同,但都归结为 AX = XB 方程。
  • 方程来源于闭环变换链约束,通过两次不同位姿消去固定变换得到。
  • 未知量 X 包含 6 个自由度(3 旋转 + 3 平移),求解时先解旋转再解平移。
  • 至少需要 3 个非退化位姿才能唯一确定 X。