The original plan was to make a 3D mapping robot using the Kinect. The idea was to _ get _ a robot from iRobot and not do their challenge. Of course, when the Kinect ended-up not being compatible with anything we had, we gave iRobot's a go.

What it does

You can control the Roomba with a simple web interface that displays sensor data and a map of the distance you traveled.

There is even a fancy joystick-like interface that's super-usable from a touchscreen. Also, since the robot runs a Node server, it's possible for the client to not be tethered to the robot.

How we built it

Python to interface with the Robot and Node.js to drive the front-end. Flask would have been the obvious choice but it was too late to switch.

Communicating in real-time between Python and Node proved to be a challenge. Luckily, Python provides unorthodox ways to communicate with the external word. Just open to see how it works...

Challenges we ran into

Communicating between Python and Node.js in an elegant manner.

Accomplishments that we're proud of

Getting the interface to display data. Also, it's powered by nipple.js

What we've learned

Evaluate the stack before you start.

Also, hardware will fail you.

What's next for YAR - Yet Another Roomba

To keep working on it I would need to purchase a Roomba... So you can guess.

Built With

Share this project: