If you did not do it already, please install the following packages.
sudo apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
libzmqpp-dev \
libopencv-dev
You can use this framework with the Robot Operating System (ROS) and you therefore first need to install it (Desktop-Full Install) by following the steps described in the ROS Installation.
To install Gazebo checkout out their documentation.
Or in short
- ROS Melodic and newer: use Gazebo version 9.x
sudo apt-get install gazebo9
- ROS Kinetic and newer: use Gazebo version 7.x
sudo apt-get install gazebo7
- ROS Indigo: use Gazebo version 2.x
sudo apt-get install gazebo2
Install system and ROS dependencies (on Ubuntu 20.04, replace python-vcstool
with python3-vcstool
):
sudo apt-get install libgoogle-glog-dev protobuf-compiler ros-$ROS_DISTRO-octomap-msgs ros-$ROS_DISTRO-octomap-ros ros-$ROS_DISTRO-joy python-vcstool
Before continuing, make sure that your protobuf compiler version is 3.0.0. To check this out, type in a terminal protoc --version
. If This is not the case, then check out this guide on how to do it.
Get catkin tools with the following commands:
sudo apt-get install python-pip
sudo pip install catkin-tools
Create a catkin workspace with the following commands by replacing <ROS VERSION>
with the actual version of ROS you installed:
cd
mkdir -p catkin_ws/src
cd catkin_ws
catkin config --init --mkdirs --extend /opt/ros/$ROS_DISTRO --merge-devel --cmake-args -DCMAKE_BUILD_TYPE=Release
Clone the repository
cd ~/catkin_ws/src
git clone https://github.com/uzh-rpg/flightmare.git
Clone dependencies:
vcs-import < flightmare/flightros/dependencies.yaml
Build:
catkin build
Add sourcing of your catkin workspace and FLIGHTMARE_PATH environment variable to your .bashrc
file:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
echo "export FLIGHTMARE_PATH=~/catkin_ws/src/flightmare" >> ~/.bashrc
source ~/.bashrc
Download Flightmare Unity Binary Download the Flightmare Unity Binary RPG_Flightmare.tar.xz for rendering from the Releases and extract it into the /path/to/flightmare/flightrender.
Now, you can move to Basic Usage with ROS and run the example.