marl-drones
Drone Automation using Multi-Agent Reinforcement Learning
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
Repository
Drone Automation using Multi-Agent Reinforcement Learning
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
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
- Repositories: 36
- Profile: https://github.com/lpanjwani
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
- 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