Utilisation de rqt_console pour afficher les journaux
Objectif : Apprenez à connaître rqt_console, un outil d’introspection des messages de journal.
Niveau du tutoriel : Débutant
Durée : 5 minutes
Contenu
Arrière-plan
rqt_console est un outil graphique utilisé pour analyser les messages de journalisation dans ROS 2. Généralement, les messages de journalisation s’affichent dans votre terminal. Avec rqt_console, vous pouvez collecter ces messages au fil du temps, les visualiser de près et de manière plus organisée, les filtrer, les enregistrer et même recharger les fichiers enregistrés pour les introspecter à un moment différent.
Les nœuds utilisent des journaux pour générer des messages concernant les événements et l’état de diverses manières. Leur contenu est généralement informatif, pour le bien de l’utilisateur.
Conditions préalables
Vous aurez besoin de rqt_console et turtlesim installés.
Comme toujours, n’oubliez pas de sourcer ROS 2 dans chaque nouveau terminal que vous ouvrez.
Tâches
1 Configuration
Démarrez rqt_console dans un nouveau terminal avec la commande suivante :
ros2 run rqt_console rqt_console
La fenêtre rqt_console s’ouvrira :
 
La première section de la console est l’endroit où les messages de journal de votre système s’afficheront.
Au milieu, vous avez la possibilité de filtrer les messages en excluant les niveaux de gravité. Vous pouvez également ajouter d’autres filtres d’exclusion à l’aide du bouton plus à droite.
La section inférieure sert à mettre en surbrillance les messages qui incluent une chaîne que vous avez saisie. Vous pouvez également ajouter d’autres filtres à cette section.
Lancez maintenant turtlesim dans un nouveau terminal avec la commande suivante :
ros2 run turtlesim turtlesim_node
2 messages sur rqt_console
Pour produire des messages de journal à afficher par rqt_console, faisons courir la tortue contre le mur. Dans un nouveau terminal, entrez la commande ros2 topic pub (discutée en détail dans le topics tutorial) ci-dessous :
ros2 topic pub -r 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}"
Étant donné que la commande ci-dessus publie le sujet à un rythme régulier, la tortue se heurte continuellement au mur. Dans rqt_console, vous verrez le même message avec le niveau de gravité Warn affiché encore et encore, comme ceci :
 
Appuyez sur Ctrl+C dans le terminal où vous avez exécuté la commande ros2 topic pub pour empêcher votre tortue de se heurter au mur.
3 niveaux d’enregistrement
Les niveaux d’enregistrement de ROS 2 sont classés par gravité :
Fatal
Error
Warn
Info
Debug
Il n’y a pas de norme exacte pour ce que chaque niveau indique, mais il est prudent de supposer que :
- Les messages - Fatalindiquent que le système va s’arrêter pour essayer de se protéger de tout préjudice.
- Les messages d” - erreurindiquent des problèmes importants qui n’endommageront pas nécessairement le système, mais qui l’empêchent de fonctionner correctement.
- Les messages - Warnindiquent une activité inattendue ou des résultats non idéaux qui pourraient représenter un problème plus profond, mais ne nuisent pas purement et simplement à la fonctionnalité.
- Les messages - Infoindiquent des mises à jour d’événements et d’états qui servent de vérification visuelle que le système fonctionne comme prévu.
- Les messages - Debugdétaillent l’ensemble du processus étape par étape de l’exécution du système.
Le niveau par défaut est Info. Vous ne verrez que les messages du niveau de gravité par défaut et des niveaux plus graves.
Normalement, seuls les messages Debug sont cachés car ils sont le seul niveau moins sévère que Info. Par exemple, si vous définissez le niveau par défaut sur Warn, vous ne verrez que les messages de gravité Warn, Error et Fatal.
3.1 Définir le niveau d’enregistrement par défaut
Vous pouvez définir le niveau d’enregistrement par défaut lors de la première exécution du nœud /turtlesim en utilisant le remappage. Saisissez la commande suivante dans votre terminal :
ros2 run turtlesim turtlesim_node --ros-args --log-level WARN
Maintenant, vous ne verrez plus les avertissements initiaux de niveau Info qui sont apparus dans la console la dernière fois que vous avez lancé turtlesim. En effet, les messages Info ont une priorité inférieure à la nouvelle sévérité par défaut, Warn.
Résumé
rqt_console peut être très utile si vous avez besoin d’examiner de près les messages du journal de votre système. Vous voudrez peut-être examiner les messages du journal pour un certain nombre de raisons, généralement pour savoir où quelque chose s’est mal passé et la série d’événements qui ont conduit à cela.
Prochaines étapes
Le prochain didacticiel vous apprendra comment démarrer plusieurs nœuds à la fois avec ROS 2 Launch.