Robo-Rats Locomotion: Dual Differential Drive

The ideal wheeled drive for a Robo-Rats robot mechanically guarantees straight-line motion.  The is important because it simplifies odometry sensing and eliminates time-critical processing on the Handyboard.  The synchro drive does give a mechanical guarantee of straight-line motion (assuming the wheels are properly aligned) but it would be difficult to build using Lego parts.  The dual differential drive, given its name because it utilizes two mechanical differentials, also guarantees straight-line motion and it is relatively simple to construct in Lego.  Unlike the use of the differential in a car-type drive, where it distributes input force to two output shafts, the dual differential drive, or DDD, uses its differentials to combine the forces from two input shafts and uses the resulting sum to drive a wheel (each drive wheel has its own differential):

In the above figure, the left and right differentials have their output shafts, C & C' attached to the drive wheels.  The B and B' shafts are linked by a 3-gear train--if force is applied to any of the yellow, green, or cyan gears, the B & B' shafts will rotate in the same direction.  The A & A' shafts are linked by a 2-gear train--if force is applied to the red or magenta gears, the A and A' shafts will rotate in opposite directions.  Now consider what happens if the B & B' shafts are prevented from rotating and force is applied to the A & A' shafts from a motor whose output gear is interfaced with one of the translation gears.  A & A' will rotate in opposite directions and, since the B & B' shafts are fixed, the C shaft will rotate with the force of the A shaft and the C' shaft will rotate with the force of the A' shaft.  Furthermore, since A & A' are rotating in opposite directions, C & C' will rotate in the same direction (because the differentials are facing in opposite directions).  The result will be a translation of the robot and, because the entire system is mechanically linked, the wheels must rotate at the same rate producing straight-line motion.  Conversely, if the A & A' shafts are prevented from rotating and force is applied to the B & B' shafts, the C & C' shafts will rotate in opposite directions resulting in a zero radius turn about a point midway between the wheels, since the wheels are still constrained to turn at the same rate.

From the preceding discussion it follows that if a motor is connected to the translation geartrain and another motor is connected to the rotation gear train, by actuating the motors in a mutually exclusive manner the robot can be made to perform straight-line translation or in-place rotation.  This assumes that the motors are non-backdrivable, meaning that when a motor is off it cannot be turned by an outside force acting on its output shaft.  If the motors are backdrivable, then some of the force can move through the differential, backdriving the idle motor and possibly causing unequal force to be applied to the drive wheels.  Motors without internal gear reduction are always backdrivable, motors with internal gear reduction (gearmotors) may or not be backdrivable depending on the type of geartrain.  For example, the Lego Micromotor is non-backdrivable but the Lego Gearmotor is backdrivable (in practice, the Lego Gearmotor has enough internal gearing to make it effectively non-backdrivable when used in the dual differential drive setup, assuming that both halves of the dual differential drive are geared equally).

Below if a photograph of the dual differential drive made from Lego parts:

The red items are Lego Micromotors with their output gears linked to the translation and rotation geartrains (the Micromotors are used for demonstration purposes, they are too weak to drive a full-scale Robo-Rat).  Note that the rotation geartrain (at the top of the photo) uses three gears as in the diagram above, but the translation geartrain uses four gears instead of two as shown above.  This is because of the limitation of the sizes of gears available in Lego--the result is the same as long as the number of gears is even: the shafts will rotate in opposite directions.  Also, note that there are no shafts corresponding the the C & C' shafts shown above.  The Lego differential uses the differential housing itself as the output device--it it linked to the wheel axles by crown gears (see the differential page for more details).  There are other variations of this design--different placements of the differentials and/or using a different shafts for input/output--but the principle is the same (I think this version most clearly illustrates how the DDD works).

Here are some movies of the DDD in action (place the mouse over the image to start the movie):


2 - One to drive the wheels in the same direction resulting in straight-line translation, one to drive the wheels in the opposite direction.  Note that it is possible to actuate both motors at the same time to generate arbitrary motion paths.


Control - Separate actuation of translation and rotation make control much easier.  Straight-line motion is guaranteed mechanically--there is no need for interrupt-based control as in the case of the differential drive method.

Simplicity - Easily implemented in Lego, relatively compact design.


Efficiency - The many gears in this system make it somewhat less efficient that a differential drive system, as there are frictional losses in the gear shafts.  A heavy robot may require care in choosing the gear ratios in the system, since frictional losses rob the system of power.  However, the benefits of this system outweigh the negatives.

Back to the Robo-Rats Locomotion page

Back to the main Robo-Rats page

Last modified: 03/10/03 12:50