自动驾驶可视化利器(一)--PlotJuggler

1. Plotjuggler简介

PlotJuggler是一个类似于rqt_plot的基于Qt的数据可视化工具。但PlotJuggler拥有更强大和好用的功能。主要的功能包括三个方面:

1)可以导入bag数据包,自动解析bag包中的数据信息;

2)实时数据流的显示,对于速度、位姿等时间序列的数据显示优势明显;

3)对数据包中的话题republic回放,可以用Rviz显示,也可以进行程序仿真。

具体的效果展示如下图所示。Plotjuggler官方网址:https://www.plotjuggler.io/

2. 安装&运行

1)软件安装

sudo apt install ros-${ROS_DISTRO}-plotjuggler-ros

2)软件运行

#ros1:

rosrun plotjuggler plotjuggler

#ros2:

ros2 run plotjuggler plotjuggler

3. 软件的使用

3.1数据的加载

点击左上角的“Data”菜单,弹出文件浏览对话框选择需要的数据包,open后会显示数据包中所有的话题名和话题消息类型,然后在弹出的对话框中选择需要加载的话题名称。具体的如下图所示。

3.2 数据流实时显示

数据流实时展示,即将主机中的topic信息进行实时抓取,实时展示。具体的如下图所示。

1)可以实现单个话题的实时播放、时间序列显示,以及任意时刻的数据缩放;

2)可以实现多个话题曲线的实时联动;

若显示的话题参数为单个变量,直接将该变量拖入到tab中即可,如上图中的tab2显示速度信息。若需要显示的话题参数为两个变量,需要同时选中两个变量然后右键将其拖入到tab中,会弹出如下的对话框,设置好坐标轴的变量确定即可,最终的效果如上图中的tab1所示。

3.3 新的数据流创建

若有特殊需求,也可以创建新的时间序列话题。如下图所示,以速度为例,对速度进行求一阶导数获取其加速度的值,并显示出来。

1)首先选中”vel"话题,单击“Custom Series”弹出如下图所示的界面;

2)然后给新的话题起个名字“accTemp”,选择函数库中的一阶导函数双击,在右下角的function面板中显示对应的代码(若有特殊需求也可以自己编写函数);

3)单击创建,会得到新的话题数据,如下图所示。最后将其拖入新的tab界面显示即可。

3.4 话题的数据回放

1)该部分实现将bag包中的topic进行播发。首先,请将ROS Topic Re-Publisher 后面的小方块进行选取(如图所示),并点击后方的齿轮按钮,在弹出的对话框中进行播发topic选择,选择完确定即可。

2)然后,在单击最下方的播放键,即可开始播放话题,同时根据自己的需要设置播放速度、步长,也可以根据自己的需要拖拽回放的开始时间,具体的如上图。

3)最后,可以同时进行程序仿真,并在RVIZ中查看显示的结果。

参考:

1)【Ros可视化绘图工具】Ros绘图神器——PlotJuggler - 知乎

2)https://blog.csdn.net/shoufei403/article/details/124534170

### 如何使用 PlotJuggler 打开和处理 ROS Bag 文件 #### 准备工作 为了能够顺利打开并处理 `.bag` 文件,需要确保已经正确安装了 `PlotJuggler` 及其对应的 ROS 插件。可以通过以下命令来完成必要的软件包安装: ```bash sudo apt-get install ros-melodic-plotjuggler-msgs ros-melodic-plotjuggler-ros ``` 这步骤是为了让 `PlotJuggler` 能够识别并解析来自 ROS 的消息格式[^1]。 #### 启动 ROS 环境 启动 ROS 核心服务对于加载 `.bag` 文件至关重要。执行如下指令开启核心节点: ```bash roscore ``` 此操作会创建个用于管理所有其他节点通信的核心进程。 #### 使用 PlotJuggler 加载 .bag 文件 旦上述准备工作就绪,在终端中输入下列命令启动 `PlotJuggler` 应用程序: ```bash plotjuggler ``` 随后会出现图形界面窗口,在该界面上可以选择要导入的 `.bag` 文件路径。通过导航至目标文件夹位置并选中所需的记录文件来进行下步分析工作[^2]。 如果遇到无法正常读取的情况,则可能是因为缺少特定版本的消息定义或是插件未被正确配置。此时建议按照官方文档指导进步排查问题所在,并考虑采用源码方式重新构建项目以包含最新依赖项[^3]。 #### 处理数据流 当成功加载了个 `.bag` 文件后,可以在 `PlotJuggler` 中设置不同的图表选项来直观展示各个话题下的时间序列变化情况。还可以利用内置函数实现信号过滤、变换等功能以便更好地理解所收集的数据特征。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值