Fixedwing-Airsim
Combines JSBSim and Airsim within a python module to simulate a fixedwing aircraft for Reinforcement Learning (RL)
Installation
- Install Airsim
- Install JSBSim
- Clone this repository onto your system
- Move the x8 dir into your JSBSim aircraft dir
- Move the electric800w.xml file into the x8 dir into the engine dir
Usage
Fixedwing-Airsim has several modules that can be used to control a fixedwing aircraft:
- main.py
is the main module that uses the aircraft's autopilot top fly a simple flight profile. This would be a good
place to start with the program.
- Autopilot.py
contains the basic and path planning autopilots for a default JSBSim C172 and an x8 UAV. The x8 UAV
is validated against real flight data and based on an FDM developed in a wind tunnel.
- baisc_ic.xml is the default
starting conditions for the vehicle 1pixel in UE4 equals 1cm for reference.
- image_processing.py is
still in development and takes images from simulation for use with computer vision algorithms.
- environment.py
is an abstract class of an openAI gym environment.
- tasks.py is another abstract class
that defines state, space, action, reward functions for specific RL tasks.
- jsbsim_properties.py
defines properties available from the JSBSim module and controls possible I/O.
- jsbsim_simulator.py links JSBSim to AirSim and allows for I/O out of the 2 programmes.
Attribution
If you find our work useful we'd love to hear from you. If you use this repositorty as part of your research can you please cite the repository in your work:
@misc{FW-AirSim,
author = {Quessy, Alexander},
title = {Fixedwing-Airsim},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/AOS55/Fixedwing-Airsim}}
}
Thank you!