2. 坐标系基础:世界坐标系、机器人基坐标系、机器人末端坐标系、相机坐标系、像素坐标系、坐标系之间的变换关系

在3D视觉定位系统中,坐标系是连接“相机看到什么”与“机器人要抓哪里”的数学桥梁。手眼标定的本质,就是求解不同坐标系之间的变换矩阵。本章将系统梳理5个核心坐标系及其变换关系,为后续标定算法打下坚实的几何基础。

2.1 五大核心坐标系概述

一个典型的眼在手外(Eye-to-Hand)或眼在手上(Eye-in-Hand)系统,至少涉及以下5个坐标系:

坐标系名称 符号 物理位置 作用
世界坐标系 W 用户自定义的全局参考点(如工作台一角) 统一所有物体的位置
机器人基坐标系 B 机器人底座安装面中心 机器人运动学计算的根节点
机器人末端坐标系 E 机器人法兰盘中心(工具安装面) 描述工具(如夹爪、焊枪)的位姿
相机坐标系 C 相机光心(镜头光学中心) 3D点云或图像的测量原点
像素坐标系 P 图像左上角(u轴向右,v轴向下) 2D图像中像素的索引位置
关键记忆点:手眼标定中,机器人基坐标系和相机坐标系之间的变换矩阵(BTC 或 CTB)是最终求解目标。其他坐标系均为中间桥梁。

2.2 坐标系定义与方向约定

所有坐标系均遵循右手定则:

  • X轴:拇指指向
  • Y轴:食指指向
  • Z轴:中指指向(垂直于X-Y平面)

各坐标系的具体方向约定如下:

  • 世界坐标系 (W):通常Z轴向上(与重力方向相反),X-Y平面为水平工作台面。
  • 机器人基坐标系 (B):由机器人厂家定义。常见为Z轴向上,X轴指向机器人前方。
  • 机器人末端坐标系 (E):原点在法兰盘中心。Z轴通常沿法兰盘轴线向外(工具安装方向)。
  • 相机坐标系 (C):Z轴沿相机光轴指向场景前方(右手系),X轴向右,Y轴向下(与像素坐标系对齐)。
  • 像素坐标系 (P):原点在图像左上角,u轴向右(对应相机X轴),v轴向下(对应相机Y轴)。

2.3 坐标系变换的数学表示

任意两个坐标系之间的变换,由一个4×4齐次变换矩阵表示:

| R   t |
| 0   1 |

其中:

  • R:3×3旋转矩阵(描述姿态)
  • t:3×1平移向量(描述位置)
  • 0:1×3零向量
  • 1:标量1

例如,BTE 表示从机器人末端坐标系到机器人基坐标系的变换。一个点P在末端坐标系下的坐标 EP,可通过该矩阵变换到基坐标系:

^B P = ^B T_E · ^E P

2.4 坐标系之间的变换关系(核心链式结构)

整个系统的坐标系变换构成一条闭环链。以眼在手外系统为例,核心变换链如下:

  1. 世界 → 机器人基(WTB):通常通过外部测量或固定安装确定,标定后视为已知常量。
  2. 机器人基 → 机器人末端(BTE):由机器人正运动学实时计算,可从机器人控制器读取。
  3. 机器人末端 → 相机(ETC):眼在手上系统的标定目标。
  4. 相机 → 像素(CTP):相机内参矩阵,通过相机标定获得。
  5. 世界 → 相机(WTC):眼在手外系统的标定目标。
链式法则:任意两个坐标系之间的变换,可以通过中间坐标系串联得到。例如,WTC = WTB · BTE · ETC。
坐标系变换链式结构图 坐标系变换链式结构(眼在手外系统) 世界坐标系 (W) 机器人基坐标系 (B) 机器人末端坐标系 (E) 相机坐标系 (C) 像素坐标系 (P) 固定安装 WTB 正运动学 BTE 标定目标 ETC 相机内参 CTP 说明: • 实线箭头表示已知或可计算的变换 • 红色虚线框表示标定目标 • 链式法则:WTC = WTB · BTE · ETC

2.5 像素坐标系与相机坐标系的投影关系

像素坐标系到相机坐标系的变换属于相机内参模型,涉及从3D到2D的投影。常用针孔相机模型:

u = f_x * (X_c / Z_c) + c_x
v = f_y * (Y_c / Z_c) + c_y

其中:

  • (u, v):像素坐标
  • (X_c, Y_c, Z_c):相机坐标系下的3D点
  • f_x, f_y:焦距(像素单位)
  • c_x, c_y:主点偏移(像素单位)

写成齐次矩阵形式:

| u |   | f_x  0   c_x  0 | | X_c |
| v | = | 0   f_y  c_y  0 | | Y_c |
| 1 |   | 0    0    1   0 | | Z_c |
                            |  1  |
常见误区:像素坐标系是2D离散的,而相机坐标系是3D连续的。从像素坐标反推3D坐标时,必须知道深度Z_c,否则只能得到一条射线方向,无法确定具体3D位置。这也是为什么单目相机需要标定板或已知尺寸物体才能进行3D定位。

2.6 坐标系变换的工程实践要点

场景 关键变换 注意事项
眼在手上 ETC(末端→相机) 相机固定在机器人末端,标定后ETC为常量;机器人移动时,BTE实时变化。
眼在手外 WTC(世界→相机) 相机固定在工作空间外,标定后WTC为常量;机器人基座相对世界固定。
手眼标定求解 AX = XB 方程 通过多组机器人位姿和标定板观测数据,求解未知变换矩阵X。

2.7 坐标系变换的链式法则总结

所有坐标系变换遵循链式乘法法则。假设有一个物体(如标定板)在世界坐标系下的位姿为 WTObj,则其在相机坐标系下的位姿为:

^C T_Obj = ^C T_W · ^W T_Obj

反过来,如果已知物体在相机坐标系下的位姿,要得到其在机器人基坐标系下的位姿:

^B T_Obj = ^B T_E · ^E T_C · ^C T_Obj

这个链式法则,是手眼标定中所有方程推导的基础。在后续章节中,我们将基于这个法则,构建并求解手眼标定的核心方程。

坐标系变换链式法则示意图 坐标系变换链式法则:从物体到机器人基座 物体 (Obj) 相机 (C) 末端 (E) 基座 (B) 相机观测 CTObj 标定结果 ETC 正运动学 BTE 链式结果: BTObj = BTE · ETC · CTObj (从右向左依次变换:物体→相机→末端→基座)

2.8 本章小结

  • 5个坐标系:世界、机器人基、机器人末端、相机、像素,构成手眼标定的几何骨架。
  • 齐次变换矩阵:4×4矩阵统一表示旋转和平移,是坐标系变换的数学工具。
  • 链式法则:任意两个坐标系之间的变换,可通过中间坐标系串联计算。
  • 标定目标:眼在手上求解 ETC,眼在手外求解 WTC。
  • 内参模型:像素坐标与相机坐标之间的投影关系,由相机内参矩阵描述。