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