kdally / fault-tolerant-flight-control-drl

Deep Reinforcement Learning for Flight Control

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DRL for Flight Control

CodeQL Python License docs arXiv

Fault-tolerant flight control for the Cessna Citation 500. First use of Deep Reinforcement Learning for a jet aircraft flight controller. The paper for this code can be found at doi.org/10.2514/6.2022-2078. The arXiv reprint is known as arXiv:2202.09262.

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.

Paper

The paper was presented at the AIAA SciTech conference in Jan. 2022 and can be found at doi.org/10.2514/6.2022-2078. A recorded presentation can also be found at doi.org/10.2514/6.2022-2078.vid.

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

License:MIT License


Languages

Language:Python 91.7%Language:MATLAB 8.3%