Skid-steer drive incomprehensible behaviour (Clearpath Jackal)

Hello,

My Problem:

The robot doesn’t behave as expected. it doesn’t drive like a typical differential drive robot. It seems to have problems with angular movements.

I’m using ROS 2 Humble with Isaac Sim 4.5.0 and the Clearpath Jackal robot. I’ve added the correct ROS 2 OmniGraphs. For control, I’m using two isaacsim.core.nodes.IsaacArticulationController nodes one for the front, one for the rear, and the following parameters for the isaacsim.robot.wheeled_robots.DifferentialController:

Parameter Value
Wheel Distance 0.37559 m
Wheel Radius 0.098 m
Max. Linear Speed 2.0 m/s
Max. Angular Speed 4.0 m/s
Max. Acc. and Max. Dec. 20.0 m/s^2
Max. Angular Acc. 25.0 m/s^2
Max. Wheel Speed 20.41 → 2.0 / 0.098 (max_linear_speed / wheel_radius)

I came across a possible solution in this forum post:
How to drive Clearpath Jackal via ROS2 messages in Isaac Sim, where the author links this paper:

It discusses the kinematics of skid-steer vehicles.

The suggested solution there was to increase the wheel distance to 4.2 from 0.37559. However, it’s unclear how this value was derived. It may have been found experimentally. Anyways, it seems to work quite well.

There’s also this related topic on adjusting the physics solver for more realistic behavior:
Skid-steered behavior for robots

My Question:

Are there any better or more principled approaches to getting a 4-wheeled robot to behave correctly in Isaac Sim without relying on trial-and-error tuning of parameters like wheel distance?

Hi @ahamboeck thank you for your question. I believe Isaac Sim or the simulator is behaving correctly, its just that the controller is designed for a differential drive robot, and in this case it is being used on a non-pure differential drive system. I’m not an expert on the derivation of this differential drive for skid-steer control, but as shown in the paper Figure 2, there is an equivalent ideal differential drive system that can be derived experimentally. The coefficient X that relates the ICR left and right of the ideal system to the actual system is dynamics-dependent (basically all the parameters that affect tire slippage). In short, I think finding the wheel distance that will achieve the ideal differential drive is the easiest option.

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