ROS2学习笔记8--使用rqt控制台

Posted 鸿_H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS2学习笔记8--使用rqt控制台相关的知识,希望对你有一定的参考价值。

概要:这篇主要介绍使用rqt控制台

环境:ubuntu20.04,ros2-foxy,vscode

2.1.8使用rqt控制台(原文:https://docs.ros.org/en/foxy/Tutorials/Rqt-Console/Using-Rqt-Console.html

>>教程>>使用rqt控制台

你正阅读的是ros2较老版本(Foxy),但仍然支持的说明文档.想查看最新版本的信息,请看galactic版本链接( https://docs.ros.org/en/galactic/Tutorials.html

使用rqt控制台

目标:认识rqt_console,一个研究日志信息的工具

课程等级:初级

时长:5min

目录

1.背景
2.预备知识
3.步骤
3.1设置
3.2消息在rqt_console中
3.3记录器等级
4.总结
5.下一步

1.背景

rqt_console是ros2里面一个用于记录日志信息的图形化界面工具.通常情况下,日志信息显示在终端内.通过rqt_console,你可以收集任何时间段的消息,更加认真仔细审查它们,筛选它们,保存它们,甚至日后任意时间重新加载它们出来审查.

节点通过日志方式输出事件和状态的消息.为了用户,内容通常是消息.

2.预备知识

你应该安装了rqt_consoleturtlesim.

老规矩,别忘记在新打开终端source一下配置文件(环境变量)(个人,如果ros2的环境变量写到启动脚本.bashrc里面,没必要再source一次了).

3.步骤

3.1设置

打开新终端,输入如下指令启动rqt_console

ros2 run rqt_console rqt_console

rqt_console窗口会打开:
在这里插入图片描述
控制台的第一部分是显示来自系统的日志消息.

中间部分,你可以简单筛选消息.你可以使用加号按钮来增加剔除型过滤器.

最后部分是突出显示信息,包括你输入的字符串内容.你也可以增加更多的过滤器.

现在,在一个新终端输输入指令启动turtlesim:

ros2 run turtlesim turtlesim_node

3.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}}"

由于上面的指令是以固定频率进行发送的,小乌龟会持续运动到墙壁.你会看到带有Warn严重警告一遍又一遍显示,像这样子:

图片.png
在运行ros2 topic pub指令的终端输入ctrl+c,让小乌龟停止往边边走.

3.3记录器等级

ros2记录器等级随着严重程度可分:

Fatal
Error
Warn
Info
Debug

每一个等级并没有一个标准说法,但是中肯描述有:

Fatal:消息表示,系统为保护自身受到破坏,正在终止运行.

Error:消息表示,不会损害系统,但不能正常运行.

Warn:消息表示,异常活动或非理想结果会导致更深层次问题,但是不影响正常运行.

Info:消息表示,可以看见事件和状态正常更新,系统正常运转.

Debug:消息表示,系统运行的详细全过程

默认的等级是info.你以后(可能有机会)看见默认等级或者更高等级.

一般情况下,debug消息会隐藏起来,因为其严重等级低于info.例如,如果你设置默认等级为Warn,你只能看见Warn, ErrorFatal等级消息.

3.3.1设置记录器默认等级

当你首次运行turtlesim的映射节点时,你可以设置默认等级.终端输入下面指令:

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

现在,你不会看到最近一次启动turtlesim节点所拥有的info等级消息,因为info等级优先级低于重置的默认等级warn.

4.总结

如果你需要详细检查系统的日志消息,rqt_console是非常有用的.你有多种缘由来检查日志,一般是找什么东西出了问题和哪些事件导致问题的出现.

5.下一步

下一节课教你如何创建launch文件.

其他

个人认为重点:

rqt_console控制台的内容含义,记录器信息等级的含义.

这课程是在等毕业证那十几天搞的,室友问,现在在线翻译这么强大,为啥还在这里瞎折腾呢?我说,我的目地是好好认真看一下,了解一下,自己折腾,目前是我想到最好的办法来获得最佳效果,即使这翻译有点别扭,哈哈哈.

#####################
不积硅步,无以至千里
好记性不如烂笔头
感觉有点收获的话,麻烦大大们点赞收藏哈

以上是关于ROS2学习笔记8--使用rqt控制台的主要内容,如果未能解决你的问题,请参考以下文章

plotjuggler⬅ROS1/ROS2画轨迹神器➡rqt_plot+rqt_multiplot之超级加强版

plotjuggler⬅ROS1/ROS2画轨迹神器➡rqt_plot+rqt_multiplot之超级加强版

ROS学习笔记-rqt_plot工具的使用

ROS2学习笔记16--详述ros2接口

ROS学习笔记-rqt_graph生成ROS系统中计算图

ROS学习笔记——ROSTOPIC