Skip to content

Deep learning model powered by Graph Neural Networks and Reinforcement Learning for multi-robot path planning at @INRIA

License

Notifications You must be signed in to change notification settings

HusseinLezzaik/Deep-Learning-for-Multi-Robotics

Repository files navigation

Graph NNs and RL for Multi-Robot Motion Planning

This repository contains the code and models necessary to replicate the results of our work:

The main idea of our work is to develop a deep learning model powered by Graph Neural Networks and Reinforcement Learning to build a multi-agent path planning algorithm that generalizes to different network topologies, while mainting fast communication and efficient convergence.

I wrote a blog about all our work here.

Overview of the Repository

The major content of our repo is:

  • Two Robots Topology Graph: code for building our GNN model for two robots.
  • Real Topology Graph: code for building our scalable robust GNN model.
  • Reinforcement Learning: code for building our custom gym environment & DQN model powered by GNN.

Note: please check the README of each repository to dive deeper into the code and be able to replicate our results. Also, for more architecture details and results please read here.

Getting Started

Our code relies on using CoppeliaSim for simulating our experiments on robots, and ROS2 Foxy for publishing speed commands to our robots.

  1. Clone our repo: git clone https://github.com/HusseinLezzaik/Multi-agent-path-planning.git

  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Install CoppeliaSim edu.

  4. Install ROS2 Foxy and make sure that the ROS2 Interface works.

  5. Make sure the Python Remote API works.

  6. Install Gym Environment from OpenAI in order to use our custom environment for RL training.

Simulation in V-Rep

We tested our algorithms on BubbleRob Scene from CoppeliaSim, however our model can be used with all kinds of robots.

Data Collection

Using Python's Remote API for CoppeliaSim, we initialized the positions randomly for each scene and ran the expert consensus algorithm to collect labelled data in a imitation learning framework (Behavioural Cloning). We tested on different architectures for the GNN, and in each scene we stopped collecting data for d=0.2 ie when they meet.

Acknowledgement

We would like to thank Claudio Pacchierotti for his constructive comments and discussions.

Contact

If you have any question, or if anything of the above is not working, don't hestitate to contact us! We are more than happy to help!

About

Deep learning model powered by Graph Neural Networks and Reinforcement Learning for multi-robot path planning at @INRIA

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages