Multi-machine Co-programming#

Function description#

The user chooses to use the multi-machine cooperative programming function, which can realize the master robot to control the slave robot, so that the slave robot can reference the multi-machine cooperative mode set by the user to reference the master robot’s motion state to synchronize the movement, so as to realize the scene requirements of the master and slave robot to work on the same workpiece.

Function restriction#

When using the multi-machine co-programming function, users need to pay attention to the following limitations:

  • To use this function, it is necessary to ensure that the master and slave robots have established a stable communication connection.

  • To use this function, ensure that the master and slave robots have correctly configured their own multi-machine collaboration configuration parameters.

multi-machine coroutine#

When the user chooses to use the multi-machine co-programming function, the multi-machine co-program can be added in the robot programming interface - extension, as shown in the following figure:

../_images/a.jpg

Multimachine coroutines include:

  • SyncMove program

Sync program#

Users can choose to use Sync program to make the master and slave robot work in multi-machine cooperative mode respectively.

The master robot is shown in the picture below:

../_images/b.jpg

The slave robot is shown below:

../_images/c.jpg

When the user chooses to use the SyncMove program, if and only if the master-slave robot program runs to the SyncMove program at the same time, the master-slave robot sends a synchronization signal to the other party and starts executing the subnode program under the root node of the SyncMove program. If either of the master and slave robot does not detect the synchronization signal of the other robot within the timeout period, it is considered that the synchronization of the multi-machine collaboration function fails and an error is reported.

Joint position follow mode#

../_images/d.jpg

When the user uses the SyncMove program and configs the working mode as the joint position following mode, the slave robot will carry out synchronous joint space position movements according to the movements under the root node of the master robot SyncMove program, and strictly ensure the same joint space position instructions. It should be noted that when the master and slave robots execute the SyncMove program at the same time, if the current joint position is different, the slave robot will automatically move the robot joint to the same position as the master robot joint in the form of Movej, and then synchronize the joint position with the master robot from this position. In the process of synchronous movement, the master robot will execute all the scripts under the root node of the SyncMove program, and the slave robot will keep running the SyncMove program until all the programs under the root node of the master robot SyncMove program are finished, and the master and slave robots will send the end synchronization signal to each other. The two parties confirm that the follow-up procedure will be carried out after the synchronous movement is completed.

Joint velocity following mode#

../_images/e.jpg

When the user uses the SyncMove program and configs the working mode as joint velocity following mode, the slave robot will carry out joint space velocity synchronous movement according to the movement under the root node of the master robot SyncMove program, and strictly ensure the same joint space velocity instruction. It should be noted that when the master and slave robots execute the SyncMove program at the same time, when the joint position is different, the slave robot will start to move at the current position. In the process of synchronous movement, the master robot will execute all the scripts under the root node of the SyncMove program, and the slave robot will keep running the SyncMove program until all the programs under the root node of the master robot SyncMove program are finished, and the master and slave robots will send the end synchronization signal to each other. The two parties confirm that the follow-up procedure will be carried out after the synchronous movement is completed.

Cartesian position following mode#

../_images/f.jpg

When the user uses the SyncMove program and sets the working mode to Cartesian position following mode, the slave robot will carry out synchronous Cartesian space position movement according to the movement under the node of the master robot SyncMove program, and strictly ensure the same Cartesian space position instruction. It should be noted that the Cartesian position is described in the position and pose of the tool coordinate system configured in the respective SyncMove program of the master and slave robot in the corresponding workpiece coordinate system configured. When the master and slave robots execute SyncMove program at the same time, if the current Cartesian position is different, the slave robot will automatically move the robot tool reference to its workpiece coordinate system in the form of MovejPose to the same position as the master robot tool reference to its workpiece coordinate system. From this position, it synchronizes with the main robot to move in the Cartesian position.

In the process of synchronous movement, the master robot will execute all the scripts under the node of the SyncMove program, and the slave robot will keep running the SyncMove program until all the programs under the node of the master robot SyncMove program are finished, and the master and slave robots will send the end synchronization signal to each other. The two parties confirm that the follow-up procedure will be carried out after the synchronous movement is completed.

../_images/g.jpg

Cartesian speed following mode#

../_images/h.jpg

When the user uses the SyncMove program and sets the working mode to Cartesian speed follow mode, the slave robot will carry out synchronous Cartesian space speed movement according to the movement under the node of the master robot SyncMove program, and strictly ensure the same Cartesian space speed instruction. It should be noted that the Cartesian velocity describes the pose velocity of the tool coordinate system configured in the respective SyncMove program of the master and slave robot in the corresponding workpiece coordinate system configured. In the process of synchronous movement, the master robot will execute all the scripts under the node of the SyncMove program, and the slave robot will keep running the SyncMove program until all the programs under the node of the master robot SyncMove program are finished, and the master and slave robots will send the end synchronization signal to each other. The two parties confirm that the follow-up procedure will be carried out after the synchronous movement is completed.

../_images/i.jpg

Feature tool follow mode#

../_images/j.jpg

When the user uses the SyncMove program and configures the working mode as the feature tool following mode, the slave robot will use the position of the tool configured according to the master robot SyncMove program as the workpiece coordinate system moving from the robot itself. That is, the workpiece coordinate system configured in all motion programs configured under the root node of the robot SyncMove program will no longer be valid, and the motion generated by the master robot tool in space will generate the following motion corresponding to the slave robot. At this time, the slave robot will use the tool sitting position of the master robot as the workpiece coordinate system, and execute the movement instructions below the root node of the SyncMove program (similar to the conveyor belt following).

In the process of synchronous movement, both the master robot and the slave robot will execute all scripts under the root node of the SyncMove program until all programs under the root node of the master robot and the slave robot SyncMove program are finished, and the master and slave robots will send the end synchronization signal to each other. The two parties confirm that the follow-up procedure will be carried out after the synchronous movement is completed.

../_images/k.jpg