Wheeled robot keeps circling while navigating to goal position

Isaac Sim Version

4.2.0

Operating System

Windows 11

GPU Information

  • Model: GeForce RTX 4050 Laptop GPU
  • Driver Version: Studio Driver v551.61

JetBot circling around a point

Detailed Description

I have created jetbot navigation using Tasks based on the tutorial - Adding Multiple Robots — Isaac Sim 4.2.0 (OLD). The high-level concept is robot goes around in a square path. The robot starts at 0,0 then goes to 2, 0 then goes to 2, 2 then goes to 0, 2 and finally back to 0,0. An illustration below. The cubes are added for reference purpose only.

The robot goes from 0,02,02,2 without any issues. The error occurs while navigating from 2,2 to 0,2. After reaching halfway, the robot keeps rotating endlessly. Please see the attached video for more details.

I logged position of the jetbot and values are 0.937..., 1.997....

Now, coming to the logic side. I am continuously checking how close is robot to the next immediate goal in get_observations() of Task. If it is close to the goal, I am changing the goal of the jetboat to next goal position. This goes on.

Here is reference code snippet. Few codes are ommitted for readability.

def get_observations(self): 
      current_jetbot_position, current_jetbot_orientation = self._jetbot.get_world_pose()

      # ... calculates distance between robot and goal position
      # ... if robot is close to the goal, then update next goal position

      # set next goal position
      self._jetbot_goal_position = next_goal_position

      observations= {
            "task_event": self._task_event,
            self._jetbot.name: {
                  "position": current_jetbot_position,
                  "orientation": current_jetbot_orientation,
                  "goal_position": self._jetbot_goal_position
              }
          }
   return observations

What I observed is when the robot starts rotating, the orientation z-axis value changes continuously. I am not setting anything other than position. However, it looks like something is influencing the robot’s orientation. I replaced JetBot robot with IW robot. It is also behaving same and rotates while moving from 2,2 to 0,2.

Screenshots or Videos

Any thought on why robot keeps rotating and how to make this work?

Thanks in advance.

I did some more research. I changed the goal from 0,02,02,22,00,0.

This time, the robot starts circling while going from 2,00,0.

So, it looks like navigating from bottom to top is causing some issues.

Any thoughts?

Hello @rgasoto, apologies for tagging you all of a sudden. I attended one your Robotics Office Hours in YouTube. I hope you should be able to guide me here.

It would be great if you could take a look at this issue and provide some guidance.