Illinois Roomba Lab

We are working on practical algorithms for mobile robots with extreme sensing limitations. Roomba autonomous vacuum cleaner robots are a great example: They have bump sensors to detect walls and noisy wheel encoders for measuring distances and angles, but not much else. Of what is such a robot really capable? Can it navigate through a large indoor environment with reasonable accuracy? Starting only an environment map, can it localize itself within that map? Can it reconstruct the map from scratch?

People

Lawrence Erickson
Steve LaValle

Former Participants

Joseph Knuth
Jason O'Kane

Papers

Videos

12-06-06-loc1.ogg
12-06-06-loc2.ogg
12-06-06-loc3.ogg
December 6, 2006 The same localization plan from three different starting locations.
02-26-07-loc1.ogg
02-26-07-loc2.ogg
02-26-07-loc3.ogg
February 26, 2007 A longer localization plan in a non-simple and less rectilinear environment. The same plan from two distinct starting locations.
03-07-07-wireless.ogg
03-08-07-wireless1.ogg
03-08-07-wireless2.ogg
03-08-07-wireless3.ogg
March 7-8, 2007 The Roomba no longer needs to be connected to the desktop computer to perform its localization tasks. Onboard processing is done by a gumstix computer mounted next to the power button.
 

Photos

 

Software

roomba-driver.tgz October 5, 2006 A C++ library for UNIX-like OSes that takes care of the details of serial communications and the Roomba API. In principle, this should allow you start controlling your Roomba very quickly. We expect it to be useful in research and educational settings.