4. 手眼标定数学模型

4.1 手眼标定的核心方程:AX = XB

手眼标定的本质是求解机器人末端执行器(法兰盘)与相机之间的固定齐次变换矩阵 X。无论相机是固定在机器人手臂上(Eye-in-Hand)还是固定在工作空间中(Eye-to-Hand),其数学模型均可归结为求解矩阵方程 AX = XB。

设机器人末端在两次不同位姿下的变换矩阵分别为 A₁ 和 A₂,相机在对应位姿下观测标定板得到的变换矩阵分别为 B₁ 和 B₂。根据闭环约束,存在以下关系:

A₁ · X · B₁⁻¹ = A₂ · X · B₂⁻¹
⇒ (A₂⁻¹ · A₁) · X = X · (B₂⁻¹ · B₁)
⇒ A · X = X · B

其中:

  • A = A₂⁻¹ · A₁:机器人末端从位姿1到位姿2的相对运动矩阵。
  • B = B₂⁻¹ · B₁:相机从位姿1到位姿2的相对运动矩阵。
  • X:待求的手眼变换矩阵(4×4齐次矩阵)。
关键理解:AX=XB 方程将机器人运动与相机运动联系起来,X 是连接这两个运动链的“桥梁”。求解 X 需要至少两组非平行的机器人运动数据。

4.2 AX=XB 方程的分解与求解策略

齐次变换矩阵 A、B、X 均可分解为旋转部分 R 和平移部分 t:

A = [R_A  t_A]    B = [R_B  t_B]    X = [R_X  t_X]
    [0    1 ]        [0    1 ]        [0    1 ]

代入 AX = XB 可得两个独立方程:

方程类型 数学表达式 未知数
旋转方程 R_A · R_X = R_X · R_B R_X(3×3旋转矩阵,3自由度)
平移方程 R_A · t_X + t_A = R_X · t_B + t_X t_X(3×1平移向量,3自由度)

求解策略通常分为两步:先解旋转,再解平移。旋转方程是核心难点,不同解法衍生出 Tsai 法和 Park 法两大主流方法。

4.3 Tsai 法:基于轴角表示的经典解法

Tsai 法(Tsai & Lenz, 1989)采用旋转轴-旋转角(Axis-Angle)参数化旋转矩阵,将旋转方程转化为线性最小二乘问题。

4.3.1 旋转求解步骤

  1. 计算旋转轴向量:从 R_A 和 R_B 分别提取旋转轴单位向量 k_A 和 k_B。
  2. 构造线性方程:利用 Rodrigues 旋转公式,将 R_A · R_X = R_X · R_B 转化为关于旋转轴 k_X 的线性方程:
    (k_A + k_B) × k_X = k_A - k_B
  3. 最小二乘求解:对多组数据构建超定方程组,求解 k_X,再反算旋转角 θ_X,最终得到 R_X。

4.3.2 平移求解

在 R_X 已知后,平移方程变为:

(R_A - I) · t_X = R_X · t_B - t_A

这是一个关于 t_X 的线性方程组,同样通过最小二乘法求解。

Tsai 法特点:
  • 需要至少2组非平行运动数据(旋转轴不共线)。
  • 对旋转角较小的运动敏感,容易引入数值误差。
  • 计算效率高,适合实时标定场景。

4.4 Park 法:基于李群与李代数的优化解法

Park 法(Park & Martin, 1994)将旋转矩阵视为 SO(3) 李群 上的元素,利用李代数 so(3) 的指数映射,将旋转方程转化为线性空间中的优化问题。

4.4.1 旋转求解原理

  1. 对数映射:将 R_A 和 R_B 映射到李代数空间,得到对应的反对称矩阵 [ω_A] 和 [ω_B]。
  2. 线性化方程:旋转方程在 SO(3) 上等价于:
    log(R_A) + log(R_X) = log(R_X) + log(R_B)
    忽略高阶项后,转化为关于旋转向量 ω_X 的线性方程:
    (ω_A - ω_B) × ω_X = ω_A + ω_B
  3. 迭代优化:采用 Gauss-Newton 或 Levenberg-Marquardt 算法迭代求解,收敛后通过指数映射得到 R_X。

4.4.2 平移求解

Park 法的平移求解与 Tsai 法类似,但可利用旋转求解过程中的雅可比矩阵进行联合优化,提高整体精度。

注意:Park 法对初始值有一定要求,若初始旋转估计偏差过大,可能收敛到局部最优。建议先用 Tsai 法结果作为 Park 法的初始值。

4.5 Tsai 法与 Park 法的数学原理对比

对比维度 Tsai 法 Park 法
数学基础 轴角表示 + Rodrigues 公式 李群 SO(3) + 李代数 so(3)
求解方式 线性最小二乘(闭式解) 非线性迭代优化(Gauss-Newton / LM)
数据需求 至少2组非平行运动 至少2组非平行运动,建议3组以上
旋转角敏感度 对小旋转角敏感 对旋转角不敏感,鲁棒性更好
计算复杂度 低(O(n)) 较高(需迭代,O(k·n))
精度 中等,受噪声影响较大 高,尤其适合高噪声场景
适用场景 实时标定、嵌入式系统 离线高精度标定、科研验证

4.6 两种方法的算法流程对比(SVG)

下图对比了 Tsai 法与 Park 法在求解 AX=XB 时的核心流程差异:

Tsai 法与 Park 法求解 AX=XB 流程对比 Tsai 法(线性闭式解) 输入:多组 A, B 矩阵 提取旋转轴 k_A, k_B 构造线性方程求解 k_X 反算 R_X 与 θ_X 线性求解平移 t_X 输出:X = [R_X, t_X] Park 法(非线性迭代优化) 输入:多组 A, B 矩阵 对数映射到 so(3) 构造线性化方程 Gauss-Newton 迭代 指数映射得 R_X 输出:X = [R_X, t_X] 闭式解 迭代优化

4.7 工程实践建议

  • 数据采集:确保机器人运动时旋转角大于 30°,避免 Tsai 法因小旋转角导致的数值不稳定。
  • 方法选择:在计算资源受限的嵌入式系统中优先使用 Tsai 法;在离线高精度标定场景中推荐 Park 法。
  • 混合策略:先用 Tsai 法得到初始解,再以该解作为 Park 法的初始值进行迭代优化,兼顾效率与精度。
  • 验证手段:求解后计算残差 ||A·X - X·B||_F,若残差大于 1e-3,说明数据质量或求解过程存在问题。
核心结论:Tsai 法与 Park 法分别代表了线性闭式解与非线性迭代优化两条技术路线。理解两者的数学原理与适用边界,是手眼标定参数优化的基础。在实际工程中,建议将两者结合使用,以 Tsai 法提供初值、Park 法精化结果,可获得鲁棒且高精度的标定参数。