RESULT_ERROR_COOKING_FAILED

Isaac Sim Version

4.5.0

Operating System

Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

GPU Information

  • Model: T4
  • Driver Version: 535.183.01

Calls to physx_cooking.request_convex_collision_representation() fail with RESULT_ERROR_COOKING_FAILED

With the last major update I had to switch to the get_physx_cooking_interface() ( 296302 )

Now with the update to 4.5 I get errors.
I have attached the usda file I want to read the collider data from. (They are different from our old usda files because the URDF Importer has changed.) I have tried to calling request_convex_collision_representation() on the collisions prim (the one that has the PhysicsCollisionAPI) or the Flattened_Prototype_1 and many other variants. However, I was not able to retrieve the collider data yet.

exp_L.txt (36.1 KB)

@ AlesBorovicka
Could you maybe help me here again?

Hello, thank you for posting this issue. I am unable to reproduce the error on my side. If I run the ConvexMeshData example (Windows>Examples>Physics Examples), I am able to call

physx_cooking.request_convex_collision_representation(stage_id=stage_id,
                                                      collision_prim_id=prim_id,
                                                      run_asynchronously=False,  # <-- Synchronous
                                                      on_result=self.on_convex_representation_ready)

And I get a callback after with PhysxCollisionRepresentationResult.RESULT_VALID and the corresponding collider convexes.

Would you be able to share the code that you are running that causes the error?

Hi,

Thank you for the reply.

I don’t use the GUI much and I don’t understand how I could load my usd files into this example. However, I’ve set up a minimal repro here.
repro.zip (13.8 KB)

Note: I figured out some sort of workaround by manually updating the imported usd to be non instanceable and then removing various APIs. With those exported usds I can use the request_convex_collision_representation(). (See the comments in the repro code.)

Still I think there is a serious issue. How can you access the collider data of instanceable meshes?

Hi, the problem might be that you were not applying the CollisionAPI and MeshCollisionAPI to a mesh instance. In your repro case, you might want to apply them to prim at path /object/object/collision/exp_L/mesh.

Here is a fixed script
repro.zip (3.8 KB)

I’ll go ahead and close the topic for now. Feel free to re-open if there are any additional issues.