坐标系基础:相机坐标系、机械臂基坐标系、工具坐标系、工件坐标系的定义与相互转换关系

手眼标定的本质,是求解不同坐标系之间的空间变换关系。在机器人视觉引导场景中,至少存在四个必须清晰区分的坐标系:相机坐标系、机械臂基坐标系、工具坐标系和工件坐标系。任何一个坐标系的定义模糊或转换错误,都会直接导致抓取偏移、装配错位甚至碰撞事故。本节将逐一剖析这四个坐标系的定义、数学表达方式以及它们之间的转换链路,为后续外参标定与误差补偿打下坚实的数学基础。

机器人手眼系统中的坐标系定义与转换链路 相机坐标系 {C} 原点:光学中心 Z轴:光轴方向 X/Y:像素平面 2D像素 → 3D相机坐标 工具坐标系 {T} 原点:工具末端(TCP) Z轴:工具朝向 随法兰盘运动 由机器人控制器实时给出 基坐标系 {B} 原点:机器人底座中心 Z轴:竖直向上 全局参考基准 所有运动指令的参考系 工件坐标系 {W} 原点:工件基准点 与工件刚性固连 描述工件位姿 由视觉识别或示教确定 T_C→T 手眼标定求解 T_T→B 机器人正运动学 T_W→B 工件定位 T_W→C 视觉测量 完整链路:T_C→B = T_T→B × T_C→T(eye-in-hand) 或 T_C→B = T_W→B × T_C→W(eye-to-hand)

一、四个坐标系的严格定义与物理意义

相机坐标系(Camera Frame, {C})是视觉传感器描述三维空间点的基准。其原点位于相机光学中心(光心),Z轴与光轴重合指向场景前方,X轴和Y轴分别平行于图像传感器的水平与垂直方向。相机坐标系将图像中的二维像素坐标(u, v)通过内参矩阵和畸变模型映射为三维坐标(Xc, Yc, Zc)。需要特别强调的是,相机坐标系是测量坐标系,它只描述“物体相对于相机在哪里”,而不关心物体在机器人世界中的位置。

机械臂基坐标系(Base Frame, {B})是机器人运动学计算的全局参考系。其原点通常位于机器人底座安装面的中心,Z轴竖直向上,X轴指向机器人正前方。机器人控制器中所有关节角度、末端位姿指令都以基坐标系为最终参照。基坐标系是执行坐标系,机器人只知道“目标点相对于我的底座在哪里”,并据此规划关节运动。

工具坐标系(Tool Frame, {T})固连于机器人末端法兰盘,其原点被定义为工具中心点(TCP, Tool Center Point)。对于吸盘,TCP在吸嘴端面中心;对于夹爪,TCP在两指闭合中心;对于焊枪,TCP在焊丝尖端。工具坐标系随法兰盘运动,机器人控制器通过正运动学实时计算TCP在基坐标系下的位姿。工具坐标系的标定精度直接影响抓取姿态的准确性。

工件坐标系(Work Object Frame, {W})固连于被操作工件或工作台。其原点通常设置在工件的基准角、定位销或特征孔处,三个坐标轴根据工件的设计基准确定。工件坐标系的意义在于:当工件在产线上发生平移或旋转时,只需更新工件坐标系相对于基坐标系的变换矩阵,而无需重新示教所有路径点。

核心理解:四个坐标系分别承担“测量”(相机)、“执行”(基座)、“操作”(工具)和“对象”(工件)四种角色。手眼标定的目标就是建立从测量到执行的数学桥梁。

二、坐标变换的数学表达:齐次变换矩阵

任意两个坐标系之间的转换关系,在机器人学中统一使用4×4齐次变换矩阵 T 表示:

T = | R   t |
    | 0   1 |

其中 R 为3×3旋转矩阵,描述两个坐标系之间的姿态关系;t 为3×1平移向量,描述原点之间的位置偏移。齐次变换矩阵支持连续乘法,例如从相机坐标系到基坐标系的完整变换可写为:

