facontidavide / PlotJuggler

The Time Series Visualization Tool that you deserve.
https://www.plotjuggler.io
Mozilla Public License 2.0
4.44k stars 620 forks source link

Limit of ROWS - Waypoints to plot? Graphic is cut without show all Data #538

Closed marcusvinicius178 closed 3 years ago

marcusvinicius178 commented 3 years ago

Hi David At first congratulations for ROS Award and this tool that is amazing. I hope saves time to me (I am in a hurry to send my master thesis in few days...)

Problem description

Ok, I have a huge amount of data in my Rosbag topic, Actually I am plotting the car-like robot position in X,Y Plot. Plot Juggler is not plotting the first 2400 rows, it is plotting just after these rows, from row 2447 to 4000. Is there limitations in size or points to plot?

My Robot starts at position.x = 45 and y = 5 -------X = longitudinal, forward move and finishes in the position x= -36 and y = 3.3 (there are LGSVL world coordinates) -----lateral move

So my car starts driving forward from x=45 until x=-36 it deviates from an obstacle (truck) and then y (lateral control) is changing during the car's move

Just take a look what happens in images:

The Global Path in Blue image

The local planner in green is activated and start distorting the global planner and change the coordinates in y (lateral)

image

However I do not have the data in separate points (local vs global topics). I just have final waypoints. That When I plotted them in PlotJuggler I got this draw:

plot_misssing_first_points_data

And I was expecting this plot, That I have done with an online graphs plot: https://datawrapper.dwcdn.net/it3p1/1/:

correct_graph

If you check the graph already starts in x = -5 meters and should starts at x = 45

The direction is inverted the move starts from right to left ( on x coordinates) In this graph you can check that the y point (at right- end of graph), already starts in y = -3 meters and then finishes in y = 3.3 But also O should see more to the right (The first data are hidden or were cut) I should see y beginning at y =5

Maybe the short video below will make this more clear

https://youtu.be/wOs4B3HTOWY

As you can check it is missing data in the right of the graphic... Is there a limit of rows to plot or/and visualize in X,Y plot? Or am I doing something wrong?

Steps to reproduce (important)

sudo apt-get install ros-noetic-plotjuggler*

Sorry I did not understood the procedure above

OK I will share the csv and the rosbag just dowload from my drive https://drive.google.com/drive/folders/1fQgylfyEeyme0t5DfBNwNJD3j1ujUdox?usp=sharing

STEPS TO REPRODUCE

1- Load data from teh "final_waypoints.csv" file or the topic "/final_waypoints" topic from rosbag 2 - Choose data from the columns "field.waypoints0.pose.pose.position.x" and "field.waypoints0.pose.pose.position.y" to plot. Drag with the right bottom of the mouse to plot with the option "X,Y Plot" 3- Compare with the CSV and you will check that is missing the first rows data (about the first 2400 rows) it is plotting just after the row 2443 until 3951)

It is missing the first 2400 rows to plot

Could you please assist me here Mr. David?

Thanks in advance

marcusvinicius178 commented 3 years ago

Hi David in addition I have other question About mirror/rotate the data in turn of some axis?

....I was able to plot all the data now, converting the topics to csv, afterwards replace all the comma to dot in values. Then Plotjuggler was able to interpret the data without close suddenly.

Buit now I have another issue. I wish to show the planners behavior visually as a bird-view video that I have done. My plot of the 3 planners is below:

Planners_comparison_plot_grid

However I wish to Mirror/Rotate the data in turn of Y axis, so the curve that you see going to left side and later returning to the center should be the opposite, should go to the right of the center and later return to center....

Is this possible? Mirror the path drawed in turn of the Y axis?

To be more clear I would like something like this:

Planners_comparison_plot_grid

However the image above is wrong! I have done this trick with an online mirror tool: https://www.resizepixel.com/download

But I think you got the idea... How Can I do this rotation, axis inversion, in PlotJuggler?

facontidavide commented 3 years ago

You can switch X and Y, but you can not flit the visualization.

The only way (not very user friendly) is to use the Custom Series functionality to create a new series that is "flipped".

marcusvinicius178 commented 3 years ago

Thanks @facontidavide and about to load rosbag data to plot the Ros topics (first question) is there a limit to load rows and plot? As you can check in the images ( the first one-plot in red, single line)

Plotjuggler has missed the first 2400 rows....I have zoomed out but was not possible to see the first x,y points (just compare the blue chart and red chart you can check that data is missing in red chart)..After the concavity the red line should grow up as the blue did (from left to right). The Blue one I have done in an online tool.

https://user-images.githubusercontent.com/43826438/136288972-47ec62b9-e46e-44dc-bb51-9494bc8d3cf5.png

https://user-images.githubusercontent.com/43826438/136293616-bebb75d2-c3eb-44ab-abf0-6255ce912774.png

facontidavide commented 3 years ago

image

You need your options as shown here:

image

marcusvinicius178 commented 3 years ago

Hi It worked!!!

Thanks a lot Mr. Faconti!!! Your tool definetly is the best to plot ROS DATA!!!!

image

And with zoom out in vertical is equal to yours:

image

Which is the way (link) to send you donation? I wish to send something symbolic, sorry I am still just a brazilian student, I am very grateful for this tool!

facontidavide commented 3 years ago

My PayPal link is at the end of the README.md file.

I appreciate symbolic donations... but don't feel obliged :smile:
If it is very small (below 5$), most of it goes into PayPal fees and it is not worth it. You can also show your appreciation on Twitter or LinkedIn for free, and I will be grateful too :wink:

marcusvinicius178 commented 3 years ago

Sure! I will do it at the end of my thesis a nice video on these social medias with greeting for PlotJuggler and also for Robot Ignite Academy, Autoware, Apollo and LG. They helped me a lot during this harsh process! Thanks and by the way, unfortunately I had another issue using the framework,sorry hehe. Not used with the function interface and LUA...in Python that would be just one line of code hehe. If you have time to help me I will be very grateful! https://github.com/facontidavide/PlotJuggler/issues/539