Gir is a minirover built from Fischertechnik parts and featuring two way digital wireless communication with a Debian Linux base station.
The motors are controlled by micro-switch bump sensors, tachometers, and a small bank of relays that are switched by the onboard PIC16F84 microcontroller. High level planning and control is carried out by a Common Lisp program running on the base station which monitors the robot's behaviour and sends commands via the radio link.
This is Gir's partially disassembled body showing the double worm drives and the positioning of the cowls which carry the motor sensors close to the black and white discs on the motor shafts.
A close up view of the circuit which tracks the rotation of the motor shafts. The red LED illuminates a spinning black disc which is detected by the photoresistor. A simple AC transistor amplifier boosts the signal which is digitised by a schmidt trigger on the microcontroller board.