GazeboDrone allows connecting a gazebo drone to the AirSim drone, using the gazebo drone as a flight dynamic model (FDM) and AirSim to generate environmental sensor data. It can be used for Multicopters, Fixed-wings or any other vehicle.
Make sure you have installed gazebo dependencies:
sudo apt-get install libgazebo9-dev
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
The 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.
Inside your settings.json
file you need to add this line:
"PhysicsEngineName":"ExternalPhysicsEngine"
.
You may want to change the visual model of the AirSim drone, for that you can follow this tutorial.
Execute this from your AirSim root folder:
cd GazeboDrone
mkdir build && cd build
cmake -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ..
make
First run the AirSim simulator and your Gazebo model and then execute this from your AirSim root folder:
cd GazeboDrone/build
./GazeboDrone