iff-gsc / FTC_Quadrotor_EuroGNC_2022

Incremental Passive Fault-Tolerant Control for Quadrotors With up to Three Successive Rotor Failures
GNU General Public License v2.0
8 stars 4 forks source link
allocation arducopter ardupilot control failure fault-tolerant flight indi matlab passive quadcopter quadrotor rotor simulink sitl test video

Incremental Passive Fault-Tolerant Control for Quadrotors With up to Three Successive Rotor Failures

This repository contains the source code used for the research results in Ref. [1]. The publication is about passive fault-tolerant control of quadrotors subject to complete rotor failures. Passive means that the error does not have to be detected. The controller presented here is based on the methods of Incremental Nonlinear Dynamic Inversion (INDI) and Control Allocation (CA) with prioritization of roll and pitch attitude over yaw. This code can be used to reproduce the figures from Ref. [1], on the one hand, and to investigate other rotor failures in simulation, on the other. For further information see Ref. [1].

Flight Test Video

Flight test

Reference

[1] Beyer, Y., Gücker, F., Bremers, E., Steen, M., & Hecker, P. (2022). Incremental Passive Fault-Tolerant Control for Quadrotors With up to Three Successive Rotor Failures. In 6th CEAS Conference on Guidance, Navigation and Control (EuroGNC) 2022.

If you use this code in an academic work, please cite:

@inproceedings{beyer2022incremental,
  title={Incremental Passive Fault-Tolerant Control for Quadrotors With up to Three Successive Rotor Failures},
  author={Beyer, Yannic, G\"ucker, Fabian, Bremers, Eike, Steen, Meiko and Hecker, Peter},
  booktitle={6th CEAS Conference on Guidance, Navigation and Control (EuroGNC) 2022},
  year={2022}
 }

Installation

Example

Open and run paper_plots in _/scripts/_ in MATLAB (if it is not on the MATLAB path already, click Change Folder or Add to Path). After some time the figures of Ref. [1] will appear.

If you want to visualize the quadrotor, start FlightGear by executing runfg_IRIS.sh (Linux) or runfg_IRIS.bat which are located in _/libraries/ladac-examples-data/FlightGear/_.

How to use?

What to do in case of problems?

If something does not work or if you get stuck, please submit an issue.