Wiki

Clone wiki

cola2_core / installation

COLA2 Installation

Before starting to work with the COLA2 architecture, it is essential to have a good knowledge of ROS as well as some Linux skills. In the ROS website (http://www.ros.org) you can find several tutorials that can help you get started.

The following steps will guide you to install a system ready to run COLA2 in simulation.

System prerequisites

The recommended setup to run the current version of the COLA2 architecture is either:

We recommend to install the ROS desktop-full version.

Extra dependencies

Aside from the main ROS packages, there are other ROS packages and third-party libraries that are required to run the basics of COLA2.

Ubuntu 18.04

sudo apt install ros-melodic-rosbridge-server lm-sensors python-ruamel.yaml

Ubuntu 16.04

sudo apt install ros-kinetic-rosbridge-server lm-sensors
pip install ruamel.yaml

Also to be able to compile the `cola2_comms`package we need a newer version of the compiler (`gcc-7`):
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7 g++-7

# change gcc7 to be the default compiler
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 10

COLA2 packages

Once your base system is ready, you can proceed to install the packages of the COLA2 architecture inside the catkin workspace that you have created during the ROS installation. The COLA2 architecture is formed by at least 5 packages:

  • cola2_msgs: includes message definitions used within COLA2.
  • cola2_core: a metapackage containing the code of the main modules that are common to all Iqua Robotics vehicles, namely the packages cola2_control, cola2_log, cola2_nav, cola2_safety and cola2_sim.
  • cola2_lib: includes utils used within the architecture: input/output libraries, classes to ease the ROS param loading, conversion functions, etc.
  • cola2_sparus2 or cola2_girona500: includes the configuration and launch files specific to your vehicle.
  • sparus2_description or girona500_description: includes the xacro macros to build the robot description (URDF) of the vehicle and meshes used for simulation.

You need to download these package repositories in your ~/catkin_ws/src.

cd ~/catkin_ws/src/
git clone https://bitbucket.org/iquarobotics/cola2_msgs.git
git clone https://bitbucket.org/iquarobotics/cola2_core.git
git clone https://bitbucket.org/iquarobotics/cola2_lib.git

If you want to simulate the Sparus II AUV clone:

git clone https://bitbucket.org/iquarobotics/cola2_sparus2.git
git clone https://bitbucket.org/iquarobotics/sparus2_description.git

If you want to simulate Girona 500 AUV, clone:

git clone https://bitbucket.org/iquarobotics/cola2_girona500.git
git clone https://bitbucket.org/iquarobotics/girona500_description.git

Once all the repositories are in your catkin workspace you can compile them:

cd ~/catkin_ws/
catkin_make

At this point COLA2 is ready to be run in simulation. You can proceed to the basic usage section to know how to start things up.

Updated