IP Library Granted Patent US 11,747,787
Granted Patent B2
US 11,747,787 · App. 17/006,620 · Granted Sep 5, 2023

Combining transformers for robotics planning

Inventors: Jean-Francois Dupuis (San Francisco, CA); Keegan Go (Mountain View, CA); Stoyan Gaydarov (Burlingame, CA)
Assignee: Intrinsic Innovation LLC
G05B19/4155B25J9/1664G05B2219/40518
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,747,787
App. No.
17/006,620
Granted
Sep 5, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for optimizing a plan for one or more robots using a process definition graph. One of the methods includes receiving a process definition graph for a robot, the process definition graph having a plurality of action nodes, and the plurality of action nodes including a plurality of motion nodes that were previously split from a single motion node due to a conflict with a second motion node representing a second motion to be performed by another robot; determining that the conflict with the second motion node no longer exists; and in response to determining that the conflict with the second motion node no longer exists, modifying the process definition graph including combining the plurality of motion nodes into a new single motion node representing all of the motions of the plurality of motion nodes.

Claims (38)

1. A method performed by one or more computers, the method comprising:

receiving a request to generate a schedule for a robot using a process definition graph, the process definition graph having a plurality of action nodes;

before initiating execution of the schedule, generating a modified process definition graph having a combined motion node, including:

splitting a first motion node into a plurality of motion nodes due to a conflict with a second motion node representing a second motion to be performed by another robot,

determining that the conflict with the second motion node no longer exists, and

in response to determining that the conflict with the second motion node no longer exists, modifying the process definition graph including combining two or more of the plurality of motion nodes into a combined motion node representing all of the motions of the two or more motion nodes; and

executing, by the robot, actions of the combined motion node in the modified process definition graph.

2. The method of claim 1 , wherein combining the two or more of the plurality of motion nodes into the combined motion node representing all of the motions of the two or more motion nodes comprises using a combining transformer that takes an underconstrained process definition graph as input and generates a modified process definition graph having at least one combined node as output.

3. The method of claim 1 , wherein determining that the conflict with the second motion node no longer exists comprises determining that the second motion was removed from the process definition graph.

4. The method of claim 1 , wherein determining that the conflict with the second motion node no longer exists comprises determining that a rest exists between (i) a first motion represented by a first motion node of the plurality of motion nodes, and (ii) a second motion represented by a second motion node of the plurality of motion nodes.

5. The method of claim 4 , wherein determining that the conflict with the second motion node no longer exists comprises determining that no other robot occupies a space between the first motion and the second motion.

6. The method of claim 1 , wherein the plurality of motion nodes that were previously split from the single motion node represent movement actions to be taken by the robot between tasks represented by respective task nodes in the graph.

7. The method of claim 1 , further comprising generating a schedule that specifies executing a single motion action for the combined motion node, wherein the single motion action covers paths represented by the two or more motion nodes.

8. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving a request to generate a schedule for a robot using a process definition graph, the process definition graph having a plurality of action nodes;

before initiating execution of the schedule, generating a modified process definition graph having a combined motion node, including:

splitting a first motion node into a plurality of motion nodes due to a conflict with a second motion node representing a second motion to be performed by another robot,

determining that the conflict with the second motion node no longer exists, and

in response to determining that the conflict with the second motion node no longer exists, modifying the process definition graph including combining two or more of the plurality of motion nodes into a combined motion node representing all of the motions of the two or more motion nodes; and

executing, by the robot, actions of the combined motion node in the modified process definition graph.

9. The system of claim 8 , wherein combining the two or more of the plurality of motion nodes into the combined motion node representing all of the motions of the two or more motion nodes comprises using a combining transformer that takes an underconstrained process definition graph as input and generates a modified process definition graph having at least one combined node as output.

10. The system of claim 8 , wherein determining that the conflict with the second motion node no longer exists comprises determining that the second motion was removed from the process definition graph.

11. The system of claim 8 , wherein determining that the conflict with the second motion node no longer exists comprises determining that a rest exists between (i) a first motion represented by a first motion node of the plurality of motion nodes, and (ii) a second motion represented by a second motion node of the plurality of motion nodes.

12. The system of claim 11 , wherein determining that the conflict with the second motion node no longer exists comprises determining that no other robot occupies a space between the first motion and the second motion.

13. The system of claim 8 , wherein the plurality of motion nodes that were previously split from the single motion node represent movement actions to be taken by the robot between tasks represented by respective task nodes in the graph.

14. The system of claim 8 , wherein the operations further comprise generating a schedule that specifies executing a single motion action for the combined motion node, wherein the single motion action covers paths represented by the two or more of motion nodes.

15. A computer-readable storage medium encoded with a computer program, the program comprising instructions that are operable, when executed by data processing apparatus, to cause the data processing apparatus to perform operations comprising:

receiving a request to generate a schedule for a robot using a process definition graph, the process definition graph having a plurality of action nodes;

before initiating execution of the schedule, generating a modified process definition graph having a combined motion node, including:

splitting a first motion node into a plurality of motion nodes due to a conflict with a second motion node representing a second motion to be performed by another robot,

determining that the conflict with the second motion node no longer exists, and

in response to determining that the conflict with the second motion node no longer exists, modifying the process definition graph including combining two or more of the plurality of motion nodes into a combined motion node representing all of the motions of the two or more motion nodes; and

executing, by the robot, actions of the combined motion node in the modified process definition graph.

16. The computer-readable storage medium of claim 15 , wherein combining the two or more of the plurality of motion nodes into the combined motion node representing all of the motions of the two or more motion nodes comprises using a combining transformer that takes an underconstrained process definition graph as input and generates a modified process definition graph having at least one combined node as output.

17. The computer-readable storage medium of claim 15 , wherein determining that the conflict with the second motion node no longer exists comprises determining that the second motion was removed from the process definition graph.

18. The computer-readable storage medium of claim 15 , wherein determining that the conflict with the second motion node no longer exists comprises determining that a rest exists between (i) a first motion represented by a first motion node of the plurality of motion nodes, and (ii) a second motion represented by a second motion node of the plurality of motion nodes.

19. The computer-readable storage medium of claim 18 , wherein determining that the conflict with the second motion node no longer exists comprises determining that no other robot occupies a space between the first motion and the second motion.

20. The computer-readable storage medium of claim 15 , wherein the plurality of motion nodes that were previously split from a single motion node represent movement actions to be taken by the robot between tasks represented by respective task nodes in the graph.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057650/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: DUPUIS, JEAN-FRANCOIS; GO, KEEGAN; GAYDAROV, STOYAN
To: X DEVELOPMENT LLC
Reel/Frame 053640/0902 →
Continuity (2)
Provisional Application 62894402 · Aug 30, 2019
Related Publication 20210064007A1 · Mar 4, 2021
Cited By (1)
US 12,605,830