3. 多机器人系统建模

在 ROBOGUIDE 中,一个工作单元(Workcell)本质上是一个独立的仿真工程文件,它拥有自己的机器人、工具、工件、外围设备和坐标系体系。单机器人单元与多机器人单元在建模流程上最大的区别在于:多机器人单元必须显式地处理“共享空间”与“各自独立属性”这两件事。也就是说,多台机器人虽然共处同一工作单元,但每台机器人都有自己独立的运动学模型、工具坐标系、用户坐标系、负载参数和初始姿态,同时又必须在同一世界坐标系下协调位置关系,避免干涉。理解这一点,是后续协同仿真与验证的基础。

一、在同一工作单元中添加多台机器人

ROBOGUIDE 添加机器人的入口通常位于“Robot”菜单下的“Add Robot”命令,或在单元浏览器(Cell Browser)中右键工作单元节点选择添加机器人。添加时首先需要选择机器人型号,例如 R-2000iC/165F、M-10iD/12、LR Mate 200iD 等,不同型号对应不同的运动范围、负载能力和本体尺寸。选择型号后,软件会要求指定机器人名称和安装位置。

这里有一个容易被忽略的关键点:添加第二台及后续机器人时,必须明确它相对于世界坐标系或已有参考对象的安装位置。ROBOGUIDE 默认会把新机器人放在世界原点附近,如果直接确认,两台机器人可能重叠在一起。正确做法是在添加对话框中输入基座位置(X、Y、Z)和绕 Z 轴的旋转角度(W、P、R 中的 R),或者先添加一个“Positioner”或“Fixture”作为参考,再把机器人挂接到该参考上。

例如,在一个典型的双机器人焊接单元中,可以这样布置:

  • Robot_01(R-2000iC/165F)基座位置设为 X=0 mm,Y=0 mm,Z=0 mm,R=0°,负责左侧工位;
  • Robot_02(R-2000iC/165F)基座位置设为 X=2500 mm,Y=0 mm,Z=0 mm,R=180°,负责右侧工位,两台机器人相向布置。

这种相向布置可以让两台机器人的工作空间在中间区域形成重叠,重叠区正是需要重点验证的干涉风险区。添加完成后,建议立即在单元浏览器中展开每个机器人节点,确认其下挂载的 Tool、User Frame、Payload 等子节点是否独立存在。

二、设置机器人属性

每台机器人添加后,都需要设置一组属性,这些属性直接影响仿真运动学和后续协同逻辑。主要属性包括:

属性类别典型参数作用
运动学参数关节速度、加速度、Jerk决定运动平滑性和节拍
负载与惯量Payload 质量、重心、惯量影响动力学仿真和电机负载判断
工具坐标系TCP 的 X/Y/Z/W/P/R决定末端执行器参考点
用户坐标系UF 原点与方向决定程序中的参考基准
碰撞检测是否启用、检测对象决定是否参与干涉检查

设置时建议遵循“先工具、后用户、再负载”的顺序。因为 TCP 定义不准确,后续所有轨迹点都会偏移;用户坐标系定义不准确,程序中的位置数据就失去意义。对于多机器人系统,还要特别注意每台机器人的碰撞检测设置必须独立开启,否则仿真时可能只检测机器人自身与环境的碰撞,而忽略机器人之间的碰撞。

三、命名规范

多机器人系统中最容易造成混乱的就是命名。当单元中有三台以上机器人时,如果使用默认的 Robot、Robot_1、Robot_2,后期在编写协同程序、查看日志或排查干涉时,很难快速定位是哪台机器人。建议采用“角色+编号”的命名方式,例如:

  • R01_Weld_Left、R02_Weld_Right:表示焊接角色和左右工位;
  • R03_Handling_Load、R04_Handling_Unload:表示搬运角色和上下料分工;
  • Tool_R01_Torch、Tool_R02_Torch:工具命名与机器人编号绑定;
  • UF_R01_Work、UF_R02_Work:用户坐标系与机器人编号绑定。

命名规范一旦确定,应在整个项目周期内保持一致,包括程序名、IO 信号名、日志注释。这样在后续做信号交互和协同逻辑时,可以大幅降低误操作概率。

四、初始姿态定义

初始姿态(Home Position)是多机器人协同仿真的起点。每台机器人在仿真开始前都应处于一个明确、安全、无干涉的初始姿态。定义初始姿态时,需要同时考虑关节角和笛卡尔位置两种表达方式。ROBOGUIDE 中通常通过“Set Home Position”或直接输入各轴关节值来定义。

一个实用的做法是:先让机器人运动到一个远离共享重叠区的安全位置,再将该位置设为 Home。例如,对于相向布置的两台焊接机器人,可以定义:

R01 Home: J1=0°, J2=-30°, J3=20°, J4=0°, J5=45°, J6=0°
R02 Home: J1=180°, J2=-30°, J3=20°, J4=0°, J5=45°, J6=0°

这样两台机器人的末端都朝向各自外侧,中间重叠区完全空出。定义完成后,建议在仿真中先执行一次“回 Home”动作,观察两台机器人是否同时运动、是否发生碰撞、运动轨迹是否平滑。如果发现某台机器人在回 Home 过程中与另一台发生干涉,说明 Home 点选择不合理,需要调整关节角或改变安装位置。

双机器人工作单元建模关系图 World Coordinate System (世界坐标系) 共享工作空间 干涉风险区 R01_Weld_Left 型号: R-2000iC/165F 基座: X=0, Y=0, Z=0, R=0° Tool: Tool_R01_Torch UF: UF_R01_Work Payload: 15 kg 碰撞检测: 开启 Home: J1=0°, J2=-30° J3=20°, J5=45° R02_Weld_Right 型号: R-2000iC/165F 基座: X=2500, Y=0, Z=0, R=180° Tool: Tool_R02_Torch UF: UF_R02_Work Payload: 15 kg 碰撞检测: 开启 Home: J1=180°, J2=-30° J3=20°, J5=45° 命名规范:角色+编号(R01_Weld_Left / R02_Weld_Right)|工具与坐标系绑定机器人编号|初始姿态避开共享重叠区 注:以上参数为教学示例,实际值需根据机器人型号、工件尺寸和工艺要求确定

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

多机器人单元建模完成后,不要急于编写协同程序,先做一轮基础检查。检查内容包括:每台机器人的型号和安装位置是否正确;TCP 和用户坐标系是否已定义且数值合理;负载参数是否与实际工具匹配;碰撞检测是否对每台机器人独立开启;Home 点是否安全且无干涉。可以在仿真中手动拖动每台机器人到极限位置,观察是否与另一台或外围设备发生碰撞。如果这些基础检查通过,后续的协同逻辑和信号交互才有可靠的仿真基础。

提示:在多机器人单元中,建议为每台机器人单独保存一份“机器人配置备份”,包括工具、坐标系、负载和 Home 点。当需要复制或替换机器人型号时,可以直接导入配置,避免重复设置。
注意:ROBOGUIDE 中不同机器人型号的运动学参数和关节限位不同,复制机器人时不要直接复制程序中的位置数据,否则可能因关节限位差异导致仿真报错或姿态异常。