4. 机器人系统与任务分配

在 RobotStudio 的多机器人协调仿真中,真正决定仿真能否跑通、节拍是否可信的,往往不是单个机器人的轨迹本身,而是机器人系统(Robot System)的划分方式与任务(Task)的分配方式。一个机器人系统对应一套控制器(虚拟控制器 VC)及其运行环境;一个任务对应一段可独立执行的 RAPID 程序与运动逻辑。多机器人协同的本质,就是让多个系统、多个任务在共享的工作单元里按正确的时序与空间关系动作。

一、先分清三个层次:工作站、机器人系统、任务

RobotStudio 的层级关系是:工作站(Station)包含若干机器人系统,每个系统包含一个或多个任务,任务下挂 RAPID 模块与程序。理解这一点,才能理解为什么“多机器人”不等于“多任务”。

  • 一个系统一个机器人:最常见的做法。两台机器人 = 两个系统,各自有独立的 VC、独立的 I/O 与独立的 RAPID 程序。优点是隔离清晰、调试互不干扰;缺点是系统间通信必须显式建立(如通过虚拟 I/O 或共享信号)。
  • 一个系统多个任务:同一控制器下用 MultiTasking 选项运行多个任务,任务间共享控制器内存与 I/O,可用 WaitSyncTask、SyncMoveOn 等指令做精确同步。优点是同步精度高;缺点是需要 MultiTasking 选项授权,且一个任务出错可能影响整个系统。
  • 混合方式:两台机器人各成系统,其中一台再挂一个辅助任务(如变位机、工装动作),兼顾隔离与同步。

选择依据可以归纳为:需要毫秒级运动同步 → 同系统多任务;需要独立调试、独立启停、不同供应商设备 → 多系统。这是本节最重要的判断逻辑。

多机器人系统与任务分配结构 工作站 Station(共享工作单元、共享坐标系与布局) 机器人系统 A(VC-A) 任务 T1:Robot_A 搬运 RAPID: main / Pick_Place 任务 T2:变位机翻转 RAPID: Fixture_Turn 系统选项 MultiTasking · PC Interface RobotWare 6.x · 709-1 DeviceNet 机器人系统 B(VC-B) 任务 T3:Robot_B 焊接 RAPID: main / Weld_Seam 任务 T4:清枪剪丝 RAPID: Torch_Clean 系统选项 MultiTasking · Arc RobotWare 6.x · 623-1 Multitasking 虚拟 I/O 握手信号 共享工作区 / 干涉区(需互锁)

二、创建多个机器人系统的实际操作

在 RobotStudio 中,创建第二个系统有两种典型入口:一是通过 “机器人系统 → 从布局创建系统”,为已拖入的机器人模型单独生成 VC;二是通过 “从备份创建系统”,把现场已有的控制器备份还原为虚拟系统。前者适合从零搭建,后者适合复现真实产线。

以两台 IRB 2600 协同搬运为例,关键参数建议如下(示例值,需按实际选型调整):

项目系统 A系统 B
机器人型号IRB 2600-12/1.65IRB 2600-12/1.65
RobotWare 版本6.086.08
系统名称VC_AVC_B
任务数2(搬运 + 变位机)1(搬运)
关键选项MultiTasking、PC InterfaceMultiTasking、PC Interface
通信方式虚拟 I/O 交叉连接(A 的 DO 接 B 的 DI)

创建时最容易忽略的是系统选项。若计划在同一系统内跑多任务,必须勾选 MultiTasking(623-1);若需要与外部 PLC 或上位机通信,需勾选 PC Interface(616-1) 或对应现场总线选项;若使用弧焊,还需 Arc 选项包。选项一旦创建后修改成本较高,建议在创建向导中一次性选全。

三、任务分配:把工艺动作拆到任务上

任务分配的核心原则是“一个任务 = 一条独立的运动与逻辑流”。分配时按以下顺序思考:

  1. 按机器人分:每台机器人至少一个任务,负责自身的运动指令。
  2. 按辅助设备分:变位机、导轨、夹具动作可单独建任务,避免与机器人运动耦合。
  3. 按同步需求分:需要严格同步的动作放在同一系统的不同任务中,用 WaitSyncTask 对齐;跨系统同步则用虚拟 I/O 握手。

例如双机协同搬运一个工件,可这样分配:系统 A 的任务 T1 负责“抓取并抬升”,系统 B 的任务 T3 负责“对接并下压”。两者通过信号 doPartReady(A 输出)与 diPartReady(B 输入)握手。A 完成抓取后置位 doPartReady,B 等待该信号后再执行下压动作。这种“信号握手 + 各自运动”的方式,比强行把两台机器人塞进同一任务更稳定,也更接近真实现场。

提示:跨系统同步时,信号命名建议带方向前缀,如 doA_Ready、diB_Ready,避免在 I/O 交叉连接时接反。RobotStudio 的“I/O 连接”界面可以直观看到交叉连线,建议每接一根就命名一次。

四、系统选项与协同逻辑的对应关系

系统选项不是“勾了就行”,它直接决定协同逻辑能否实现。下表给出常见选项与协同能力的对应:

选项作用缺失后果
MultiTasking(623-1)允许同一系统内多任务并行无法建多任务,只能单任务串行
PC Interface(616-1)开放上位机通信接口无法与外部程序或 PLC 交互
World Zones(608-1)定义共享区/干涉区无法做区域互锁,碰撞风险高
Collision Detection(613-1)实时碰撞检测只能靠人工判断干涉

其中 World Zones 对多机器人协同尤其关键。可以在共享工作区定义一个球形或盒形区域,当机器人 A 进入该区域时输出信号,机器人 B 收到信号后暂停进入,从而避免碰撞。这比单纯依赖轨迹规划更可靠,因为仿真中机器人可能因节拍优化而改变路径。

五、协同工作逻辑的验证方法

系统建好、任务分好之后,不要急着跑完整仿真。建议按以下顺序验证:

  • 单任务空跑:每个任务单独运行,确认 RAPID 无语法错误、运动可达、无奇异点报警。
  • 信号联调:手动置位/复位虚拟 I/O,观察对方任务是否能正确等待与放行。可在“I/O 仿真”面板中强制信号。
  • 低速协同:把速度倍率降到 25%,同时启动两个系统,观察共享区附近是否出现“同时进入”。
  • 节拍与干涉检查:用“碰撞检测”和“信号分析”查看是否有等待超时或碰撞报警。
注意:多系统仿真时,各系统的仿真时钟是独立的。若用“仿真 → 同步”功能,需确认所有系统都处于同一时间基准,否则信号握手可能出现“对方还没到、自己已经超时”的假报警。

最后要强调的是,多机器人协同的难点不在“建几个系统”,而在把工艺逻辑翻译成任务与信号。一个可复用的判断方法是:先画出工件在单元内的流动路径,标出每一步由谁执行、需要谁等待、用什么信号通知,再据此决定系统划分与任务分配。这样得到的结构,既能在 RobotStudio 中跑通,也能映射回真实现场的控制器与 PLC 逻辑。