Skip to content

How to build and install grvc ual

arturotorresg edited this page Jan 23, 2019 · 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 Kinetic. Refer to this site for installing it. All development is tested in Ubuntu 16.04.

Building in Linux

Installing dependencies

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

$ sudo apt-get install libeigen3-dev ros-kinetic-mavros ros-kinetic-mavros-extras ros-kinetic-geodesy ros-kinetic-joy

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
$ catkin build

Support simulation and SITL

If you intend to use software in the loop with PX4 (for example, to simulate in gazebo), you also need the PX4 repository. To clone it with all its submodules:

$ cd ~/catkin_ws/src
$ git clone --recursive https://github.com/PX4/Firmware.git
$ cd Firmware
$ git checkout -f v1.7.3
$ git submodule update --recursive

Extra dependencies for PX4:

$ sudo apt-get install protobuf-compiler python-jinja2
$ sudo pip install numpy toml

Build your directory, and the PX4 firmware for sitl. In latest versions of ros-kinetic, before compiling it is needed to call sudo geographiclib-get-geoids egm96-5

$ cd ~/catkin_ws
$ catkin build
$ cd src/Firmware
$ make
$ make posix_sitl_default gazebo

You should be seeing a sitl simulation in gazebo, but this is not what we want as it's not within ROS, so kill it and then...

$ roslaunch uav_abstraction_layer test_server.launch

Congratulations, you have it all running!

Now you can control this uav navigation through QGroundControl or using its mavros interface. On top of this mavros interface, we have built a part of the uav_abstraction_layer package, have a look!

QGroundControl

In order to use QGroundControl with a radio telemetry connection, we need to do this:

$ sudo usermod -a -G dialout $USER
$ sudo apt-get remove modemmanager
Clone this wiki locally