2. RobotStudio协同工作环境搭建

多机器人协同系统的验证质量,很大程度上取决于工作站环境是否被正确搭建。RobotStudio 中的“协同工作环境”并不是简单地把两台机器人拖进同一个场景,而是要让多台机器人、虚拟控制器、示教器、工件坐标系与通信链路在同一个仿真时钟下协调运行。本节围绕创建多机器人工作站、导入机器人模型、配置系统参数、设置示教器与虚拟控制器,以及完成基础通信连接这条主线展开,重点说明每一步的实际操作对象、关键参数和判断依据。

一、创建多机器人工作站的基本结构

在 RobotStudio 中,工作站(Station)是承载所有机器人、工具、工件、坐标系和逻辑信号的容器。创建多机器人工作站时,建议先规划好“一个工作站对应一个协同单元”的原则:如果两台机器人共享同一工件、同一节拍或同一安全区域,就应放在同一工作站内;如果彼此独立,则拆分为不同工作站更利于管理。

新建工作站后,需要先建立三个基础对象:

  • 工作站坐标系:通常以地面或公共基座为原点,作为所有机器人基坐标系的参考。
  • 工件坐标系(Workobject):定义协同作业的公共工件位置,多台机器人对同一工件的定位都基于它。
  • 系统库:用于存放机器人型号、工具、外部轴等可复用资源。

创建时可通过“新建工作站 → 从布局创建 → 选择机器人型号”完成。若使用已有布局,可直接“从布局创建”并勾选需要的机器人。此时工作站中会出现机器人本体、控制柜和默认工具,但还没有形成协同关系。

二、导入机器人模型与工具

导入机器人模型有两种常用方式:一是从 RobotStudio 自带的机器人库中选择型号,例如 IRB 2600、IRB 4600、IRB 6700 等;二是通过“导入几何体”加载外部 STEP 或 SAT 模型,再手动绑定到机器人本体。对于协同系统,建议优先使用官方库模型,因为其运动学参数、DH 参数和关节限位已经过验证。

导入后需要检查三个关键点:

  1. 机器人基座位置:确认 base 坐标系与工作站坐标系的关系,避免后续协同路径出现整体偏移。
  2. 工具坐标系(TCP):为每台机器人定义工具,例如焊枪、吸盘或夹爪,TCP 的 x、y、z 和姿态必须与实际工具一致。
  3. 关节限位与奇异点:在“机器人配置”中查看各轴软限位,协同轨迹规划时要避开奇异位形。

例如,两台 IRB 2600 分别安装在工件两侧,工具为点焊枪,TCP 定义为焊枪末端。此时应分别建立 tool0 和 tool1,并在示教器中确认 TCP 数值,而不是直接使用默认值。

三、配置系统参数与虚拟控制器

多机器人协同的核心在于“每个机器人对应一个虚拟控制器(Virtual Controller)”。在 RobotStudio 中,虚拟控制器由 RobotWare 版本、系统参数和 I/O 配置组成。创建虚拟控制器时,需要为每台机器人选择与实机一致的 RobotWare 版本,例如 6.08 或 7.x,并配置以下参数:

  • 系统名称:建议按“单元名_机器人编号”命名,如 Cell1_R1、Cell1_R2。
  • 网络地址:为每个虚拟控制器分配独立的 IP,例如 192.168.1.10 和 192.168.1.11。
  • I/O 信号:定义协同所需的数字信号,如 di_Start、do_Busy、di_PartReady。
  • 运动参数:设置速度、加速度和转弯区数据,协同轨迹中通常使用 fine 或 z10 等转弯区。

配置完成后,每个虚拟控制器会独立启动,并在“控制器”面板中显示状态。此时如果两台机器人同时运行,需要确认它们是否共享同一仿真时钟,否则会出现“各自运行、互不等待”的假协同现象。

四、设置示教器与基础通信连接

示教器(FlexPendant)在 RobotStudio 中以虚拟示教器形式存在,用于手动示教、查看状态和调试程序。多机器人环境下,每台机器人都有独立的示教器窗口,切换时要注意当前激活的是哪一台控制器,避免误操作。

基础通信连接通常通过两种方式实现:

  1. I/O 信号互联:在“信号和连接”中把 R1 的 do_Busy 连接到 R2 的 di_PartReady,实现简单的握手。
  2. RAPID 通信指令:使用 WaitDI、SetDO、WaitTime 等指令编写协同逻辑,例如 R1 完成取件后置位 do_PartReady,R2 等待该信号后再开始焊接。

一个典型的协同握手程序片段如下:

! R1 取件完成,通知 R2
SetDO do_PartReady, 1;
WaitDI di_R2Ready, 1;

! R2 等待 R1 信号后开始焊接
WaitDI di_PartReady, 1;
SetDO do_R2Ready, 1;
MoveL pWeldStart, v500, fine, tool1;

通信建立后,可通过“仿真 → 播放”观察两台机器人是否按预期顺序动作。判断依据是:R2 在收到 di_PartReady 之前不应运动;R1 在 R2 未就绪时不应继续下一步。若出现某一台机器人提前动作,应检查信号连接方向、初始值和 WaitDI 的超时设置。

多机器人协同工作站结构示意 Station:Cell1(协同单元) 公共工件坐标系 wobj_Shared 虚拟控制器 R1 RobotWare 6.08 IP: 192.168.1.10 IRB 2600 + 焊枪 TCP: tool0 示教器:R1_FlexPendant 虚拟控制器 R2 RobotWare 6.08 IP: 192.168.1.11 IRB 2600 + 焊枪 TCP: tool1 示教器:R2_FlexPendant do_PartReady di_PartReady do_R2Ready di_R2Ready 协同握手逻辑 R1 取件 → SetDO do_PartReady R2 WaitDI di_PartReady → 焊接 统一仿真时钟 两台机器人同步推进 避免“假协同” 结果判断 R2 未收到信号不动作 R1 未就绪不继续

五、搭建完成后的检查要点

环境搭建完成后,建议按以下顺序做一次快速检查,而不是直接进入复杂轨迹调试:

检查项 预期结果 异常处理
机器人基座位置 与布局图一致,无整体偏移 重新定义 base 或调整工作站坐标系
TCP 数值 与实际工具一致 重新标定或修改 tool 数据
虚拟控制器状态 全部为“已启动” 检查 RobotWare 版本和授权
I/O 信号连接 方向正确、初始值为 0 检查信号连接表和初始值设置
协同动作顺序 R2 等待 R1 信号后再动作 检查 WaitDI 超时和信号置位时机
提示:多机器人协同环境搭建时,最容易忽略的是“仿真时钟一致性”和“信号初始值”。如果两台机器人各自运行且没有等待关系,仿真看起来正常,但实际节拍和逻辑是错的。建议在正式调试前,先用简单的 SetDO/WaitDI 握手程序验证通信链路,再逐步加入复杂轨迹。

完成以上步骤后,工作站已经具备多机器人协同的基本条件:机器人模型、虚拟控制器、示教器、公共工件坐标系和基础通信链路都已就位。后续的协同轨迹规划、节拍优化和碰撞检测,都将在这一环境基础上展开。