Difference between revisions of "Disassembling a Roomba 560"

From AIRWiki
Jump to: navigation, search
m
Line 37: Line 37:
 
<gallery widths=480px heights=320px perrow=3>
 
<gallery widths=480px heights=320px perrow=3>
 
Image:Roomba_12.JPG | Here you can see the three motor components removed from the robot's hull. All of them are held in place by captive screws. The small motor is dedicated to the side brush: it gets power from two spring-like contacts directly connected to the underside of the main circuit board, passing through a cutout in the upper shell of the robot. You can see springs in the picture, at the bottom of the motor enclosure.
 
Image:Roomba_12.JPG | Here you can see the three motor components removed from the robot's hull. All of them are held in place by captive screws. The small motor is dedicated to the side brush: it gets power from two spring-like contacts directly connected to the underside of the main circuit board, passing through a cutout in the upper shell of the robot. You can see springs in the picture, at the bottom of the motor enclosure.
Image:Roomba_13.JPG | The wheel modules and the side brush motor. The latter is fitted with a small PCB with two contact regions: when the motor is in place, the springs protruding from the top of the robot touch these regions and power the motor. The wheels are spring-loaded by the long spring visible in the picture, so that if the robot is lifted from the ground they are pulled away from the robot's body. A microswitch detects when this occurs, so that the robot can be stopped (for instance) if it is lifted from the ground.
+
Image:Roomba_13.JPG | The wheel modules and the side brush motor. The latter is fitted with a small PCB (Printed Circuit Board) with two contact regions: when the motor is in place, the springs protruding from the top of the robot touch these regions and power the motor. The wheels are spring-loaded by the long spring visible in the picture, so that if the robot is lifted from the ground they are pulled away from the robot's body. A microswitch detects when this occurs, so that the robot can be stopped (for instance) if it is lifted from the ground.
 
Image:Roomba_14.JPG | Three (non captive, so watch out to avoid losing them!) screws have to be removed to open one of the wheel enclosures. Once open, you can see the motor and the microswitch. The thick black element connecting the wheel to the robot encloses the gear reduction. On the back of the robot is a dark grey disc; at first examination, it seems to be part of the wheel encoder system (presumably magnetic, to avoid problems with the high level of dust).  
 
Image:Roomba_14.JPG | Three (non captive, so watch out to avoid losing them!) screws have to be removed to open one of the wheel enclosures. Once open, you can see the motor and the microswitch. The thick black element connecting the wheel to the robot encloses the gear reduction. On the back of the robot is a dark grey disc; at first examination, it seems to be part of the wheel encoder system (presumably magnetic, to avoid problems with the high level of dust).  
 
</gallery>
 
</gallery>
Line 55: Line 55:
  
 
== Removing the top shell ==
 
== Removing the top shell ==
The upper part of the robot is a sort of drawer where the control circuit board (and a small auxiliary board as well) is enclosed. It is separated by the (dusty) bottom part of the robot's hull, except where cutouts are required to allow for the connections between the board and the electromechanical components. A metal shield is located on the bottom of the "drawer", presumably to shield the data-processing parts of the circuit from interference from the motors below.
+
The upper part of the robot is a sort of tray, where the main circuit board (and a small auxiliary board as well) is enclosed. It is separated by the (dusty) bottom part of the robot's hull, except where cutouts are required to allow for the connections between the board and the electromechanical components. A metal shield is located on the bottom of the "tray", presumably to shield the data-processing parts of the circuit from interference from the motors below.
 
<gallery widths=480px heights=320px perrow=3>
 
<gallery widths=480px heights=320px perrow=3>
Image:Roomba_20.JPG |
+
Image:Roomba_20.JPG | To reach the control board, the first thing to do is removing the upper cosmetic plate. This is a plastic plate in the form of a circle with a central, circular hole (seen here upside down). It is held in place by a few mechanical fixing points on the outside circumference (easily disengaged with a flat screwdriver) and a more resilient protrusion all around the border of the central hole. To remove the plate without breaking it, you have to disengage all the external fixing points and then insert a flat tool underneath the plate, gently forcing it up until the central fixing ring disengages. It feels very solid, but it is ''not'' glued in place!
 +
Image:Roomba_21.JPG | This is the top of the robot without the cosmetic plate. All the screws fixing the upper shell (the one covering the circuit boards) have been removed and point towards their sockets, including the two (smaller) screws which fix the handle in place.
 +
Image:Roomba_22.JPG | Here, the handle has been removed: but you do '''not''' need to do it if you only want to remove the upper shell of the Roomba (the handle goes with it).
 +
Image:Roomba_23.JPG | This is the robot without the upper shell. You can see the main PCB, partly covered by the control panel.
 +
Image:Roomba_24.JPG | A closeup of the same configuration.
 +
Image:Roomba_24.JPG | The outer, cosmetic plate covering the control panel is easily removed by lifting, along with its outer plastic ring.
 +
 
 +
To be continued...
 
</gallery>
 
</gallery>

Revision as of 16:55, 10 March 2010

The Roomba by Irobot is a vacuuming robot; but it is also one of the (still) few examples of mass-market robotic products. Its low cost, the easy availability of spare parts and the wide diffusion make the Roomba an interesting starting point for "hacking".

This page is dedicated to the disassembly of a Roomba 560. Its purpose is to provide AIRLab users (or anyone else) wanting to hack a Roomba with a guide to the process, so that they can plan their work easily. Other Roomba 500-series models should be similar to the one featured in this page.

Please note that the robot we have taken apart was well-used, so you will see a fair bit of dust and dirt on the parts... all for the sake of realism. (Just joking: simply, that was a broken robot we could spare in case the process proved to be fatal :-) )

If you click on any of the images below, you will be taken to its own AIRWiki page, where you will be able to download the file. However, the files are NOT high-resolution (480x320 pixels: on this page they are shown at full resolution). You can download the high-resolution originals of the images (and some additional image not shown by this AIRWiki page) from here. Note that the originals are 3888x2592 pixels, and each of them weighs in at 3-5MB.

Before the dissection

Here you can see the Roomba 560 before any disassembling occurred.

Removing the bottom cover

To get to the electromechanical elements of the robot, you have to remove the bottom cover (as we will see later, electronics is accessed from the top instead).

The brush housing

This element is more complex than it is immediately apparent.

The active wheels

Roomba is propelled by two actuated wheels, in a classical differential drive configuration. By modulating the rotating speeds of each the wheels independently from the other, different trajectories are obtained.

The front sensors

Most of the sensors of the Roomba are located on the front of the robot. Such sensors are:

  • bumpers to detect collisions;
  • two sets of infrared emitters/receivers: front-looking to detect the presence of obstacles, and downward-looking to detect the presence of the floor (so the robot is able to avoid falling down the stairs);
  • an omnidirectional infrared sensor to detect the presence of active Roomba accessories such as "virtual walls" and recharge stations.

Removing the top shell

The upper part of the robot is a sort of tray, where the main circuit board (and a small auxiliary board as well) is enclosed. It is separated by the (dusty) bottom part of the robot's hull, except where cutouts are required to allow for the connections between the board and the electromechanical components. A metal shield is located on the bottom of the "tray", presumably to shield the data-processing parts of the circuit from interference from the motors below.