Skip to content

Welcome to GazeboDrone

GazeboDrone allows connecting a gazebo drone to the HERCULES drone, using the gazebo drone as a flight dynamic model (FDM) and HERCULES to generate environmental sensor data. It can be used for Multicopters, Fixed-wings or any other vehicle.

Dependencies

Gazebo

Make sure you have installed gazebo dependencies:

sudo apt-get install libgazebo9-dev

AirLib

This project is built with GCC 8, so AirLib needs to be built with GCC 8 too. Run from your HERCULES root folder:

./clean.sh
./setup.sh
./build.sh --gcc

HERCULES simulator

The Cosys-AirSim UE plugin needs to be built with clang, so you can't use the one compiled in the previous step. You can use our binaries or you can clone HERCULES again in another folder and buid it without the above option, then you can run Blocks or your own environment.

HERCULES settings

Inside your settings.json file you need to add this line:
"PhysicsEngineName":"ExternalPhysicsEngine".
You may want to change the visual model of the HERCULES drone, for that you can follow this tutorial.

Build

Execute this from your HERCULES root folder:

cd GazeboDrone
mkdir build && cd build
cmake -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ..
make

Run

First run the HERCULES simulator and your Gazebo model and then execute this from your HERCULES root folder:

cd GazeboDrone/build
./GazeboDrone