Ask Your Question

MoveIt: Is there a trajectory-cache?

asked 2017-01-18 11:48:29 -0500

PickBot gravatar image

updated 2017-01-18 11:55:47 -0500


For my current project on picking with a UR, I'm looking for a cache for planned paths. Some movements (e.g. from the put position back to a start position) are repeated for every object and the planning needs some time (around 2 seconds) which I'd like to save by storing plans in a DB (doesn't even need to be persistent) so that if I request the same start and end-joints I can look up the trajectory and execute it directly (assuming a constant collision environment).

Is there something available or do I have to implement it?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-01-19 00:11:07 -0500

rbbg gravatar image

Hi PickBot,

I am pretty sure there is no standard trajectory-cache available at this time. I have also had the need for something similar (but it had to be persistent) and have implemented it using .yaml files on disk and a pre-defined set of joint states as start/goal states. You might be able to find something on github for your application, but I don't know of any.

edit flag offensive delete link more


Thanks! Any hints on what you learnt during the implementation?

PickBot gravatar image PickBot  ( 2017-01-19 00:49:11 -0500 )edit

It's tricky to figure out exactly when a query is equivalent as the joint states naturally vary with to some degree, so you need some kind of threshold. Sometimes we would plan a very short path to a (close) pre-defined state to ensure the robot will be at that state when the trajectory starts.

rbbg gravatar image rbbg  ( 2017-01-19 01:35:01 -0500 )edit

Also, if you do intend on storing the trajectories to disk, it's easiest to use rosbags. The implementation we wrote is online and can be found here: apc16delft_motion (note: we used yaml instead of rosbags)

rbbg gravatar image rbbg  ( 2017-01-19 01:35:33 -0500 )edit

That's also what I planned. I have a drop position and would generate a set of start points above the box so that I first plan to the closest start point and execute the stored trajectory afterwards.

PickBot gravatar image PickBot  ( 2017-01-19 01:36:25 -0500 )edit

Thanks for the link. I saw the delft run at the APC this year and even had a look at the ROSCON-slides but I didn't find code for the cache.

PickBot gravatar image PickBot  ( 2017-01-19 01:52:00 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2017-01-18 11:48:29 -0500

Seen: 259 times

Last updated: Jan 19 '17