ros / urdfdom

URDF parser
http://ros.org/wiki/urdf
Other
96 stars 131 forks source link

Add attribute to indicate if a mesh is a convex hull? #108

Open Levi-Armstrong opened 6 years ago

Levi-Armstrong commented 6 years ago

Would the maintainer be open to adding an an attribute to the mesh tag indicating if the mesh is a convex hull? The default would be false.

<mesh filename="" convex="true" />

sloretz commented 6 years ago

Hi @Levi-Armstrong, did you have a particular use-case? It might be a topic worth opening up on https://discourse.ros.org/c/robot-description-formats

gavanderhoorn commented 6 years ago

The use-case here is to utilise this information in planners / collision checkers that can enable certain optimisations when the meshes they are passed are convex. One example would be FCL, which has optimised implementations for convex-convex algorithms.

As this is a property of the mesh that is difficult/impossible to derive at runtime, adding an optional attribute to the mesh element seems like a straightforward way to encode it.

Levi-Armstrong commented 6 years ago

@sloretz As @gavanderhoorn mentioned this is the main factor. Most of the collision libraries use libccd to perform convex-convex collision checking and it also provides the minimum translation vector when in collision which would could be used by several optimization based motion planners.

de-vri-es commented 6 years ago

Hi @Levi-Armstrong, did you have a particular use-case? It might be a topic worth opening up on https://discourse.ros.org/c/robot-description-formats

Thread on discourse: https://discourse.ros.org/t/add-attribute-to-indicate-if-a-mesh-is-a-convex-hull/4479