17 May 2006 dafyddwalters   » (Master)

I recently purchased a Roomba (commercial floor-cleaning robot) from iRobot to take some of the load of doing domestic chores, and so far I'm really impressed with how well this thing does using a fairly simple array of sensors and behaviour-based software. It does a great job of vacuuming the carpet, seemingly covering every square inch before declaring the task complete with its R2D2-like beeps.

I'm particularly impressed with how well the Roomba docks with its charging station. This really puts the charging arrangement on my OAP prototype to shame. To be honest, I've never been satisfied with the performance of the three brass hinges (which act as contacts), each in front of a microswitch. I can see that this part of the OAP design is going to have to be torn up and done again.

OAP Update

Scott Crawford has been doing some work on a custom base design for the OAP robot. You can see the progress he's making on the OAP Community Wiki. As a "mechanically challenged" person, I won't be attempting to build his design myself (I shall stick to the Zagros Robotics ready-made base), but for those that don't mind bending metal, Scott's base design certainly looks the part.

On the software side, I'm experimenting with some ideas from a book called Probabalistic Robotics. The basic idea is that nothing is certain in the robot's view - everything from the robot's pose to its model of the world around it is stored in random variables. So for example, its position is represented as a probability density function covering all possibilities, and although there may be times when the robot makes a working assumption that its true pose is at the highest "peak" in this density function in order to carry out a task, it always continuously updates the position probabilities from new sensor data, allowing its assumed position to be corrected. The end result is (theoretically) more robustness in the face of uncertainty in an unstructured environment. I'm interested in this from the standpoint of the Open Automaton Project because the project is targeting the home environment, which is highly unstructured, of course.

Latest blog entries     Older blog entries

Share this page