0
$\begingroup$

Rosanswers logo

The documentation of the URDF says: " Note: multiple instances of tags can exist for the same link. The union of the geometry they define forms the collision representation of the link."

I was wondering how the collision check (e.g. in Moveit) will be performed. Let's say I do a convex decomposition on the mesh of a link and include the convex component in seperate collision instances. Would this increase the performance compared to the case where I put the convex components in a single file and thus a single collision instance? Will the collision checker first check whether the specified mesh is convex and then check for collisions or does the collision checker first combines the convex components and then does the collision check? In the latter case the combined shape is not necessarily convex anymore and thus more computation heavy to check.

Thanks!


Originally posted by rfn123 on ROS Answers with karma: 146 on 2020-11-27

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Let's say I do a convex decomposition on the mesh of a link and include the convex component in seperate collision instances. Would this increase the performance compared to the case where I put the convex components in a single file and thus a single collision instance?

there is no general answer here except: it depends. And it depends heavily on the consumer of your URDF.

For MoveIt specifically: the convexity of any geometry entity is "lost". Afaik there is no performance gain to be had here. Now that MoveIt starts to look at alternative collision libraries and environments (Bullet fi), I expect this to become more of an issue and consequently will gain more attention.

In the Tesseract project they've forked URDF specifically to add these kinds of concepts and then support them throughout the planning infrastructure.

The reason collision geometry elements exist in URDF is to allow for lower fidelity models to be attached to links. Using lower fidelity versions of meshes (ie: convex hulls) for collision detection does result in performance improvements. But mostly because there will just be less vertices/faces to check.

In the latter case the combined shape is not necessarily convex anymore and thus more computation heavy to check.

As I wrote: afaik there is nothing which can benefit from any convexity here. At least not in MoveIt as of this time.


Originally posted by gvdhoorn with karma: 86574 on 2020-11-27

This answer was ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

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