Thursday, May 29, 2008

The victim....

I was the lucky recipient of a malfunctioning Roomba in a Bag of Crap from Woot in February of 2008. It's failure code indicated that the Cliff Sensors were not working properly (a quick check with my phone's camera confirmed that only one of the IR bulbs were lit). I could try fix it, but I thought it would be a lot more fun using it in some sort of hack project. I spent several months reading up on what other people were doing with their Roombas (which is why this blog didn't start until May and the Roomba was received in February). Most projects centered around what you could program a Roomba to do; I didn't want to do what everyone else was doing; I wanted something "GRAND".

With so many projects that focused on the software capabilities of the Robot and my respect for the modder community, I wanted to come up with a project that physically altered the attributes of my robot that left it functional but in a different way. I only found one other project that really altered the physical attributes of their Roomba [
http://isopoddesign.com/7.html], so this will be somewhat uncharted territory. Along the way, I will have to learn some electronics and will have to build things that I have no expertise in (I'm a programmer, not an Electrical Engineer).

So, with the idea that I want to do something "GRAND", I brainstormed, I asked friends for input, I searched the web for "fun" projects. Eventually, I came up with the concept of a hovercraft. A Roomba is a vaccuum and in my youth, I remember projects that transformed a "normal household vaccuum into a hovercraft". While this isn't a "normal household vaccuum" it seemed like the perfect modern twist on this old garage project.

Any good project starts with a set of goals (for my programming projects, we'd call this the scope and this stage "Envisioning"). (On a side note, a lot of bad projects start this way, too.....I'm just hoping this isn't one of those projects.) So, here are my intended goals for this project and the order in which I plan on tackling them:


  1. Make my Roomba hover

  2. Give my Roomba some means of propulsion

  3. Use the existing Serial Command Interface (via a RooTooth) to control the "flight". iRobot provides a serial comminications port for the Roomba with a very detailed Serial Command Interface [warning: PDF].

  4. Remove the cliff sensors and replace them with some sort of sensor that is more useful to a hovercraft (first choice would be some sort of electronic compass -- there are four cliff sensors and four cardinal directions, seems logical to me)

  5. Write a full suite of Roomba software that allows the Roomba to navigate a simple obstacle course

No comments: