Description
When loading scene (interactive example) with two robots both using seperate policies, an error occurs in the initialisation, whereby all articulation joints in scene are found, and not per robot.
Two robots have been created with code from examples:
self.go2 = Go2FlatTerrainPolicy(
prim_path="/World/Go2",
name="Go2",
##################
usd_path="https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1/Isaac/Robots/Unitree/Go2/go2.usd",
##################
position=np.array([0, 0, 0.5]),
)
cabinet_prim_path = "/World/cabinet"
cabinet_usd_path = get_assets_root_path() + "/Isaac/Props/Sektion_Cabinet/sektion_cabinet_instanceable.usd"
cabinet_name = "cabinet"
cabinet_position = np.array([0.8, 0.0, 0.4])
cabinet_orientation = np.array([0.0, 0.0, 0.0, 1.0])
stage_utils.add_reference_to_stage(cabinet_usd_path, cabinet_prim_path)
self.cabinet = SingleArticulation(
prim_path=cabinet_prim_path, name=cabinet_name, position=cabinet_position, orientation=cabinet_orientation
)
self.franka = FrankaOpenDrawerPolicy(
prim_path="/World/franka", name="franka", position=np.array([0, -0, 0]), cabinet=self.cabinet
)
Then performing the initialisation in on_physics_step(self, step_size):
self.go2.initialize()
self.franka.initialize()
self.go2.post_reset()
self.franka.post_reset()
The problem occurs inside the self.go2.initialize(), here all joints are found in the scene, not just the for the go2, this is seen in the log:
2026-05-08T22:51:25Z [221,319ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_joint1 default position not found, setting to 0
2026-05-08T22:51:25Z [221,325ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader]
panda_joint2 default position not found, setting to 0
2026-05-08T22:51:25Z [221,327ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader]
panda_joint3 default position not found, setting to 0
2026-05-08T22:51:25Z [221,328ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader]
panda_joint4 default position not found, setting to 0
2026-05-08T22:51:25Z [221,328ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_joint5 default position not found, setting to 0
2026-05-08T22:51:25Z [221,328ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_joint6 default position not found, setting to 0
2026-05-08T22:51:25Z [221,330ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_joint7 default position not found, setting to 0
2026-05-08T22:51:25Z [221,331ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_finger_joint1 default position not found, setting to 0
2026-05-08T22:51:25Z [221,332ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_finger_joint2 default position not found, setting to 0
But then an error occurs, due to the tuples not being of the correct length for the loaded policies.
2026-05-08T22:51:25Z [221,334ms] [Error] [omni.kit.app._impl] [py stderr]: Traceback (most recent call last):
2026-05-08T22:51:25Z [221,335ms] [Error] [omni.kit.app._impl] [py stderr]: File "c:/isaac-sim/exts/isaacsim.examples.interactive/isaacsim/examples/interactive/quadruped/go2_withArm_example.py", line 187, in on_physics_step
2026-05-08T22:51:25Z [221,337ms] [Error] [omni.kit.app._impl] [py stderr]: self.go2.initialize()
2026-05-08T22:51:25Z [221,337ms] [Error] [omni.kit.app._impl] [py stderr]: File "c:/isaac-sim/exts/isaacsim.robot.policy.examples/isaacsim/robot/policy/examples/controllers/policy_controller.py", line 130, in initialize
2026-05-08T22:51:25Z [221,342ms] [Error] [omni.kit.app._impl] [py stderr]: self.robot._articulation_view.set_gains(stiffness, damping)
2026-05-08T22:51:25Z [221,342ms] [Error] [omni.kit.app._impl] [py stderr]: File "c:/isaac-sim/exts/isaacsim.core.prims/isaacsim/core/prims/impl/articulation.py", line 3044, in set_gains
2026-05-08T22:51:25Z [221,344ms] [Error] [omni.kit.app._impl] [py stderr]: stiffnesses = self._backend_utils.assign(
2026-05-08T22:51:25Z [221,344ms] [Error] [omni.kit.app._impl] [py stderr]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-05-08T22:51:25Z [221,346ms] [Error] [omni.kit.app._impl] [py stderr]: File "c:/isaac-sim/exts/isaacsim.core.utils/isaacsim/core/utils/numpy/tensor.py", line 97, in assign
2026-05-08T22:51:25Z [221,347ms] [Error] [omni.kit.app._impl] [py stderr]: dst[tuple(indices)] = src
2026-05-08T22:51:25Z [221,348ms] [Error] [omni.kit.app._impl] [py stderr]: ~~~^^^^^^^^^^^^^^^^
2026-05-08T22:51:25Z [221,349ms] [Error] [omni.kit.app._impl] [py stderr]: ValueError: shape mismatch: value array of shape (12,) could not be broadcast to indexing result of shape (1,21)
Problem appears to be inpolicy_controller.py, the function self.robot.initialize(physics_sim_view=physics_sim_view) filing the variable name self.robot.dof_names, with all articulation joints in scene, not just the robot.
This leads to the variables being passed to
get_robot_joint_properties in policyController.py, passing all dof_names to the config_loader.py and single_articulation.py. Where the error occurs
Isaac Sim version
5.1.0
Operating System (OS)
Windows WSL Ubuntu 24.04, but also confirmed on normal Ubuntu 24.04.
GPU Name
RTX 5070
GPU Driver and CUDA versions
NVIDIA-SMI 591.44 Driver Version: 591.44 CUDA Version: 13.1
Logs
No response
Additional information
No response
Description
When loading scene (interactive example) with two robots both using seperate policies, an error occurs in the initialisation, whereby all articulation joints in scene are found, and not per robot.
Two robots have been created with code from examples:
Then performing the initialisation in on_physics_step(self, step_size):
The problem occurs inside the self.go2.initialize(), here all joints are found in the scene, not just the for the go2, this is seen in the log:
2026-05-08T22:51:25Z [221,319ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_joint1 default position not found, setting to 0
2026-05-08T22:51:25Z [221,325ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader]
panda_joint2 default position not found, setting to 0
2026-05-08T22:51:25Z [221,327ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader]
panda_joint3 default position not found, setting to 0
2026-05-08T22:51:25Z [221,328ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader]
panda_joint4 default position not found, setting to 0
2026-05-08T22:51:25Z [221,328ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_joint5 default position not found, setting to 0
2026-05-08T22:51:25Z [221,328ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_joint6 default position not found, setting to 0
2026-05-08T22:51:25Z [221,330ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_joint7 default position not found, setting to 0
2026-05-08T22:51:25Z [221,331ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_finger_joint1 default position not found, setting to 0
2026-05-08T22:51:25Z [221,332ms] [Warning] [isaacsim.robot.policy.examples.controllers.config_loader] panda_finger_joint2 default position not found, setting to 0
But then an error occurs, due to the tuples not being of the correct length for the loaded policies.
2026-05-08T22:51:25Z [221,334ms] [Error] [omni.kit.app._impl] [py stderr]: Traceback (most recent call last):
2026-05-08T22:51:25Z [221,335ms] [Error] [omni.kit.app._impl] [py stderr]: File "c:/isaac-sim/exts/isaacsim.examples.interactive/isaacsim/examples/interactive/quadruped/go2_withArm_example.py", line 187, in on_physics_step
2026-05-08T22:51:25Z [221,337ms] [Error] [omni.kit.app._impl] [py stderr]: self.go2.initialize()
2026-05-08T22:51:25Z [221,337ms] [Error] [omni.kit.app._impl] [py stderr]: File "c:/isaac-sim/exts/isaacsim.robot.policy.examples/isaacsim/robot/policy/examples/controllers/policy_controller.py", line 130, in initialize
2026-05-08T22:51:25Z [221,342ms] [Error] [omni.kit.app._impl] [py stderr]: self.robot._articulation_view.set_gains(stiffness, damping)
2026-05-08T22:51:25Z [221,342ms] [Error] [omni.kit.app._impl] [py stderr]: File "c:/isaac-sim/exts/isaacsim.core.prims/isaacsim/core/prims/impl/articulation.py", line 3044, in set_gains
2026-05-08T22:51:25Z [221,344ms] [Error] [omni.kit.app._impl] [py stderr]: stiffnesses = self._backend_utils.assign(
2026-05-08T22:51:25Z [221,344ms] [Error] [omni.kit.app._impl] [py stderr]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-05-08T22:51:25Z [221,346ms] [Error] [omni.kit.app._impl] [py stderr]: File "c:/isaac-sim/exts/isaacsim.core.utils/isaacsim/core/utils/numpy/tensor.py", line 97, in assign
2026-05-08T22:51:25Z [221,347ms] [Error] [omni.kit.app._impl] [py stderr]: dst[tuple(indices)] = src
2026-05-08T22:51:25Z [221,348ms] [Error] [omni.kit.app._impl] [py stderr]: ~~~^^^^^^^^^^^^^^^^
2026-05-08T22:51:25Z [221,349ms] [Error] [omni.kit.app._impl] [py stderr]: ValueError: shape mismatch: value array of shape (12,) could not be broadcast to indexing result of shape (1,21)
Problem appears to be inpolicy_controller.py, the function self.robot.initialize(physics_sim_view=physics_sim_view) filing the variable name self.robot.dof_names, with all articulation joints in scene, not just the robot.
This leads to the variables being passed to
get_robot_joint_properties in policyController.py, passing all dof_names to the config_loader.py and single_articulation.py. Where the error occurs
Isaac Sim version
5.1.0
Operating System (OS)
Windows WSL Ubuntu 24.04, but also confirmed on normal Ubuntu 24.04.
GPU Name
RTX 5070
GPU Driver and CUDA versions
NVIDIA-SMI 591.44 Driver Version: 591.44 CUDA Version: 13.1
Logs
No response
Additional information
No response