Reset robot position with correct localization in navsim application


Following this tutorial I am running the navsim Isaac SDK application with the Carter navigation stack using Omniverse and the Robot Engine bridge, as specified in the mentioned tutorial.

I am trying to translate the robot in Isaac Sim in the following way:

        if self._ar == _dynamic_control.INVALID_HANDLE:
            self._ar = self._dci.get_articulation("/robot")
        if self._root_body == _dynamic_control.INVALID_HANDLE:
            self._root_body = self._dci.get_articulation_root_body(self._ar)


        tf = _dynamic_control.Transform()
        tf.p = self.translate_position
        self._dci.set_rigid_body_pose(self._root_body, tf)

When I translate the robot in Isaac Sim, the localization in Isaac SDK is incorrect.

Is it possible to translate the robot and keep the localization working? Maybe a way to integrate this translation in the navsim app in Isaac SDK? Or how can I keep the robot localized in place when the translation happens in Isaac Sim?