• ROS2初级知识(7):用rqt_console查看日志logs


    Using rqt_console to view logs — ROS 2 Documentation: Humble documentation

    一、目标

            了解 rqt_console,一个用于领悟日志消息的工具。您将需要安装 rqt_console 和 turtlesim。 与往常一样,不要忘记在您打开的每个新终端中获取 ROS 2。

    二、背景

            rqt_console 是一个 GUI 工具,用于检查 ROS 2 中的日志消息。通常,日志消息会显示在终端中。使用 rqt_console,您可以随着时间的推移收集这些消息,以更有条理的方式仔细查看它们,过滤它们,保存它们,甚至重新加载保存的文件以在不同的时间进行重现或回顾。

    三、打开控制台指令

    ros2 run rqt_console rqt_console

    • 控制台的第一部分是显示系统日志消息的地方。
    • 在中间,您可以选择通过排除严重性级别来过滤消息。您还可以使用右侧的加号按钮添加更多排除过滤器。
    • 底部用于突出显示包含您输入的字符串的消息。您也可以在此部分中添加更多过滤器。

    四、使用日志终端

    现在,使用以下命令在新终端中启动turtlesim:

    ros2 run turtlesim turtlesim_node

    rqt_控制台上的2条消息
    为了生成rqt_控制台要显示的日志消息,让我们让海龟撞到墙上。在新的终端中,输入以下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_控制台中,您将看到相同的消息,警告严重性级别反复显示,如下所示:

     在运行ros2 topic pub命令的终端中按Ctrl+C组合键,以阻止海龟撞到墙上。

    五、记录器级别


    ROS 2的记录器级别按严重程度排序:

    • 致命的
    • 错误
    • 警告
    • 信息
    • 调试

    对于每个级别所指示的内容,没有确切的标准,但可以安全地假设:

    • 致命消息表示系统将终止以保护自身免受损害。
    • 错误消息表示重大问题,这些问题不一定会损坏系统,但会阻止系统正常运行。
    • 警告消息表示意外的活动或不理想的结果,可能代表更深层的问题,但不会直接损害功能。
    • 信息消息表示事件和状态更新,作为系统按预期运行的视觉验证。
    • 调试消息详细说明了系统执行的整个分步过程。

    默认级别为Info。您将只看到默认严重性级别和更严重级别的消息。

    通常情况下,只有调试消息是隐藏的,因为它们是唯一比Info级别低的级别。例如,如果将默认级别设置为“警告”,则只会看到严重性为“警告”、“错误”和“致命”的消息。

    六、总结

            在ROS2的正式开发中,对于程序的健壮性要求很高。在程序本身无误,但控制数据出现差错,如何去进行单元测试,本篇介绍rqt_console就是完成测试操作的工具。

  • 相关阅读:
    基础线段树
    JavaScript基础——巩固练习(3)
    《数理统计》第4章
    三元表达式判断控制插值表达式里面的内容
    emlog Pro 1.8.0漏洞挖掘之存储型XSS漏洞
    【相位解缠】一维信号相位解包裹原理及其演示实例
    Java 如何让HashMap集合按照key进行排序呢?
    BUUCTF reverse wp 61 - 65
    配置gateway路由与路径重写规则,验证码503问题的解决
    Windows无法连接共享打印机,错误码:0x0000011b的解决方法
  • 原文地址:https://blog.csdn.net/gongdiwudu/article/details/126088146