Setting Up a System to Run ARIAC 2018

This tutorial will walk you through the setup required to make a computer ready to run ARIAC. In order to run ARIAC your computer will need a discrete graphics card and will need to satisfy the minimum System Requirements.

ARIAC 2018 requires Gazebo8 to be installed. Note that Gazebo8 and Gazebo7 cannot be installed at the same time. If you already have Gazebo7 installed, these steps will remove it.

Note: this tutorial assumes you are using ROS Kinetic (Ubuntu Xenial 16.04), the officially supported ROS distro for ARIAC 2018.

Setup Ubuntu to Install Packages from the Open Source Robotics Foundation (OSRF)

You can either install the ARIAC packages from binaries (recommended) or by building the software locally on your machine. Whether you are installing from binaries or from source, you will need to add OSRF's package repository to your system so it can install packages from there. Do so by running this command:

  • sudo sh -c '
      echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" \
        > /etc/apt/sources.list.d/gazebo-stable.list'

Next you need to add the signing key to your computer so the packages can be verified:

  • wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

And finally update the apt-get database since you added the OSRF packages repository to the sources list:

  • sudo apt-get update

Now either continue to the installation from binaries or the installation from source steps.

Installing the ARIAC 2018 packages from Binaries

To install from binaries (only available on Ubuntu 16.04 Xenial + ROS Kinetic), run the following command (note the 2 at the end to get the 2018 ARIAC packages):

  • sudo apt-get install ariac2

To finish your install, source the ROS setup.bash file:

  • source /opt/ros/kinetic/setup.bash

This sets up your shell to run the ROS commands needed to run ARIAC. There is also a setup.zsh if you are using that shell.

So that the above line will be automatically run when you open new terminal windows, put it in your bashrc:

  • echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

Alternative: Building the ARIAC packages from Source

This strategy is only recommended for a few cases:

  • You want to test a change you're going to propose to the ARIAC source code.
  • There are no ARIAC binaries available for your system.

Installing Gazebo8

ARIAC 2018 requires Gazebo8 to be installed. Do so with:

  • sudo apt-get install gazebo8 gazebo8-plugin-base libignition-math3 libsdformat5

Installing ROS

Next you need to install ROS, which ARIAC uses to provide the competition interface. Instructions to do this can be found here:

http://wiki.ros.org/kinetic/Installation/Ubuntu

These instructions will be summarized next.

Setup Ubuntu to Install Packages from ROS

First add the ROS packages repository to apt-get's list of sources:

  • sudo sh -c '
      echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" \
        > /etc/apt/sources.list.d/ros-latest.list'

Then add the key ROS uses to sign the packages:

  • sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 0xB01FA116

Installing ROS Desktop

ROS has a few "variants" which contain commonly used components, e.g. "Robot" is a small set of things that you'd run on a deployed robot, "Desktop" is a superset of "Robot" that also contains tools you might use on a workstation, and "Desktop-Full" additionally has perception algorithms and simulators.

Normally ROS Kinetic uses Gazebo7, but since ARIAC uses Gazebo8 you will need to avoid installing "Desktop-Full" and instead install the "Desktop" set of packages and then manually install the Gazebo8 version of the Gazebo-ROS compatibility packages afterwards.

First update apt-get's database since you added the ROS repositories to the list of sources:

  • sudo apt-get update

Then install the "Desktop" packages for ROS Kinetic:

  • sudo apt-get install ros-kinetic-desktop

To finish the ROS Kinetic installation, initialize the rosdep database:

  • sudo rosdep init; rosdep update

Installing Gazebo-ROS Compatibility Packages

Now install the Gazebo-ROS compatibility packages:

  • sudo apt-get install ros-kinetic-gazebo8-ros-pkgs ros-kinetic-gazebo8-ros-control

Installing Additional Dependencies

Install the following package which is needed to run the ARIAC examples:

  • sudo apt-get install ros-kinetic-ros-controllers

Setting Up a Catkin Workspace

Since the ARIAC packages are catkin packages, we'll start by setting up a catkin workspace. First create a folder for the workspace, something like this:

  • mkdir -p ~/ariac_ws/src

The src folder will contain the source code you want to build.

Getting the Source Code

Next you will need to get the ARIAC source code. You can either "clone" the source using git or you can extract an archive of the source that you downloaded from BitBucket. To clone the source:

  • cd ~/ariac_ws/src
    git clone https://bitbucket.org/osrf/ariac -b master

If you would prefer to download the source as an archive:

  • cd ~/ariac_ws/src
    wget https://bitbucket.org/osrf/ariac/get/master.zip
    unzip master.zip
    rm master.zip

Building the ARIAC Packages

Before starting the build, you need to source the ROS setup.bash file:

  • source /opt/ros/kinetic/setup.bash

This sets up your shell to build on top of ROS. There is also a setup.zsh if you are using that shell.

Next start the build using the catkin build tool called catkin_make:

  • cd ~/ariac_ws
    catkin_make install

This will build the ARIAC packages and install them to a local folder, in this case ~/ariac_ws/install next to the src folder.

This folder will also have a setup.bash file in it that you can source before building your own competition packages:

  • source ~/ariac_ws/install/setup.bash

So that the above line will be automatically run when you open new terminal windows, put it in your bashrc:

  • echo "source ~/ariac_ws/install/setup.bash" >> ~/.bashrc

Using ARIAC

See the ARIAC interface tutorial for how to run ARIAC.

Wiki: ariac/2018/Tutorials/SystemSetup (last edited 2019-02-26 06:10:43 by IsaacSaito)