This is my autonomous robot. It uses an Arduino to control it, an ultrasonic sensor, and an iPod displays output data through the serial port.
It drives using two servos modified for continuous drive. The servo for the sensor does not presently work because using the default code library I can only control two servos.
When it gets too close to a wall it backs up, turns to look both ways, and chooses the way with least obstruction. All while outputting distance and decision information to the serial port.