• ROS小工具学习与使用


    ROS小工具学习与使用

    rqt的使用

    1. rqt_bag工具
      rqt_bag <your bagfile> #使用rqt_bag查看你的rosbag
      
      • 1

      例如:可以查看第一帧GPS的rawdata信息,如下图:

      在这里插入图片描述

      参考文献:

      1、http://wiki.ros.org/rqt_bag

      2、rosbag与rqt_bag的常用

    2. rqt_console和rqt_logger_level工具

      rqt_console:属于ROS日志框架(logging framework)的一部分,用来显示节点的输出信息。

      rqt_logger_level:允许我们修改节点运行时输出信息的日志等级(logger levels)(包括 DEBUG、WARN、INFO和ERROR)。

      现在用实例在rqt_console中的输出信息,同时在rqt_logger_level中修改日志等级。在启动例子之前先在另外两个新终端中运行rqt_console和rqt_logger_level:

      # 在终端直接运行
      $ rqt_console
      $ rqt_logger_level
      
      • 1
      • 2
      • 3

      打开例子:

      $ ./catkin_make.sh
      
      • 1

      因为默认日志等级是INFO,所以你会看到例子启动后输出的所有信息,如下图所示:

      在这里插入图片描述

      【注】:默认输出等级为INFO, 不输出Debug信息,可以打开rqt_logger_level配置输出等级, 选择节点 /lio_sam_gpsOdometry, logger: ros.lio_sam, levels改为Debug,如下图:

      在这里插入图片描述

      日志等级说明

      日志等级按以下优先顺序排列:
      Fatal
      Error
      Warn
      Info
      Debug
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      【注】:Fatal是最高优先级,Debug是最低优先级。

      终端消息解读

      在这里插入图片描述

      解释一下输出信息:第一个为系统时间戳。第二个为消息的输出的时候时钟源的时间(仿真时间),当ros系统设置了use_sim_time true的时候,这个为播放的bag包的时间,没有bag数据包播放时会卡住,这里可以参考博客:ros::Rate 设定的帧率循环进入一次就卡住

      【注】:

      这里对仿真时间做进一步说明:

      如果设置了ros时钟仿真参数(use_sim_time true),发布一个时间的clock话题(/clock),就可以控制ros系统的时间,效果如下:

      在这里插入图片描述

      :当发布clock话题的节点没有运行,会出现什么反应?

      :当其他所有节点线程遇到延时,执行rospy.sleep,rate.sleep等函数时,会一直卡住,while循环不跳出。一直等待 ,直到时钟初始化。

      当然你都无法直接分辨是哪天,这都是从1970-01-01 00:00:00 UTC开始算起的时间,单位为秒。国内北京时间UTC+8.0所以时间戳是从1970-01-01 08:00:00开始。

      通过rqt_console查看

      要想看懂时间戳,下面就轮到rqt_console登场了,如下图stamp显示的就是转换过后的时间戳

      在这里插入图片描述

      【注】:双击每条消息任意位置可以查看消息的所有详细信息。

      配置过滤哪些消息,可根据等级,消息内容,时间范围,节点以及话题来滤除,如下图:

      在这里插入图片描述

      配置高亮哪些消息,可根据等级,消息内容,时间范围,节点以及话题来设置,如下图:

      在这里插入图片描述

      参考博客:关于ROS日志ROS_INFO需要知道的一些东西

    3. bag数据回放注意事项

      从包文件重新发布时不要忘记使用模拟时间:使用模拟时间

  • 相关阅读:
    JVM 中类加载的链接与初始化
    Terraform 语法 provider插件
    python的format函数的用法及实例
    运维07:堡垒机
    Mysql 知行必会 “子查询”
    RTE2023大会来袭,声网宣布首创广播级4K超高清实时互动体验
    PPT效果有限、Echarts技术太高,还是这个工具最快实现报表可视化
    获取虚机内存
    .NET Emit 入门教程:第三部分:构建模块(Module)
    深入理解强化学习——标准强化学习和深度强化学习
  • 原文地址:https://blog.csdn.net/qq_39607707/article/details/127707796