Chefs de projet robotique, ingénieurs et techniciens en automatisation industrielle, développeurs et toute personne souhaitant utiliser le système ROS 2 pour concevoir une application robotique en environnement industriel.
Comprendre l'architecture de ROS 2, savoir choisir et mettre en oeuvre les composants adaptés à un projet robotique industriel. Les travaux pratiques sont réalisés avec ROS 2 (distribution LTS Humble/Jazzy).
Connaissance générale des systèmes d'information, d'un langage de développement comme Python ou C++. Notions de base sur Linux.
Introduction
Présentation de ROS (Robot Operating System), historique, évolution de ROS 1 vers ROS 2, contraintes, fonctionnalités, licence (Apache 2.0).
Objectifs des créateurs de ROS et apports de ROS 2 pour l'industrie : temps réel, sécurité, fiabilité.
Point sur les distributions LTS de ROS 2 (Humble, Jazzy).
Tour d'horizon des robots et plateformes industrielles compatibles (bras manipulateurs, AGV, cobots).
Exemples d'utilisation de ROS 2 en milieu industriel.
Architecture
Principe de fonctionnement de ROS 2 : modularité, légèreté, interopérabilité.
DDS (Data Distribution Service) et la qualité de service (QoS).
Les différents éléments : noeuds, topics, messages, services, actions, paramètres.
Organisation des fichiers, installation, paquets, espace de travail.
Présentation des paquets disponibles et de l'écosystème (Nav2, MoveIt 2, ros2_control).
Mise en oeuvre
Installation sur Ubuntu LTS.
Configuration de l'environnement et sourcing.
Présentation du filesystem ROS 2 et des commandes ros2 (ros2 pkg, ros2 node, ros2 topic).
Premiers pas : création d'un package en Python et en C++ avec colcon.
Gestion des noeuds : utilisation de ros2 run et ros2 launch.
Création de topics, de services et d'actions.
Développement
Programmation en Python (rclpy) et C++ (rclcpp) d'outils de publication et réception de messages (topics).
Implémentation de services et de clients.
Mise en place d'actions pour les tâches de longue durée.
Utilisation des fichiers de lancement (launch files).
Exploitation
Utilisation de fichiers .bag (rosbag2) pour enregistrer et rejouer des messages, intérêt pour le diagnostic industriel.
Gestion des dépendances entre packages avec rosdep.
Configuration des QoS pour des contraintes industrielles (fiabilité, latence).
Exécution distribuée de ROS 2 sur plusieurs machines via DDS.
Sécurité avec SROS 2.
Extensions
Présentation des librairies et frameworks principaux : MoveIt 2 (manipulation), Nav2 (navigation), ros2_control (contrôle moteur).
Intégration avec les systèmes industriels : passerelles vers PLC, OPC-UA, protocoles industriels.
Outils de simulation : Gazebo, RViz 2.