当前位置: 首页 > news >正文

[ROS2 入门] rqt_console 使用介绍

  大家好,我是虎哥,从今天开始,我将花一段时间,开始将自己从ROS1切换到ROS2,在上一篇中,我们一起了解ROS 2中“Actions ”概念,至此最基本的核心基础概念,我们就都分享介绍完毕了,由于我本人也放假回家了,这一篇,我们简单介绍一下一个很有意思的工具“rqt_console”,可以更进一步帮我们了解ROS2的一些新特性。

0 介绍

  “rqt_console”是一个用于在ROS 2中查看日志消息的GUI工具。通常,日志消息会显示在终端中。使用rqt_console,您可以随时间收集这些消息,以更有序的方式近距离查看它们,过滤它们,保存它们,甚至重新加载保存的文件,以便在不同的时间进行跟踪。

  节点使用日志以各种方式输出有关事件和状态的消息。出于用户的考虑,它们的内容通常是信息性的。日志消息的意图由节点的作者定义,内容可以在运行时编写。

1 启动

使用以下命令在新终端中启动rqt_console:

ros2 run rqt_console rqt_console

rqt_console窗口将打开:


  控制台的第一部分是显示来自系统的日志消息的位置。在中间,您可以选择通过排除严重性级别来筛选消息。您还可以使用右侧的加号按钮添加更多排除筛选器。底部部分用于突出显示包含您输入的字符串的消息。您也可以在此部分添加更多筛选器。
现在,使用以下命令在新终端中启动turtlesim:

ros2 run turtlesim turtlesim_node

2 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中,您将看到相同的消息,其中反复显示警告严重级别,如下所示:

  在运行ros2主题pub命令的终端中按Ctrl+C,以防止乌龟不断撞到墙上。

3 日志等级

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

Fatal
Error
Warn
Info
Debug

对于每个级别所表示的内容没有确切的标准,但可以安全地假设:

  • 致命消息(Fatal)表示系统将终止以试图保护自己免受损害。
  • 错误消息(Error)表示重大问题,这些问题不一定会损坏系统,但会妨碍系统正常运行。
  • 警告消息(Warn)表示意外的活动或不理想的结果,可能代表更深层的问题,但不要直接损害功能。
  • 信息消息(Info)指示事件和状态更新,作为系统按预期运行的视觉验证。
  • 调试消息(Debug)详细说明了系统执行的整个分步过程。

  以上几个的等级依次降低,你设置了默认级别,那只能看到设置的默认级别和严重程度要与默认设置级别的信息,反之,低于默认设置级别的信息将影藏。

  默认级别为“信息”。你将只看到默认严重级别和更严重级别的消息。通常,只有“调试”消息是隐藏的,因为它们是唯一比“信息”级别低的级别。例如,如果将默认级别设置为“警告”,则只会看到严重级别为“警告、错误和致命”的消息。

3.1 设置默认日志等级

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

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

  现在,你将不会看到上次启动turtlesim时控制台中出现的初始信息级别警告。这是因为信息消息的优先级低于新的默认严重性Warn。

  如果您需要仔细检查来自系统的日志消息,rqtconsole将非常有用。出于各种原因,您可能需要检查日志消息,通常是为了找出哪里出了问题以及导致问题的一系列事件。

以上就是我今天要分享的内容。纠错,疑问,交流: 911946883@qq.com

相关文章:

  • 丝绸之路也可以是科技传播之路
  • 技术分享 | 常用测试策略与测试手段
  • Kinect与TOF、双目、结构光相机比较相机国产、非国产统计参数对比分析
  • 【C语言】动态内存实现通讯录(malloc,calloc,realloc)
  • [MRCTF2020]Ezaudit(随机数的安全)
  • SpringAMQP - 发布订阅模式
  • Understanding LSTM Networks
  • SpringBoot统一功能处理
  • RCNN模型Python实现笔记一
  • STC15系列单片机EEPROM读写示例
  • [GYCTF2020]Blacklist(堆叠注入)
  • SM4算法学习笔记
  • NISP证书的含金量有多高,是否能够实现2023年月薪过万呢?
  • [Android]动画
  • 【JavaGuide面试总结】计算机网络·上
  • 【Linux】两个故事带你使用git命令行
  • 循环语句(循环结构)——“C”
  • 初识 Django(Python WEB 框架)
  • 用PYTHON自动登录SAP GUI
  • 网络工程师必须搞清楚MPLS与专线的区别