Using multiple planners to control one robot arm
With moveit

The Hybrid Planner is being developed as a part of MoveIt2 (there have been some really cool developements, go check it out. But, while we wait for it, it was time to have some fun.

Is there really a need?
A need for such a solution is often seen when online motion plans are required. A possible implementation of this could be querying both a global motion planner(such as PRM) as well as a local planner(such as the included pilz-industrial planner) on 2 seperate worker threads to get the fastest feasible solution.

Is it safe though?
Yes! Moveit checks a generated plan against the environment snapshot before returning a successful trajectory.

Setting up such a pipeline is possible and is merely a game of namespaces and some essential remapping. Go have a look at my repository for the code as well as demo.

The most interesting file is perhaps move_group.launch in the ur10e_moveit_config package.

A demo moveit_commander interface that allows for addressing both namespaces seperately is shown in moveit_interface.py of the multi_planner_launch package.

Ideas? comments? suggestions for improvement?
Feel free to reach me on my E-mail

*****
"A chance not taken is an opportunity missed."