Welcome to GazeboDrone

GazeboDrone allows connecting a gazebo drone to the Cosys-AirSim drone, using the gazebo drone as a flight dynamic model (FDM) and Cosys-AirSim 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 AirSim root folder:

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

Cosys-AirSim 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 AirSim again in another folder and buid it without the above option, then you can run Blocks or your own environment.

Cosys-AirSim settings

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

Build

Execute this from your Cosys-AirSim root folder:

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

Run

First run the Cosys-AirSim simulator and your Gazebo model and then execute this from your Cosys-AirSim root folder:

cd GazeboDrone/build
./GazeboDrone