2、坐标系与运动学基础:关节坐标系、直角坐标系、工具坐标系、用户坐标系的概念与区别

做SCARA机器人编程,坐标系是绕不开的第一道坎。

我刚开始带项目那会儿,有个新同事调了半天程序,机器人就是往错误的方向跑。最后发现,他把工具坐标系和用户坐标系搞混了。嗯,这种错误其实挺常见的。今天我就把这四个坐标系掰开揉碎了讲清楚。

2.1 关节坐标系(Joint Coordinate System)

说白了,关节坐标系就是最原始、最底层的控制方式。

每个关节电机都有一个独立的角度值。你让J1轴转30度,J2轴转45度,机器人就动起来了。这种坐标系下,你根本不用关心末端执行器在哪,只关心每个关节转了多少。

核心特点:

  • 每个轴独立控制,互不干扰
  • 运动路径不可预测(末端走弧线)
  • 适合调试阶段单轴测试

我在项目中遇到过一件事:有个工件需要从传送带上抓取,操作工觉得关节坐标系下示教太慢。其实这是误解——关节坐标系主要用于零点校准和机械限位测试,真正干活时很少用它。

我的习惯:每次开机后,先用关节坐标系让机器人回零。确认每个轴都正常,再切换到其他坐标系干活。

2.2 直角坐标系(Cartesian Coordinate System)

直角坐标系,也叫世界坐标系或基坐标系。它的原点固定在机器人底座中心。

你想想看,我们平时说「往左移10毫米,往下移20毫米」,这就是直角坐标系的语言。X轴、Y轴、Z轴互相垂直,再加上绕Z轴的旋转(通常叫U轴或Rz轴),SCARA的四个自由度就齐了。

轴名称 运动方向 说明
X 水平左右 沿底座X方向平移
Y 水平前后 沿底座Y方向平移
Z 垂直上下 末端升降运动
Rz (U) 绕Z轴旋转 末端旋转角度

直角坐标系最大的好处是直观。你让机器人走一个矩形路径,它就走矩形路径。这在点位示教时特别有用。

注意:直角坐标系下,机器人可能会因为奇异点而报错。我曾经调试一台SCARA,在直角坐标系下走直线路径,结果J1轴突然反转了180度——这就是奇异点问题。遇到这种情况,切换到关节坐标系绕过奇异点就行。

2.3 工具坐标系(Tool Coordinate System)

工具坐标系,顾名思义,是以工具末端为原点的坐标系。

为什么要搞这么个坐标系?举个例子:你给机器人装了一个夹爪,夹爪的长度是50毫米。如果你用直角坐标系编程,每次都要手动补偿这50毫米。但如果你定义了工具坐标系,机器人会自动把工具末端当作控制点。

我个人习惯,每换一次工具就重新标定一次工具坐标系。别嫌麻烦,这能省掉后面90%的调试时间。

标定方法(四点法):

  1. 在机器人工作空间内固定一个尖点
  2. 用工具末端从四个不同方向触碰该点
  3. 系统自动计算出工具中心点(TCP)的位置
  4. 验证:让机器人绕TCP旋转,末端应保持不动

我记得有一次,客户反馈机器人抓取精度突然变差了。排查了半天,发现是操作工换夹爪后没重新标定工具坐标系。嗯,这种低级错误其实挺常见的,所以我在培训时都会反复强调:换工具,必标定。

2.4 用户坐标系(User Coordinate System)

用户坐标系,也叫工件坐标系。它是你自定义的坐标系,可以放在工作台上的任意位置。

为什么要用用户坐标系?你想想看,如果工作台上斜着放了一个托盘,你用直角坐标系编程,每个点位都要算三角函数,多麻烦。但如果你在托盘上定义一个用户坐标系,让X轴沿着托盘的长边,Y轴沿着短边,编程就变成了简单的「往X方向走10毫米」。

我的经验:用户坐标系特别适合多工位场景。比如一个工作台上有4个相同的托盘,你只需要编好一个托盘的程序,然后复制3份,每份关联不同的用户坐标系就行。效率提升不是一点半点。

2.5 四个坐标系的关系与选择

这四个坐标系不是互相独立的,它们之间有明确的层级关系:

关节坐标系 → 直角坐标系 → 工具坐标系 → 用户坐标系
(底层)      (基础)      (工具层)    (应用层)

实际编程时,我一般这样选:

  • 调试阶段:用关节坐标系,单轴测试机械限位和零点
  • 点位示教:用直角坐标系,走直线路径更直观
  • 抓取放置:用工具坐标系,保证末端精度
  • 多工位:用用户坐标系,简化编程逻辑

避坑指南:我曾经犯过一个错误——在用户坐标系下示教完所有点位后,发现用户坐标系的原点定义错了。结果所有点位都要重新示教。所以我的建议是:先定义好用户坐标系,再开始示教。顺序别搞反了。

2.6 知识体系结构图

下面这张图可以帮你理清四个坐标系的关系:

SCARA机器人坐标系知识体系 关节坐标系 • 每个关节独立控制 • 运动路径不可预测 • 用于零点校准、限位测试 • 底层控制方式 直角坐标系 • 原点在机器人底座 • X/Y/Z/Rz 四个自由度 • 运动路径直观可控 • 适合点位示教 工具坐标系 • 原点在工具末端 • 需标定TCP位置 • 换工具必须重新标定 • 保证抓取精度 用户坐标系 • 自定义位置和方向 • 适合多工位场景 • 简化编程逻辑 • 先定义再示教 底层 → 基础 基础 → 工具层 基础 → 应用层 总结:关节坐标系是基础,直角坐标系是桥梁,工具和用户坐标系是实战利器

说白了,这四个坐标系就是不同维度的「视角」。关节坐标系看的是电机,直角坐标系看的是空间,工具坐标系看的是末端,用户坐标系看的是工件。搞清楚了它们的关系,SCARA编程就成功了一半。

最后说一句:坐标系这东西,光看理论没用。我建议你找个SCARA模拟软件,把四个坐标系都切换着玩一遍。亲手试试,比看十遍文章都管用。


公众号:蓝海资料掘金营,微信deep3321