Coordination of multiple robots using graph neural networks
AssigneeGDM Holding LLC
InventorsMatthew Lai, Jonathan Karl Scholz, Jose Enrique Chen
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for controlling a plurality of robots. One of the methods includes: obtaining state data representing a current state of the environment; generating, from the state data, graph data representing a graph of the current state of the environment; processing the graph data using a graph neural network to generate a graph output that comprises a respective updated feature representation for each of the robot nodes in the graph; and selecting, based on the graph output, a respective action to be performed by each of the robots.
Claims18
A method performed by one or more computers and for controlling a plurality of robots to cause the robots to move to a plurality of target locations in an environment, the method comprising repeatedly performing the following operations:
- obtaining state data representing a current state of the environment;
- generating, from the state data, graph data representing a graph of the current state of the environment, the graph comprising a plurality of nodes and a plurality of edges, wherein each edge connects a respective pair of nodes from the plurality of nodes, wherein the plurality of nodes comprises a respective robot node for each of the robots and a respective target node for each of the target locations, wherein the graph includes one or more edges between at least one of the robot nodes and at least one of the target nodes, and wherein the graph data comprises a respective initial feature representation for each of the robot nodes and for each of the target nodes;
- processing the graph data using a graph neural network to generate a graph output that comprises a respective updated feature representation for each of the robot nodes;
- selecting, based on the graph output, a respective action to be performed by each of the robots;
- and
- controlling at least one of the robots using the selected actions.
A method performed by one or more computers and for controlling a plurality of robots to cause the robots to perform a task that involves moving to a plurality of target locations in an environment, the method comprising repeatedly performing the following operations:
- performing a plurality of planning iterations starting from a current state of the environment to generate plan data, wherein performing each planning iteration comprises:
- traversing through states of the environment starting from the current state until a leaf state of the environment is reached;
- generating, from state data characterizing the leaf state, graph data representing a graph of the leaf state of the environment, the graph comprising a plurality of nodes and a plurality of edges, wherein each edge connects a respective pair of nodes from the plurality of nodes, wherein the plurality of nodes comprises a respective robot node for each of the robots and a respective target node for each of the target locations, wherein the graph includes one or more edges between at least one of the robot nodes and at least one of the target nodes, and wherein the graph data comprises a respective initial feature representation for each of the robot nodes and for each of the target nodes;
- processing the graph data using a graph neural network to generate a graph output that comprises a respective updated feature representation for each of the robot nodes;
- generating, from the graph output, an update to the plan data;
- and
- updating the plan data using the generated update;
- after performing the plan data, selecting an action using the plan data;
- and
- controlling at least one of the robots using the selected actions.
A system comprising:
- one or more computers;
- and
- one or more storage devices storing instructions that when executed by the one or more computers, cause the one or more computers to perform the operations comprising:
- obtaining state data representing a current state of the environment;
- generating, from the state data, graph data representing a graph of the current state of the environment, the graph comprising a plurality of nodes and a plurality of edges, wherein each edge connects a respective pair of nodes from the plurality of nodes, wherein the plurality of nodes comprises a respective robot node for each of the robots and a respective target node for each of the target locations, wherein the graph includes one or more edges between at least one of the robot nodes and at least one of the target nodes, and wherein the graph data comprises a respective initial feature representation for each of the robot nodes and for each of the target nodes;
- processing the graph data using a graph neural network to generate a graph output that comprises a respective updated feature representation for each of the robot nodes;
- selecting, based on the graph output, a respective action to be performed by each of the robots;
- and
- controlling at least one of the robots using the selected actions.
Dependencies are inferred from the claim text.