A gymnasium style environment for standardized Reinforcement Learning research in Air Traffic Management.
Project description
BlueSky-Gym
A gymnasium style library for standardized Reinforcement Learning research in Air Traffic Management developed in Python. Build on BlueSky and The Farama Foundation's Gymnasium
An example trained agent attempting the merge environment available in BlueSky-Gym.
For a complete list of the currently available environments click here
Installation
Update 27 February 2025: There is currently a bug when pip installing BlueSky-Simulator, which causes the pip install to fail on most machines (see issue). For now, users can clone the repository linked in this branch and pip install the requirements.txt file to circumvent this problem. This branch contains a local, barebones, version of BlueSky-Simulator from which the required functionality is retrieved.
pip install bluesky-gym
Note that the pip package is bluesky-gym, for usage however, import as bluesky_gym.
Usage
Using the environments follows the standard API from Gymnasium, an example of which is given below:
import gymnasium as gym
import bluesky_gym
bluesky_gym.register_envs()
env = gym.make('MergeEnv-v0', render_mode='human')
obs, info = env.reset()
done = truncated = False
while not (done or truncated):
action = ... # Your agent code here
obs, reward, done, truncated, info = env.step(action)
Additionally you can directly use algorithms from standardized libraries such as Stable-Baselines3 or RLlib to train a model:
import gymnasium as gym
import bluesky_gym
from stable_baselines3 import DDPG
bluesky_gym.register_envs()
env = gym.make('MergeEnv-v0', render_mode=None)
model = DDPG("MultiInputPolicy",env)
model.learn(total_timesteps=2e6)
model.save()
Contributing and Assistance
If you would like to contribute to BlueSky-Gym or need assistance in setting up or creating your own environments, do not hesitate to open an issue or reach out to one of us via the BlueSky-Gym Discord. Additionally you can have a look at the roadmap for inspiration on where you can contribute and to get an idea of the direction BlueSky-Gym is going.
Citing
If you use BlueSky-Gym in your work, please cite it using:
@misc{bluesky-gym,
author = {Groot, DJ and Leto, G and Vlaskin, A and Moec, A and Ellerbroek, J},
title = {BlueSky-Gym: Reinforcement Learning Environments for Air Traffic Applications},
year = {2024},
journal = {SESAR Innovation Days 2024},
}
List of publications & preprints using BlueSky-Gym (please open a pull request to add missing entries):
- missing entry
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
File details
Details for the file bluesky_gym-0.2.0.tar.gz.
File metadata
- Download URL: bluesky_gym-0.2.0.tar.gz
- Upload date:
- Size: 25.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4453fe965152a76b4b6c7c9b0d1abc21c0101d76fb1c819595ab5b4d030fe237
|
|
| MD5 |
21b4df0345f18fd3ba4ca049d470d582
|
|
| BLAKE2b-256 |
aa0c44ade09491f4462d635d97322c2b72db19b35dfd5a4a948f40fef04325a5
|
Provenance
The following attestation bundles were made for bluesky_gym-0.2.0.tar.gz:
Publisher:
python-publish.yml on TUDelft-CNS-ATM/bluesky-gym
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bluesky_gym-0.2.0.tar.gz -
Subject digest:
4453fe965152a76b4b6c7c9b0d1abc21c0101d76fb1c819595ab5b4d030fe237 - Sigstore transparency entry: 243905580
- Sigstore integration time:
-
Permalink:
TUDelft-CNS-ATM/bluesky-gym@6e85ddda674c1b441891b1502f0c62861bcc3bb3 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/TUDelft-CNS-ATM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6e85ddda674c1b441891b1502f0c62861bcc3bb3 -
Trigger Event:
release
-
Statement type: