Science Score: 44.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
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: PatrickYang-5
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 1010 KB
Statistics
  • Stars: 9
  • Watchers: 1
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Created almost 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

MPC for Multi-UAVs

This is the repository containing the Linear MPC codes used for Multi-UAVs.

Installation

On macOS and Ubuntu

```sh cd gym-pybullet-drones/

conda create -n drones python=3.10 conda activate drones

pip3 install --upgrade pip pip3 install -e . # if needed, sudo apt install build-essential to install gcc and build pybullet

```

On Windows

Requirements

Download Visual Studio and C++ 14.0 - We recommend the free Community version - Select "Desktop development with C++"

Download Python 3 - Note: we used the Windows x86-64 installer on Windows 10 Home

Download a Python IDE - We recommend PyCharm Community - Select all the options in the installer and reboot

Installation

Download the code, unzip and open the project in PyCharm

To run code you may need to configure PyCharm. - Go to File->Settings and Select Your dictionary->Python Interpreter

  • Select the +

Type numpy and click "Install package".

Type matplotlib and click "Install package".

Type pybullet and click "Install package".

Type gym and click "Install package".

Type Pillow and click "Install package".

Type Cycler and click "Install package".

Type cvxpy and click "Install package".

Type pytransform3d and click "Install package".

Type open3d and click "Install package".

Run

The demos for MPC are located in folder gym_pybullet_drones/demo, named RegularMPC and OutputMPC

RegularMPC.py

A sample program for testing regular MPC, which can be used for a single drone or multiple drones, but does not incorporate multi-drone interaction.

OutputMPC.py

A sample program is used to test output MPC, which can be used for a single UAV or for multiple UAVs, where the constraints between the UAVs can be adjusted to soft and hard constraints.

Contact

This program is tested in Linux 20.04 and MacOS with M1 chip, if there are solving errors please try to adjust the weight matrix, prediction intervals and soft constraint weights, or contact the author for feedback on the problem.

Owner

  • Login: PatrickYang-5
  • Kind: user

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: 4
Last Year
  • Watch event: 4

Dependencies

.github/workflows/push.yml actions
.github/workflows/release.yml actions
pyproject.toml pypi
  • gymnasium ^0.28
  • matplotlib ^3.7
  • numpy ^1.24
  • pybullet ^3.2.5
  • pytest ^7.3
  • python ^3.10
  • scipy ^1.10
  • stable-baselines3 ^2.0.0
  • transforms3d ^0.4.1