3. 创建工件坐标系并关联工件几何
任务背景与对象
本例在已导入 IRB 2600 与焊枪工具坐标系的工作站中,导入一个工件三维模型(示例为 Workpiece_A.stp),并基于该模型创建一个用户坐标系 wobj_Workpiece。该坐标系的原点与方向将作为后续 RAPID 程序中 MoveL 目标点的参考基准,因此必须与工件几何严格对齐,而不是随意放置在空间某处。
工件坐标系(Work Object)在 RobotStudio 中由两部分组成:用户坐标系(User Frame)定义工件在机器人基坐标系中的位置与姿态;工件坐标系(Object Frame)定义工件自身几何的局部原点。本例只创建用户坐标系并关联工件几何,工件坐标系保持默认与用户坐标系重合。
关键参数与对齐约定
创建前先明确本例使用的参照约定,避免后续读数与方向判断出现歧义:
- 机器人基坐标系
Base:原点在机器人底座中心,X 轴指向机器人正前方,Z 轴竖直向上。 - 用户坐标系
wobj_Workpiece:原点设在工件底面中心,X 轴沿工件长边方向,Z 轴垂直于工件底面向上。 - 方向采用右手定则,旋转顺序为 Z→Y→X(欧拉角),单位用度(°)。
- 示例工件尺寸:长 400 mm、宽 200 mm、高 80 mm,底面中心在机器人基坐标系下的理论位置为 (600, 0, 300) mm。
创建用户坐标系并关联工件几何
在 RobotStudio 的 Home 选项卡中,选择 Other → Create Workobject,弹出创建对话框。按以下方式填写:
- Name:输入
wobj_Workpiece。 - Parent:保持
Base,表示该用户坐标系直接建立在机器人基坐标系下。 - Position:输入
600, 0, 300(单位 mm),即工件底面中心在基坐标系中的位置。 - Rotation:输入
0, 0, 0,表示用户坐标系方向与基坐标系一致;若工件在导入时已旋转,则需按实际姿态填写欧拉角。 - 点击 OK 完成创建。
创建完成后,在 Layout 浏览器中展开 Workobjects 节点,可以看到 wobj_Workpiece。右键该节点选择 Attach Geometry,在弹出列表中选择已导入的工件模型 Workpiece_A,点击 OK。此时工件几何被关联到该用户坐标系,后续移动或旋转 wobj_Workpiece 时,工件模型会随之一起运动。
wobj_Workpiece 的坐标系显示,确认其原点位于工件底面中心、X 轴沿长边、Z 轴垂直向上。若方向不符,可右键 Edit 重新设置旋转值。通过虚拟示教器验证工件坐标系下机器人可达性
打开虚拟示教器(Virtual FlexPendant),切换到 Manual 模式,进入 Jogging 界面。在 Workobject 下拉框中选择 wobj_Workpiece,此时示教器显示的机器人位置将基于该用户坐标系。
使用摇杆将机器人 TCP 移动到工件坐标系下的几个关键位置,观察示教器读数与机器人姿态:
| 目标位置(wobj_Workpiece 下) | 含义 | 预期读数 | 可达性判断 |
|---|---|---|---|
| (0, 0, 100) | 工件底面中心上方 100 mm | TCP 位于工件正上方 | 可达,姿态正常 |
| (200, 0, 100) | 沿工件长边方向偏移 200 mm | TCP 位于工件长边中点上方 | 可达,注意关节 4 是否接近限位 |
| (0, 100, 100) | 沿工件短边方向偏移 100 mm | TCP 位于工件宽边中点上方 | 可达,观察手腕姿态 |
| (200, 100, 100) | 工件角点上方 | TCP 位于工件右上角上方 | 需检查是否接近工作空间边界 |
若某位置示教器提示 “Close to singularity” 或 “Out of reach”,说明该点在当前机器人配置下不可达或接近奇异点,需要调整机器人站位或工件摆放位置。验证通过后,记录各位置对应的关节角度,作为后续编写 RAPID 程序时目标点的参考。
验证通过后的记录与后续使用
验证完成后,在 Layout 浏览器中确认 wobj_Workpiece 已关联 Workpiece_A,且坐标系原点与方向与工件几何一致。记录以下信息,供后续 RAPID 程序使用:
- 用户坐标系名称:
wobj_Workpiece - 父坐标系:
Base - 位置:
600, 0, 300mm - 旋转:
0, 0, 0° - 关联几何:
Workpiece_A - 已验证可达点:
(0,0,100)、(200,0,100)、(0,100,100) - 不可达点:
(200,100,100),需调整
后续编写 RAPID 程序时,在 MoveL 指令中通过 wobj:=wobj_Workpiece 指定该用户坐标系,目标点坐标即可直接使用工件坐标系下的数值,无需再手动换算到基坐标系。