使用rqt_控制台 [待校准@8152]

Goal目标: know了解 rqt_console ,一种用于自省日志消息的工具。 [待校准@8153]

教程级别: 初学者 [Alyssa@7088]

时间: 5分钟 [Alyssa@6714]

背景

[需手动修复的语法]``rqt_console`` is a GUI tool used to introspect log messages in ROS 2. Typically, log messages show up in your terminal. With rqt_console,你可以随着时间的推移收集这些信息,以一种更有条理的方式仔细查看它们,过滤它们,保存它们,甚至在不同的时间重新加载保存的文件进行反思。 [待校准@8154]

节点使用日志以多种方式输出有关事件和状态的消息。为了用户,他们的内容通常是信息性的。 [待校准@8155]

先决条件

你需要安装 rqt_console and turtlesim[待校准@8156]

和往常一样,不要忘记在 every new terminal you open 中源文件ROS 2。 [待校准@7566]

任务

1设置 [待校准@7567]

使用以下命令在新终端中启动 rqt_console : [待校准@8157]

ros2 run rqt_console rqt_console

[需手动修复的语法] rqt_console 窗口将打开: [待校准@8158]

../../_images/console.png

控制台的第一部分将显示来自系统的日志消息。 [待校准@8159]

在中间,您可以选择通过排除严重性级别来过滤消息。您还可以使用右侧的加号按钮添加更多排除过滤器。 [待校准@8160]

底部用于突出显示包含您输入的string的消息。您也可以向本节添加更多过滤器。 [待校准@8161]

现在使用以下命令在新终端中启动 turtlesim : [待校准@8162]

ros2 run turtlesim turtlesim_node

Rqt_控制台上的2条消息 [待校准@8163]

要生成日志消息以供 rqt_console 显示,让乌龟撞到墙上。在新的终端中,在下面输入 ros2 topic pub 命令 (在 topics tutorial 中详细讨论): [待校准@8164]

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}}"

由于上述命令正在以稳定的速度发布话题,因此乌龟不断地撞到墙上。在 rqt_console 中,您将看到同样的信息, Warn 严重程度一遍又一遍地显示,如下所示: [待校准@8165]

../../_images/warn.png

按 “ctrl + C `` in the terminal where you ran the `` ros2话题发布” 命令,阻止你的乌龟撞到墙上。 [待校准@8166]

3个日志记录器级别 [待校准@8167]

ROS 2的日志记录器级别按严重性排序: [待校准@8168]

Fatal
Error
Warn
Info
Debug

每个级别所指示的内容没有确切的标准,但是可以安全地假设: [待校准@8169]

  • [需手动修复的语法]``Fatal`` messages表明该系统将终止,以保护自己免受损害。 [待校准@8170]

  • [需手动修复的语法]``Error`` messages表明重大问题不一定会损害系统,但会阻碍系统正常运行。 [待校准@8171]

  • [需手动修复的语法]``Warn`` messages表示意想不到的活动或非理想的结果,这可能代表了一个更深层次的问题,但不会直接损害功能。 [待校准@8172]

  • [需手动修复的语法]``Info`` messages指示事件和状态更新,作为系统按预期运行的可视化验证。 [待校准@8173]

  • [需手动修复的语法]``Debug`` messages详细说明了系统执行的整个逐步过程。 [待校准@8174]

默认等级为 Info 。您将只看到默认严重性级别和更严重级别的消息。 [待校准@8175]

通常,只有 Debug 信息是隐藏的,因为它们是唯一没有 Info 严重的水平。例如,如果您将默认级别设置为 Warn ,您将只看到严重程度为 WarnErrorFatal 的消息。 [待校准@8176]

3.1设置默认日志记录器级别 [待校准@8177]

首次使用重新映射运行 /turtlesim 节点时,可以设置默认的日志记录器级别。在终端中输入以下命令: [待校准@8178]

ros2 run turtlesim turtlesim_node --ros-args --log-level WARN

现在,您不会看到上次启动 turtlesim 时控制台中出现的初始 Info 水平警告。这是因为 Info 信息的优先级低于新的默认严重性 Warn[待校准@8179]

总结

如果您需要仔细检查系统中的日志消息,rqt_console can将非常有帮助。您可能希望出于多种原因检查日志消息,通常是为了找出哪里出了问题以及导致问题的一系列事件。 [待校准@8180]

下一步

下一个教程将教你如何使用 ROS 2 Launch 同时启动多个节点。 [待校准@8181]