From b9d118bbc578aa7df4a5dfdf3a3d225236c84027 Mon Sep 17 00:00:00 2001 From: Gene Merewether Date: Thu, 23 Oct 2025 12:26:42 -0400 Subject: [PATCH] Handle NaN values in joint velocities and efforts Signed-off-by: Gene Merewether --- .../python/impl/controllers/articulation_controller.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/extensions/isaacsim.core.api/python/impl/controllers/articulation_controller.py b/source/extensions/isaacsim.core.api/python/impl/controllers/articulation_controller.py index 591ca937..8a131f3f 100644 --- a/source/extensions/isaacsim.core.api/python/impl/controllers/articulation_controller.py +++ b/source/extensions/isaacsim.core.api/python/impl/controllers/articulation_controller.py @@ -77,7 +77,9 @@ def apply_action(self, control_actions: ArticulationAction) -> None: ) joint_velocities = self._articulation_view._backend_utils.expand_dims(joint_velocities, 0) for i in range(control_actions.get_length()): - if joint_velocities[0][i] is None or np.isnan(joint_velocities[0][i]): + if joint_velocities[0][i] is None or np.isnan( + self._articulation_view._backend_utils.to_numpy(joint_velocities[0][i]) + ): joint_velocities[0][i] = applied_actions.joint_velocities[joint_indices[i]] joint_efforts = control_actions.joint_efforts if control_actions.joint_efforts is not None: @@ -86,7 +88,9 @@ def apply_action(self, control_actions: ArticulationAction) -> None: ) joint_efforts = self._articulation_view._backend_utils.expand_dims(joint_efforts, 0) for i in range(control_actions.get_length()): - if joint_efforts[0][i] is None or np.isnan(joint_efforts[0][i]): + if joint_efforts[0][i] is None or np.isnan( + self._articulation_view._backend_utils.to_numpy(joint_efforts[0][i]) + ): joint_efforts[0][i] = 0 self._articulation_view.apply_action( ArticulationActions(