Sunday, January 25, 2009

iRoomba battery/charger fixes, observations.

Resurection
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 who reverse-engineered the circuit, I was able to pinpoint the problem. I t turned out one of the power FETs (U2) was blown so I have replaced it with a bigger one (TO220 Id=18A Usd=60V) . Now I think I could (shoud) have replaced both U2 and U4 with this single p-Fet as it appears the only reason there are two fets in series is for the power dissipation. I will do this when U4 blows out.
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.