Skip to content

Mathieu998-bit/fault-tolerant-flight-control-drl

 
 

Repository files navigation

DRL for Flight Control

Version Python Version License: MIT

Fault-tolerant flight control for the Cessna Citation 500. First use of Deep Reinforcement Learning for a jet aircraft flight controller. The code was developed for a Master's thesis entitled Deep Reinforcement Learning for Flight Control.

Installation

MacOS users can use the module straight away. Linux and Windows users are required to recompile the CitAST high-fidelity simulation model as instructed in docs/CitAST_for_Python.pdf.

  1. Clone fault-tolerant-flight-control-drl
cd <installation_path_of_your_choice>
git clone https://github.com/kdally/fault-tolerant-flight-control-drl
cd fault-tolerant-flight-control-drl
  1. Create a new conda environment with the required packages
conda env create -f environment.yml
conda activate ftc-drl
python setup.py install

Usage

  1. To fly the aircraft right away with pre-trained agents 🛩
python tests/test_all.py

Select flight settings on the GUI. Default choices are recommended for unexperienced users.

  1. To retrain the inner-loop and outer-loop controllers ⚙️
python tests/train_inner_loop.py
python tests/train_outer_loop.py
  1. To perform a hyperparameter optimization 🎯
python tests/optimization.py

Author

👤 K. Dally (Delft University of Technology MSc. Student)

Project developed as part of a Master's Thesis at the Control & Simulation Department, Faculty of Aerospace Engineering at Delft University of Technology.

References

  • Haarnoja, T., Zhou, A., Abbeel, P., and Levine, S. (2018) [paper][code]
  • Haarnoja, T., Zhou, A., Abbeel, P., and Hartikainen, K. (2019) [paper][code]
  • Hill, A. et al. (2018) [doc][code]
  • Rodríguez, R. (2021) [article][code]

About

Deep Reinforcement Learning for Flight Control

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 91.7%
  • MATLAB 8.3%