Welcome to the repository containing the code used for the project
Autonomous Docking of Multi-Rotor UAVs on Blimps under the Influence of Wind Gusts
by Pascal Goldschmid and Aamir Ahmad.
The paper is available on arxiv here. The code state used for generating the results is marked with the tag v1.0.0.
Supplementary material (experiment results, log data, videos of simulation and real world experiments, etc.) can be found here.
If you have any questions, comments or suggestions please contact pascal.goldschmid@ifr.uni-stuttgart.de.
If you use our work, please cite it as
@misc{cite-key,
title={Autonomous Docking of Multi-Rotor UAVs under the Influence of Wind Gusts},
author={Pascal Goldschmid and Aamir Ahmad},
year={2025},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2511.19135},
}
This code base consists of three main repositories:
- data_generation: Containing scripts for the generation of a dataset that can be used for the training of the TCN predicting an airship's response to wind gusts. The basis are episodes of wind gusts affecting the airship recorded in the Gazebo-based airship simulation.
- tcn_airhsip_response: Containing all necessary files for the training of a TCN for the prediction of an airships response to wind gusts.
- aerial_docking: Contains the core elements of this project. These elements are mainly included in a ROS workspace that implements the required control functionalities to enable autonomous docking of multi-rotor UAVs on blimps.
Wherever necessary, the repositories are structured using branches. This is of importance especially for aerial_docking where the branch main includes all files for docking in simulation and the branch real_flights contains all files necessary for docking in the real world. The branches to consider of the other repositories are main for data_generation or develop for tcn_airhsip_response, respectively.
Install some basic packages first by running the commands
sudo apt update
sudo apt install screen
sudo apt install python3-pip
sudo apt install libgoogle-glog-dev
The repository includes several submodules that need to be considered during download. This can be achieved with the following command
git clone --recurse-submodules https://github.com/robot-perception-group/XXXXX.git
The code has been developed and tested on Ubuntu 20, ROS noetic, Gazebo 11 and Sphinx 2.15.1. Installation steps for ROS noetic and Gazebo 11 are given here.
To install the Sphinx simulator, follow the instructions given here. To install Olympe, the Python-based API to access the firmware of Anafi drones, follow the instructions provided here.
A list of required ROS packages can be found here. They can be installed using sudo apt install ros-noetic-package_name.
A list of required python modules that can be installed using pip3 install module_name can be found here. Also, please install pytorch using version 2.1 or higher.
To prepare the framework for running in simulation (no real flights) make sure that in repositories aerial_docking and data_generation the branch main is checked out. In repository tcn_airhsip_response, checkout branch develop.
You can use the script switch_to_main.sh like this ./aerial_docking/other_files/switch_to_main.sh main to switch to the main branch in aerial_docking. Once you did this, you will have to delete the folder aerial_docking/src/mod_anafi_ros.
You can use the script switch_to_real_flights.sh like this ./aerial_docking/other_files/switch_to_real_flights.sh main to switch to the real_flights branch in aerial_docking. Once you did this, you will have to delete the folders aerial_docking/src/anafi_sim and aerial_docking/src/airship_simulation.
Information about how to use the different repositories in detail are given in the corresponding readme files.
