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

启动:

ros2 run plotjuggler plotjuggler

源码安装

对于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. 解决依赖和编译
cd ~/ws_plotjuggler
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
colcon build
  1. 启动
source install/setup.bash
ros2 run plotjuggler plotjuggler

录制ROS2 bag

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

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

回放Bag

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

source install/setup.sh

然后启动plotjuggler

ros2 run plotjuggler plotjuggler

点击 data,然后选择对应bag文件中的metadata.yaml.
ROS2学习(六)Bag回放使用plotjugger_第1张图片
[Ctrl + A]选择所有的topic,或者可以点击选择固定的几个topic
ROS2学习(六)Bag回放使用plotjugger_第2张图片
如果需要将topic public出来,就将Re-Publisher选中。
ROS2学习(六)Bag回放使用plotjugger_第3张图片
从左面的topic栏中选择要查看的数据,拖动到中间,就会自动画出数据曲线。
ROS2学习(六)Bag回放使用plotjugger_第4张图片
在靠下的位置有播放按钮,点一下播放,再点击暂停,时间轴可以拖动,从任一时间开始播放。 speed可以设置任一大于0的速度。

你可能感兴趣的:(ROS2,ubuntu,学习)