[Question] Dynamically replace objects in an environment during simulation #1736
Replies: 4 comments 7 replies
-
I'd recommend trying https://isaac-sim.github.io/IsaacLab/main/source/how-to/multi_asset_spawning.html for this use case |
Beta Was this translation helpful? Give feedback.
-
Thank you for posting this. In general, the team recommends to not replace objects during simulation. |
Beta Was this translation helpful? Give feedback.
-
This is a fairly common need and I'm going to try to figure out a way to to this that works reasonably well. Sometimes you just need to randomize the rigid bodies in an environment. To be clear, I'll be detecting if a robot in an environment has completed its task, resetting its environment if it has and doing this as the environments reset, not mid-episode |
Beta Was this translation helpful? Give feedback.
-
I have a very similar use case. As a solution, I spawn a randomized object pool for every environment. Whenever an environment is reset, objects are randomly chosen from the object pool. I tried to illustrate what happens at every reset in the image below. For all the objects that are not needed, the positions are set to something like (100, 100, 1). Unfortunately, this can have quite a performance impact for large object pools when all objects have collision enabled. So far, I haven't found a satisfactory solution. I am not sure if there is a possibility to disable/enable collision checks for objects during runtime. I experimented with |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Question
There is a way to replace objects spawned in the environment while the simulation is running? (spawn a .usd of a new object and remove the one already defined in the configuration of the environment after the simulation completes a set of iterations or a certain condition is met).
So far I have tested that I can successfully add multiple usd into a manager-based RL example of the Franka Lift task example but I would like to know if it is possible to update the objects while the simulation is running.
Beta Was this translation helpful? Give feedback.
All reactions