Page 24 - Hacking Roomba
P. 24
Chapter 1 — Getting Started with Roomba 5
tougher than a human. One g is the force you feel every day from gravity. Three gs are
what most roller coasters make you feel, and at five gs you black out. Although the
Roomba isn’t nearly so rugged, it definitely seems to have inherited some of its cousin’s
toughness.
Enter Roomba
The Roomba robotic vacuum cleaner is a physical embodiment of Brooks’ subsumption archi-
tecture. Roomba has no room map or route plan. It has no overall view of what it is doing.
Instead it functions much more like an insect: going toward things it likes (dirt, power) and
away from things it dislikes (walls, stairs), moving in predefined movement routines while
occasionally and randomly jumping out of a predefined routine.
This random walk feature of the Roomba algorithm is perhaps what confuses people the most
at first. It will seem to be going along doing the right thing when it suddenly takes off in a dif-
ferent direction to do something else. But for every time it moves from the right place to the
wrong place, it has moved from the wrong place to the right place. On average (and if left for a
long enough time), Roomba covers the entire area. In terms of time efficiency, Roomba is not
the most effective, as it takes several times longer for it to fully cover a region than it would for
a person with a normal vacuum cleaner. But whose time is more valuable? Roomba can work
while the person does something else.
Which Roomba Cleaners Are Hackable?
There is some confusion as to which Roomba cleaners are easily hackable through the ROI.
This is complicated by the fact that iRobot doesn’t make obvious the model numbers and
firmware versions of the different Roomba cleaners.
All new Roomba cleaners currently have the ROI protocol built-in and ready to use. These
are third-generation Roomba cleaners. The two most common Roomba cleaners, Roomba
Discovery and Roomba Red, will be used in the examples in this book.
Following is a fairly comprehensive list of Roomba cleaners available in North America.
International versions are functionally identical and named the same, with only small modifica-
tions to function on different mains voltages.
First Generation
The first generation of Roomba cleaners was astounding in the amount of capability they
packed into a small, inexpensive package. This generation did not have any ROI capability.
There was only one type of Roomba in the first generation:
Roomba: The original Roomba model, shown in Figure 1-1, was released in 2002
and improved in 2003. It could clean small, medium, or large rooms when instructed