← Active Projects
Lab · Active Projects

Autonomous Rover — Terrain Mode

Active

Robot consistently favors the right side on loose surfaces.

Robotics / ESP32 / PID Control
PlatformDeadreckoner
SurfaceGravel / grass
Loop200 Hz
StartedJun 2026
Progress73%

The question

Corridor performance is solved. Can the same controller hold a heading on a surface where the wheels slip independently?

Where it stands

Heading estimate is clean — the IMU does not care what the floor is made of. The veer is per-wheel slip, which the current controller has no way to observe because it has no wheel encoders. The right wheel loses traction first on loose gravel, and the PID corrects for a rotation that is real, just not commanded.

03Bench log
04 Sep 2026

Gravel runs logged. Veer is 12–19 cm over 20 m, direction always right.

11 Sep 2026

Confirmed heading estimate stays within ±2° on gravel — the estimate is not the fault.

17 Sep 2026

Added a fixed slip offset to the left channel. Helps on gravel, hurts on tile.

04Next step
Next

Fit wheel encoders so slip becomes observable instead of guessed. A fixed offset cannot work across surfaces.

All active projects →Lab index