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
Fatal
indiquent que le système va s’arrêter pour essayer de se protéger de tout préjudice.Les messages d”
erreur
indiquent des problèmes importants qui n’endommageront pas nécessairement le système, mais qui l’empêchent de fonctionner correctement.Les messages
Warn
indiquent 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
Info
indiquent 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
Debug
dé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.