Modify multiplot x-axis

asked 2018-08-01 12:51:05 -0500

twostipe gravatar image

Hello ROS community,

In rqt_multiplot, when using header/stamps or message receipt times for displaying data, the x-axis becomes impossible to parse in a meaningful way. Times are represented in unix-time that is to say on the order of 1,500,000,000 seconds and display as "1.52824e+09". So it's really unintuitive to know how long a particular sequence is, let alone any given tick mark.

[i'll insert an image once i have >5 points]

Ideally I'd to

  1. Change the x-axis to "shift" the times to staring at 0 (0 = the start of the bag),
  2. have a sub-scale (like rqt_plot does)
  3. or display the times differently ("1.52824e+09" → "10:32:06 PM")

But I'm not finding any of these features in rqt_multiplot. The goal is for my team to use this really approachable rqt_multiplot tool, but have meaningful time values.

I have a few ideas on how to get around this, none of them good:

  1. Add a "human readable" time stamp to our headers and use those on the x-axis
  2. Add some sort of 0-based time in our headers and use those on the x-axis
  3. Post-process each bag to convert times to start at 0
  4. Write/wrap rosbag play to convert times on-the-fly and publish to be consumed by rqt_multiplot
  5. Somehow use /clock to simulate a bag starting at time 0

Thoughts? Help?

Thank you.

edit retag flag offensive close merge delete

Comments

I don't know about rqt_multiplot, but I believe PlotJuggler support all your points under 'ideally'.

gvdhoorn gravatar image gvdhoorn  ( 2018-08-02 03:24:41 -0500 )edit
1

Looking at PlotJuggler, it looks like it does support point 1 from my "ideally". I'm pursuing that for now.

twostipe gravatar image twostipe  ( 2018-08-02 13:16:21 -0500 )edit

Unfortunately, this is currently/still not possible with multiplot. There are two issues/enhancement requests on github asking exactly for that, see here.

ticotico gravatar image ticotico  ( 2021-01-04 12:47:51 -0500 )edit