Skip to main content

UAV Flight Simulator Gymnasium Environments for Reinforcement Learning Research.

Project description

Ruff total downloads weekly downloads

PyFlyt - UAV Flight Simulator for Reinforcement Learning Research

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}
}

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.23.0.tar.gz (173.6 kB view details)

Uploaded Source

Built Distribution

PyFlyt-0.23.0-py3-none-any.whl (206.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyflyt-0.23.0.tar.gz
  • Upload date:
  • Size: 173.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for pyflyt-0.23.0.tar.gz
Algorithm Hash digest
SHA256 69a9b0139b2c0f14d6ba69fc3e95ea94d95c4352437ad1215b721f640cff116d
MD5 ab876bac66954f4b8da9edddc0f73bbf
BLAKE2b-256 eb418a6e927b7c83a8e7993a65403a4b9ab692692a052565b5e9a3e9934139dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: PyFlyt-0.23.0-py3-none-any.whl
  • Upload date:
  • Size: 206.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for PyFlyt-0.23.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d39b13c55461cf1369ed4724dc14728b656b1606bfb027002788fc9a0b3765a2
MD5 8acbc223f9ca57781d34906c2b0a5f27
BLAKE2b-256 e2f48bb7ed919b05afa26c405fcdc7ee7696233d17766cb3f20ac7caa511df66

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