Git Product home page Git Product logo

vision-based_uav_fdd's Introduction

From Data to Prediction: Vision-Based UAV Fault Detection and Diagnosis

record screenshot

This repository is a centralised hub for all the repositories that contain the source code of the following literature:

  1. Master thesis: "From Data to Prediction: Vision-Based UAV Fault Detection and Diagnosis".
  2. Paper 1: "Blade Element Theory Model for UAV Blade Damage Simulation".
  3. Paper 2: "Unreal Success: Vision-Based UAV Fault Detection and Diagnosis Frame".

The main goal of this work was the development of a knowledge-based model capable of performing UAV actuator fault detection and diagnosis. For that purpose, a three stage project was carried out. First, a more accurate blade damage model was developed than what is available in literature by considering the aerodynamic forces and moments. Second, a simulator was built that allows the injection of failures during the flight for the collection of data which can be used for the third and last step, which is the development of the fault detection and diagnosis framework.

The content of each of the repositories is mentioned below:

  1. Blade_damage: In this repository, a white-box blade damage simulation model based on Blade Element Theory (BET) that complements the identified healthy UAV model is implemented. To this end, the developed approach provides the difference in forces and moments with respect to the nominal system. In contrast with existing methods, the effects from both shifts in the centres of gravity and pressure are considered. The approach allows the injection of any level of failure without the need of added costly and dangerous system identification experiments. To the author’s knowledge, this is the first time BET is used for UAV blade damage simulation and the first time mass and aerodynamic effects are modelled together in order to shift research towards more realistic white-box blade damage models. Furthermore, this code also presents a method for identifying the (mostly unknown) UAV blade lift and drag curves with respect to the angle of attack using BET, an approach never tried before in literature.

  2. Blade_damage_validation: This repository provides the tools for the validation of the Blade Element Theory model. To validate the proposed BET model, it has been applied to the Parrot Bebop® 2 UAV. Its predictions were compared to the wrench signals of a damaged propeller at multiple degrees of failure. The validation data was gathered during a dedicated wind tunnel experimental campaign at the Open Jet Facility at Delft University of Technology which allowed the controlled variation of environmental variables such as the wind speed (between 0 and 12 m/s) and the propeller incidence angle (between 0 and 𝜋/2 rad).

  3. DataGatheringUE4: This repository provides the Python tools of UUFOSim (Unreal UAV Failure injectiOn Simulator), a data gathering pipeline built on AirSim for the collection of synthetic flight data with actuator failures in a urban environment within Unreal Engine 4. The potential of UUFOSim has been demonstrated for the Parrot Bebop® 2 UAV. Its aerodynamic model is available from literature and it has been complemented with the blade damage model.

  4. Airlib_FDD: This repository provides the modified C++ AirSim plugin for the generation of drone sensor data under actuator faults using the AirSim simulator within Unreal Engine 4.

  5. FDD: This repository provides the implementation of the Fault Detection and Diagnosis Model. It is an LSTM-based online FDD framework that fuses camera and IMU data is proposed. To this end, the camera information is pre-processed by the Raft optical flow model in order to extract the magnitude and direction of the vehicle’s ego-motion. The IMU data is passed through a Short-Time Fourier Transform for feature extraction. To the authors’ knowledge, it is the first time that both sensor sources are combined for UAV FDD. The potential of the FDD has been demonstrated for the Parrot Bebop® 2 UAV in simulation. The FDD framework was run at 10 Hz and it had to distinguish between 17 states: 16 failure states, namely four levels of blade damage failure for each of the four propellers, and a healthy state.

Note

The present repository is meant as a centralised hub where the user can find all the working repositories of the project. It is recommended that the user clones each of the aforementioned repositories separately, instead of cloning this repository with the others as submodules.

Contact

Hope you enjoy the code!! For any questions, comments or suggestions, please reach out to me at [email protected]. Also, please consider citing our research work below when using this repository.

@inbook{deAlvearCardenasBET2024,
    author = {José Ignacio de Alvear Cárdenas and Coen C. de Visser},
    title = {Blade Element Theory Model for UAV Blade Damage Simulation},
    booktitle = {AIAA SCITECH 2024 Forum},
    chapter = {},
    pages = {},
    doi = {10.2514/6.2024-2816},
    URL = {https://arc.aiaa.org/doi/abs/10.2514/6.2024-2816}
}

@inbook{deAlvearCardenasFDD2024,
    author = {José Ignacio de Alvear Cárdenas and Coen C. de Visser},
    title = {Unreal Success: Vision-Based UAV Fault Detection and Diagnosis Framework},
    booktitle = {AIAA SCITECH 2024 Forum},
    chapter = {},
    pages = {},
    doi = {10.2514/6.2024-0760},
    URL = {https://arc.aiaa.org/doi/abs/10.2514/6.2024-0760}
}

vision-based_uav_fdd's People

Contributors

joigalcar3 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.