使用 rqt_console
查看日志 [4337]
目标: 了解 rqt_console
,一种用于查看日志消息的工具。 [4338]
教程级别: 初学者 [3951]
时间: 5分钟 [16459]
内容 [16422]
背景 [16410]
rqt_console
是一个用于在ROS 2中检查日志消息的图形界面工具。通常,日志消息会显示在终端中。使用 rqt_console
,您可以随时间收集这些消息,以更加仔细和有组织的方式查看它们,对它们进行过滤、保存,甚至可以重新加载保存的文件以在不同的时间进行检查。 [4339]
节点使用日志来输出与事件和状态有关的消息,以各种方式进行。它们的内容通常是信息性的,为了用户的利益。 [4340]
任务 [16427]
1 设置 [4071]
在新的终端窗口中使用以下命令启动 rqt_console
: [4342]
ros2 run rqt_console rqt_console
rqt_console
窗口将会打开: [4343]
![../../../_images/console.png](../../../_images/console.png)
控制台的第一部分用于显示系统的日志消息。 [4344]
在中间,您可以选择通过排除严重级别来过滤消息。您还可以使用右侧的加号按钮添加更多的排除过滤器。 [4345]
底部的部分是用于突出显示包含您输入的字符串的消息。您也可以在此部分添加更多的过滤器。 [4346]
现在在新终端中使用以下命令启动 turtlesim
: [4347]
ros2 run turtlesim turtlesim_node
rqt_console 上的 2 条消息 [4348]
为了生成供``rqt_console``显示的日志消息,让乌龟撞到墙上。在新的终端中输入``ros2 topic pub``命令(在:doc:主题教程 <../Understanding-ROS2-Topics/Understanding-ROS2-Topics>`中有详细讨论),如下所示: `[4349]
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``严重级别一遍又一遍地显示,如下所示: [4350]
![../../../_images/warn.png](../../../_images/warn.png)
在你运行``ros2 topic pub``命令的终端中按下``Ctrl+C``,停止乌龟撞墙。 [4351]
3个日志记录器级别 [4352]
ROS 2的记录器级别按严重程度排序: [4353]
Fatal
Error
Warn
Info
Debug
关于每个级别表示的确切标准并没有精确的规定,但可以安全地假设: [4354]
Warn
消息表示意外活动或非理想结果,可能表示更深层问题,但不会直接影响功能。 [4357]Info
消息表示事件和状态更新,作为系统正常运行的可视验证。 [4358]Debug
消息详细描述系统执行的每个步骤。 [4359]
默认级别是 Info
。只会看到默认严重级别和更严重级别的消息。 [4360]
通常,只有``Debug``级别的消息被隐藏,因为它们是比``Info``级别更轻微的级别。例如,如果您将默认级别设置为``Warn``,您只会看到``Warn``、``Error``和``Fatal``严重程度的消息。 [4361]
总结 [16454]
如果您需要仔细检查系统的日志消息,``rqt_console``可能非常有帮助。您可能出于各种原因想要检查日志消息,通常是为了找出出错的地方以及导致该问题的事件序列。 [4365]
下一步 [16493]
下一个教程将教您如何使用 ROS 2 Launch 一次启动多个节点。 [4366]