2. 坐标系基础
手眼标定的本质是求解不同坐标系之间的空间变换矩阵。在机器人视觉引导系统中,通常涉及五个核心坐标系:世界坐标系、机器人基坐标系、工具坐标系、相机坐标系和标定板坐标系。理解它们之间的变换关系是进行标定参数优化与精度验证的前提。
2.1 五大坐标系定义与作用
| 坐标系名称 | 符号 | 定义与作用 | 典型原点位置 |
|---|---|---|---|
| 世界坐标系 | {W} | 全局参考系,描述环境中所有物体的位置。通常与机器人基坐标系重合或固定偏移。 | 用户自定义(如工作台一角) |
| 机器人基坐标系 | {B} | 固定在机器人底座上的坐标系,是机器人运动学计算的基准。所有关节角度最终映射到此系。 | 机器人底座安装面中心 |
| 工具坐标系 | {T} | 固定在机器人末端执行器(如夹爪、焊枪)上的坐标系。TCP(工具中心点)在此系中定义。 | 工具末端中心点 |
| 相机坐标系 | {C} | 以相机光心为原点,Z轴沿光轴指向场景的坐标系。所有图像坐标最终转换到此系。 | 相机光心 |
| 标定板坐标系 | {P} | 固定在标定板上的坐标系,通常以棋盘格左上角内角点为原点,X/Y轴沿棋盘格边缘。 | 棋盘格第一个内角点 |
关键概念: 在机器人视觉中,手眼标定主要求解的是相机坐标系{C}与工具坐标系{T}之间的变换关系(眼在手上),或相机坐标系{C}与机器人基坐标系{B}之间的变换关系(眼在手外)。其他坐标系作为中间桥梁参与计算。
2.2 坐标系变换的数学表示
任意两个坐标系之间的变换关系可以用一个 4×4 齐次变换矩阵 表示,包含旋转分量 R(3×3)和平移分量 t(3×1):
| R t |
| 0 1 | 其中 R ∈ SO(3), t ∈ ℝ³
常用变换矩阵符号及其含义:
- ᵇTₜ:从工具坐标系{T}到机器人基坐标系{B}的变换(机器人正向运动学提供)。
- ᶜTₚ:从标定板坐标系{P}到相机坐标系{C}的变换(通过PnP算法从图像计算得到)。
- ᵇTₚ:从标定板坐标系{P}到机器人基坐标系{B}的变换(间接计算或外部测量)。
- ᵇTₜ 与 ᶜTₚ 是手眼标定方程中的已知量,待求量为 ᵗTₜ(眼在手上)或 ᵇTₜ(眼在手外)。
2.3 坐标系变换链与手眼标定方程
在眼在手上(Eye-in-Hand)配置中,相机固定在机器人末端工具上。变换链为:
{P} →ᶜTₚ→ {C} →ᵗTₜ→ {T} →ᵇTₜ→ {B}
由此得到闭环方程:
ᵇTₚ = ᵇTₜ · ᵗTₜ · ᶜTₚ
对于两次不同的机器人位姿(i 和 j),标定板固定不动,则 ᵇTₚ 为常量,消去后得到经典手眼标定方程:
(ᵇTₜⱼ⁻¹ · ᵇTₜᵢ) · ᵗTₜ = ᵗTₜ · (ᶜTₚⱼ · ᶜTₚᵢ⁻¹)
简写为:AX = XB,其中 A 为机器人末端运动,B 为相机观测到的标定板运动,X 为待求的手眼矩阵。
核心洞察: 手眼标定的精度取决于 A 和 B 的测量精度。A 受机器人定位精度影响,B 受相机标定精度和角点提取精度影响。优化参数时,需要同时考虑这两个误差源。
2.4 坐标系变换关系总览(SVG)
下图展示了五个坐标系之间的完整变换关系,以及手眼标定方程中涉及的矩阵路径:
2.5 坐标系变换的精度影响因素
每个变换矩阵的精度都会影响最终标定结果。下表总结了各变换的主要误差来源:
| 变换矩阵 | 获取方式 | 主要误差来源 | 典型误差量级 |
|---|---|---|---|
| ᵇTₜ | 机器人正向运动学 | 连杆参数误差、关节零点偏移、齿轮间隙 | 0.1~1.0 mm |
| ᶜTₚ | PnP 求解(基于相机内参) | 相机内参标定误差、角点提取亚像素精度、镜头畸变 | 0.01~0.1 pixel |
| ᵗTₜ | 手眼标定求解(AX=XB) | 上述两个矩阵误差的传递与放大 | 0.1~0.5 mm |
| ᵇTₚ | 间接计算(ᵇTₜ · ᵗTₜ · ᶜTₚ) | 累积误差 | 0.2~1.5 mm |
⚠️ 常见误区: 初学者常误认为手眼标定只与相机和机器人末端有关,而忽略了机器人基坐标系与世界坐标系的对齐。如果世界坐标系与机器人基坐标系之间存在未校准的旋转偏移,将导致整个视觉引导系统的定位偏差。在实际工程中,务必先确认 {W} 与 {B} 的关系。
2.6 眼在手外配置的变换关系
在眼在手外(Eye-to-Hand)配置中,相机固定安装在机器人工作空间上方,不随机器人运动。此时变换链变为:
{P} →ᶜTₚ→ {C} →ᵇTₜ→ {B} →ᵇTₜ⁻¹→ {T}
对应的手眼标定方程为:
ᵇTₜ · ᶜTₚ = ᵇTₚ
其中 ᵇTₜ 为待求的相机到机器人基坐标系的变换矩阵。通过移动机器人到多个位姿,记录 ᵇTₜ(运动学)和 ᶜTₚ(视觉观测),即可求解。
两种配置的选择取决于应用场景:
- 眼在手上:适合需要跟随工具移动、近距离观察工件的场景(如焊接、装配)。
- 眼在手外:适合大范围全局定位、工具遮挡少的场景(如码垛、分拣)。
2.7 坐标系变换的工程实践要点
- 统一单位:所有变换矩阵中的平移分量必须使用相同单位(通常为毫米)。
- 旋转表示一致性:在计算过程中,统一使用旋转矩阵或四元数,避免欧拉角带来的万向锁问题。
- 数据记录:每次采集数据时,同步记录机器人位姿(ᵇTₜ)和标定板位姿(ᶜTₚ),确保时间戳对齐。
- 冗余观测:至少采集 10~15 组不同位姿的数据,覆盖机器人工作空间的不同区域和姿态。
- 验证闭环:标定完成后,使用一组未参与标定的测试数据,计算重投影误差或三维定位误差。
实践建议: 在开始手眼标定之前,先用一张简单的棋盘格图像验证相机内参标定精度(重投影误差 < 0.1 pixel),再用机器人示教器验证运动学精度(末端位置重复性 < 0.05 mm)。这两个前置步骤能显著提高手眼标定的成功率。