How to change the Nut to another object in the example FactoryTaskNutBoltPick?


I’m currently working with the OmniIsaacGymEnvs package / FactoryTaskNutBoltPick example

I would like to modify the example code to pick an object(ex. harness) instead of the nut(default picking target)
However, It seems to be facing a problem related to an .usd file format in Isaac Sim.

What I’ve tried is

  1. save the nut.usd to my local directory from the running example (for comparision)
  1. convert a harness 3d model file to .usd format (.stl → .usd)
    2-1. start Isaac sim app and import harness.stl file
    2-2. edit harness object with visual and collisions similar to nut.usd (below screenshot)
    2-3. save harness.usd format to my local directory

[harness.usd and nut.usd stage tree]

  1. customize the example code in
    3-1. modify ‘nut_file’ variable
    nut_file = (local directory)/harness.usd
    3-2. modify some other parts(scale etc.) little bit more in
  1. debug and run (vscode)

[Isaac Sim. Output]

harness penetrating into the desk (No more falling down. fluttering around)

error message

PhysX error: PxgDynamicsMemoryConfig::collisionStackSize buffer overflow detected, please increase its size to at least (number) in the scene desc!

harness stage tree, while running example

I want to make the harness 3D model interact with the environment exactly as its own shape.

However, There is a collision calculation error, and it seems that the collision calculation is not being performed based on the shape of the harness. As a result, certain parts of the harness keep penetrating into the desk.

Even after reading the documentation related to USD, I’m not entirely sure where to look for guidance or which specific part of the .usd file needs to be modified. I’m unsure about what steps to take next.

  • OS : Ubuntu 20.04 LTS
  • GPU : RTX 2070
  • Memory : 32GB

Hi there, I would recommend first debugging the harness asset individually in Isaac Sim to make sure the collision shapes and physics is behaving as expected. Then, once imported into the Factory environment, you can first try to start off with a smaller number of environments to see if the collisions are working, then extend to a larger number of environment. It may be possible that the reset conditions or default transforms for the new asset are different than the nut. You can also try increasing the values for the GPU buffers in the task config file to resolve the warning messages.

1 Like

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