When we started the wireless rover project, we drew up a list of features we wanted in the basic platform. We decided the basic requirements were a sturdy, reliable bump switch, wheel encoders, and long battery life. After trying to build something without access to a machine shop or proper tools, we decided just to hack a piece of consumer electronics.
The Roomba is an automatic vacuum cleaner that sells for about $200. It has a very well designed bump switch, a small profile, a simple suspension, and wheel encoders. Really, it's everything we wanted, in a very small package. However, the Roomba is completely autonomous, and has no facility for remote control. So, we had to hack it.
To control the Roomba, we used a PIC16F877 on the Dontronics PicLoader board. The pic will receive serial command and control the Roomba, report sensor statuses, and provide some level of autonomous control. Right now, we can control just about everything on the roomba. The bump switches, cliff sensors, motors, and encoders are all working, although we did have to build a small amplifier to get the encoders up to logic level output. We haven't yet figured out how to drive the speaker.