maradydd: (Default)
maradydd ([personal profile] maradydd) wrote2006-11-07 02:03 am

On a more pleasant note...

... woot.com had the Roomba Discovery 4220 SE on special yesterday for $150 plus $5 shipping, so I did a little budget-checking and decided it was time to start establishing my robot vacuum cleaner army. (Ever since the Bluetooth-enabled Roomba cockfight at ETech back in March, I've been thinking it would be cool to get a bunch of Roombas and write flocking and swarming algorithms for them, then bring them to a conference, have them lock onto some poor bastard's Bluetooth cellphone or PDA, and watch while cackling hysterically.)

I could only afford one, but one is enough to start playing around with the Serial Command Interface. I'm pleased that the SCI manual shows a Python code fragment for changing the baud rate, but all the commands are bit-level, power-this-pin-for-this-long/send-this-opcode-and-data-packet instructions. It doesn't appear that anyone's written a higher-level API (at least not in Python, though the Illinois Roomba Lab (!) at UIUC has a C++ one). (And why would I want a Python Roomba API? Because then any Nokia S60 phone becomes my Bluetooth-Roomba-army control platform. I love you, Python interpreter. Muahahaha.)

(Note to self: in that case, do we open up a need for encrypted channels between cellphones and robots? Should I draft an RFC for SRCP, the Secure Roomba Control Protocol? "Man-in-the-middle" takes on a whole new meaning when the attacker is somewhere in the room with you!)

Anyway, one robot vacuum cleaner does not an army make, but it'll be a neat sidekick. I need a naming convention for robot vacuum cleaners!

Post a comment in response:

If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org