Skip to content

Akkodis/FW-JSBGym

Repository files navigation

FW-JSBGym

RL compatible framework of the JSBSim simulator. All control algorithms, training and testing scripts are on the FWFlightControl repository.

Installation

Requires python 3.10

Clone the repository and its submodules: git clone --recurse-submodules git@github.com:Akkodis/FW-JSBGym.git

If you wish to use the FlightGear visualization:

  • Install the AppImage from here and place the file into your $HOME/Apps/ directory (create it if it does not exist).
  • Launch the AppImage for it to create all the config and data folders.
  • Copy the contents of fgdata/Aircraft/ of the repository in the $HOME/Apps/fgdata/Aircraft/.
conda env create --file environment.yml
pip install -e .

Directory organization

  • envs/ contains the JSBSimEnv abstract class, describing the basis of a JSBSim env.
    • tasks/attitude_control contains the child classes of JSBSimEnv for the attitude control tasks.
  • fdm_descriptions/ JSBSim description of the c172p and x8 aircrafts.
  • fgdata/ FlightGear visualization files.
  • models/ Saves of NN models.
  • simulation/jsb_simulation.py contains core functions of JSBSim for setting up, stepping the simulation, accessing properties and converting units.
  • utils/jsbsim_properties.py references properties to be accessed, inspired from existing work: https://github.com/Gor-Ren/gym-jsbsim/blob/master/gym_jsbsim/properties.py
  • visualizers/
    • attitude_control_telemetry.py handles the 'live' plot visualization of a flight.
    • visualizer.py handles FlightGear viz or calls the live plot visualizer.

Citation

@inproceedings{olivares2024mfvsmb,
  title={Model-Free versus Model-Based Reinforcement Learning for Fixed-Wing UAV Attitude Control Under Varying Wind Conditions}, 
  author={David Olivares and Pierre Fournier and Pavan Vasishta and Julien Marzat},
  booktitle={International Conference on Informatics in Control, Automation and Robotics (ICINCO)},
  year={2024}
}

About

RL compatible framework for training flying policies in the JSBSim simulator.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages