This robot is the result of putting the 24t end of a new-style differential into the inner teeth of a turntable. It's immediately clear that you could drive the 16t side to steer and power an axle clear through the inside of the differential to drive a wheel below. When I started thinking about what would happen if instead you drove it like a differential, the rock stupid rover was born!
Normally you drive the diff cage itself and the output is on the axles. In this application one of the axles is powered, and the outputs are the other axle and the diff cage. In this arrangement, the diff cage is usually stalled, and all of the power is transfered to the other axle, which drives the front wheel. If the wheel stalls (because the robot body is hung up on an obstacle) the diff cage turns instead. Since its 24t end is meshed with the inside of the turntable, this causes the whole front wheel to steer.
So the rover moves until it hits something, and when the front wheel can't turn the whole front fork is forced to rotate until the wheel can turn again. It detects objects by detecting the stalled front wheel (a design I've used on much more advanced robots using a rotation sensor!) and responds by turning until it can move again.
The 3:1 (8t to 24t crown, at the top) input to the first axle means the whole fork turns once for every three revolutions of the motor. This is just enough torque to turn the wheel in place (with the weight of the battery pack).
A further 5:3 (24t to 40t, along the front fork) ratio to the front wheel gives it a bit more torque which enables it to pull the rover along a smooth surface when unobstructed with no stalls. If this ratio is too low (say 1:1) the fork will spin in place constantly and the robot will never move. If it is too high (say 3:1) it won't stall properly to start a turn.
|With both back wheels free to roll in either direction the robot moves randomly. It rolls around in small, looping circles, not making much progress in any direction. If it bumps something it moves away a bit.|
|With a solid rear axle the robot can barely turn because the twisting motion requires the rear wheels to turn in opposite directions. It can go mostly straight for long distances, and when the rover bumps something it turns almost exactly 180 degrees.|
|Our most advanced program yet, the limited slip axle. That's two axles connected only by the smallest black rubber band (the white cylinder is for support, but does not connect the axles). The robot can roll straight with no resistance, but as it turns the twisting motion becomes harder and harder. This allows the robot to turn a little bit while still encouraging it to go in a straight line. This design tends to make curving forward progress and make small, random turns when it encounters an obstacle. Four stars!|