Skip to content

How to build and install grvc ual

arturotorresg edited this page Apr 24, 2020 · 31 revisions

There are no binary distributions for grvc-ual, so you need to download the source and build it yourself. In order to use grvc-ual, you need a working installation of ROS Melodic. Refer to this site for installing it. All development is tested in Ubuntu 18.04. We will assume you have your ROS workspace in the ~/catkin_ws folder.

UAL versions prior to v3.1 are tested in Ubuntu 16.04 and ROS Kinetic.

Quick setup

Now it is easier to setup UAL. You need to run configuration script in the root folder:

$ cd ~/catkin_ws/src
$ git clone https://github.com/grvcTeam/grvc-ual.git
$ cd ~/catkin_ws/src/grvc-ual
$ ./configure.py

This script will ask you which of the available backends you want to use. Keep in mind that some of them need specific and not so easy to install dependencies (e.g. UE and DJI), so choose only those you will really use.

In some cases, it can install the extra dependencies automatically. If not, it should show you where to find the instructions to install these dependencies, which are also here.

Then you can compile:

$ cd ~/catkin_ws
$ catkin_make

If you are here, everything is ready. In case of problems, you should check our known issues page or create a new issue on GitHub.


Detailed setup

In case you prefer to know the details or if you are new to Linux and ROS, follow these instructions.

Installing dependencies

Before you can actually install the project, you need to install the following dependencies.

$ sudo apt-get install libeigen3-dev ros-$(rosversion -d)-geodesy ros-$(rosversion -d)-joy

Check this section for specific dependencies per backend.

Creating your workspace

The first thing you need for this is a catkin workspace. If you already have a workspace you wish to use to build the packages, skip to "Downloading and compiling the source". If not, follow the instructions in Create a ROS Workspace.

We will assume you are creating your workspace in the ~/catkin_ws folder.

Downloading and compiling the source

The grvc-ual repository contains a folder with a set of packages. These packages need to reside in the src folder of your catkin workspace. Follow this instructions to correctly download and compile the source:

$ cd ~/catkin_ws/src
$ git clone https://github.com/grvcTeam/grvc-ual.git
$ cd ~/catkin_ws/src/grvc-ual
$ ./configure.py
$ cd ~/catkin_ws
$ catkin_make

The main objective of the configure.py script is to put CATKIN_IGNORE files in the backends that you won't use. Thus, you can use the script or directly create those CATKIN_IGNORE files manually.


Specific backend dependencies

Crazyflie

DJI ROS

MAVLink

MAVROS

$ sudo apt install -y ros-$(rosversion -d)-mavros ros-$(rosversion -d)-mavros-extras
$ sudo geographiclib-get-geoids egm96-5
$ sudo usermod -a -G dialout $USER
$ sudo apt remove modemmanager

If you want to use the PX4 SITL simulations, follow these instructions to install and configure the required software.

UE (Unreal Engine - Airsim)

  • Request permission to clone Unreal Engine tutorial.
  • Download and install UnrealEngine:
    git clone -b 4.18 https://github.com/EpicGames/UnrealEngine.git
    cd UnrealEngine
    ./Setup.sh
    ./GenerateProjectFiles.sh
    make
    
  • Download and compile AirSim:
    git clone https://github.com/Microsoft/AirSim.git
    cd AirSim
    ./setup.sh
    ./build.sh
    
  • Install AirSim, keep in the AirSim folder:
    sudo mkdir -p /usr/local/lib/AirSim
    sudo cp AirLib/lib/libAirLib.a /usr/local/lib/AirSim/
    sudo cp AirLib/lib/x64/Debug/libMavLinkCom.a /usr/local/lib/AirSim
    sudo cp AirLib/lib/x64/Debug/librpc.a /usr/local/lib/AirSim/
    sudo mkdir -p /usr/local/include/AirSim
    sudo cp AirLib/include/* /usr/local/include/AirSim/ -R
    sudo mkdir -p /usr/local/include/AirSim/deps
    sudo cp AirLib/deps/* /usr/local/include/AirSim/deps -R
    sudo cp AirLib/deps/eigen3/Eigen /usr/local/include/AirSim/common/ -R