We’ve owned a Roomba for years. I wanted one for a few years before that and the thing that has been most attractive about it to me has been the ability to hack it. When I say hack, I mean “repurpose to my own whim”
In the past, I’ve done a couple of projects with my Roomba. My first project resulted in the Roomba dancing a little to most of the Super Mario Bros. theme. A few years later I wrote a system that let you drive a Roomba with a Kinect. More recently, I rebuilt that system using a python script, and OpenCV that really allowed you to drive around.
In the case of the latter 2, I was using a bluetooth serial adapter connected to a spliced out Apple Macintosh Serial cable.
More recently I plotted to build a christmas tree robot that could be driven by anyone at my work – My plan was to have a small Christmas tree mounted on top of my Roomba, and to serve up a webpage that would provide a POV video from the robot, and controls for driving.
Sadly it didn’t come together in time. The NodeJS module that I chose to use relied on an old serial module that wasn’t working. It took me a few days to realize the serial component had changed (and where it had). After I figured it out, I had the Pi Driving the Roomba up in no time. This version of it is managed by a web page served from the Pi and a server which receives calls from that webpage.
Anyway, here’s a video of the test run. No camera yet, no tree – yet.