多机协同编程#
功能简述#
用户选择使用多机协同编程功能,可以实现主机器人对从机器人进行控制,使从机器人能够参考用户所设定的多机协同模式参考主机器人运动状态进行同步运动,从而实现主从机器人对同一工件进行作业的场景需求。
功能限制#
用户使用多机协同编程功能时,需要注意以下功能限制:
使用该功能需要确保主从机器人已建立稳定的通讯连接。
使用该功能需要确保主从机器人已正确配置各自多机协同功能配置参数。
多机协同程序#
用户选择使用多机协同编程功能时,可以在机器人程序编程界面-扩展中添加多机协同程序,如下图所示:
多机协同程序包括:
SyncMove程序
Sync程序#
用户可以选择使用Sync程序分别使主从机器人工作于多机协同模式。
主机器人如下图所示:
从机器人如下图所示:
当用户选择使用SyncMove程序时,当且仅当主从机器人程序同时运行到SyncMove程序,主从机器人会向另一方发送同步信号并开始执行SyncMove程序根节点下的子节点程序。若主从机器人任意一方未在超时时间内检测到另一方机器人的同步信号,则会认为多机协同功能同步失败并触发报错。
关节位置跟随模式#
用户使用SyncMove程序并配置工作模式为关节位置跟随模式时,从机器人将参照主机器人SyncMove程序根节点下的运动进行关节空间位置同步运动,并严格保证关节空间位置指令相同。需要注意的是,当主从机器人同时执行SyncMove程序时,若当前关节位位置不同,从机器人将自动以Movej的形式将机器人关节移动至与主机器人关节所在位置相同的位置,并从该位置开始与主机器人同步进行关节位置同步运动。 在同步运动过程中,主机器人将执行SyncMove程序根节点下的所有脚本,从机器人程序将保持运行SyncMove程序,直到主机器人SyncMove程序根节点下的所有程序运行完成,主从机器人将向对方发送结束同步信号。双方确定同步运动完成后执行后续程序。
关节速度跟随模式#
用户使用SyncMove程序并配置工作模式为关节速度跟随模式时,从机器人将参照主机器人SyncMove程序根节点下的运动进行关节空间速度同步运动,并严格保证关节空间速度指令相同。需要注意的是,当主从机器人同时执行SyncMove程序时关节位位置不同时,从机器人会以当前所在位置开始进行运动。 在同步运动过程中,主机器人将执行SyncMove程序根节点下的所有脚本,从机器人程序将保持运行SyncMove程序,直到主机器人SyncMove程序根节点下的所有程序运行完成,主从机器人将向对方发送结束同步信号。双方确定同步运动完成后执行后续程序。
笛卡尔位置跟随模式#
用户使用SyncMove程序并配置工作模式为笛卡尔位置跟随模式时,从机器人将参照主机器人SyncMove程序根节点下的运动进行笛卡尔空间位置同步运动,并严格保证笛卡尔空间位置指令相同。需要注意的是,该笛卡尔位置为主从机器人各自SyncMove程序中所配置的工具坐标系在其对应配置的工件坐标系中的位姿描述。当主从机器人同时执行SyncMove程序时,若当前所处笛卡尔位置不同,从机器人将自动以MovejPose的形式将机器人工具参考其工件坐标系移动至与主机器人工具参考其工件坐标系所在位置相同的位置,并从该位置开始与主机器人同步进行笛卡尔位置同步运动。
在同步运动过程中,主机器人将执行SyncMove程序根节点下的所有脚本,从机器人程序将保持运行SyncMove程序,直到主机器人SyncMove程序根节点下的所有程序运行完成,主从机器人将向对方发送结束同步信号。双方确定同步运动完成后执行后续程序。
笛卡尔速度跟随模式#
用户使用SyncMove程序并配置工作模式为笛卡尔速度跟随模式时,从机器人将参照主机器人SyncMove程序根节点下的运动进行笛卡尔空间速度同步运动,并严格保证笛卡尔空间速度指令相同。需要注意的是,该笛卡尔速度为主从机器人各自SyncMove程序中所配置的工具坐标系在其对应配置的工件坐标系中的位姿速度描述。 在同步运动过程中,主机器人将执行SyncMove程序根节点下的所有脚本,从机器人程序将保持运行SyncMove程序,直到主机器人SyncMove程序根节点下的所有程序运行完成,主从机器人将向对方发送结束同步信号。双方确定同步运动完成后执行后续程序。
特征工具跟随模式#
用户使用SyncMove程序并配置工作模式为特征工具跟随模式时,从机器人将参照主机器人SyncMove程序配置的工具所在位置作为从机器人自身运动的工件坐标系,即从机器人SyncMove程序根节点下配置的所有运动类程序中所配置工件坐标系将不再有效,主机器人工具在空间中所产生的运动都会使从机器人对应产生跟随运动。此时从机器人将以主机器人的工具坐在位置作为工件坐标系,执行SyncMove程序根节点以下的运动指令(类似于传送带跟随)。
在同步运动过程中,主机器人和从机器人都将执行SyncMove程序根节点下的所有脚本,直到主机器人与从机器人SyncMove程序根节点下的所有程序运行完成,主从机器人将向对方发送结束同步信号。双方确定同步运动完成后执行后续程序。