Page 34 - Hacking Roomba
P. 34

Chapter 1 — Getting Started with Roomba                 15



                             Motors

                             The Roomba has five independently controllable electric motors. Two of these, the drive
                             motors, are variable speed through pulse-width modulation (PWM) and run both forward
                             and in reverse. The three motors that run the main brush, side brush, and vacuum have simple
                             on/off controls.

                             Drive Motors
                             The two drive wheels can be seen in the previously shown Figure 1-11. They are located on
                             the centerline, right behind the center of gravity. Having the drive wheels behind the center of
                             gravity makes the Roomba lean forward a bit on its front non-rotating caster. The drive motors
                             connected to the wheels can move the Roomba as fast as 500 mm/sec (about 1.64 ft/sec) for-
                             ward or backward and as slow as 10 mm/sec (about 3/8 in/sec).
                             The drive motors draw approximately 1000 mA when running at normal speeds, and at their
                             slowest draw about 300 mA.
                             Vacuum Motors
                             The three vacuum motors draw about 500 mA when running. The main vacuum motor has
                             about the same amount of suction as a standard hand vacuum. However, due to the design of
                             the main brush motors and the rubber flap around the vacuum inlet, the effective suction is as
                             good as a small upright vacuum.

                             Sensors

                             The Roomba navigates mainly by its mechanical bump sensors, infrared wall sensors, and
                             dirt sensors. For detecting dangerous conditions, it also has infrared cliff detectors and wheel-
                             drop sensors.
                             Bump Sensors
                             Roomba has two bump sensors on the front, located at the 11 o’clock and 1 o’clock positions.
                             The spring-loaded front bumper moves to trigger one or both of these sensors. Each is imple-
                             mented as an optical interrupter. An optical interrupter is a simple LED and photodetector
                             pair: the LED shines and the photodetector detects the LED’s light. When something (an
                             interrupter) is inserted between the LED and photodetector, the photodetector senses the
                             absence of light and changes an electrical signal. The bell that rings when you enter or leave a
                             store is a large example of an optical interrupter. On one side of the door is a focused light
                             source, on the other a detector for that light. You are the interrupter. When you break the light
                             beam, the detector senses that and rings the bell. In the case of Roomba’s bump sensor, the
                             interrupter is a small plastic arm connected to the bumper.
                             Infrared Sensors
                             There are six infrared sensors on the Roomba, all on the front bumper. Four of these face down
                             and are the cliff sensors, and another faces to the right and is the wall sensor. These five sensors
                             work much like the bump sensors in that there is an LED emitter and a photodetector looking
   29   30   31   32   33   34   35   36   37   38   39