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%的调试时间。
标定方法(四点法):
- 在机器人工作空间内固定一个尖点
- 用工具末端从四个不同方向触碰该点
- 系统自动计算出工具中心点(TCP)的位置
- 验证:让机器人绕TCP旋转,末端应保持不动
我记得有一次,客户反馈机器人抓取精度突然变差了。排查了半天,发现是操作工换夹爪后没重新标定工具坐标系。嗯,这种低级错误其实挺常见的,所以我在培训时都会反复强调:换工具,必标定。
2.4 用户坐标系(User Coordinate System)
用户坐标系,也叫工件坐标系。它是你自定义的坐标系,可以放在工作台上的任意位置。
为什么要用用户坐标系?你想想看,如果工作台上斜着放了一个托盘,你用直角坐标系编程,每个点位都要算三角函数,多麻烦。但如果你在托盘上定义一个用户坐标系,让X轴沿着托盘的长边,Y轴沿着短边,编程就变成了简单的「往X方向走10毫米」。
我的经验:用户坐标系特别适合多工位场景。比如一个工作台上有4个相同的托盘,你只需要编好一个托盘的程序,然后复制3份,每份关联不同的用户坐标系就行。效率提升不是一点半点。
2.5 四个坐标系的关系与选择
这四个坐标系不是互相独立的,它们之间有明确的层级关系:
关节坐标系 → 直角坐标系 → 工具坐标系 → 用户坐标系
(底层) (基础) (工具层) (应用层)
实际编程时,我一般这样选:
- 调试阶段:用关节坐标系,单轴测试机械限位和零点
- 点位示教:用直角坐标系,走直线路径更直观
- 抓取放置:用工具坐标系,保证末端精度
- 多工位:用用户坐标系,简化编程逻辑
避坑指南:我曾经犯过一个错误——在用户坐标系下示教完所有点位后,发现用户坐标系的原点定义错了。结果所有点位都要重新示教。所以我的建议是:先定义好用户坐标系,再开始示教。顺序别搞反了。
2.6 知识体系结构图
下面这张图可以帮你理清四个坐标系的关系:
说白了,这四个坐标系就是不同维度的「视角」。关节坐标系看的是电机,直角坐标系看的是空间,工具坐标系看的是末端,用户坐标系看的是工件。搞清楚了它们的关系,SCARA编程就成功了一半。
最后说一句:坐标系这东西,光看理论没用。我建议你找个SCARA模拟软件,把四个坐标系都切换着玩一遍。亲手试试,比看十遍文章都管用。
公众号:蓝海资料掘金营,微信deep3321