A few weeks ago, I was coerced by my girlfriend into buying one of those silly "floor cleaning robots." Yes, I mean a Roomba. I was skeptical, but I sat down and did some research.
Little did I know that while I had been slaving away religiously vacuuming my own floors (ok, occasionally vacuuming my own floors) since the first Roomba came out in 2002, the makers at iRobot had made amazing strides in autonomous floor-cleaning technology!
While first-generation Roombas seemed to bumble around like an aimless freshman in orientation week, the current Roombas promised not to lodge themselves under your furniture or toss themselves down your stairs. They can be scheduled to clean when you're not home, and they even charge themselves!
iRobot convinced me that these little guys are actual engineered robots nowadays.
Hello, Roomba!
After explaining to my cat that there would be a new addition to the family soon, I ran out that very night to bring home her new little sister, a 530 Series Roomba. I tore into the package like a kid on Christmas morning (or like an engineer opening up a floor cleaning robot).
After naming her and waiting an agonizing 16 hours for the first battery charge, I started to read through the instructions. While flipping through the pages, I was given one of the biggest, best surprises I’ve had in a long time.
Can You Teach A Robot To Love?
Instead of a disclaimer about how any modification to Roomba would void her warranty, I found a message encouraging programmers, engineers, and electronics enthusiasts to modify and add on to Roomba!
They even put a serial connection in and provided a full set of commands (called ROI 500 or Roomba Open Interface 500) to control the Roomba completely with a microcontroller or Bluetooth device! I was so excited that I think I might have screamed.
A swirl of Roomba add-ons (fridge retrieval arm, morning breakfast preparation attachment) and Roomba subroutines (cat chasing mode, teaching Roomba to love, programming her to play the Notre Dame Victory March) rushed into my mind. I figured I would share my project with DMC and friends, so be sure to check back for updates on my progress!
Conclusion
This was the first entry in a multi-part blog about a home project programming a Roomba robot. If you are a robot enthusiast, check out this other robot-related content.
Robots vs. Humans Soccer - Teaching Robots to Learn
Robot Dancing - Teaching Robots to Heal
A Roomba Christmas
Learn more about DMC's Robotic Automation & Integration services.