Coordination of multiple robots using graph neural networks
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.
1 . 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.
2 . The method of claim 1 , wherein the environment includes one or more obstacles, wherein the graph comprises a respective obstacle node for each of the one or more obstacles, and wherein the graph data comprises a respective initial feature representation for each of the obstacle nodes.
3 . The method of claim 2 , wherein the graph includes edges between each robot node and each obstacle node.
4 . The method of claim 3 , wherein the graph does not include any edges between any two obstacle nodes.
5 . The method of claim 3 , wherein the graph does not include any edges between any obstacle node and any target node in the graph.
6 . The method of claim 1 , wherein the graph includes edges between each robot node and each other robot node.
7 . The method of claim 1 , wherein the graph includes edges between each robot node and each target node.
8 . The method of claim 1 , wherein the graph does not include any edges between any two target nodes.
9 . The method of claim 1 , wherein the graph data comprises edge data representing the edges in the graph.
10 . The method of claim 9 , wherein the graph neural network includes one or more graph layers, each of the graph layers configured to update, for any given node, the feature representation for the given node based only on feature representations for nodes that are connected to the node by an edge in the graph.
11 . The method of claim 1 , wherein selecting the respective action to be performed by each of the robots comprises:
predicting the respective action by processing the graph output.
12 . The method of claim 1 , wherein selecting the respective action to be performed by each of the robots comprises:
performing one or more planning iterations using the graph output to generate plan data; and
selecting actions using the plan data.
13 . One or more computer-readable storage media storing instructions that, when executed by one or more computers, cause the one or more computers to perform the operations of the respective method of claim 1 .
14 . 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.
15 . The method of claim 14 , wherein generating, from the graph output, an update to the plan data comprises:
generating a summary feature of the leaf state from the graph output; and
processing the summary feature using a value prediction neural network to predict a value score that represents a predicted value of being in the leaf state to successfully completing the task.
16 . The method of claim 14 , wherein generating, from the graph output, an update to the plan data comprises, for each robot node:
processing the updated feature representation for the robot node using a policy neural network to generate a policy output that defines a probability distribution over a set of possible actions to be performed by the corresponding robot node when the environment is in the leaf state.
17 . The one or more computers of claim 14 comprising 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 of claim 14 .
18 . 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.