A differential drive robot moves using two powered wheels mounted on the left and right sides of its chassis, usually with one or more caster wheels for balance. It is common in mobile robots because the mechanism is simple, robust, and easy to control with motors and encoders. By changing the speed of each wheel, the robot can drive straight, follow curves, spin in place, or stop.
This makes differential drive a core idea in robotics navigation and motion planning.
The key mechanism is that each wheel traces a different path when the robot turns. If the right wheel moves faster than the left wheel, the robot curves left because the right side travels farther in the same time. The turning motion can be described using the instantaneous center of rotation, which is the point around which the robot is rotating at that instant.
Engineers use these relationships to convert desired forward speed and turning rate into left and right wheel speeds.
Understanding Robotics: Differential Drive
The geometry of a turn depends on the axle width, meaning the distance between the two wheel contact points. A wider robot needs a larger difference in wheel travel to make the same tight turn. This matters when a design is changed.
Moving the wheels farther apart changes how the same motor commands affect motion. During a curved path, one wheel follows an outer circle while the other follows an inner circle. The circles share one center, but have different radii.
A planned path must respect this geometry. A robot cannot move sideways to correct its position, so it may need to turn first, drive forward, then turn again.
Motors are usually commanded by voltage, power level, or target rotation rate, not by a direct instruction to move a certain distance. Wheel encoders measure wheel rotation and provide feedback to the controller. The controller compares the measured speed with the requested speed, then adjusts motor power.
This feedback is important because a wheel slows on carpet, climbs a ramp, or carries a heavier load. Without feedback, two motors that received equal power might rotate at different rates.
The robot would gradually drift even when it was meant to travel straight. A common control method uses proportional, integral, and derivative actions to reduce the difference between the target and measured wheel speeds.
The basic motion model assumes both wheels roll without slipping and stay in contact with a flat surface. Real robots break these assumptions often. Fast starts can make a wheel skid.
A caster can swivel slowly or drag across the floor. Uneven flooring changes the load on each wheel. Small differences in tire diameter have a large effect over a long journey.
Encoder readings still report rotation during a skid, so the robot can believe it travelled farther than it really did. This is why teams calibrate wheel diameter and axle width by driving measured distances and turns. They repeat tests on the actual surface where the robot will operate.
Wheel encoder data can estimate the robot position over time. This process is called odometry. It estimates forward movement and heading from the amount each wheel has turned.
Odometry is useful for short movements, but its errors accumulate. A robot that is only slightly wrong after each turn can end far from its expected position after several minutes. More reliable robots combine odometry with other sensors, such as a gyroscope, camera, distance sensor, or line sensor.
In classrooms, pay close attention to sign and direction conventions. Decide which turning direction is positive and keep that choice in every calculation and program.
Test simple cases first, including straight travel, a fixed turn, reverse motion, and a spin. These tests reveal wiring swaps, reversed encoder counts, and incorrect motor directions quickly.
Key Facts
- Forward speed of the robot center: v = (vR + vL) / 2
- Angular speed of the robot: omega = (vR - vL) / L
- Wheel speeds from desired motion: vR = v + omega L / 2 and vL = v - omega L / 2
- If vR = vL, the robot drives straight with omega = 0
- If vR = -vL, the robot spins in place about the midpoint between the wheels
- Turning radius of the robot center: R = v / omega, when omega is not 0
Vocabulary
- Differential drive
- A mobile robot drive system that steers by setting different speeds on two powered side wheels.
- Caster wheel
- A passive wheel that supports the robot while swiveling freely to follow the robot's motion.
- Wheelbase
- The distance L between the left and right wheel contact points in a differential drive robot.
- Instantaneous center of rotation
- The point in the plane that the robot is rotating around at a specific instant.
- Angular velocity
- The rate at which the robot changes its heading angle, usually measured in radians per second.
Common Mistakes to Avoid
- Treating the caster as a steering wheel is wrong because a differential drive robot steers by changing the powered wheel speeds, while the caster only supports the chassis.
- Using omega = (vL - vR) / L without checking the sign convention is wrong because the sign of angular velocity depends on whether positive rotation is defined as left turn or right turn.
- Forgetting that wheel speeds are linear speeds at the ground is wrong because motor angular speed must be converted using v = r omega_wheel before using differential drive equations.
- Assuming the robot can move sideways is wrong because an ideal differential drive has nonholonomic constraints and cannot slide laterally without wheel slip.
Practice Questions
- 1 A robot has wheelbase L = 0.40 m. Its right wheel speed is vR = 0.60 m/s and its left wheel speed is vL = 0.20 m/s. Find the forward speed v and angular speed omega.
- 2 A robot has wheelbase L = 0.50 m and should move forward at v = 0.80 m/s while turning with omega = 1.20 rad/s. Find vR and vL.
- 3 Two differential drive robots have the same forward speed, but Robot A has a larger wheelbase than Robot B. If both use the same difference between right and left wheel speeds, which robot turns more sharply and why?