在这里插入图片描述

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 

如下图:

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