ROS 2边学边练(8)-- 用rqt_console管理日志

本文介绍了ROS2中的rqt_console工具,如何用于管理和过滤节点输出日志,包括不同日志等级的含义,以及如何设置默认日志级别。通过实例演示,展示了如何使用rqt_console进行过程调试以解决问题。
摘要由CSDN通过智能技术生成

概念

        rqt_console是一款GUI工具,在ROS 2中我们可以用它来管理一些节点的输出消息日志,比如通过过滤关键词得到我们关心的消息内容,也可以先保存这些内容再在一个方便的时间进行查看,以帮助我们分析过程,解决问题。

动动手

启动rqt_console

        使用下面的命令启动:

$ros2 run rqt_console rqt_console

 

如上图所示,该控制台窗口由三部分组成,最上面的是Displaying Messages,显示系统中输出的消息,中间的是Exclude Messages,可以通过设置日志严重等级来过滤显示,可以通过右侧的+号添加更多的包含过滤条件,最下面的那区域,可以通过添加指定的字符串内容来高亮显示包含这些字符串的日志内容,我们依然可以通过右侧的+号来添加更多的过滤条件关键词。

利用小海龟产生日志消息

        先运行/turtlesim节点(控制节点不运行):

$ros2 run turtlesim turtlesim_node

我们再手动(周期)发布主题消息,让小海龟朝一个方向不停的游动直到撞到南墙,产生报警消息:

$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的日志消息产生,我们在发布主题的终端CTRL+C关掉发布端。

日志等级

几种级别

        ROS 2的日志记录是按下面的严重程度来划分的(由上级下,严重程度逐步减小):

Fatal
Error
Warn
Info
Debug

然而在实际中并没有一个严格的定义标准来说明达到什么指标了我们就认为它是Fatal还是Error,这由我们个人根据实际情况来自由的调整即可,下面对这些严重程度做个一般解释:

Fatal:消息表明系统将终止以保护自己免受损害;

Error:消息表示重大问题,这些问题不一定会损坏系统,但会妨碍系统正常运行;

Warn:消息表示意外的活动或不理想的结果,这可能代表更深层次的问题,但不会直接损害功能;

Info:消息指示事件和状态更新,作为系统按预期运行的过程结果反馈;

Debug:消息详细说明了系统执行的整个逐步过程。

        系统默认最低日志严重等级为Info,也即意味着不会出现等级为Debug的日志。如果我们设置默认的等级为Warn,那么在日志中我们只能看到Fatal、Error、Warn这几种级别的日志。

设置日志默认级别
ros2 run turtlesim turtlesim_node --ros-args --log-level WARN

        我们可以尝试按上面的命令设置下日志记录的默认级别为Warn。

        rqt_console算是一种过程调试手段,一旦系统中出现了什么问题,我们可以通过日志信息来进行定位和分析,还是比较方便的。

本篇完。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值