Giter Site home page Giter Site logo

ami-iit / paper_bergonti_2024_icra_codesign-morphing-drones Goto Github PK

View Code? Open in Web Editor NEW
11.0 4.0 1.0 34.22 MB

Supplementary Material "Co-Design Optimisation of Morphing Topology and Control of Winged Drones" published in IEEE 2024 International Conference on Robotics and Automation (ICRA)

License: BSD 3-Clause "New" or "Revised" License

Python 99.91% CMake 0.09%
aerial-robotics codesign evolutionary-algorithms multiobjective-optimization robotics trajectory-optimization

paper_bergonti_2024_icra_codesign-morphing-drones's Introduction

Co-Design Optimisation of Morphing Topology and Control of Winged Drones

F. Bergonti, G. Nava, V. Wüest, A. Paolino, G. L'Erario, D. Pucci, D. Floreano "Co-Design Optimisation of Morphing Topology and Control of Winged Drones" in 2024 International Conference on Robotics and Automation (ICRA), 05 2024

Co-Design.Optimisation.of.Morphing.Topology.and.Control.of.Winged.Drones.mp4

Abstract

The design and control of winged aircraft and drones is an iterative process aimed at identifying a compromise of mission-specific costs and constraints. When agility is required, shape-shifting (morphing) drones represent an efficient solution. However, morphing drones require the addition of actuated joints that increase the topology and control coupling, making the design process more complex. We propose a co-design optimisation method that assists the engineers by proposing a morphing drone’s conceptual design that includes topology, actuation, morphing strategy, and controller parameters. The method consists of applying multi-objective constraint-based optimisation to a multi-body winged drone with trajectory optimisation to solve the motion intelligence problem under diverse flight mission requirements, such as energy consumption and mission completion time. We show that co-designed morphing drones outperform fixed-winged drones in terms of energy efficiency and mission time, suggesting that the proposed co-design method could be a useful addition to the aircraft engineering toolbox.

Installation

A quick way to install the dependencies is via conda package manager which provides binary packages for Linux, macOS and Windows of the software contained in the robotology-superbuild. Relying on the community-maintained conda-forge channel and also the robotology conda channel.

Please refer to the documentation in robotology-superbuild to install and configure a conda distribution. Then, once your environment is set, you can run the following command to install the required dependencies.

  1. Clone the repository:
    git clone https://github.com/ami-iit/paper_bergonti_2024_icra_codesign-morphing-drones.git
  2. Install conda dependencies:
    cd paper_bergonti_2024_icra_codesign-morphing-drones
    mamba env create -n <conda-environment-name> --file environment.yml
    mamba activate  <conda-environment-name>
  3. Specify the number of threads used by the optimiser:
    mamba env config vars set OMP_NUM_THREADS=1
  4. Build ROS packages:
    cd src
    catkin_init_workspace
    cd ..
    catkin_make
    echo "source $(pwd)/devel/setup.sh" > "${CONDA_PREFIX}/etc/conda/activate.d/rosmuav_activate.sh"
    chmod +x "${CONDA_PREFIX}/etc/conda/activate.d/rosmuav_activate.sh"
  5. Install python repository:
    pip install --no-deps -e .

Warning

When you activate the conda environment, the ROS environment is automatically sourced. If you want to deactivate the ROS environment, you should open a new terminal.

Warning

Note that to replicate the paper results, you need to install the HSL solvers (here we use ma27), which can be downloaded but not redistributed. Please check here. Once you have downloaded and configured the solver, you have to modify this line and set ma27.

Note

The installation procedure has been tested on Ubuntu 22.04 in a WSL2 environment. Windows is not supported due to the lack of support for the ros-noetic-jsk-rviz-plugins package as of October 2023.

Usage

The results of the paper can be reproduced by running the following scripts:

The running time is approximately ~15.7 hours for run_codesign.py and ~1.7 hours for run_validation.py on a machine with two AMD EPYC 7513 CPUs, utilizing 100 cores.

The figures from the paper can be reproduced by running the following scripts:

Citing this work

If you find the work useful, please consider citing:

@article{bergonti2024co,
  title={Co-Design Optimisation of Morphing Topology and Control of Winged Drones},
  author={Bergonti, Fabio and Nava, Gabriele and W{\"u}est, Valentin and Paolino, Antonello and L'Erario, Giuseppe and Pucci, Daniele and Floreano, Dario},
  booktitle={2024 International Conference on Robotics and Automation (ICRA)},
  year={2024},
  organization={IEEE}
}

Maintainer

This repository is maintained by:

@FabioBergonti

Size

paper_bergonti_2024_icra_codesign-morphing-drones's People

Contributors

fabiobergonti avatar traversaro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

irfan-gh

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.