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

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

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:

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:

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"?

edit retag 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.

( 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.

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

Sort by » oldest newest most voted

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.

more