Yay for google code!
http://code.google.com/p/2011deployable-1002/
Anyway, I think that maybe you should make a class that is sort of an IO processor, something like our team did. It makes things less messy and all of your IO stuff is in one place

And i like the absraction, very useful. I am dissapoint though, RobotDrive? Really? you should definitely make your own drive class, it's quite useful, especially when you couple that with an interface that houses a method to move when given some parameters.