Support for cloth mesh

I noticed the function “create_cloth_grid” that’s intended to create a rectangular cloth mesh. Is it possible to support loading arbitrary cloth mesh? For example, people use .obj file to describe cloth. An example cloth file can be found here from a pybullet RL environment.

Hi @buoyancy99 ,

Unfortunately, I’m afraid that you’ll have to wait for Omniverse for that. We don’t support that on either the Flex or PhysX APIs right now.

Sorry,
-Gav

Hi @gstate, according to your answer this should be available now with Omniverse. However, I haven’t been able to find anything related to cloth or importing meshes of cloth like objects using python in any of the documentation, either of Omniverse or of Isaac Gym as was already mentioned, only the create_cloth_grid is available.

Could you point out how to import cloth meshes with the new Omniverse using the Python API?

Hi @david93ich

You can find documentation around cloth in Omniverse here: Particle Simulation — Omniverse Create documentation

Right now, you should be able to have agents interacting with cloth simulations with physics, but we don’t yet have a tensor API for exposing the cloth state data for learning. That gets tricky since you don’t necessarily want every single point for every cloth object in the system in a single tensor.

The physics team is working on approaches for this now and we hope to have something later this year where you can use the cloth state in your RL policy.

Take care,
-Gav

I have seen before that page on particle simulation, but that’s for the Omniverse GUI right?
Is there any tutorial or API documentation for cloth in the Omniverse Python API?
By documentation I mean on adding a cloth in the environment using Python, not on getting the cloth internal states. It is also unclear if the API only let’s you to create rectangular-shaped cloths or it also allows to load .obj or .tet files.

The only method that I have been able to find is the “create_cloth_grid” in the IsaacGym documentation, but I haven’t been able to find a function that mentions cloth in the Omniverse Python API reference.

@gstate any new information about this and the Python API for cloth?

There is nothing in the Omniverse GUI that’s not accessible from Python in some ways, though I don’t know if we have any examples of making cloth programmatically.

You may wish to look at the source code for some of the physics demo scenes: Physics Core — Omniverse Create documentation

I know that the cloth deck chair demo has some code which I believe references a cloth asset file.

If you open a USD asset you can always re-save it in USDA format, which is text, and then look at the primvars that get set for the properties. You can then set similar properties on a prim of your own.

The documentation here: Particle Simulation — Omniverse Create documentation suggests that you can apply the cloth physics properties to any mesh, not just rectangular ones.

Take care,
-Gav

1 Like

One important thing to note about the cloth sim demo - if you open it in Isaac Sim, you will want to click on the Layers window, click on the Root Layer, the go to Properties and do the following:

  • Adjust the default World Up Axis to Y,
  • Set the Meters per Unit to 0.01
  • Set the Kgs per Unit to 0.001

The Physics demo assets are generally authored with USD standard cm units rather than the meters/kg units that Isaac Sim uses by default.

1 Like

Hi, What is the current state of building a cloth in Isaac gym, does it support loading arbitrary cloth mesh? Do we have a tensor API for exposing the cloth state data for RL learning?