Using State Lattice Motion Planning for Arm Control with MoveIt!

asked 2018-07-31 15:20:59 -0500

scchow gravatar image

updated 2018-08-11 20:38:25 -0500

I am currently working on implementing and extending Ben Cohen's work on Search Based Planning for Manipulators.

I have created a model of our arm in Gazebo and was hoping to leverage MoveIt! planning plugins to handle the planning aspects. The two planning library plugins I was considering were OMPL and SBPL.

Search-based Planning Library (SBPL)

SBPL seems to be the library written by Cohen for demonstrating his algorithm. There is an associated MoveIt! plugin that seemed to work back in 2016 based on other ROS Answers questions, but seems to no longer be fully supported and documentation on the plugin is sparse.

In the MoveIt! documentation, it notes that Integration (of SBPL) into latest version of MoveIt! is work in progress. and there is an open issue about it on Github.

Does anyone know the status of reintegrating the SBPL plugin?

Open Motion Planning Library (OMPL)

OMPL is the default planning plugin with better documentation.

The main issue I ran into was the fact that the MoveIt! and OMPL interface seems to abstract away the concept of the robot into a pure planning problem by the time it gets to the OMPL planner, which would make it hard to construct an appropriate state lattice with motion primitives within a custom OMPL planner.

One idea I had to work around this was to have my custom planner instantiate a ROS node that would subscribe to topics about the world and the arm in order to create the state lattice, plan using the lattice, and then pass the created plan to MoveIt! through the OMPL plugin.

Would it be possible to implement a state-lattice based planner in OMPL and does my workaround sound feasible?

Writing my own custom planner

If the two libraries above don't work, my last recourse would be to create my own plugin and implement things from scratch. I have asked about implementing custom planners previously but:

I would definitely appreciate any further information about implementing custom planner plugins as well as any other advice for tackling this.

Thank you for taking the time to answer my questions.

edit retag flag offensive close merge delete