Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This article covers several ways of editing adjusting operations to avoid collisions for simultaneous multi-robot work areas. Procedure on how to rearrange and change path directions, moving the entry / exit point, in work cells with multiple robots.

Table of Contents
stylenone

A As an example, a dome-shaped part requires edge following operations on five contours.

...

In some cases, the default robot trajectories for the multiple robots may result in collisions between the robots.

...

...

One way to solve a collision is to move There are many ways to solve collisions between robots. Let’s take a look at a few possible solutions.

Rearrange operations for a robot

One way of solving collisions is to change the sequence in which operations are performed for a given robot.

In this example, Robot_1 is processing operations 1 and 2, and Robot_2 is processing operations 3, 4, and 5:

...

There is a collision between the joints of the different robots when operations 1 and 3 are processed.

...

This is due to the proximity and timing of the two paths.

The sequence of Robot_2 could be changed so that operation 4 is processed first. This would leave more space between Robot_1 and Robot_2 as the operations are executed, lessening the chance of a collision.

  1. Use the control handle to drag the operation to a different place in the sequence.

    image-20240724-184529.pngImage Added
  2. Select Calculate to see if the collision is cleared.

    image-20240724-184420.pngImage Added

Rearranging the sequence of operations will also affect robot motion, including moves to and from home position and moves between operations. Pay attention to these changes and resolve any kinematic issues if they arise.

Reassign operations to different robots

If multiple robots use the same application (for example, if they are both equipped with interchangeable deburring tools), reassigning operations to different robots can solve collisions.

  1. Use the control handle to drag the operation to a different robot.

    image-20240724-184900.pngImage Added
  2. Adjust the sequence of operations for that robot, if needed.

  3. Select Calculate to see if the collision is cleared.

    image-20240724-185207.pngImage Added

Move start point

In some cases, moving the entry/exit point on one of the paths .

...

may solve a collision. This can affect timing so that robots do not collide.

  1. On the Device tab, in the Operations pane, right-click an operation and select Edit in task.

    image-20240723-212720.png
  2. Select the path, then click the red ball at the entry/exit point.

    image-20240723-212841.png
  3. Click a point along the path to move the entry/exit to a different location.

    image-20240723-212949.png
  4. In On the Task tab, select Apply and then OK to keep your changes.

  5. In On the Device tab, select Calculate.

  6. Confirm that Check to see if the collision no longer still occurs.

...

Change path direction

For applications where it is possible to change the direction in which of a path is processed, you can try reversing the path direction to solve collisions.

  1. On the Device tab, in the Operations pane, right-click an operation and select Edit in task.

    image-20240723-212720.png
  2. Right-click the path (be sure to right-click one of the vectors on the path), then select Path > Invert direction.

    image-20240724-024245.png
  3. Confirm that the path direction is reversed.

    image-20240724-024352.png
  4. In On the Task tab, select Apply and then OK to keep your changes.

  5. In On the Device tab, select Calculate.

Rearrange operations

Another way of solving collisions is to plan and rearrange operations. This can be done by changing the sequence in which operations are performed for a given robot.

Change the sequence of operations for one of the robots:

Here Robot_1 is processing operations 1 and 2, and Robot_2 is processing operations 3, 4, and 5:

...

Operations 1 and 3 may be too close together to process simultaneously. Instead the sequence of Robot_2 could be changed so that operation 4 is processed first. This would leave more space between Robot_1 and Robot_2 as the operations are processed, lessening the chance of collision.

  1. Use the control handle to drag the operation to a different place in the sequence.

    image-20240724-030459.pngImage Removed
  2. Select Calculate to see if the collision is cleared.

As you rearrange operations, the robot trajectories will be updated. Pay attention to the changes in paths as the robots move between home positions, and between operations.

Re-assign operations to different robots

If the robots are performing the same application (for example, if they are both deburring tools), reassigning operations to different robots can solve collisions.

When planning the sequence of operations in a multi-robot cell, consider required spacing between robots, how much room is available in the work cell, whether you need to include an additional buffer distance for safety.

Notes:

Rearranging operations in the Device > Operations pane.

Change sequence of operations within a given robot

Move operations from one robot to another

Further reading

What about velocities, accelerations, and real-world deviation from programmed paths?

Use safety envelopes to give “buffer” for collisions, add them as intereference groups in the cell.

Do multiple robot cells communicate with one another? Are they equipped with sensors to detect adjacent robot position?

Spatial

If you plan a progam so that the robots never occupy the same space at any point in time, this is the safest with least chance of collision.

Temporal

If two robots must occupy the same space due to the required trajectories, timing the operations is critical for minimizing risk of collisions.

How much time to leave between operations' intersections in space? 1 second, 30 seconds?

...

Do not use this method for applications where path direction should not reversed, such as with plasma cutting.