CPC G05D 1/0289 (2013.01) [B25J 9/0084 (2013.01); B25J 9/1666 (2013.01)] | 20 Claims |
1. A computer-implemented method comprising:
assigning a first group of tasks to a first robot and a second group of one or more tasks to a second robot;
generating a plurality of candidate motion plans for the first group of tasks assigned to the first robot, wherein each candidate motion plan for the first group of tasks specifies a different respective sequence for performing the first group of tasks;
generating a second candidate motion plan for the second group of one or more tasks assigned to the second robot;
generating a respective three-dimensional model for each candidate motion plan, the three-dimensional model representing a volume of space through which a robot would move to perform the one or more tasks of the candidate motion plan;
determining that a conflict occurs between a first candidate motion plan of the plurality of candidate motion plans for the first robot and the second candidate motion plan for the second robot, including using respective three-dimensional models for the first candidate motion plan and the second candidate motion plan to determine that an intersection occurs between respective volumes of space generated for the first candidate motion plan and the second candidate motion plan;
in response, removing the first candidate motion plan from the plurality of candidate motion plans for the first robot;
selecting a candidate motion plan for the first robot from remaining candidate motion plans that remain among the plurality of candidate motion plans after removing the first candidate motion plan that conflicted with the second candidate motion plan; and
providing instructions to cause the first robot to perform the selected candidate motion plan and to cause the second robot to perform the second candidate motion plan.
|