3. 坐标系基础

在机械臂视觉定位系统中,坐标变换不是抽象的数学游戏,而是把“图像里看到的目标”变成“机械臂能到达的位置”的工程桥梁。要完成这条链路,必须先厘清六个坐标系的定义、原点位置、轴向含义以及它们之间的变换关系。它们分别是:世界坐标系、基坐标系、工具坐标系、工件坐标系、相机坐标系和像素坐标系。

理解这六个坐标系的关键,不是死记定义,而是回答三个问题:原点在哪里?坐标轴指向什么?它相对于谁描述?只要这三个问题清楚,后续的齐次变换矩阵就能自然推导出来。

一、六个坐标系的定义与角色

世界坐标系(World Frame)是整个工作场景的全局参考系,通常固定在地面或工作台某一点。它不随机械臂或相机移动,用于统一描述机械臂、相机、工件和障碍物的绝对位置。在多机器人或视觉引导系统中,世界坐标系是“共同语言”。

基坐标系(Base Frame)位于机械臂底座,是机器人运动学的根坐标系。机械臂的正运动学通常以基坐标系为起点,计算末端法兰的位置和姿态。基坐标系与世界坐标系之间一般通过一个固定的外参矩阵关联。

工具坐标系(Tool Frame / TCP Frame)定义在末端执行器上,原点通常取工具中心点(TCP),例如焊枪尖端、吸盘中心或夹爪闭合中心。它描述“工具相对于法兰”的偏移和姿态,是机械臂真正执行任务时关心的坐标系。

工件坐标系(Work Object Frame)固定在待加工或待抓取工件上。当工件在台面上有确定摆放时,用工件坐标系描述目标点,可以让程序与工件形状绑定,而不是与机械臂绝对位置绑定,便于换线和小幅偏移补偿。

相机坐标系(Camera Frame)以相机光心为原点,Z轴沿光轴指向场景,X、Y轴与图像平面平行。它描述三维空间点在相机视野中的位置,是视觉测量的直接输出坐标系。

像素坐标系(Pixel Frame)是图像平面上的二维坐标系,原点通常在图像左上角,单位为像素。它描述目标在图像中的行列位置,是图像处理算法最直接的输出。

二、坐标系之间的变换关系

六个坐标系并不是孤立的,而是通过刚体变换串联成一条链。典型链路为:像素坐标系 → 相机坐标系 → 世界坐标系 → 基坐标系 → 工具坐标系,工件坐标系则作为目标描述的中间参考。每一步变换都可以用旋转矩阵 R 和平移向量 t 组成的齐次变换矩阵 T 表示。

机械臂视觉定位中的六坐标系变换链 像素坐标系 (u, v) 单位: pixel 图像左上角为原点 相机坐标系 (Xc, Yc, Zc) 光心为原点,Zc沿光轴 世界坐标系 (Xw, Yw, Zw) 全局固定参考系 基坐标系 (Xb, Yb, Zb) 机械臂底座原点 工具坐标系 (Xt, Yt, Zt) TCP为原点 工件坐标系 (Xo, Yo, Zo) 固定在工件上 内参 外参 标定 正运动学 工件标定 目标位姿 核心变换:T_pixel→camera · T_camera→world · T_world→base · T_base→tool · T_world→object

其中,像素坐标系到相机坐标系依赖相机内参矩阵 K,包含焦距和主点;相机坐标系到世界坐标系依赖外参矩阵,由手眼标定获得;世界坐标系到基坐标系通常是固定安装关系;基坐标系到工具坐标系由机器人正运动学实时计算;工件坐标系则通过三点法或视觉标定确定。

三、典型场景:从像素到抓取

假设相机固定安装在工作台上方,机械臂需要抓取传送带上的零件。视觉算法先在图像中找到零件中心像素坐标 (u, v),然后按以下流程转换:

  1. 用相机内参和深度信息,将 (u, v) 反投影为相机坐标系下的三维点 Pc。
  2. 用相机外参矩阵,将 Pc 变换到世界坐标系 Pw。
  3. 用世界坐标系到基坐标系的固定矩阵,将 Pw 变换到基坐标系 Pb。
  4. 结合工具坐标系偏移,计算末端法兰需要到达的位姿。
  5. 逆运动学求解关节角,驱动机械臂完成抓取。
# 伪代码:像素坐标到基坐标系的变换链
Pc = K_inv @ [u, v, 1] * depth          # 像素 -> 相机
Pw = T_cam_to_world @ Pc                # 相机 -> 世界
Pb = T_world_to_base @ Pw               # 世界 -> 基座
P_tcp = Pb - R_base_to_tool @ t_tool    # 扣除工具偏移
q = inverse_kinematics(P_tcp)           # 逆解关节角

四、常见误区与复盘

误区一:把像素坐标直接当世界坐标用。像素坐标是二维的,缺少深度和尺度信息,必须经过内参反投影和外参变换才能进入三维空间。
误区二:混淆基坐标系与世界坐标系。当机械臂底座固定且世界坐标系就设在底座时,两者可能重合;但一旦底座移动或世界坐标系设在地面其他位置,就必须显式标定两者关系。
误区三:忽略工具坐标系。很多抓取偏差不是视觉不准,而是 TCP 没有标定或工具偏移未补偿,导致“看到的位置”和“实际到达的位置”不一致。
复盘建议:每次视觉定位异常时,按“像素 → 相机 → 世界 → 基座 → 工具”的顺序逐级检查变换矩阵,确认每一级的旋转和平移是否符合实际安装关系,往往能快速定位问题环节。

五、六个坐标系对照清单

坐标系 原点位置 典型轴向 主要用途 获取方式
世界坐标系 地面或工作台固定点 Zw 垂直向上 全局统一描述 人为定义
基坐标系 机械臂底座中心 Zb 沿底座向上 运动学计算根节点 机器人出厂定义
工具坐标系 TCP 工具中心点 Zt 沿工具指向 执行任务位姿描述 四点法/TCP标定
工件坐标系 工件基准点 随工件摆放确定 目标点相对描述 三点法/视觉标定
相机坐标系 相机光心 Zc 沿光轴向前 三维视觉测量 相机内参模型
像素坐标系 图像左上角 u 向右,v 向下 图像目标定位 图像处理输出

掌握这六个坐标系的定义与变换关系,是后续手眼标定、视觉伺服和抓取规划的基础。工程中建议把每个变换矩阵都显式命名并记录来源,避免在调试时把不同环节的误差混在一起。只有坐标系链路清晰,机械臂才能真正“看得准、抓得稳”。