天天看点

ROS-机器人操作系统(ROS)浅析----第四章

第四章 日志消息

本章主要学习如何生成和查看日志消息。

DEBUG消息可能会比较频繁地出现,但是只要程序能够正常工作就不必过于在意。而反过来,FATAL消息很少出现,但是却很重要,它通常表明程序中存在一些问题,导致已经无法继续运行。其余的三个级别:INFO,WARN和ERROR则代表着DEBUG和FATAL这两端之间中间程度的严重性。

日志消息有三个不同的目的地:每一个日志消息可以在控制台输出,可以是rosout话题的消息,也可写入到日志文件中。

除了在控制台上显示,每一个日志消息都被发布到话题/rosout上。该话题的消息类型是rosgraph_msgs/Log。

顺便插一句题外话,针对一些机器人,包括PR2和TurrleBot机器人,ROS包中的诊断消息使用相同的模式,这些消息最初发布于一个叫做/diagnostics的话题上,并输出到另一个消息聚合节点的/diagnostics_agg话题上。
通过以下命令向节点管理器询问当前的run_id(.log文件)
           
rosparam get /run_id
           
也可以使用下面这条命令来查看当前账户中被ROS日志消耗的硬盘空间7:
           
如果日志正在消耗过多的硬盘空间,可以通过下面的命令删除所有已经存在的日志:
           
rosclean purge
           
如果你愿意,也可以手动删除这些日志文件。
           

4.6 展望

本章,我们学习了如何在ROS程序中生成日志消息以及如何通过不同的方式查看这些消息。这些消息对于跟踪和调试复杂ROS系统的行为是很有用的,特别是这些系统拥有大量不同节点时。下一章将讨论ROS的命名规则,如果使用得当,它也可以帮助我们用较小部分组成复杂的多节点系统。

继续阅读