.. Corail version 1.0, by Benoit Varillon and David Doose and Jean-Baptiste Chaudron and Charles Lesir-Cabaniols Copyright 2021-2022 ISAE-Supaero, Université de Toulouse, France .. This file is part of the Corail project. .. 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. .. Corail is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. .. You should have received a copy of the GNU Lesser General Public License along with Corail. If not, see . 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: .. code-block:: console 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): .. code-block:: console sudo apt install ros-foxy-ros-base For autocompletion when using command line install argcomplete: .. code-block:: console 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: .. code-block:: console apt-add-repository ppa:lttng/stable-2.12 apt-get update Install the LTTng packages: .. code-block:: console 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: .. code-block:: console sudo groupadd realtime Add a 'user' to the realtime group: .. code-block:: console sudo usermod -a -G realtime user Give realtime authorizations to the realtime group by adding following lines in /etc/security/limits.conf: .. code-block:: console @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: .. code-block:: console 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: .. code-block:: console source /opt/ros/foxy/setup.bash colcon build Source the new built workspace and test your installation: .. code-block:: console source ./insall/setup.bash ros2 run corail_examples pub_sub if you see something like this your installation is succesfull: .. code-block:: console [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 ----