URDF importer seems to ignore the convex_decomp setting

Hi! When I import my robot, the URDF importer seems to be using the convex hull to compute the colliders. However, I would prefer a tighter representation, so I tried to set convex_decomp parameter to True. Unfortunately, this does not seem to have any impact on the result.

In the urdf file, the colliders are set to custom meshes. I suspect that the importer tries to use the meshes, does not find them and then it just uses convex hull, without looking at the convex_decomp setting. Could this be the explanation?

I have tried to run Isaac in verbose mode and it seems that the meshes are actually found without a problem. The question now is, why they are ignored and convexHull seems to be used instead, as the resulting collisions look nothing like the collision meshes. Meshes used are .STL.

Messages of the importer (I omitted the full paths):

2022-11-22 10:17:27 [36,941ms] [Info] [omni.isaac.urdf] Add collisions: backpack_layer_4_base_link

2022-11-22 10:17:27 [36,941ms] [Info] [omni.isaac.urdf] Testing ROS Package path '/home/carto/catkin_ws/install/share/....' (1)

2022-11-22 10:17:27 [36,941ms] [Info] [omni.isaac.urdf] Found Mesh At: /home/carto/catkin_ws/install/share/...

Update: the collision objects are parsed, however an approximation is applied over them.

When I manually set the approximation type to “meshSimplification”, I got the best results.
image
However, through API this did not work as physx complains:

2022-11-22 11:06:57 [11,199ms] [Warning] [omni.physx.plugin] PhysicsUSD: Parse collision - triangle mesh collision (approximation None/MeshSimplifixation) cannot be a part of a dynamic body, falling back to convexHull approximation

I am setting the approximation type as follows:

setRigidBody(prim, "meshSimplification", False)

I have a similar problem. When I import directly the urdf of an object, I got the warning:

 [Warning] [omni.physx.plugin] PhysicsUSD: Parse collision - triangle mesh collision (approximation None/MeshSimplifixation) cannot be a part of a dynamic body, falling back to convexHull approximation

I also tried to use the URDF importer manually in the GUI, select as approximation for the collider “ConvexDecompisition”, save the usd and then load directly the usd in the code, I still receive the same error. When I look at the collision by setting Physics>Colliders>All, I see the representation of the convex hull of the object and not the representation of the convex Decomposition. How could I avoid to get this warning and use the convex decomposition defined in the usd file ?

2 Likes

Pinging this thread. It would be really useful to know if the ignorance towards the convexDecomposition parameter is a bug or not.

Also whether meshSimplification can be somehow used or whether this is lacking on purpose or is a bug.

Hi - Sorry for the delay in the response. Let us know if you still having this issue/question with the latest Isaac Sim 2022.2.1 release.

Thanks for the Feedback! I’m adding an internal bug tracker to get the UI selector to work accordingly in the URDF importer.

One small note - Triangle Mesh and Mesh simplification does not work on Dynamic Rigid Bodies - It will default to convex hull. The best alternative would be Convex Decomposition - You can also open the advanced settings for convex decomposition and enable “Shrink Wrap” - I found it to give the most accurate results:
image

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.