4. 机器人系统与任务分配
在 RobotStudio 的多机器人协调仿真中,真正决定仿真能否跑通、节拍是否可信的,往往不是单个机器人的轨迹本身,而是机器人系统(Robot System)的划分方式与任务(Task)的分配方式。一个机器人系统对应一套控制器(虚拟控制器 VC)及其运行环境;一个任务对应一段可独立执行的 RAPID 程序与运动逻辑。多机器人协同的本质,就是让多个系统、多个任务在共享的工作单元里按正确的时序与空间关系动作。
一、先分清三个层次:工作站、机器人系统、任务
RobotStudio 的层级关系是:工作站(Station)包含若干机器人系统,每个系统包含一个或多个任务,任务下挂 RAPID 模块与程序。理解这一点,才能理解为什么“多机器人”不等于“多任务”。
- 一个系统一个机器人:最常见的做法。两台机器人 = 两个系统,各自有独立的 VC、独立的 I/O 与独立的 RAPID 程序。优点是隔离清晰、调试互不干扰;缺点是系统间通信必须显式建立(如通过虚拟 I/O 或共享信号)。
- 一个系统多个任务:同一控制器下用 MultiTasking 选项运行多个任务,任务间共享控制器内存与 I/O,可用
WaitSyncTask、SyncMoveOn等指令做精确同步。优点是同步精度高;缺点是需要 MultiTasking 选项授权,且一个任务出错可能影响整个系统。 - 混合方式:两台机器人各成系统,其中一台再挂一个辅助任务(如变位机、工装动作),兼顾隔离与同步。
选择依据可以归纳为:需要毫秒级运动同步 → 同系统多任务;需要独立调试、独立启停、不同供应商设备 → 多系统。这是本节最重要的判断逻辑。
二、创建多个机器人系统的实际操作
在 RobotStudio 中,创建第二个系统有两种典型入口:一是通过 “机器人系统 → 从布局创建系统”,为已拖入的机器人模型单独生成 VC;二是通过 “从备份创建系统”,把现场已有的控制器备份还原为虚拟系统。前者适合从零搭建,后者适合复现真实产线。
以两台 IRB 2600 协同搬运为例,关键参数建议如下(示例值,需按实际选型调整):
| 项目 | 系统 A | 系统 B |
|---|---|---|
| 机器人型号 | IRB 2600-12/1.65 | IRB 2600-12/1.65 |
| RobotWare 版本 | 6.08 | 6.08 |
| 系统名称 | VC_A | VC_B |
| 任务数 | 2(搬运 + 变位机) | 1(搬运) |
| 关键选项 | MultiTasking、PC Interface | MultiTasking、PC Interface |
| 通信方式 | 虚拟 I/O 交叉连接(A 的 DO 接 B 的 DI) | |
创建时最容易忽略的是系统选项。若计划在同一系统内跑多任务,必须勾选 MultiTasking(623-1);若需要与外部 PLC 或上位机通信,需勾选 PC Interface(616-1) 或对应现场总线选项;若使用弧焊,还需 Arc 选项包。选项一旦创建后修改成本较高,建议在创建向导中一次性选全。
三、任务分配:把工艺动作拆到任务上
任务分配的核心原则是“一个任务 = 一条独立的运动与逻辑流”。分配时按以下顺序思考:
- 按机器人分:每台机器人至少一个任务,负责自身的运动指令。
- 按辅助设备分:变位机、导轨、夹具动作可单独建任务,避免与机器人运动耦合。
- 按同步需求分:需要严格同步的动作放在同一系统的不同任务中,用
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 逻辑。