marl-drones

Drone Automation using Multi-Agent Reinforcement Learning

https://github.com/lpanjwani/marl-drones

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Drone Automation using Multi-Agent Reinforcement Learning

Basic Info
  • Host: GitHub
  • Owner: lpanjwani
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 105 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

Multi-Agent Reinforcement Learning Drones

Introduction

This project is a multi-agent reinforcement learning project that uses MAPPO and MADDPG algorithms to train a group of drones. The drones are trained in a simulated environment adopted from Gym-PyBullet-Drones.

Dependencies

Installation

bash python3 -m pip install -e .

Usage

Single Agent

Policy Proximal Optimization (PPO)

```bash gui=False recordvideo=True ngpu = 1 algotype = "hover" actiontype = "pid"

python scripts/learning/singleagentppo.py \ --env=$algotype \ --act=$actiontype \ --recordvideo=$record_video \ --gui=$gui ```

Deep Deterministic Policy Gradient (DDPG)

```bash gui=False recordvideo=True ngpu = 1 algotype = "hover" actiontype = "pid"

python scripts/learning/singleagentddpg.py \ --env=$algotype \ --act=$actiontype \ --recordvideo=$record_video \ --gui=$gui ```

Multi-Agent

Policy Proximal Optimization (PPO)

For Training:

```bash gui=False recordvideo=True numdrones = 2 ngpu = 0 algotype = "flock"

RLLIBNUMGPUS=$ngpu \ python scripts/learning/multiagentppo.py \ --env $algotype \ --numdrones $numdrones \ --recordvideo=$record_video \ --gui=$gui ```

For Testing:

```bash colab=True gui=False recordvideo=True resultfolder="./results/save-flock-2-cc-kin-rpm-08.21.2023_13.55.36"

python scripts/learning/testmultiagentppo.py \ --exp $resultfolder \ --recordvideo=$record_video \ --gui=$gui \ --colab=$colab ```

Deep Deterministic Policy Gradient (DDPG)

For Training:

```bash gui=False recordvideo=True numdrones = 2 ngpu = 0 algotype = "flock"

RLLIBNUMGPUS=$ngpu \ python scripts/learning/multiagentddpg.py \ --env $algotype \ --numdrones $numdrones \ --recordvideo=$record_video \ --gui=$gui ```

For Testing:

```bash colab=True gui=False recordvideo=True resultfolder="./results/save-flock-2-cc-kin-rpm-08.21.2023_13.55.36"

python scripts/learning/testmultiagentddpg.py \ --exp $resultfolder \ --recordvideo=$record_video \ --gui=$gui \ --colab=$colab ```

Results

```bash csv = "./results/save-flock-2-cc-kin-rpm-08.21.2023_13.55.36/DDPG/progress.csv" label = "Multi-Agent DDPG"

python scripts/visualize/results.py \ --csv $csv \ --label $label ```

Owner

  • Name: Lavesh Panjwani
  • Login: lpanjwani
  • Kind: user
  • Location: London

Citation (CITATION.cff)

cff-version: 1.2.0
preferred-citation:
  type: article
  authors:
  - family-names: "Panerati"
    given-names: "Jacopo"
    orcid: "https://orcid.org/0000-0003-2994-5422"
  - family-names: "Zheng"
    given-names: "Hehui"
    orcid: "https://orcid.org/0000-0002-4977-0220"
  - family-names: "Zhou"
    given-names: "SiQi"
  - family-names: "Xu"
    given-names: "James"
  - family-names: "Prorok"
    given-names: "Amanda"
    orcid: "https://orcid.org/0000-0001-7313-5983"
  - family-names: "Schoellig"
    given-names: "Angela P."
    orcid: "https://orcid.org/0000-0003-4012-4668"
  doi: "10.0000/00000"
  journal: "2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)"
  month: 1
  start: 1 # First page number
  end: 8 # Last page number
  title: "Learning to Fly---a Gym Environment with PyBullet Physics for Reinforcement Learning of Multi-agent Quadcopter Control"
  issue: 1
  volume: 1
  year: 2021

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Dependencies

pyproject.toml pypi
  • Pillow ^9.0
  • cycler ^0.10
  • gym ^0.21
  • matplotlib ^3.5
  • numpy ^1.22
  • pybullet ^3.2
  • python ^3.8
  • ray[rllib] 1.9
  • scipy ^1.8
  • stable-baselines3 1.5.0
  • tensorboard ^2.9
  • torch 1.11.0