ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

What is a good way of storing robot paths and access them?

asked 2019-06-18 01:39:51 -0600

dofrey gravatar image

updated 2019-06-18 09:40:38 -0600

Hi guys

I am writing a controller for a 6DOF robot arm. I am generating paths for the robot to come from the starting point to a desired pose. To do this I do a piecewise polynomial interpolation. Meaning that I first easily interpolate linearly over time between the two points. And then I attach a 6-degree polynomial in the beginning and the end to smoothen the motion. It looks then as follows:

image description

Now I have the problem, that because of numerical issues (at least I think so) or because of time discretization, I got small jumps between the different polynoms:

image description

My idea is now to just filter the paths to get rid of these jumps. For this I need to store the path somehow that I can filter it but I don't really have an idea what is a good way of doing this. How are paths saved for example in MoveIt? Do they save discrete or continuous paths? Is there a way of connecting my polynoms to make it "filterable"?

Thanks for your help!

edit retag flag offensive close merge delete


Could you please attach your image directly to the question? You have 11 karma, so you should be able to do this.

gvdhoorn gravatar image gvdhoorn  ( 2019-06-18 08:50:23 -0600 )edit

Yes of course. When I posted the question this morning I did not have enough karma yet. Updated my question accordingly.

dofrey gravatar image dofrey  ( 2019-06-18 09:39:46 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2019-06-18 13:06:51 -0600

Fundamentally a joint trajectory is a matrix of points and a matching vector of time offsets (in sections from the start of the trajectory) which give each row of the matrix a point in time. You could write these out to a CSV file fairly easily from a ROS node.

However taking a step back I don't think filtering out these glitches is the best idea, they are probably caused by a bug in your code or error in your maths. There is no reason why you shouldn't be able to produce a perfectly smooth (and tangentially continuous) joint trajectory path. So I would concentrate your efforts there, and hopefully you will not need an additional filtering step.

edit flag offensive delete link more


Thanks. I really found a bug in my code now that fixed the problem. I gave up after multiple days of debugging but took it up now again. Thanks anyways for the information about how trajectories are stored usually. My trajectory I store as a function and not as a matrix of points. I think to publish it in RViz I need to convert my functions then to the matrix form.

dofrey gravatar image dofrey  ( 2019-06-19 06:10:52 -0600 )edit

Question Tools

1 follower


Asked: 2019-06-18 01:39:51 -0600

Seen: 219 times

Last updated: Jun 18 '19