I am using cloth with particle physics for a simulation that I have. Since the cloth physics are not yet available in Orbit, I have been using the Isaac Sim API directly. I added the cloth in a post_init step like so:
@configclass
class RandomizationCfg:
reset_scene = RandomizationTermCfg(
func=mdp.reset_scene_to_default,
mode="reset",
)
Unfortunately, mdp.reset_scene_to_default() does not reset the cloth object (it does reset other objects such as cubes, robot). I guess that this is because it is not in the ClothRemovalSceneCfg with the other Assets.
Would there be a way to write a custom reset function for this? Or could I somehow create the cloth in the ClothRemovalSceneCfg anyways (I could call the create_cloth function in there maybe, but then what kind of return value should I use? How could I wrap it in an AssetCfg? Or suggestions that involve making changes to Orbit are also fine, I'd gladly contribute)
Alternatively, in Isaac Sim resetting particle systems seems to be done by stopping and restarting the simulation, however I can't find this functionality in the Orbit environments (BaseEnv class). The GUI does not have a stop button anymore either. I did not manage to find any API calls to reset particle physics to their initial state.
I understand that you are still hard at work on making deformable and particle physics work streamlined within Orbit. However since some examples of cloth physics have been shown in the paper and the website, I assume that some method must exist even if it is cumbersome.
Hi @haastregt,
This feature will come as soon as we officially support it in Isaac Lab. A workaround for now is to create a direct workflow environment.
I am using cloth with particle physics for a simulation that I have. Since the cloth physics are not yet available in Orbit, I have been using the Isaac Sim API directly. I added the cloth in a post_init step like so:
My RandomizationCfg looks as follows:
Unfortunately, mdp.reset_scene_to_default() does not reset the cloth object (it does reset other objects such as cubes, robot). I guess that this is because it is not in the ClothRemovalSceneCfg with the other Assets.
Would there be a way to write a custom reset function for this? Or could I somehow create the cloth in the ClothRemovalSceneCfg anyways (I could call the create_cloth function in there maybe, but then what kind of return value should I use? How could I wrap it in an AssetCfg? Or suggestions that involve making changes to Orbit are also fine, I'd gladly contribute)
Alternatively, in Isaac Sim resetting particle systems seems to be done by stopping and restarting the simulation, however I can't find this functionality in the Orbit environments (BaseEnv class). The GUI does not have a stop button anymore either. I did not manage to find any API calls to reset particle physics to their initial state.
I understand that you are still hard at work on making deformable and particle physics work streamlined within Orbit. However since some examples of cloth physics have been shown in the paper and the website, I assume that some method must exist even if it is cumbersome.
Any help or insight is greatly appreciated!