Sign in to save

Bookmark this page so you can find it later.

Sign in to save

Bookmark this page so you can find it later.

Wheel odometry is a method robots use to estimate where they are by measuring how far their wheels have turned. It is especially important for differential-drive robots, which steer by spinning the left and right wheels at different speeds. Encoders attached to the wheels count small rotation steps, and the robot converts those counts into distance traveled.

This lets a robot track its position even when it cannot see landmarks or use GPS.

The basic idea is dead reckoning, where the robot continually updates its estimated pose from its previous pose and wheel motion. If both wheels move the same distance, the robot moves forward in a straight line, but if one wheel moves farther, the robot turns. Small errors from wheel slip, uneven floors, wrong wheel radius, or encoder limits accumulate over time.

For this reason, odometry is useful but usually combined with sensors such as cameras, lidar, or inertial measurement units to correct drift.

Key Facts

  • Wheel distance from rotation: s = r theta, where r is wheel radius and theta is angular rotation in radians.
  • Encoder distance per tick: distance per tick = 2 pi r / N, where N is ticks per wheel revolution.
  • Differential-drive forward distance: delta s = (delta s_R + delta s_L) / 2.
  • Differential-drive heading change: delta theta = (delta s_R - delta s_L) / b, where b is the distance between wheels.
  • Pose update approximation: x_new = x + delta s cos(theta), y_new = y + delta s sin(theta), theta_new = theta + delta theta.
  • Odometry drift grows with distance because small measurement errors are repeatedly added at every update.

Vocabulary

Wheel odometry
A method for estimating a robot's position and orientation from measured wheel rotations.
Encoder
A sensor that counts wheel rotation steps so the robot can estimate how far a wheel has turned.
Differential drive
A robot drive system that uses separate left and right wheel speeds to move forward, backward, and turn.
Dead reckoning
A navigation method that estimates current position by adding measured motion to a previous position.
Drift
The gradual growth of position or heading error caused by accumulated measurement and motion errors.

Common Mistakes to Avoid

  • Using degrees directly in s = r theta is wrong because theta must be in radians for the formula to give distance correctly.
  • Assuming encoder counts always equal true ground motion is wrong because wheel slip can make the wheel rotate without moving the robot the expected distance.
  • Forgetting the wheelbase b in heading calculations is wrong because the same left-right distance difference causes a larger turn on a narrow robot than on a wide robot.
  • Treating odometry as an absolute position measurement is wrong because it only estimates changes in pose and its error grows over time.

Practice Questions

  1. 1 A robot wheel has radius 0.04 m and an encoder with 400 ticks per revolution. If the encoder records 1000 ticks, how far did that wheel travel?
  2. 2 A differential-drive robot has wheelbase b = 0.30 m. During a short motion, the right wheel travels 0.50 m and the left wheel travels 0.41 m. Find the robot's forward distance delta s and heading change delta theta in radians.
  3. 3 A robot follows a curved hallway using only wheel odometry. Explain why its estimated blue dashed path may slowly separate from the true physical path, even if the encoder counts are very precise.