DavidL said:
Ok, so I assume the serial connection is to the vacuum that is then hard wired to a PC...So, how does one wirelessly get the current state data and send new control messages? Bluetooth serial adapter?
It seems like it's meant more for a locally attached controller.
It supplies power to the external device, so the device could be a wireless link to a PC. But a more useful scenario would be some intelligent controller that is attached to the Roomba.
The protocol gives you high level control, like "Clean" to start the cleaning program (the same as pushing the "Clean" button on the top). It also gives you low level control, like "move forward at velocity X with radius Y". It gives you direct control of all of the motors, gives you visibility of all of the sensors, and even allows you to play music through it's speaker.
I envision something like this as a potential application:
At a preprogrammed time, with the help of a video camera, it finds it's way to a particular room, using the lower-level protocol. Once in the room, it exits the low-level control and simply invokes "Clean".
Or:
In response to a voice command, with the help of a video camera, it chases the cat out the pet door.