ROS2入门教程—rqt_console工具的使用
??在终端中运行ROS2节点时,节点的日志信息会在终端中显示出来,但是这种方式呈现的日志比较凌乱,所以ROS2提供了一个专门用于管理日志信息的可视化工具——
rqt_console 。使用
rqt_console ,您可以随着时间的推移收集这些消息,以更有序的方式仔细查看它们,过滤它们,保存它们,甚至在不同的时间重新加载保存的文件以进行内省。
1 启动rqt_console
??首先打开一个新的终端,使用如下指令即可启动rqt_console :
ros2 run rqt_console rqt_console
??弹出一个新窗口,如下所示:
?? 在打开的窗口中,我们可以看到三个子窗口。最上边一个窗口会显示所有ROS2系统中的日志,是内容最多的,如果我们想做筛选,可以在中间的窗口中选择日志级别,此时中间窗口则会剔除无关级别的日志,如果我们想在日志中搜索某一字符串,那就可以在最下边的窗口中输入,确任后该窗口只显示包含此字符串的日志。中间和下边的窗口还可以添加更多筛选规则。 我们来启动小海龟仿真器试一试。
2 启动小海龟仿真器
??打开新终端并运行:
ros2 run turtlesim turtlesim_node
??打开另一个终端并运行:
ros2 run turtlesim turtle_teleop_key
3 在rqt_console中显示日志消息
??为了产生日志信息,我们可以控制海龟撞到仿真器的边缘:
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 中就会弹出很多警告信息,如下所示:
4 日志级别
??ROS2中的日志分成五个级别,级别自高到低分别是:
Fatal
Error
Warn
Info
Debug
??对于每一个级别所表示的内容,没有确切的标准,但可以安全地假设: ??
?
\bullet
? Fatal :致命级,描述系统为了自我保护即将终止的消息 ??
?
\bullet
? Error :错误级,描述非致命但是会阻碍程序运行的消息 ??
?
\bullet
? Warn :警告级,描述不损坏功能运行但是预期之外的行为的消息 ??
?
\bullet
? Info :信息级,描述系统正常运行时事件和状态消息 ??
?
\bullet
? Debug :调试级,描述系统一步一步运行的详细消息
??ROS2中默认开启的日志级别是Info ,会自动显示info 级别以上的所有日志,包括Info 、Warn 、Error 、Fatal 。运行节点时,我们也可以修改允许发布的日志级别,比如我们只想显示Warn 级别以上的日志,可以这样:
ros2 run turtlesim turtlesim_node --ros-args --log-level WARN
??这时启动的仿真器就只会向外发布Warn 级别以上的日志了,Info 和Debug 级别的日志都是看不到的。rqt_console 工具可以帮助我们有效的查看机器人系统中的日志信息,提高调试、测试、开发的效率,快速找到你想要看到的日志。
|