Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

There could be a number of causes to your differential drive robot drifting.

You can try:

  • View Contacts (View -> Contacts) to check for unintended contacts/collisions with the ground plane.
  • View Inertias (View -> Inertias) to confirm that your robot is symmetrical.
  • Add a small damping value to both wheels (e.g. 0.1) and enable implicitSpringDamper

After that, your main option is to implement a higher-level controller (e.g. PID) to compensate for drift away from an intended trajectory. In the real world, you are going to observe drive (try driving down a straight road in a car without touching steering wheel). In your car, you are the high-level controller.

There could be a number of causes to your differential drive robot drifting.

You can try:

  • View Contacts (View -> Contacts) to check for unintended contacts/collisions with the ground plane.
  • View Inertias (View -> Inertias) to confirm that your robot is symmetrical.
  • Add a small damping value to both wheels (e.g. 0.1) and enable implicitSpringDamper

After that, your main option is to implement a higher-level controller (e.g. PID) to compensate for drift away from an intended trajectory. In the real world, you are going to observe drive drift (try driving down a straight road in a car without touching steering wheel). In your car, you are the high-level controller.