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 旋转求解步骤
- 计算旋转轴向量:从 R_A 和 R_B 分别提取旋转轴单位向量 k_A 和 k_B。
- 构造线性方程:利用 Rodrigues 旋转公式,将 R_A · R_X = R_X · R_B 转化为关于旋转轴 k_X 的线性方程:
(k_A + k_B) × k_X = k_A - k_B - 最小二乘求解:对多组数据构建超定方程组,求解 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 旋转求解原理
- 对数映射:将 R_A 和 R_B 映射到李代数空间,得到对应的反对称矩阵 [ω_A] 和 [ω_B]。
- 线性化方程:旋转方程在 SO(3) 上等价于:
log(R_A) + log(R_X) = log(R_X) + log(R_B)
忽略高阶项后,转化为关于旋转向量 ω_X 的线性方程:
(ω_A - ω_B) × ω_X = ω_A + ω_B - 迭代优化:采用 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 时的核心流程差异:
4.7 工程实践建议
- 数据采集:确保机器人运动时旋转角大于 30°,避免 Tsai 法因小旋转角导致的数值不稳定。
- 方法选择:在计算资源受限的嵌入式系统中优先使用 Tsai 法;在离线高精度标定场景中推荐 Park 法。
- 混合策略:先用 Tsai 法得到初始解,再以该解作为 Park 法的初始值进行迭代优化,兼顾效率与精度。
- 验证手段:求解后计算残差
||A·X - X·B||_F,若残差大于 1e-3,说明数据质量或求解过程存在问题。
核心结论:Tsai 法与 Park 法分别代表了线性闭式解与非线性迭代优化两条技术路线。理解两者的数学原理与适用边界,是手眼标定参数优化的基础。在实际工程中,建议将两者结合使用,以 Tsai 法提供初值、Park 法精化结果,可获得鲁棒且高精度的标定参数。