Bug in OgnIsaacArticulationController “joint_indices” comparison logic

I think there is a bug in the OgnIsaacArticulationController extension (specifically in ...exts/isaacsim.core.nodes/isaacsim/core/nodes/ogn/python/nodes/OgnIsaacArticulationController.py) in lines 110–111:

if np.asarray(joint_indices).any() and np.asarray([joint_indices != state.joint_indices]).flatten().any():
    state.joint_indices = np.array(joint_indices)

Issue:
If joint_indices has a different shape than state.joint_indices (e.g., (n,) vs. (m,)), this comparison can raise a broadcasting error such as:

ValueError: operands could not be broadcast together with shapes ...

Implications:
This issue can surface when multiple controllers are running simultaneously or successively, each commanding a different number of joints, causing inconsistent shapes for joint_indices and thus triggering the error.

Possible Fix:
Use a more robust comparison that checks array equality directly (for example, using np.array_equal). For instance:

if np.asarray(joint_indices).any() and not np.array_equal(joint_indices, state.joint_indices):
    state.joint_indices = np.array(joint_indices)

This approach avoids shape mismatch problems by cleanly determining if the new array differs from the old one.

Request:
Could the development team confirm if this fix is tracked or addressed for a future Isaac Sim release? Meanwhile, the above workaround can help anyone experiencing errors with dynamic or mismatched joint arrays.

Let me know if you need any further details or a full reproducible example. Thanks!

Thank you for reporting this issue. We have logged an internal ticket to address the bug identified in the OgnIsaacArticulationController regarding the joint_indices comparison logic. We will provide updates on this forum thread as they become available.

1 Like

This issue has been addressed in Isaac Sim 5.0.0, so I’m closing this topic. If you experience any related problems in the future, please open a new topic and reference this discussion. This helps us track ongoing issues more effectively. Thanks for your report!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.