Importing urdf object to isaac gym

I am trying to import an object to Isaac gym for grasping with panda hand. the object is download from google research:

https://app.gazebosim.org/GoogleResearch/fuel/collections/Scanned%20Objects%20by%20Google%20Research.

I have imported the object and manage to grasp it. However, the gripper is not fully closed and there is a gap between object.

It seems that the problem is due to collision mesh:
image0

the data set uses the object mesh directly as collision mesh.

What can I do to remove this error?

Thank you.

Hi wzha2981,

Usually, the arm will grasp the collision mesh, not the visual. This collision mesh is what the physics solver knows when the arm as a dynamic body/object interacts with the object to be grasped.

If you care about the exact mesh to be grasped, it makes sense to use the visual mesh as a collision mesh too. Do you know how to do that? If not, please share the model of the object or a link to it. It would also help if you mentioned how you imported that mesh. Maybe the importing process made a sort of mesh simplification of the original collision mesh.

Your application is so cool, and I would love to know about your progress. I will be using Isaac gym for a manipulation task soon.

Best wishes,

Thank you, i downloaded the file using the following link:
https://app.gazebosim.org/GoogleResearch/fuel/models/Schleich_S_Bayala_Unicorn_70432

and I am following the format of objects in python example by replacing the collision mesh with the same visual mesh (the examples come with the installation, with objects: mug, banana, etc)

I am following the Franka grasping example and replaced the box with the unicorn:

object_asset_file = “path/model.urdf”
asset_options = gymapi.AssetOptions()
object_asset = gym.load_asset(sim, asset_root, object_asset_file, asset_options)

I was able to export the exact unicorn mesh (obj file). The point is not to import its URDF using Isaac importer. Got it?

2022-09-02_11-29

How to do it?

  1. Open Isaac Sim.
  2. Go to File > import and select the model.obj file in your unicorn directory.
  3. Remove the light and save the file as USD.
  4. Add the USD file of the unicorn to your robot simulation scene.
  5. Try to do grasping again.

Do update me if you need more help.

Hi @wzha2981 ,

Did you get a chance to try the suggested steps?

Best wishes,

Hi, thank you for your reply.

I have imported the model and saved as usd file as suggested (if my steps are correct).

However, when I try to import the usd file, which I just changed the previous file name to model.usd, there is no object shown in gym simulation.

I read another post on importing .obj to isaac sim, where they mentioned a problem of scaling, could it be the cause? which means the object is too small?

Thank you.

1 Like

Hi it seems to work well with other object like a rhino. so I suppose the error lies in the shape and there might be a triangle from the tip of the unicorn to the tail.

1 Like

Glad you got it working @wzha2981!

Which format did you use for the object at the end? Obj converted to USD?

Sorry for the late reply. I am still using .obj

I actually still having problem. but when I using a different object (rhino from the same source), the problem is gone. So i suppose it is the obj mesh created that problem.

No problem. Thanks for sharing!