Algorithm

In order to more fully understand the capabilities of the Roomba, and the algorithm in which it moves, please watch this video, produced by the makers of the iRobot. Watch how the Roomba leaves it home with the touch of a button, and begins its journey by mapping out its location and path. By using sensors on various sides of the Roomba, this allows the robot to map where it can and cannot go. It senses walls, furniture obstacles, and well as stairs, and creates the best pathway for optimal cleaning. You can see how the shape of the Roomba allows its various bristles to move in a constant circle, picking up debris from all sides, and depositing it within the internal debris carrier. You also see the interaction between the Roomba and its user. A mom can go about her day playing and taking care of her child, while the Roomba cleans, taking away her worry of having to clean the house at the same time watching the baby. A little bit plays and runs around as the Roomba vacuums up any debris he’s left in its wake.

The Roomba exemplifies the aspect of being completely independent of human touch, showing that if it gets stuck, or is finished cleaning, it returns back to its home base to charge, and prepare for future cleaning.

 

The Roomba’s Algorithm:

 

Algorithmic Description

The App:

Above you will find the algorithmic description of the iRobot 960. When users first buy the 960 version Roomba, this new version allows them to control the Roomba directly from their phone. All users have to do is set up a free account with their information, link to their specific Roomba by putting in its individual number, and pressing finish. Once the app is downloaded and the users phone is fully connected to their Roomba, all that is needed is for the user to press the “Clean” button within the app. Once pressed, the Roomba is turned on, and begins to move away from the home base. Within the app, you also have the ability to set a specific time you want your Roomba to clean, and once set in the calendar, it will begin cleaning, and return home when the time scheduled is over. Users also have the ability to check how the Roomba is performing as well as any maintenance needs that will alert the user when the Roomba needs to be emptied or a filter needs to be changed. 

The Internal System

Let’s shift to the Roomba’s internal motor system. As explained before, the Roomba is controlled by not one, but two separate motors that help automate the wheels. From the main central controller, it signals to the motors to turn on when the Roomba itself turns on. This is why many people hear a “revving” sounds when the Roomba turns on, which is the motors in each of the wheels turning on. 

Once the controllers and motors turn on, and the Roomba begins to move, its path is not necessarily specific. Many things must be taken into account in which way the Roomba will move first. For starters, its three sensors work together to detect various obstacles the Roomba might run into. On the top and bottom of the Roomba, are inferred sensor, which detects walls and other obstacles such as pets, feet, or stairs, therefore making sure the Roomba doesn’t take this path. The touch sensor on the front of the bumper stops when the Roomba runs into something. It then allows it to backup, and take a different direction, marking that area for later, to not go through. The next sensor used is the piezoelectric, which explained in simple terms, means that when the Roomba hits something, a crystal generates electricity (hence the electric side of piezoelectric) so that when dirt, dander, or debris hits the sensor, it sends a message to the suction that this area is dirty, and to pick up whatever is there.

As it uses these various sensors to move and detect its desired path, it is also doing another important part of the algorithm; the mapping. Mapping is an integral part of the how the Roomba moves and works, because without it, your home would be a lot less clean, and would take a lot more time to clean your house as well. Mapping is done using the VSLAM (Vision Simultaneous Localization and Mapping). Tiny cameras decipher things like corners of furniture which help it to remember what the area looks like, and will change how it moves. The mapping side of it is compiled using pictures that it takes to track the environment it moves in, allowing it to therefore “map” your home and have a visual representation of what it looks like. That way, for future uses, it cleans in a simultaneous pattern, allowing it to remember every crevice and surface your home can be cleaned by.

All while detecting obstacles and mapping out your room, the Roomba is actually cleaning. Utilizing the two brushes on either side of its rounded body, it pushes dirt from both sides, working in unison to collect dander underneath the Roomba, where two smaller brushes pick up the dirt, pushing it towards the suction, which then picks it up and deposits it to the compartment for debris. It continues to move in the pattern that is given to it through its mapping and sensor devices, until it detects no more dirt, and returns to the home base.

 

  1. Obstacle detection bumper at the front.
  2. Infrared detector for communicating with lighthouses and docking station.
  3. Wheel drop sensor.
  4. Lithium metal-hydride rechargeable battery pack (14.4 volts and 3600mAH). This isn’t normally visible—and you have to remove several screws on the case if you decide to replace it.
  5. “Knobby” treaded wheels provide extra traction on smooth floors and help to prevent tufts from carpets and rugs snagging in the wheels.
  6. Wheel sub-assembly.
  7. Electric motor drives right wheel.
  8. Electric motor powers vacuum.
  9. Handle for removable dust bin.
  10. Electric motor drives left wheel.
  11. Wheel sub-assembly.
  12. Self-contained brush mechanism.
  13. Electric motor powers brushes.

Video courtesy of: Roomba Youtube Channel

Information & Photo courtesy of: Explain That Stuff