0
$\begingroup$

Rosanswers logo

My setup includes one robot controlled via Move It and additional robot-like machines which should be added at runtime, but not controlled via Move It.

I've read this discussion here Moveit Google Groups which states that multiple robots aren't supported with one planning scene. Instead, one might add the non-moving robot/object to the moving robots planning scene by hand/software.

Since the thread is from 2014, is this still information still up to date? Are there any better solutions than to add/remove the objects to the planning scene programmatically?

Thanks, Alex


Originally posted by machinekoder on ROS Answers with karma: 69 on 2020-06-05

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Since the thread is from 2014, is this still information still up to date?

The MoveIt planning scene still only supports a single "robot". I'm putting that in quotes, as what it really means is: it only supports a single root.

So as long as you can put together a .urdf or .xacro which has a single root, you can have as many robots in a scene as you'd need/want/like.

But from this:

It and additional robot-like machines which should be added at runtime, [..]

I get the impression that you're actually wondering about how to dynamically add and remove additional robots to and from the planning scene.

That's a slightly different question, and it would be good if you could clarify whether that is your actual question.

Are there any better solutions than to add/remove the objects to the planning scene programmatically?

Well, programmatically implies it's done through or by something which was programmed to do this. So in the end, I'd say no, it'll always be done by something which was programmed to keep an eye on this aspect of the planning scene.

If you're asking whether there is something you could use out-of-the-box then perhaps the perception pipeline (ie: Octomaps) could be of use.

From what you describe, it sounds like you're mostly interested in knowing where other things are, such that you can either avoid them or actually plan towards them. For the former, an Octomap based collision object seems like it could be useful.

For the latter, you may want to augment that with something which dynamically places more detailed collision objects in the planning scene, such that you could be sure you're planning towards or close to something which is not just a bunch of voxels, but recognisable geometry.

The Octomap updater is provided by the base MoveIt installation. Something to recognise and place collision objects in your scene is not.


Originally posted by gvdhoorn with karma: 86574 on 2020-06-06

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by machinekoder on 2020-06-07:
Thank you for detailed answer. Indeed, I try to add the additional (CNC) machines as robots, so I can move their axes around in the planning scene. Why not at startup in the URDF? Because it's inconvenient for the end user to wait for a restart of everything.

So a little ROS node that put's the objects into the planning scene and updates axis collision object position should do the trick.

I just hoped that there was a nicer to out-of-the-box way to achieve the same result.

Comment by gvdhoorn on 2020-06-08:
ros-planning/moveit_visual_tools could perhaps help.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.