I have been thinking about this for a while, and am working on bits and pieces in the form of a "HOWTO." Between work and family, it is taking longer than I thought.
I was stalled on my robot because I needed a cheap counter/timer rig to handle the encoders. I was looking around for something that was easily interfaced to a PC, but was well below the $100 mark. (Remember: sub $500 robot.)
Then someone suggested that I sit a mouse on each of the wheels. While it was an interesting idea, it lacked any sort of mechanical integrity. I did, however, start thinking about what an old roller ball mouse was. The are, in essence, an unpowered two wheeled robot.
Right now, the plan is to extract the LED and detectors from a mouse and either modify a drive train to incorporate them directly, or create an easy to make encoder housing.
The interface will be PS/2, USB, or even serial. These devices should be around for several more years and can be had for about $5.00. On top of the encoders, the button could even be used as touch sensors. (It is humorous to think of your robot as a big mouse)
Another big advantage of using a mouse like this, is the availability of software for testing. You don't have to write any code, simply use a mouse program. On wheel will go left or right, the other wheel will go up or down, the buttons will show up as menu items.
What do you think?