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