Wheels slip when controlling a wheeled robot using differential controller

Note: For any Isaac Lab topics, please submit your topic to its GitHub repo ( GitHub - isaac-sim/IsaacLab: Unified framework for robot learning built on NVIDIA Isaac Sim ) following the instructions provided on Isaac Lab’s Contributing Guidelines ( Contribution Guidelines — Isaac Lab Documentation ).

Please provide all relevant details below before submitting your post. This will help the community provide more accurate and timely assistance. After submitting, you can check the appropriate boxes. Remember, you can always edit your post later to include additional information if needed.

Isaac Sim Version

5.0.0
4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

GPU Information

  • Model: RTX 4090
  • Driver Version:

Topic Description

When using the WheelBasePoseController for navigating to a target, the robot wheels slip/lag when the robot moves in a straight line. This only occurs when using the WheelBasePoseController for navigating between two targets, if we simply use the DifferentialController to give commands, it works correctly.

Detailed Description

Ideally, the wheels should not slip or lag when moving.

Steps to Reproduce

  1. Load a mobile robot in the scene using the WheeledRobot class.
  2. Use the DifferentialController and WheelBasePoseController to navigate to a target position.
  3. Wheels start slipping when the robot moves in a straight line.

Error Messages

none

Screenshots or Videos

Additional Information

I have tested the simulation on both IsaacSim 4.5 and 5.0 and the behavior of the wheels is the same. They seem to slip/lag. However if I print the wheel action output from differential_controller.forward(), it remains constant.

(Describe any troubleshooting steps you’ve already taken)

Tested with different damping and stiffness on the joints. Added physics material for friction. Played with the values of the wheel_base and wheel_radius for the DifferentialController. I have attached the extension below:

CarterTest.zip (4.5 MB)

Hi @saa-97, thank you for posting your issue. Since you are using a differential controller with a four wheeled robot slip is expected to happen. The reason you might see different slip motion compared to what is commanded is because the controller is trying to achieve the set target but might not be exact due to slip forces. If you set the kd gains to be higher it will probably track the targets more aggresively.

Hello!

We noticed that this topic hasn’t received any recent responses, so we are closing it for now to help keep the forum organized.

If you’re still experiencing this issue or have additional questions, please feel free to create a new topic with updated details. When doing so, we recommend mentioning or linking to this original topic in your new post—this helps provide context and makes it easier for others to assist you.

Thank you for being part of the NVIDIA Isaac Sim community.

Best regards,
The NVIDIA Isaac Sim Forum Team