ROS2学习笔记(七)从turtlesim学习ROS2的工具

前言

学习ROS2的路,并不能通过学习ROS1代替,因为ROS2的“内核”不同于ROS1,必须认认真真从头开始重新学习。

Ubuntu版本:20.04

ROS版本:Foxy

学习笔记回顾

1.rqt_console工具

rqt_console是一个图形化工具,用于查看ROS2中的日志消息。一般情况下,日志消息都会在终端内刷新。通过使用rqt_console工具,可以更加清晰的收集日志消息,更有调理的查看和保存日志,并且可以回放保存的文件数据。

2.启动rqt_console工具

$ ros2 run rqt_console rqt_console

界面如下所示:
在这里插入图片描述

界面一共分为三个框,上面的部分用于显示系统中的日志消息。

中间的部分用于选择严重性级别来过滤日志消息。还可以通过右侧的加号添加更多的过滤器。

下面的部分用于突出显示包含我输入的字符串的日志消息。

3.启动小海龟模拟器

$ ros2 run turtlesim turtlesim_node

4.发送海龟移动的指令

现在我们通过给海龟发送移动的指令,让海龟撞在模拟器边界上,从而产生日志消息。

$ 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日志信息:
在这里插入图片描述

关闭发送指令终端。

5.日志严重性等级

ROS2的日志有严重性分级:

Fatal   # 表明系统将终止,以防止自己受到伤害
Error   # 表明问题重大,但是不一定会损害系统,但会阻止程序运行
Warn    # 表明警告问题,可能有意外或更深层次的问题,但是不会彻底损害功能
Info    # 表明事件消息的提示,系统按预期运行
Debug   # 表明了系统执行的整个逐步过程

6.设置日志默认严重性

可以通过运行/turtlesim,通过重映射设置默认严重性为Warn:

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

这时,我将看不到Info级别的问题,只有Warn严重性以上的问题。

总结

学会使用rqt_console查看日志消息,可以让自己更快的定位到问题所在。

Reference:

https://docs.ros.org/en/foxy/Tutorials/Rqt-Console/Using-Rqt-Console.html

结语

本文也是基于笔者的学习和使用经验总结的,主观性较强,如果有哪些不对的地方或者不明白的地方,欢迎评论区留言交流~

为了能和读者进一步讨论问题,建立了一个微信群,方便给大家解答问题,也可以一起讨论问题。
加群链接

猜你喜欢

转载自blog.csdn.net/xiaokai1999/article/details/118976966
今日推荐