Updates / Errata
With the inexorable march of technology, all dead-tree books describing technology will eventually become out-of-date. This page catalogs the changes between the printed book and what’s the current start of the Roomba art.
Additionally, whenever new tools and techniques are discovered that improve upon those discussed in the book, they will be mentioned here.
Text Changes
- A copy editing mistake crept in at the last moment that removed most of the articles (“a”, “the”) before the word “Roomba”. Thus phrases like “underneath the Roomba” & “inside a Roomba” became “underneath Roomba” & “inside Roomba”. Just pretend I’m Russian, I guess.–24 Nov 2006
- I incorrectly credited Kevin Gabbert for writing RoombaFX. It was actually created by some folks at Microsoft in their spare time. Kevin was correctly attributed as the author of Roomba-Term, which uses his C# Roomba library.
Software Changes
- Minor updates in Arduino have necessitated changes in the Arduino example code. More to come. –24 Nov 2006
Circuit Changes
- The circuit schematic for the serial tether neglects to show the connection from the DB-9 pin 5 to GND. Thanks to Erik Vermeulen and Filipe Augusto for catching this.
When was hacking Roomba published?
Hi Vic, the book just came out. Officially released on 20 November 2006. Of course it was finished in August and three months in the ever-changing world of technology means some tools used in the book will be improved. The techniques presented and the Roomba protocol will be valid for several years however.
Hy, a great book, thank you
I have found a minor error
on first page of chapter 16, your webadress is wrong
wrong http://roombahacking.com
correct http://PLACEHOLDER.wpsho
Hi thanks for getting the book!
Both domains work. All the links to downloadable code point to roombahacking.com, while this site is at hackingroomba.com. I did this in case Wiley (the publisher) wanted to do something with the “Hacking Roomba” domain, since they own the title. It’s a little confusing I know, but hopefully not too much.
Hi!
I am working on a project that involves Roomba, so besides interesting, this book is a life-saver for me. Good work.
I will note any typos that I find along the way and send them. One I just found, is at page 39, where the code implements a 45 degree right turn, while the text talks about a 90 degree turn.
best regards,
Argyrios
Hi,
I am reading page 95, where it says that the velocity of the left wheel if
Vleft = r * theta
r = radius and theta = angle
I think what was meant here is ‘arc length’ instead of velocity
regards,
Argyrios
Hi Argyrios,
I do actually mean velocity. In this context, theta is essentially rotational velocity (aka frequency, units 1/sec) and when multiplied by a radius, gives a radial motion velocity (units distance/second) around a circle of that radius.
I didn’t go into that detail in the book because the editor already thought it was a little math-heavy. :)
Hi again,
Just a little misprint:
on page 30, line 6, it says that “When going forward, a positive radius turns Roomba to the right, and a vegative radius turns Roomba to the left”.
Actually, it is the other way around:
“positive velocity and a positive radius will make
Roomba drive forward while turning toward the left”
PS. The book is simply great and, without it, it would take me years to start programming Roomba!
Is the software for hacking roomba compatible with Vista?
Short answer: Yes, it’s compatible with Vista.
Longer answer: The software is all written in Java, so as long as there’s a Java VM available for whichever OS you’re on, the code should work. Some OSs come with Java, if yours doesn’t, you can download it from Sun:
http://java.com/en/download/manual.jsp
Hi,
On page 95 in Hacking Roomba
The “r” term in the equations
r = b(Vleft+Vright)/(2(Vright-Vleft))
Vleft = V(1-b/2r)
Vright = V(1+b/2r)
is the distance from the origin to the center of the wheelbase.
This “r” term is not the same as the one in the preceding diagram which is the distance from the origin to the center point of the left wheel.
It may be helpful to redraw the diagram such that “r” is the distance from the origin to the center of the wheelbase.
This will yield the following equations for Vleft and Vright:
Vleft = (r-b/2)Ó¨
Vright = (r+b/2)Ó¨
Hello, I’d like to start exploring all the possibilities a Roomba capable of ROI can afford as found in your book. =)
I want to pick up my first Roomba on eBay, but if I get an older 3rd generation Roomba (Pre-2.1) I’d need to update the firmware with an OSMO//hacker to have access to the ROI, correct?
Is the OSMO//hacker still available from iRobot or elsewhere for older 3rd generation Roombas (ie – Roomba Red or Discovery)?
I am unable to find any additional information on where to obtain an OSMO//hacker on-line. I apologize if this answer is found elsewhere.
Thank you!
Hi RBB,
I believe that’s correct about needing an OSMO//hacker. It’s been a while since I played with older Roombas though. And iRobot never documented them very well. All the info I had I put in the book.
I don’t know where to get them nowadays though. Your best bet might be to ask on the RobotReview.com forums, since there’s lots of Roomba people on there and someone might have an old OSMO//hacker they could sell you for cheap.
Hi,
Thanks for a fantastic book! I am working my way through and was wondering if you could help explain some of the math in listing 9-2 (RoombaSpiro). Given the incremental vector (dx,dy), the draw() method is calculating two Roomba drive radii (rx and ry). Can you explain how you arrived at the expressions for rx and ry? Thanks!