T_C→B = T_T→B × T_C→T

这一链式法则贯穿整个手眼标定过程。实际工程中,旋转矩阵常用欧拉角(RPY)或四元数表示以节省存储空间,但在计算时必须转换为矩阵形式。

三、四种典型转换关系与求解路径

转换关系 数学符号 获取方式 典型应用
相机 → 工具 T_C→T 手眼标定(eye-in-hand) 相机装在机械臂上,识别工件后引导抓取
相机 → 基座 T_C→B 手眼标定(eye-to-hand) 相机固定安装,俯视或侧视整个工作区域
工具 → 基座 T_T→B 机器人正运动学(实时读取) 控制器直接输出当前TCP位姿
工件 → 基座 T_W→B 视觉定位 + 坐标转换 确定工件在机器人工作空间中的实际位置

在眼在手上(eye-in-hand)配置中,相机随机械臂运动,标定的核心是求解 T_C→T;在眼在手外(eye-to-hand)配置中,相机固定于支架,标定的核心是求解 T_C→B。两种配置的标定方程形式不同,但都基于 AX = XB 或 AX = ZB 的数学框架,这部分将在后续章节详细展开。

四、实战场景:从像素坐标到机器人抓取坐标的完整链路

以一个典型的3C装配场景为例:六轴机器人末端安装吸嘴(工具坐标系原点在吸嘴端面),固定相机俯视传送带上的手机中框(工件坐标系原点在中框左上角定位孔)。视觉系统识别到中框中心在图像中的像素坐标为 (320, 240),深度为 500mm。

第一步:像素坐标转相机坐标。利用相机内参和畸变系数,将 (320, 240) 转换为相机坐标系下的三维点 P_C = (20mm, -15mm, 500mm)。

第二步:相机坐标转基座坐标。由于相机固定安装,通过 eye-to-hand 标定得到 T_C→B。假设标定结果为旋转矩阵 R = I(相机与基座姿态平行),平移向量 t = (800, 200, 300)mm,则 P_B = P_C + t = (820, 185, 800)mm。

第三步:基座坐标转工具坐标。机器人控制器读取当前TCP位姿 T_T→B,通过逆变换 T_B→T = (T_T→B)⁻¹,将 P_B 转换到工具坐标系下,得到目标点相对于当前TCP的偏移量。

第四步:运动规划。机器人根据偏移量调整关节角度,使TCP移动到目标点正上方,然后沿Z轴下降完成吸取。

工程经验:在实际项目中,不要直接使用视觉给出的单一坐标值进行抓取。建议在工件坐标系下定义抓取点,这样当工件在传送带上发生微小旋转时,只需更新 T_W→B 即可,抓取点相对工件的偏移量保持不变。

五、常见误区与复盘总结

误区一:混淆相机坐标系与图像坐标系。图像坐标系是二维的(像素),相机坐标系是三维的(毫米/米)。必须先通过内参和深度信息将像素坐标投影为相机坐标,才能参与后续变换。
误区二:忽略工具坐标系的TCP标定。如果TCP标定误差为2mm,那么无论手眼标定多精确,最终抓取精度都会损失2mm。建议先完成TCP标定,再进行手眼标定。
误区三:将旋转矩阵与平移向量分开处理。在链式变换中,旋转和平移必须耦合在齐次矩阵中统一计算。单独对平移向量做加法、对旋转矩阵做乘法,会导致严重的姿态错误。

总结复盘:坐标系基础是手眼标定的“语法规则”。四个坐标系各有明确的物理载体和数学定义,它们之间的转换通过齐次变换矩阵实现链式传递。在动手标定之前,务必先画出本系统的坐标系关系图,明确哪些变换是已知的(如 T_T→B 由控制器给出),哪些是待求的(如 T_C→T 或 T_C→B),哪些是测量得到的(如 T_W→C)。只有理清这条链路,后续的标定计算才有明确的输入和输出。