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
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.
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.
- Clone the repository:
git clone https://github.com/ami-iit/paper_bergonti_2024_icra_codesign-morphing-drones.git
- 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>
- Specify the number of threads used by the optimiser:
mamba env config vars set OMP_NUM_THREADS=1
- 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"
- 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.
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:
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}
}
This repository is maintained by:
![]() |
@FabioBergonti |