Goals and Intro

The Erdos project provides software, curricular, and hardware-based
information about using iRobot's Roomba vacuum cleaning robots
in education, especially undergraduate education.



This material is based upon work supported by the National Science Foundation under Grants No. 0411176 and 0536173.
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.



Resources from the SIGCSE 2007 workshop

The Python code, pyCreate.zip
HTML guide, section 1
HTML guide, section 2
HTML guide, section 3
HTML guide, section 4


Demonstration from AAAI 2006

We brought our roomba hardware and software to the fifteenth annual robot
competition and exhibition at the annual conference of the American Association
for Artificial Intelligence, Boston, July 16-20, 2006. There we demonstrated
our Monte Carlo localization software for the roomba at the convention center.
The exhibit was given a Technical Innovation Award for the Introduction of
a Novel and Inexpensive Robotics Platform
.

A movie of our roomba localizing at AAAI 06 [avi, 12mb]

 Time: 0 seconds

This movie shows the live footage (left, at 1x and 3x speeds) along with the
computational processing (right, at commensurate speeds) that constitutes the
Monte Carlo Localization algorithm. The area is part of the convention center from
AAAI 2006, using the walls and the roomba's virtual walls as barriers. In the video,
the small black circles are 300 pose hypotheses for the actual robot, the larger
red circle is the integrated odometric position, and the small blue circle is
the most likely robot pose. The robot wandered under our own (very simple) routine.

 Time: 90 seconds

The roomba does provide wheel-based odometric information, but it will quickly
lose track of the actual robot position, especially as angular errors accumulate.
Each bump reading, however, reduces this accumulating uncertainty. At the end of the
200-second run (compressed to ~50 seconds), you will see that the blue circle
indicating the algorithmic estimate of the robot's location is correct, while
the wheel slippage has led to an odometric estimate well outside the area's walls:

 Time: 200 seconds

This was done with an off-the-shelf $150 roomba and an $80 bluetooth interface
obtained from RoombaDevTools.

All of the software is available below. You're free to use it, but I would love
to know about it at dodds@cs.hmc.edu. Happy roomba'ing!




Software

Here is the code as of 7/14/2006:


Here is a thumbnail screenshot of the current interface as of 5/11/06:
  Click this image for a full-sized version.
You can download our python software (with README file) from this link.
This software provides python drivers (SCI interface) and
higher-level functionality for the roomba. To use it, you'll need

That's it! It uses Tk/Tkinter for the GUI, which is what comes standard with python.

If you prefer a Java interface to your roomba, Tod Kurt's page may be the place to start.
The RoombaDevTools site has a Visual Basic interface, as well.
Any language/OS combination that can talk to the serial port will work... .




Hardware Tips

No need to splice your own cable...
Now, RoombaDevTool.com, part of RoboDynamics, offers off-the-shelf interfaces:

If you already have a roomba, they will sell you the
interfaces for $25 and $100, respectively.

You can create your own interface ($20 for USB, $60 for bluetooth)
even without picking up a soldering iron, and at some point I'll
put my expreiences doing this here.

In the meantime, there are lots of excellent online resources.
I used Tod E. Kurt's HW and Java SW tips for the Roomba.




Curriculum

Erdos was used in two Chatham College classes in Spring 2006:

I am now working with Debbie Bernstein of U. Pittsburgh, who assessed the use
of the platform thoroughly throughout the courses, to write up the results.




Documentation

There are a number of powerpoint and other documents
related to this project available on this page.




The Name

We have named this project erdos for its potential to
convert coffee into proofs: in particular, proofs-of-concept
where a physically embodied platform can validate computational
and algorithmic ideas. Not to mention ruggedness: the prolific Hungarian-born
mathematician Paul Erdos lived to 83; he continues
converting coffee to proofs, now with access to the book.

In addition, we have post-fitted erdos with a requisitely
clunky acronym, i.e., the Educational Robotics Drive-Operating-System.

Finally, this project is a successor in spirit of the discontinued Evolution ER1,
but the name ER2 is already under trademark protection.
Bienvenidos a una nueva generacion!