Differential drive robots operate with two motorized wheels doing all of the propulsion and steering, with additional wheels serving only to maintain balance. It’s an easy way to make a robot without having to create a steering mechanism.

Guilherme Martins programmed a differential drive simulator in Processing that lets you steer a simulated robot around your screen while recording the (simulated) motor encoders’ data, so you could drive a robot on screen, then program the robot to follow the precise path in real life.