Society of Robots
Search and Index
MISC
 Parts List
 Robot Forum
 Chat
 Member Pages
 Axon MCU
 Robot Books
 Shop
 Contact

SKILLS
 How To Build
  A Robot
  Tutorial

 Calculators
 Mechanics
 Programming
 Miscellaneous

 Robots
 Space

HARDWARE
 Actuators
 Batteries
 Electronics
 Materials
 Microcontrollers
 Sensors

SCIENCE
 Robot Journals
 Robot Theory
 Conferences


    PROGRAMMING - DIFFERENTIAL DRIVE

    Differential Drive Robot

    What is a Differential Drive Robot?
    Differential drive is a method of controlling a robot with only two motorized wheels. What makes this algorithm important for a robot builder is that it is also the simplest control method for a robot.

    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. Dont want to turn? As long as both wheels go at the same speed, the robot does not turn - only going forward or reverse.

    Example of Differential Drive

    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 doesnt just work for wheeled robots, but is also the same algorithm you must use for tank tread type robots and biped robots. For examples of differential drive robots, see my sumo robot, mobipulator robot, and robot boat.

    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 motordriver 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.

    pseudocode:

      input sensor reading

      make decision based on sensor reading

      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:

    Differential Drive Soccer Robot Team



Get Your Ad Here

Has this site helped you with your robot? Give us credit - link back, and help others in the forums!
Society of Robots copyright 2005-2014
forum SMF post simple machines