ROS 2 Iron 教程 第一章 CLI Tools 第八节 使用 rqt_console 查看日志

本文介绍了如何在ROS2环境中使用rqt_console查看和管理日志,包括设置默认日志级别,筛选不同严重级别的消息,以及在turtlesim示例中实际操作。
摘要由CSDN通过智能技术生成

前言

本系列文章是由笔者翻译自ROS 2 官方教程。笔者水平有限,如有错误,还请读者指正。

背景

rqt_console 是 ROS 2 中查看日志的图形化工具。通常,日志信息在你的终端中出现。借助 rqt_console,你可以随时收集日志信息,以更有条理的方式仔细查看它们、筛选它们、保存它们,甚至重新加载保存的文件以在其他时间查看。

节点使用日志以各种方式输出有关事件和状态的消息。它们的内容通常是用户所关心的,也是信息性的。

先决条件

你将会需要已经安装的rqt_consoleturtlesim

一如既往,不要忘记在每个你新打开的终端中添加 ROS 2 启动文件。

任务

1 setup (设置)

在一个新终端中使用如下命令启动rqt_console

ros2 run rqt_console rqt_console

rqt_console窗口将会被打开:

在这里插入图片描述

窗口的第一部分将会展示系统的日志消息。

在窗口的中间,你可以以消息的严重级别来筛选日志消息。你也可以使用右边的加号按钮来添加更多日志消息筛选条件。

窗口的底部部分用于突出显示消息,其中也包括你输入的字符串。你也可以在此添加更多筛选条件。

现在使用如下命令在新终端启动turtlesim

ros2 run turtlesim turtlesim_node

2 Messages on rqt_console (rqt_console 中的消息)

为了生成供rqt_console显示的消息,让我们用命令操纵海龟,让它撞到墙上。在新终端中,输入如下ros2 topic pub命令:

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级别的消息不断出现,如下:

在这里插入图片描述

在你运行ros2 topic pub命令的终端,按下 Ctrl + C来停止海龟不断撞墙。

3 Logger levels (日志级别)

ROS 2 的日志级别按照严重程度排序:

Fatal
Error
Warn
Info
Debug

每个级别所指示的日志内容没有明确的标准,但可以确定的是:

  • Fatal 消息表明系统将会停止运行,以尝试保护自身免受危害。
  • Error 消息表明不一定会危害系统的重大问题,但可能会造成系统运行错误。
  • Warn 消息表明意外的活动或是非理想结果,这些活动或是问题可能代表着更深层次的问题,但不一定会完全造成系统运行错误。
  • Info 消息表明事件和状态的更新,它被当作是系统是否按照预期运行的视觉验证。
  • Debug消息表明系统执行的详细步骤。

默认日志消息级别为Info。你将会只看到默认日志级别以及更严重的日志信息。

通常,只有Debug级别的消息会被隐藏,因为只有它的严重级低于Info。举个例子,你将日志默认严重级设为Warn,你将会只能看到WarnErrorFatal严重级的消息。

3.1 Set the default logger level (设置默认日志级别)

你可以在运行turtlesim节点时使用重映射来设置默认日志级别。在终端中输入如下命令:

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

现在你将不会再看到最初Info严重级的日志消息,而在此之前它们将会出现在终端之中。这是因为Info严重级的日志消息在新设置的`Warn严重级下。

总结

rqt_console 在你需要仔细检查系统日志消息时可以十分有用。你可能会想要查找特定原因的消息,这通常被用于寻找系统出错的位置以及导致出错的原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值