Skip to main content

UAV Flight Simulator Gymnasium Environments for Reinforcement Learning Research.

Project description

PyFlyt - UAV Flight Simulator for Reinforcement Learning

Comes with Gymnasium and PettingZoo environments built in!

View the documentation here!

This is a library for testing reinforcement learning algorithms on UAVs. This repo is still under development. We are also actively looking for users and developers, if this sounds like you, don't hesitate to get in touch!

Installation

pip3 install wheel numpy
pip3 install pyflyt

numpy and wheel must be installed prior to pyflyt such that pybullet is built with numpy support.

Usage

Usage is similar to any other Gymnasium and PettingZoo environment:

Gymnasium

import gymnasium
import PyFlyt.gym_envs # noqa

env = gymnasium.make("PyFlyt/QuadX-Hover-v2", render_mode="human")
obs = env.reset()

termination = False
truncation = False

while not termination or truncation:
    observation, reward, termination, truncation, info = env.step(env.action_space.sample())

View the official documentation for gymnasium environments here.

PettingZoo

from PyFlyt.pz_envs import MAFixedwingDogfightEnv

env = MAFixedwingDogfightEnv(render_mode="human")
observations, infos = env.reset()

while env.agents:
    # this is where you would insert your policy
    actions = {agent: env.action_space(agent).sample() for agent in env.agents}

    observations, rewards, terminations, truncations, infos = env.step(actions)
env.close()

View the official documentation for pettingzoo environments here.

Citation

If you use our work in your research and would like to cite it, please use the following bibtex entry:

@article{tai2023pyflyt,
  title={PyFlyt--UAV Simulation Environments for Reinforcement Learning Research},
  author={Tai, Jun Jet and Wong, Jim and Innocente, Mauro and Horri, Nadjim and Brusey, James and Phang, Swee King},
  journal={arXiv preprint arXiv:2304.01305},
  year={2023}
}

Gallery

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyflyt-0.26.0.tar.gz (183.1 kB view details)

Uploaded Source

Built Distribution

PyFlyt-0.26.0-py3-none-any.whl (214.4 kB view details)

Uploaded Python 3

File details

Details for the file pyflyt-0.26.0.tar.gz.

File metadata

  • Download URL: pyflyt-0.26.0.tar.gz
  • Upload date:
  • Size: 183.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pyflyt-0.26.0.tar.gz
Algorithm Hash digest
SHA256 77ad9fb3ea8401df47157dada85ac8cb81a744bfca3d1cdb33f5ef20ebb2ba68
MD5 ac48c79d54d2d9aeac18b5a8712f7b38
BLAKE2b-256 e09d22df3b62c0f5e60e319f95daa67cdaa2e60cc322e2b764f83631963d741b

See more details on using hashes here.

File details

Details for the file PyFlyt-0.26.0-py3-none-any.whl.

File metadata

  • Download URL: PyFlyt-0.26.0-py3-none-any.whl
  • Upload date:
  • Size: 214.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for PyFlyt-0.26.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b736ff153e66cdcc608f573fe66f8c4a0a4c62e47e08603a9010c02aafbb764c
MD5 9935414c28d1ca7421eb1c49dd2a0974
BLAKE2b-256 cbc41e342773e56c18d628ab561c68b2c2164eeca217cb8a0e85d97fe0216426

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page