• ROS2学习(六)Bag回放使用plotjugger


    Plotjugger

    Plotjugger是一个类似rqt_plot的可视化工具,但PlotJuggler拥有更强大和好用的功能。你可以导入文本文件让它显示文本文件中的数据,可以导入csv等各种格式的文件,支持画出数据曲线2.

    Bag回放

    使用Plotjugger 可以导入ros的bag包,它能自动解析bag包中的数据。在ros1中有rqt_bag等一些列比较完善的工具,可能实用起来不会觉得有什么问题。但是当在ROS2上,各类工具并不完善,比如我现在使用的foxy版本,就没有提供rqt_bag等工具,想要回放bag,分析数据比较困难。
    好在Plotjugger已经提供了可以分析ROS2 bag方法。

    apt安装Plotjuggler

    注意一下,如果是配合ROS1来使用,推荐安装PlotJuggler 2.X.X,如果是配合ROS2来使用,则推荐安装PlotJuggler 3.X.X。

    ubuntu上安装plotjuggler, 可以根据对应的ROS版本直接apt安装。

    sudo apt-get update
    sudo apt install ros-${ROS_DISTRO}-plotjuggler-ros
    
    • 1
    • 2

    启动:

    ros2 run plotjuggler plotjuggler
    
    • 1

    源码安装

    对于ROS2, plotjugger也在不一直修复一些bug,所以有些情况下可能希望手动修改源码再进行编译使用. 编译方式如下:

    1. 建立工作空间并拉取代码
      需要去github拉取对应的分支代码。
      mkdir -p ~/ws_plotjuggler/src
     cd ~/ws_plotjuggler/src
     git clone https://github.com/PlotJuggler/plotjuggler_msgs.git -b ros2
     git clone https://github.com/facontidavide/PlotJuggler.git
     git clone https://github.com/PlotJuggler/plotjuggler-ros-plugins.git -b foxy
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 解决依赖和编译
    cd ~/ws_plotjuggler
    rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
    colcon build
    
    • 1
    • 2
    • 3
    1. 启动
    source install/setup.bash
    ros2 run plotjuggler plotjuggler
    
    • 1
    • 2

    录制ROS2 bag

    使用下记命令可以记录ros2 的bag

    ros2 bag record  [topics [topics ...] [-o OUTPUT]
    
    • 1

    回放Bag

    如果是自定义的topic类型,需要现在唉自己的工程目录下进行source,加载msg的类型

    source install/setup.sh
    
    • 1

    然后启动plotjuggler

    ros2 run plotjuggler plotjuggler
    
    • 1

    点击 data,然后选择对应bag文件中的metadata.yaml.
    在这里插入图片描述
    [Ctrl + A]选择所有的topic,或者可以点击选择固定的几个topic
    在这里插入图片描述
    如果需要将topic public出来,就将Re-Publisher选中。
    在这里插入图片描述
    从左面的topic栏中选择要查看的数据,拖动到中间,就会自动画出数据曲线。
    在这里插入图片描述
    在靠下的位置有播放按钮,点一下播放,再点击暂停,时间轴可以拖动,从任一时间开始播放。 speed可以设置任一大于0的速度。

  • 相关阅读:
    three.js 航拍全景图(+陀螺仪)
    小红书为什么流量不好,小红书笔记质量评判标准有哪些?
    yarn节点属性及调度
    vue混入(mixin)的详解
    手把手教大家搭建微信公众号查题功能
    食品饮料行业B2B商城系统:加速行业数字化转型,提升B2B平台交易效率
    扬帆际海—跨境电商代运营靠谱吗?
    集群方法同步执行框架 Suona
    JAVA七种常见排序算法
    SpringBoot日志输出
  • 原文地址:https://blog.csdn.net/yangcunbiao/article/details/133697047