4. Eye-in-Hand 标定数学模型:AX=XB 方程推导、旋转与平移分量解耦、非线性优化目标函数

4.1 问题定义与坐标系变换链

在 Eye-in-Hand 构型中,3D 线扫相机固连于机器人末端法兰。标定的核心目标是求解相机坐标系 {C} 与末端法兰坐标系 {E} 之间的固定齐次变换矩阵 X,即手眼矩阵。

当机器人运动到两个不同位姿时,相机分别采集同一标定物(如标准球或棋盘格)的点云。利用机器人运动学提供的末端位姿变化与视觉测量得到的相机位姿变化,可建立如下闭环约束:

核心约束方程: A · X = X · B

其中:

  • A = E1TE2:机器人末端法兰从位姿 1 到位姿 2 的齐次变换矩阵(由机器人控制器读取)。
  • B = C1TC2:相机从位姿 1 到位姿 2 的齐次变换矩阵(由标定物点云配准获得)。
  • X = ETC:待求的手眼矩阵,固定不变。
Eye-in-Hand 标定闭环变换链 基座 {B} 末端 {E1} 相机 {C1} 末端 {E2} 相机 {C2} 标定物 {W} A1 X 固定 A B X A2 闭环约束:A · X = X · B

4.2 AX=XB 方程推导

将齐次变换矩阵展开为旋转矩阵与平移向量形式:

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

代入 A·X = X·B 得:

[R_A  t_A] [R_X  t_X]   =   [R_X  t_X] [R_B  t_B]
[0    1 ] [0    1 ]         [0    1 ] [0    1 ]

展开后得到两个独立方程:

分量 方程 说明
旋转分量 RA · RX = RX · RB 旋转矩阵的齐次约束方程
平移分量 RA · tX + tA = RX · tB + tX 平移向量依赖旋转解

4.3 旋转与平移分量解耦

由于平移方程依赖于旋转矩阵 RX,标准解法采用 两步法 实现解耦:

  1. 先求解旋转分量:利用多组位姿数据,通过轴角表示或四元数方法求解 RX。
  2. 再求解平移分量:将已求得的 RX 代入平移方程,形成线性方程组求解 tX。
解耦优势: 将 6 自由度非线性问题拆解为 3 自由度旋转估计 + 3 自由度线性平移求解,显著降低优化难度,提高数值稳定性。

4.3.1 旋转分量求解(基于轴角表示)

将旋转矩阵 R 转换为旋转轴 k 与旋转角 θ:

R = I + sinθ·[k]× + (1-cosθ)·[k]ײ

其中 [k]× 为 k 的反对称矩阵。代入旋转方程 RA·RX = RX·RB 可得:

R_A · R_X - R_X · R_B = 0
⇒ (R_A - I) · R_X = R_X · (R_B - I)

通过多组数据构建超定方程,使用 SVD 分解或最小二乘求解 RX。

4.3.2 平移分量求解

将旋转方程的解 RX 代入平移方程:

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

对于 N 组位姿数据,构建 3N × 3 线性系统:

[R_A1 - I]   [t_X]   [R_X·t_B1 - t_A1]
[R_A2 - I] · [t_X] = [R_X·t_B2 - t_A2]
[...      ]          [...            ]
[R_AN - I]   [t_X]   [R_X·t_BN - t_AN]

使用最小二乘法求解 tX。

4.4 非线性优化目标函数

两步法得到的解析解受噪声影响较大,通常将其作为初值进行非线性优化。定义如下目标函数:

优化目标: minRX, tX Σi=1N || Ai · X - X · Bi ||F2

其中 ||·||F 表示 Frobenius 范数。将目标函数拆分为旋转与平移两部分:

误差项 表达式 权重建议
旋转误差 eR = Σ || RAi·RX - RX·RBi ||F2 λR = 1.0
平移误差 et = Σ || (RAi·tX + tAi) - (RX·tBi + tX) ||22 λt = 0.1 ~ 1.0

最终优化目标函数为:

F(R_X, t_X) = λ_R · e_R + λ_t · e_t

使用 Levenberg-Marquardt 或高斯-牛顿法迭代优化。优化变量通常采用 李代数 se(3) 参数化,避免旋转矩阵的正交约束:

ξ = [ρ, φ]^T ∈ ℝ⁶
其中 ρ 为平移分量,φ 为旋转分量(so(3))
注意事项:
  • 至少需要 2 组非平行的机器人运动才能唯一确定手眼矩阵,实际工程建议采集 8~15 组数据。
  • 旋转角接近 0° 或 180° 时,轴角表示存在奇异性,建议使用四元数或李代数参数化。
  • 优化前需对旋转矩阵进行正交化处理(如 SVD 投影)。

4.5 算法流程总结

Eye-in-Hand 标定算法流程 采集 N 组机器人位姿与点云数据 计算 Ai 与 Bi 齐次矩阵 两步法求解 RX 与 tX 初值 非线性优化(LM 算法) 输出手眼矩阵 X

通过上述流程,即可获得高精度的 Eye-in-Hand 手眼标定结果,为后续 3D 线扫测量提供准确的坐标变换基准。