文章目录
- rqt_console简介
- 1. 准备工作
- 2. rqt_console 中的消息
- 3. (日志)记录器级别
- 3.1 设置默认记录器级别
参考官方文档: Using rqt_console to view logs
rqt_console简介
rqt_console 是一个GUI工具,用于查看ROS 2中的日志信息。通常情况下,日志信息会显示在你的终端。使用rqt_console,你可以收集这些信息,以一种更有组织的方式查看、过滤、保存它们,以及加载保存的日志文件来进行查看。
节点使用日志以各种方式输出有关事件和状态的消息。 为了用户,它们的内容通常是信息性的。
1. 准备工作
打开一个终端,输入以下命令:
ros2 run 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中,你会看到相同的消息,并重复显示Warn的严重程度,像这样:
现在在你运行 ros2 topic pub 命令的终端按Ctrl+C来停止你的乌龟。
3. (日志)记录器级别
ROS 2的记录器级别是按严重程度排序的:
Fatal
Error
Warn
Info
Debug
对于每个级别所表示的内容没有确切的标准,但可以安全地假设:
- Fatal(致命)消息表明系统将终止以尝试保护自己免受损害。
- Error(错误)消息表明存在重大问题,这些问题不一定会损坏系统,但会妨碍其正常运行。
- Warn(警告)消息表示意外的活动或非理想的结果,可能代表一个更深的问题,但不会直接损害功能。
- Info(信息)消息指示事件和状态更新,作为系统按预期运行的视觉验证。
- Debug(调试)消息详细介绍了系统执行的整个步骤过程。
默认级别是信息,因此你将只看到默认严重程度和更严重程度的消息。
通常情况下,只有Debug消息是隐藏的,因为它们是唯一比Info低的级别。
如果你把默认级别设置为Warn,你将只看到严重程度为Warn、Error和Fetal的消息。
3.1 设置默认记录器级别
你可以在第一次运行 /turtlesim 节点时使用重映射设置默认的记录器级别。在你的终端输入以下命令:
ros2 run turtlesim turtlesim_node --ros-args --log-level WARN
现在你不会再看到上次启动 turtlesim 时在控制台出现的最初的Info(信息)级警告了。这是因为 "Info(信息) "消息的优先级比新的默认严重程度 "Warn(警告) "低。