• 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数据回放注意事项

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

  • 相关阅读:
    非极大值抑制
    LQ0241 身份证号校验【程序填空】
    Conformer Encoder GPU 加速策略较全面汇总
    大功率信号发生器原理是什么,安泰功率放大器型号推荐!
    SpringCloud feign 的三种超时时间配置
    【电商运营】不知道怎么做网站优化?这里有你需要知道的一切!
    物联网AI MicroPython学习之语法 TIMER硬件定时器
    MySQL数据库 -- 表的增删查改
    初出茅庐的小李博客之根据编译时间生成软件版本号
    Kotlin 伴生对象(companion object) VS 包函数
  • 原文地址:https://blog.csdn.net/qq_39607707/article/details/127707796