Difference between revisions of "Disassembling a Roomba 560"

From AIRWiki
Jump to: navigation, search
m
Line 48: Line 48:
 
<gallery widths=480px heights=320px perrow=3>
 
<gallery widths=480px heights=320px perrow=3>
 
Image:Roomba_15.JPG | By removing the bottom part of the bumper (held in place by many non-captive screws), the bumper can be separated from the body of the robot.
 
Image:Roomba_15.JPG | By removing the bottom part of the bumper (held in place by many non-captive screws), the bumper can be separated from the body of the robot.
Image:Roomba_16.JPG | On the top of the bumper is fitted the omnidirectional sensor, composed of two parts: an omnidirectional mirror enclosed in clear plastic (the part that lies outside the bumper), and a black base with the sensing element (which lies within the bumper). These parts are kept together by two screws: by removing them, they separate and are also free to be removed from the bumper.
+
Image:Roomba_16.JPG | On the top of the bumper is fitted the omnidirectional sensor, composed of two parts: a conical mirror enclosed in clear plastic (this is the part of the sensor that -for an assembled robot- lies outside the bumper, on top of the robot), and a black base with the sensing element (which is hidden within the bumper). These parts are kept together by two screws: by removing them, they separate and are also free to be removed from the bumper.
 
Image:Roomba_17.JPG | A view of the two elements of the omnidirectional sensor. The picture also shows two interesting features of the robot: the metal plate used to keep the center part of the bumper in place, and -at the very front of the robot- two black "buttons" about 10mm in diameter. These are loaded by stiff springs, and most probably are shock absorbers to avoid damage when the robot hits an obstacle.
 
Image:Roomba_17.JPG | A view of the two elements of the omnidirectional sensor. The picture also shows two interesting features of the robot: the metal plate used to keep the center part of the bumper in place, and -at the very front of the robot- two black "buttons" about 10mm in diameter. These are loaded by stiff springs, and most probably are shock absorbers to avoid damage when the robot hits an obstacle.
 
Image:Roomba_18.JPG | Front view. Some of the elements shown are: the omnidirectional sensor, the metal plate, the front of the shock absorbers, (above these) the twin square openings of the forward-looking emitter/receiver couple (we will see that, unlike the other couples, this one is directly mounted on the main PCB), the left and right arms of the bumper switches (two black horizontal arms, about 25mm long, respectively at the immediate right and at the immediate left of the light grey rectangular strips; strips which, by the way, are made of foam and are probably used as lateral shock absorbers).
 
Image:Roomba_18.JPG | Front view. Some of the elements shown are: the omnidirectional sensor, the metal plate, the front of the shock absorbers, (above these) the twin square openings of the forward-looking emitter/receiver couple (we will see that, unlike the other couples, this one is directly mounted on the main PCB), the left and right arms of the bumper switches (two black horizontal arms, about 25mm long, respectively at the immediate right and at the immediate left of the light grey rectangular strips; strips which, by the way, are made of foam and are probably used as lateral shock absorbers).
Line 69: Line 69:
  
 
== The control board ==
 
== The control board ==
 
+
The Roomba 560 includes two circuit boards: a main PCB and a small, secondary one. The second one is only used to add two pushbuttons to the control panel of the robot, while the first PCB -mostly populated by SMD components- houses all the circuitry of the robot. Data processing, control and power driving of the robot are all done by this board.
To be continued...
+
<gallery widths=480px heights=320px perrow=3>
 +
Image:Roomba_22.JPG |
 +
</gallery>

Revision as of 10:29, 11 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.

The control board

The Roomba 560 includes two circuit boards: a main PCB and a small, secondary one. The second one is only used to add two pushbuttons to the control panel of the robot, while the first PCB -mostly populated by SMD components- houses all the circuitry of the robot. Data processing, control and power driving of the robot are all done by this board.