Skip to content
/ FlyerEnv Public

A gymnaisum environment for autonomous decision making in fixed-wing aircraft

License

Notifications You must be signed in to change notification settings

AOS55/FlyerEnv

Repository files navigation

FlyerEnv

build

A gymnasium environment for autonomous decision-making in fixed-wing aircraft

The Environments

Point Navigation

env = gymnasium.make("flyer-v1")

In this task the aircraft must navigate to a specified 3D goal point in space in the shortest possible time.

Trajectory Following

env = gymnasium.make("trajectory-v1")


Trajectory Following

In this task the aircraft must follow a trajectory created by a moving target, maintaining on target maximizes the reward. The possible trajectory primitives are as follows:

  • sl, maintain straight and level flight.
  • climb, climb to a specified level at a fixed climb angle.
  • descend, descend to a specified level at a fixed descent angle.
  • lt, turn left to a specified heading at a fixed rate.
  • rt, turn right to a specified heading at a fixed rate.

Runway Landing

env = gymnasium.make("runway-v1")


Runway Landing

In this task the aircraft needs to navigate to a runway to land.

Forced Landing

env = gymnasium.make("forced_landing-v1")


Forced Landing

In this task the aircraft needs to find a suitable landing spot in an unprepared location.

Installation

pip install flyer-env

Usage

import gymnasium as gym

env = gym.make("flyer-v1", render_mode="human")

done = truncated = False
while not (done or truncated):
    action = ... # Your agent code goes here
    obs, reward, done, truncated, info = env.step(action)

Documentation

Read the documentation: https://aos55.github.io/FlyerEnv/

Citing

If you use the project in your work, please consider citing it with:

@misc{flyer-env,
    author={Quessy, Alexander},
    title={An Environment for Autonomous Fixed-Wing Guidance, Navigation and Control Tasks},
    year={2023},
    publisher={GitHub},
    journal={GitHub repository},
    howpublished={\url{https://github.com/AOS55/flyer-env}},
}