Tutorial of Differential Drive Robot

Introduction of Differential Drive Robot

Differential drive is one of the simplest method of controlling a robot with only two motorized wheels.


The term ‘differential’ means that robot turning speed is determined by the speed difference between both wheels, each on either side of your robot. For example: keep the left wheel still, and rotate the right wheel forward, and the robot will turn left. If you are clever with it, or use PID control, you can get interesting curved paths just by varying the speeds of both wheels over time. To go straight, as long as both wheels are going at the same speed the robot does not turn.



Exploring The Algorithm

The differential drive algorithm is useful for light chasing robots. This locomotion is the most basic of all types, and is highly recommended for beginners. Mechanical construction, as well as the control algorithm, cannot get any simpler than this.

Note that this algorithm doesn’t just work for wheeled robots, but is also the same algorithm you must use for tank tread type robots, boats, and biped robots.

How to Use This Algorithm

Place two motorized wheels on your robot, one on either side. Send your move commands to the motors by either using a motor-driver or H-bridge. Or if you are using servos, just send the required pulse width. Note that this algorithm works great with the Photovore algorithm.

Pseudo code

1. Input sensor reading

2. Make decision based on sensor reading

3. Do one of below actions:

  • to drive straight both wheels move forward at same speed
  • to drive reverse both wheels move back at same speed
  • to turn left the left wheel moves in reverse and the right wheel moves forward
  • to turn right the right wheel moves in reverse and the left wheel moves forward

Two robot soccer teams of custom differential drive robots:



Share Button

Leave a Reply