Multirotor Drone

This example includes several models of drones modelled at differing levels of detail, demonstrating how models can be matured as more details are added and how the system can be co-optimized.

You can view a short overview of the model in Overview: Multirotor Drone.

Further description and use of the model is given in the provided notebooks:

References:

  • Hulse, D., Walsh, H., Dong, A., Hoyle, C., Tumer, I., Kulkarni, C., & Goebel, K. (2021). fmdtools: A fault propagation toolkit for resilience assessment in early design. International Journal of Prognostics and Health Management, 12(3). https://doi.org/10.36001/ijphm.2021.v12i3.2954

  • Hulse, D., Biswas, A., Hoyle, C., Tumer, I. Y., Kulkarni, C., & Goebel, K. (2021). Exploring architectures for integrated resilience optimization. Journal of Aerospace Information Systems, 18(10), 665-678. https://doi.org/10.2514/1.I010942

  • Hulse, D, Zhang, H, & Hoyle, C. “Understanding Resilience Optimization Architectures With an Optimization Problem Repository.” Proceedings of the ASME 2021 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. Volume 3A: 47th Design Automation Conference (DAC). Virtual, Online. August 17–19, 2021. V03AT03A039. ASME. https://doi.org/10.1115/DETC2021-70985

Package Structure:

Models:

  • model_static.py: Base drone model file with very simple static behaviors

  • model_dynamic.py: Extended drone model with dynamic behavior

  • model_hierarchical.py: Extended drone model with component architectures

  • model_rural.py: Extended drone model flying in a rural environment

  • model_urban.py: Extended drone model flying in an urban environment

Scripts and tests:

  • test_multirotor.py: Tests various drone behaviors

  • script_opt_model_rural.py: Functions for optimizing model_rural.py.

Notebooks:

  • demo_overview.ipynb: an overview of the purpose and uses of this example.

  • tutorial_fmdtools_basics.ipynb: basic tutorial using the multirotor model to show how to use fmdtools.

  • paper_ijphm_fmdtools.ipynb: demonstration showing how a model can be matured as more details are added.

  • demo_urban_flight.ipynb: Usage of the urban drone, which sets up the drone flight over a gridworld representing different buildings.

  • demo_optimization_architectures.ipynb: Optimization of the drone.