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 坐标系之间的变换关系(核心链式结构)
整个系统的坐标系变换构成一条闭环链。以眼在手外系统为例,核心变换链如下:
- 世界 → 机器人基(WTB):通常通过外部测量或固定安装确定,标定后视为已知常量。
- 机器人基 → 机器人末端(BTE):由机器人正运动学实时计算,可从机器人控制器读取。
- 机器人末端 → 相机(ETC):眼在手上系统的标定目标。
- 相机 → 像素(CTP):相机内参矩阵,通过相机标定获得。
- 世界 → 相机(WTC):眼在手外系统的标定目标。
链式法则:任意两个坐标系之间的变换,可以通过中间坐标系串联得到。例如,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
这个链式法则,是手眼标定中所有方程推导的基础。在后续章节中,我们将基于这个法则,构建并求解手眼标定的核心方程。
2.8 本章小结
- 5个坐标系:世界、机器人基、机器人末端、相机、像素,构成手眼标定的几何骨架。
- 齐次变换矩阵:4×4矩阵统一表示旋转和平移,是坐标系变换的数学工具。
- 链式法则:任意两个坐标系之间的变换,可通过中间坐标系串联计算。
- 标定目标:眼在手上求解 ETC,眼在手外求解 WTC。
- 内参模型:像素坐标与相机坐标之间的投影关系,由相机内参矩阵描述。