Combines JSBSim and Airsim within a python module to simulate a fixedwing aircraft for Reinforcement Learning (RL)
- 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
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.
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!