第四节:SCARA机械手坐标系——世界、基座、工具、工件
各位同学,今天我们来聊聊坐标系。说实话,我刚入行那会儿,觉得坐标系就是个数学概念,跟实际编程关系不大。直到有一次,我在调试一台SCARA时,明明示教好的点位,换了个工装就全偏了……嗯,从那以后,我再也不敢小看坐标系了。
SCARA机械手有四个核心坐标系:世界坐标系、基坐标系、工具坐标系和工件坐标系。你想想看,这就像我们问路——你说“往前走10米”,这个“前”是相对于谁的?机器人也一样,它得知道“往哪走”是相对于哪个参考系。
核心观点:坐标系就是机器人的“空间语言”。搞懂了这四个坐标系,你就能精准指挥SCARA干活。
1. 世界坐标系——机器人的“全球定位系统”
世界坐标系是固定在地面或车间里的一个绝对参考系。说白了,它就是整个工作空间的“大地基准”。
我个人习惯把世界坐标系的原点设在SCARA安装底座的某个角落,或者车间里一个固定的柱子旁边。这样,不管机器人怎么动,这个坐标系纹丝不动。
- 特点:固定不变,所有其他坐标系都可以通过它来定义
- 用途:多台机器人协同、视觉系统标定、安全区域设定
- 注意:一旦设定,不要轻易改动,否则所有点位都得重来
我的经验:在项目现场,我习惯用激光跟踪仪把世界坐标系标定在车间立柱上。这样即使机器人被拆装过,只要重新找回那个立柱,所有程序都不用改。
2. 基坐标系——机器人的“身体坐标”
基坐标系固定在SCARA的底座上。你可以把它理解为机器人的“肚脐眼”——原点就在底座中心,Z轴朝上,X轴指向机器人前方。
为什么要有基坐标系?因为世界坐标系虽然固定,但机器人安装位置可能偏了、歪了。基坐标系能帮我们描述“机器人自己怎么看世界”。
| 坐标系 | 原点位置 | Z轴方向 | 典型应用 |
|---|---|---|---|
| 世界坐标系 | 车间固定点 | 垂直向上 | 多机协同 |
| 基坐标系 | 机器人底座中心 | 沿底座垂直向上 | 示教编程 |
| 工具坐标系 | 末端工具中心 | 沿工具方向 | 精确抓取 |
| 工件坐标系 | 工件特征点 | 垂直于工件表面 | 批量加工 |
⚠️ 避坑指南:我曾经遇到一个案例,操作员把基坐标系和世界坐标系搞混了,结果示教出来的点位在机器人换线后全部失效。记住:基坐标系是跟着机器人走的,机器人搬家,基坐标系也跟着搬。
3. 工具坐标系——末端执行器的“手眼坐标”
工具坐标系定义在SCARA的末端执行器上。比如你装了一个气动夹爪,或者一个焊枪,工具坐标系的原点就在夹爪的中心或者焊枪的尖端。
为什么要单独定义工具坐标系?因为SCARA的末端法兰盘只是一个安装接口,真正干活的是你装上去的那个工具。你想想看,如果工具长度变了,不重新标定坐标系,机器人抓东西就会偏。
// 工具坐标系标定示例(伪代码)
// 方法:四点法
Point 1: 工具尖端触碰固定参考点(姿态1)
Point 2: 工具尖端触碰固定参考点(姿态2)
Point 3: 工具尖端触碰固定参考点(姿态3)
Point 4: 工具尖端触碰固定参考点(姿态4)
// 系统自动计算工具中心点(TCP)偏移量
TCP_X = 0.0 // 相对于法兰盘中心的X偏移(mm)
TCP_Y = 0.0 // 相对于法兰盘中心的Y偏移(mm)
TCP_Z = 150.0 // 工具长度(mm)
关键点:工具坐标系让SCARA知道“我的手到底在哪里”。换工具必须重新标定,这是铁律。
4. 工件坐标系——被加工件的“本地坐标”
工件坐标系是定义在工件上的。比如你要在电路板上贴片,工件坐标系的原点就设在电路板的某个角上。
这个坐标系的好处是:如果工件在传送带上位置有偏差,你只需要更新工件坐标系的原点,所有点位自动跟着偏移。不用一个个重新示教。
- 定义方式:在工件上选三个特征点(原点、X方向点、Y方向点)
- 应用场景:流水线作业、托盘码垛、多工位加工
- 优势:批量生产时,换工件只需重新标定工件坐标系
我的习惯:在项目里,我会把工件坐标系的原点设在工件的一个定位销孔上。这样每次装夹,只要定位销插进去,坐标系就自动对齐了。
5. 四个坐标系如何协同工作?
实际编程时,你通常不会直接操作世界坐标系。流程是这样的:
- 世界坐标系 → 确定SCARA安装位置
- 基坐标系 → 描述机器人自身姿态
- 工具坐标系 → 告诉机器人“工具长什么样”
- 工件坐标系 → 告诉机器人“工件放在哪”
举个例子:你要让SCARA去抓一个放在托盘上的零件。程序里写的是“移动到工件坐标系下的P1点”。系统会自动做坐标变换:先把P1从工件坐标系换算到基坐标系,再结合工具长度算出每个关节的角度。
一句话总结:世界坐标系是“大地”,基坐标系是“身体”,工具坐标系是“手”,工件坐标系是“目标”。四者配合,SCARA才能指哪打哪。
好了,坐标系这部分内容就这些。我个人觉得,坐标系是SCARA编程里最基础也最容易出错的地方。你只要记住:先定世界,再定基座,标定工具,最后定工件。按这个顺序来,基本不会乱。