Just picked up a used 4210 iRobot vaccum, just to check it out. It was a $30 not-working machine. The battery was a suspect so I ordered a core replacement from all-battery.com ($35). It turned out new battery did not work either. It was a charging circuit that was broken, a common failure. Thanks to the iRoomba robot enthusiasts at http://www.robotreviews.com/chat/viewtopic.php?f=1&t=3909&start=20
Motion
Now roomba does its thing but after initial exitement I am getting bored watching it obsesively cleaning the corners or areas around furniture legs, while leaving vast areas of dirt in the middle of the room untouched.
Docking
Its docking algorithm is flawed. It keeps on vacuming while searching for the base and hence wasting remaining charge. It does not appears to change its motion pattern hence it keeps the corner obsession going on. This combined with a very limited range of the home base IR beacon (about 3 feet in my experience) results in almost guaranteed dead roomba lying somewhere in a corner.
Navigation
..is what this robot needs. Dead reckoning could be used probably. Albeit unlike in transportation, there is no absolute North reference for heading but it is probably not needed (relative to the surrounding should be fine).. The wheel rotation sensors (both the caster and the optical pickup in drive wheels) should provide enough info assuming no slippage. This combined with bump events and memory could be sufficient for making out room/furniture layout and perhaps also provide location for the base. Best yet to equip roomba with ultrasonic range finder and have her do initial circle.