US 11,675,369 B2
Robot coordination in a shared workspace
Jean-Francois Dupuis, San Francisco, CA (US)
Assigned to Intrinsic Innovation LLC, Mountain View, CA (US)
Filed by Intrinsic Innovation LLC, Mountain View, CA (US)
Filed on Jan. 3, 2022, as Appl. No. 17/567,583.
Application 17/567,583 is a continuation of application No. 16/452,384, filed on Jun. 25, 2019, granted, now 11,216,009.
Claims priority of provisional application 62/689,351, filed on Jun. 25, 2018.
Prior Publication US 2022/0179433 A1, Jun. 9, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. B25J 9/16 (2006.01); G05D 1/02 (2020.01); B25J 9/00 (2006.01)
CPC G05D 1/0289 (2013.01) [B25J 9/0084 (2013.01); B25J 9/1666 (2013.01)] 20 Claims
OG exemplary drawing
 
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.