LEGO MINDSTORMS Robot Inventor
his little robot doesn't actually vacuum your floors (in fact, I suggest vacuuming your floors for real before running it or it will pick up a lot of dust...), but it was inspired by robot house vacuums and imitates some of their behavior.
In addition to the distance sensor that tries to spot walls and other obstacles before hitting them, the mechanical design also features a touch-sensitive bumper up front that can detect objects that the distance sensor doesn't see. A bumper would normally be made with one or two touch (pressure) sensors, but the base Inventor kit doesn't include a touch sensor, so this design uses a little trick to make one out of the color sensor.
Three different programs are provided, to experiment and show some of the different strategies that real robot vacuums use.
Real robot vacuums use a variety of different program strategies to try to cover your whole floor, and will often switch between different strategies during their operation. Here are three different programs that try out simplified versions of some of these strategies.
Note: If the programs using the gyro sensor don't drive properly, try this workaround.