8-使用rqt_console 查看log

背景

基础准备

任务

    1 设置

    2 rqt_console上的消息

    3 log 级别

总结

背景

    rqt_console是一个GUI工具,用于在ROS 2中自查日志消息。通常,日志消息会显示在终端中。使用rqt_console,我们可以随时收集这些消息,以更有组织的方式仔细查看log,过滤log,保存log,以便在不同的时间进行查看。
    节点使用日志以不同的方式输出有关事件和状态的消息。

基础准备

    需要安装rqt_console和turtlesim。

    在每个终端记得source。

任务

1 设置

    在一个新的终端中使用以下命令启动rqt_console:

ros2 run rqt_console 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中,你会看到同样的消息,警告严重级别一遍又一遍地显示,如下所示:

    在运行ros2 topic pub命令的终端中按Ctrl+C来停止命令。

3 log级别

    ROS 2的log按严重程度排序如下:

Fatal
Error
Warn
Info
Debug

    每个级别的含义并没有确切的标准,但基本准则如下:
    Fatal消息表示系统将终止,以试图保护自己免受损害。

    Error消息表示一些重大问题,这些问题不一定会损坏系统,但会阻止系统正常运行。
    Warn消息表示意外活动或可能代表更深层次问题的非理想结果,但不会完全损害功能。

    Info消息指示事件和状态更新,作为系统按预期运行的视觉验证。
    Debug消息详细说明了系统执行的整个分步过程。
    默认级别为Info。您将只看到默认Info级别和更严重级别的消息。

    通常,只有Debug消息是隐藏的,因为它们是唯一比Info轻的级别。例如,如果将默认级别设置为Warn,则只会看到严重性为Warn、Error和Fatal的消息。

3.1 设置log的默认级别

    可以在第一次使用重映射运行/turtlesim节点时设置默认logger级别。在终端输入以下命令:

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

    现在,您将看不到上次启动turtlesim时在控制台中出现的初始Info级别消息。这是因为Info消息的优先级低于新的默认严重性Warn。

总结

    如果您需要仔细检查来自系统的日志消息,Rqt_console将非常有用。出于各种原因,您可能希望检查日志消息,通常是为了找出出错的地方以及导致出错的一系列事件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值