机器人基础坐标系理论:世界、基座、工具与用户坐标系

做手眼标定,说白了就是搞清楚几个坐标系之间怎么换算。我见过不少新手,一上来就急着跑标定程序,结果数据乱成一团——根本原因就是坐标系概念没吃透。

今天咱们就把这四个核心坐标系掰开揉碎了讲。你想想看,机器人要抓一个杯子,它得知道杯子在哪(世界坐标),自己站在哪(基坐标),手爪朝哪(工具坐标),以及工作台怎么摆(用户坐标)。缺一个,这活就干不成。

核心认知:所有机器人运动控制,本质上就是坐标系之间的连续变换。不理解变换关系,手眼标定就是空中楼阁。
机器人四大坐标系关系框架 🌍 世界坐标系 全局参考框架 🤖 基坐标系 机器人根部原点 🔧 工具坐标系 末端执行器 📐 用户坐标系 工作台/夹具 固定安装 运动学链 用户定义偏移 💡 世界坐标系是参考 其他坐标系都相对它定义 💡 工具坐标系随末端移动 用户坐标系固定在工作平面

1. 世界坐标系——一切测量的起点

世界坐标系是全局参考框架。它固定在地面或车间某个位置,所有其他坐标系都相对于它定义。你可以把它想象成整个工厂的GPS原点。

我在一个汽车焊装项目里遇到过这种情况:两条产线各有一台机器人,分别标定后拼在一起焊接,结果焊缝偏了3毫米。查了两天才发现——两台机器人的世界坐标系原点定义不一致。从那以后,我习惯在项目一开始就用激光跟踪仪把世界坐标系打牢。

属性说明
固定性一旦设定,整个项目周期不变
参考作用所有坐标系变换的根节点
常见定义方式车间地脚螺栓、激光跟踪仪标定、CAD模型对齐
单位通常为毫米(mm)
我的习惯:世界坐标系原点尽量选在机器人底座正下方地面,Z轴朝上。这样后续计算最直观,调试时也容易理解。

2. 机器人基坐标系——机器人的"肚脐眼"

基坐标系固定在机器人底座安装面上。它的原点在机器人第一轴中心,Z轴沿第一轴轴线向上。说白了,这就是机器人自己的"肚脐眼"——所有关节运动都从这儿算起。

基坐标系与世界坐标系之间有一个固定的变换关系。这个变换就是机器人安装位置决定的。你想想看,机器人挪个地方,基坐标系相对世界坐标系就变了,但机器人内部的运动学计算不受影响。

注意:千万不要把基坐标系和世界坐标系混为一谈。我曾经见过有人直接把基坐标系当世界坐标系用,结果换了台机器人后所有程序都得重写——因为两台机器人的安装位置不同。

3. 工具坐标系——末端执行器的"手"

工具坐标系定义在机器人末端法兰盘上,但它的原点通常偏移到工具尖端(TCP,Tool Center Point)。比如焊枪的焊丝尖端、抓手的夹持中心、相机的光心。

为什么要单独定义工具坐标系?因为机器人末端法兰盘只是一个安装接口,真正的"手"是焊枪、抓手或相机。工具坐标系就是告诉机器人:你的手到底在哪儿、朝哪个方向。

我记得有个3C装配项目,机器人总是抓偏0.5毫米。排查到最后发现——工具坐标系里的TCP偏移量输错了。操作员换了一把新抓手,但没更新TCP参数。嗯,这种坑踩过一次就记住了。

参数含义典型值
X/Y/ZTCP相对法兰盘的位置偏移如 [0, 0, 150] mm
Rx/Ry/Rz工具姿态相对法兰盘的旋转如 [0, 0, 0] 度
质量/重心用于动力学补偿如 2.5 kg
关键点:手眼标定中,相机通常安装在工具上(眼在手上)或固定在工作站(眼在手外)。无论哪种方式,相机坐标系与工具坐标系之间的变换都是标定的核心输出之一。

4. 用户坐标系——工作台的"本地视角"

用户坐标系是用户自己定义的参考系。它通常设在工作台面、夹具或传送带上。说白了,就是让机器人用"工作台的视角"来理解位置。

举个例子:你有一个焊接工装,上面有10个焊点。如果直接用基坐标系编程,工装稍微挪一下位置,10个焊点全得重新示教。但如果用用户坐标系,工装移动后只需要重新定义用户坐标系的原点,焊点位置自动跟着变。

我做过一个项目,客户要求每天换三种不同尺寸的工件。我们给每种工件定义了一个用户坐标系,换型时一键切换,省掉了大量示教时间。

实用技巧:定义用户坐标系时,尽量让XY平面与工作台面平行,Z轴垂直向上。这样在示教和编程时,Z值直接对应高度,非常直观。

5. 坐标系之间的变换关系

这四个坐标系不是孤立的。它们通过齐次变换矩阵(4×4矩阵)串联起来。你想想看,机器人要抓一个放在工作台上的杯子,它需要知道:

  1. 杯子在世界坐标系中的位置(由视觉系统提供)
  2. 世界坐标系到基坐标系的变换(固定值,安装时标定)
  3. 基坐标系到工具坐标系的变换(由机器人运动学实时计算)
  4. 用户坐标系到世界坐标系的变换(用户定义)

把这些变换串起来,就形成了完整的坐标链:

世界 → 基 → 关节 → 法兰 → 工具 → 相机
  ↑        ↑        ↑        ↑        ↑
固定安装  运动学   实时反馈   TCP偏移  手眼标定

手眼标定要解决的,就是"相机坐标系"与"工具坐标系"(或"基坐标系")之间的变换关系。这个关系一旦确定,视觉系统看到的物体位置就能换算成机器人能理解的抓取位置。

避坑指南:我曾经在一个项目中,把变换矩阵的乘法顺序搞反了。齐次变换不满足交换律——T1 × T2 和 T2 × T1 完全是两码事。一定要搞清楚是从谁变换到谁,顺序不能错。

6. 小结:一张表理清四个坐标系

坐标系原点位置固定/移动典型用途
世界坐标系车间固定点固定全局参考、多机器人协同
基坐标系机器人底座固定(相对机器人)运动学计算、示教编程
工具坐标系末端执行器尖端随末端移动抓取、焊接、涂胶
用户坐标系工作台/夹具固定(相对工作台)工件编程、换型切换