[ROS 系列学习教程] rqt可视化工具箱 - 日志工具

本文介绍了ROS中的rqt工具箱,包括rqt_console用于图形化查看和过滤ROS消息,以及rqt_logger_level用于设置日志级别。通过实例演示了如何使用这两个工具管理和监控ROS节点的输出。
摘要由CSDN通过智能技术生成

ROS 系列学习教程(总目录)

零、rqt可视化工具箱

rqtROS的一个软件框架,以插件的形式实现各种GUI工具。可以在 rqt 中将所有现有的 GUI 工具作为子窗口运行,也可以以独立方法运行,但 rqt 可以更轻松地同时管理屏幕上的所有各种窗口。用户可以使用Python或C++创建自己的 rqt 插件。

在终端输入rqt 即可运行(也可以输入 rosrun rqt_gui rqt_gui),如下:

在这里插入图片描述

可以在 Plugins 中选择需要的插件。

一、rqt_console

rqt_console 可以通过图形化查看发布到 rosout 的消息,他会不停的收集信息并提供日志过滤功能。

启动方法:rqt 窗口依次点击 Plugins -> Logging -> Console 启动,或直接在终端输入命令 rqt_console 启动。

界面如下图:

在这里插入图片描述

其中,每列说明如下:

#MessageSeverityNodeStampTopicsLocation
序号日志内容日志等级发布日志的节点时间戳话题打印日志的位置

另外,也可以通过条件过滤日志,即下方的 Exclude MessagesHighlight Messages ,分别可以通过指定条件(右侧的绿色加号)排除和高亮符合的日志。

示例如下:

在这里插入图片描述

如上,排除了日志中包含In(区分大小写)和指定位置的日志,并高亮了日志等级为 Fatal 的日志。

其中条件可选如下:

在这里插入图片描述

分别为:

条件说明
…containing内容包含
…with serverities日志等级
…from node所属节点
…from time range时间范围
…from topic所属话题
…from location日志位置(在哪个文件的第几行)
Custom用户自定义条件

二、rqt_logger_level

rqt_logger_level 可以通过可视化界面设置指定的日志级别。

启动方法:rqt 窗口依次点击 Plugins -> Logging -> Logger Level 启动,或直接在终端输入命令 rqt_logger_level 启动。

界面如下:

在这里插入图片描述

其中,每列说明如下:

NodesLoggersLevels
节点名日志记录器日志等级

其中,

  • Nodes:通过如下接口设置

    •   ros::init(argc, argv, "rqt_console_node"); // C++
        rospy.init_node('rqt_console_node')  # Python
      
  • Loggers:日志记录器(loggers)是用于输出诊断信息、调试信息和运行时消息的工具。每个日志记录器通常与特定的ROS包或库相关联,并允许开发者控制不同级别的日志消息的输出。以下对这些日志记录器进行说明:

    • ros
      • 这个日志记录器是ROS核心的一部分,它记录了整个系统范围内的重要信息。
    • ros.roscpp
      • 这个日志记录器与ROS的C++库(roscpp)相关,记录了roscpp库的操作和事件。
    • ros.roscpp.roscpp_internal
      • 这个日志记录器专门用于roscpp库的内部操作。它可能会记录关于库内部工作方式的细节,但以"info"级别进行记录,这意味着默认情况下这些信息不会非常详细。
    • ros.roscpp.roscpp_internal.connections
      • 这个日志记录器可能用于记录roscpp库内部的网络连接和通信相关的信息。这包括节点之间的通信和连接状态的变化。
    • ros.roscpp.superdebug
      • 这是一个特殊的日志记录器,通常用于更详细的调试。
    • ros.rqt_learning
      • 这个日志记录器是特定于名为 rqt_learning 的ROS包的。
  • Levels:日志等级,各等级说明如下:

    • Debug:这是最低级别的日志,用于记录开发过程中的详细信息,通常仅在需要调试时使用。这对于开发者来说非常有用,尤其是在开发和测试阶段。
    • Info:此级别用于记录程序正常运行时的一般信息,比DEBUG级别略高,它包含的信息对日常操作和问题诊断有价值。
    • Warn:警告级别用来指示可能的问题,但不一定会导致程序出错。这通常意味着某些事情不如预期,但程序可以继续运行。
    • Error:此级别用于报告错误情况,这些错误可能会影响程序的功能。
    • Fatal:最高级别的日志,表示出现了严重的错误,程序可能会因此终止运行。

使用方法: 依次选择要设置的节点、日志记录器后,直接点选日志等级即可设置。

该可视化界面和如下命令有同样的效果:

rosservice call /<node_name>/get_loggers
rosservice call /<node_name>/set_logger_level 

如下图:

在这里插入图片描述

  • 34
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万俟淋曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值