Installation#

Requirements#

ROS2#

(Corail was tested with Foxy and Galactic)

This installation guide explain installation on Ubuntu/Debian using .deb packages. See the ROS2 documentation for further informations.

Add ROS repositories:

sudo apt update && sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update

Install ROS2 Foxy (or Galactic):

sudo apt install ros-foxy-ros-base

For autocompletion when using command line install argcomplete:

apt install -y python3-argcomplete

LTTng (2.12)#

This installation guide is for Ubuntu 20.04 for other versions/distributions, see the LTTng documentation .

Add the LTTng repository:

apt-add-repository ppa:lttng/stable-2.12
apt-get update

Install the LTTng packages:

apt-get install lttng-tools
apt-get install lttng-modules-dkms
apt-get install liblttng-ust-dev

Realtime Configuration#

The instructions below aim at configuring your Linux system to have the necessary rights to launch your components using the real-time scheduler.

Create a realtime group:

sudo groupadd realtime

Add a ‘user’ to the realtime group:

sudo usermod -a -G realtime user

Give realtime authorizations to the realtime group by adding following lines in /etc/security/limits.conf:

@realtime       soft    cpu             unlimited
@realtime       -       rtprio          100
@realtime       -       memlock         unlimited

Installation#

Corail is made of several packages, corail_core implementes the min functionalites and depends on corail_tracing that use LTTng to provide tracing functionalities. Corail_examples is not needed to build corail_core but contains examples and can be a good place to start using corail.

Create a Corail workspace and download the corail packages:

mkdir corail_ws
cd corail_ws
git clone -b v1.1.2 https://gitlab.com/corail1/corail_core.git
git clone -b v1.0 https://gitlab.com/corail1/corail_tracing.git
git clone -b v1.1 https://gitlab.com/corail1/corail_examples.git

Source your ROS2 installation and build this workspace:

source /opt/ros/foxy/setup.bash
colcon build

Source the new built workspace and test your installation:

source ./insall/setup.bash
ros2 run corail_examples pub_sub

if you see something like this your installation is succesfull:

[INFO] [1624290258.998868676] [Publisher]: message sended
[INFO] [1624290259.098668851] [Subscriber]: message received
[INFO] [1624290259.998631609] [Publisher]: message sended
[INFO] [1624290260.098588136] [Subscriber]: message received
[INFO] [1624290260.998628057] [Publisher]: message sended
[INFO] [1624290261.098594423] [Subscriber]: message received
[INFO] [1624290261.998640839] [Publisher]: message sended
[INFO] [1624290262.098583640] [Subscriber]: message received
[INFO] [1624290262.998621424] [Publisher]: message sended
[INFO] [1624290263.098584060] [Subscriber]: message received
[INFO] [1624290263.998637151] [Publisher]: message sended
[INFO] [1624290264.098586120] [Subscriber]: message received

Corail is free software: you can redistribute it and/or modify it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.