Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

David Lu answered on ros-users:

I have a tool based around a library here: https://code.google.com/p/wu-robotics/source/browse/trunk/precise_trajectory/graph_trajectory/src/graph_trajectory/__init__.py

It also uses a JointWatcher to record the values that are actually performed. https://code.google.com/p/wu-robotics/source/browse/trunk/precise_trajectory/pr2_precise_trajectory/src/pr2_precise_trajectory/joint_watcher.py

Dorian Scholz answered on ros-users:

the rqt GUI has a 2D plotter rqt_plot that can plot numerical data from messages. It is very similar to rxplot, but there is no restriction (as far as I know) on how many variables can be plotted. It's just dependent on you CPU power... rqt_plot has three different drawing backends selectable from it's configuration menu: - qwt plot (fast, but not using message timestamps and needs python-qwt bindings) - pyqtgraph (fast and needs pyqtgraph to be installed which is not in the repos) - matplotlib (slow but always available)

Dirk Thomas answered on ros-users:

Even without any further information how you want to plot the trajectories I would recommend looking into QGraphicsScene as the backend. May be this is a better fit that using matplotlib.

I've used David Lurxplot answered on ros-users:to visualize joint trajectory messages as they are being sent to the controllers. The downside is that there is no proper way to reconstruct the spline. For example, you can visualize the position of the waypoints and see the plotting tool reconstruct a smooth curve, but you can't enforce the actual waypoint velocity and acceleration specified in the message.

I have don't know if there exists an rqt plugin for reconstructing splines from JointTrajectory messages, but if not, it would be a tool based around a library here: https://code.google.com/p/wu-robotics/source/browse/trunk/precise_trajectory/graph_trajectory/src/graph_trajectory/__init__.pyvery valuable addition.

It also uses a JointWatcher to record A question from my side would be: are you explicitly computing the values blending patches for trajectory replacement, or are you letting the controller (eg. joint trajectory action controller) do that are actually performed. https://code.google.com/p/wu-robotics/source/browse/trunk/precise_trajectory/pr2_precise_trajectory/src/pr2_precise_trajectory/joint_watcher.pyfor you?.

Dorian Scholz answered on ros-users:

the rqt GUI has a 2D plotter rqt_plot that can plot numerical data from messages. It is very similar to rxplot, but there is no restriction (as far as I know) on how many variables can be plotted. It's just dependent on you CPU power... rqt_plot has three different drawing backends selectable from it's configuration menu: - qwt plot (fast, but not using message timestamps and needs python-qwt bindings) - pyqtgraph (fast and needs pyqtgraph to be installed which is not in the repos) - matplotlib (slow but always available)

Dirk Thomas answered on ros-users:

Even without any further information how you want to plot the trajectories I would recommend looking into QGraphicsScene as the backend. May be this is a better fit that using matplotlib.