Problems with Spawning and Destroying Robots During Simulation

Isaac Sim Version

4.2.0
4.1.0
4.0.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 20.04

Topic Description

Detailed Description

I am encountering issues when trying to spawn and destroy a robot (prim) during simulation, specifically related to the ArticulationView. When a prim is destroyed, the associated ArticulationView is still being referenced, causing errors and bugs. My goal is to dynamically spawn and destroy a prim during the simulation without needing to reset it.

Steps to Reproduce

  1. Download and unzip this test.zip (9.1 MB).
  2. Run path/to/isaac-sim-4.2.0/python.sh test.py.
  3. The error occurs at line 45 in test.py.

Error Messages

[9.807s] Running simulation...
[10.272s] Initializing ArticulationView /tiago_dual/tiago_dual_articulation_view for /tiago_dual/tiago_dual
[10.273s] Added ArticulationView /tiago_dual/tiago_dual_articulation_view
[10.277s] Initializing ArticulationView /dlr_kitchen/root_joint_articulation_view for /dlr_kitchen/root_joint
[10.277s] Added ArticulationView /dlr_kitchen/root_joint_articulation_view
[10.281s] Initializing ArticulationView /panda/root_joint_articulation_view for /panda/root_joint
[10.282s] Added ArticulationView /panda/root_joint_articulation_view
[10.433s] Test 1 complete
2024-10-24 11:07:41 [10,373ms] [Warning] [omni.physx.tensors.plugin] prim '/tiago_dual/tiago_dual' was deleted while being used by a link in a tensor view class. The physics.tensors simulationView was invalidated.
[10.444s] Removed ArticulationView /tiago_dual/tiago_dual_articulation_view
[10.453s] Removed ArticulationView /dlr_kitchen/root_joint_articulation_view
[10.479s] Removed ArticulationView /panda/root_joint_articulation_view
2024-10-24 11:07:41 [10,431ms] [Warning] [omni.usd] Coding Error: in _Get at line 3003 of /builds/omniverse/usd-ci/USD/pxr/usdImaging/usdImaging/delegate.cpp -- Failed verification: ' prim '

2024-10-24 11:07:41 [10,431ms] [Warning] [omni.usd] Coding Error: in _Get at line 3003 of /builds/omniverse/usd-ci/USD/pxr/usdImaging/usdImaging/delegate.cpp -- Failed verification: ' prim '

2024-10-24 11:07:41 [10,431ms] [Warning] [omni.usd] Coding Error: in _Get at line 3003 of /builds/omniverse/usd-ci/USD/pxr/usdImaging/usdImaging/delegate.cpp -- Failed verification: ' prim '

2024-10-24 11:07:41 [10,431ms] [Warning] [omni.usd] Coding Error: in _Get at line 3003 of /builds/omniverse/usd-ci/USD/pxr/usdImaging/usdImaging/delegate.cpp -- Failed verification: ' prim '

2024-10-24 11:07:41 [10,431ms] [Warning] [omni.usd] Coding Error: in _Get at line 3003 of /builds/omniverse/usd-ci/USD/pxr/usdImaging/usdImaging/delegate.cpp -- Failed verification: ' prim '

[10.560s] Test 2 complete
[11.012s] Initializing ArticulationView /panda/root_joint_articulation_view for /panda/root_joint
Traceback (most recent call last):
  File "/home/giangnguyen/Downloads/test/test.py", line 79, in <module>
    step_simulation(with_panda=True)
  File "/home/giangnguyen/Downloads/test/test.py", line 65, in step_simulation
    set_articulation_views()
  File "/home/giangnguyen/Downloads/test/test.py", line 45, in set_articulation_views
    articulation_view.initialize(world.physics_sim_view)
  File "/home/giangnguyen/.local/share/ov/pkg/isaac-sim-4.2.0/exts/omni.isaac.core/omni/isaac/core/articulations/articulation_view.py", line 384, in initialize
    default_actions = self.get_applied_actions(clone=True)
  File "/home/giangnguyen/.local/share/ov/pkg/isaac-sim-4.2.0/exts/omni.isaac.core/omni/isaac/core/articulations/articulation_view.py", line 1687, in get_applied_actions
    joint_positions = self._physics_view.get_dof_position_targets()
  File "/home/giangnguyen/.local/share/ov/pkg/isaac-sim-4.2.0/extsPhysics/omni.physics.tensors/omni/physics/tensors/impl/api.py", line 521, in get_dof_position_targets
    raise Exception("Failed to get DOF position targets from backend")
Exception: Failed to get DOF position targets from backend
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Annotators' for removal
2024-10-24 11:07:41 [10,967ms] [Warning] [omni.graph.core.plugin] Could not find category 'Replicator:Core' for removal
2024-10-24 11:07:42 [11,040ms] [Warning] [carb] Recursive unloadAllPlugins() detected!

Screenshots or Videos

Additional Information

What I’ve Tried

I have tried explicitly setting the articulation_view to None and deleting it using del articulation_view, but the issue still occurs. Additionally, using add and remove_object from world.scene doesn’t seem to make much difference in the behavior. Whether these methods are used or not, the code functions the same, with the only benefit being that I can use the scene as a container for storing data.

1 Like

I have the same issue. Did you find a solution?