use the measured distances between the neighboring
robots as feedback to correct errors in the robot’s
movement. This enables reasonably accurate motion
control of the individual robots and the collective.
Rough terrain is also out of the question for this
brave little band of bots. This is another limitation that is
necessary to keep the cost of the collective down, but it
does not impede the type of behaviors the researchers
wish to observe.
The Harvard roboticists included communications
between robots about their distances from each other
because any swarm robot work with merit offers
communications and sensing between robots. The
Kilobots use infrared LED transmitters and photodiode
receivers located in the middle of the PCB and aimed
directly downward at the table to accomplish these
communications. “Both the transmitter and receiver have an
isotropic emission or reception pattern which allows the
robot to receive messages equally from all directions,” per
the Kilobot paper first referenced above. Any nearby robot
can receive the transmitted light which bounces off the
table at an angle and upward to surrounding robots.
Because the robots all communicate on the same
channel, there is a risk of collisions. To avoid this possibility,
the robots use the standard Carrier Sense Multiple Access
with Collision Avoidance (CSMA/CA) technique. Nearby
robots can use up the infrared bandwidth through
collisions, but the channel was sufficient to support the 25
The recipient of the communication measures the
incoming signal strength (infrared light intensity) to
determine the distance between the receiver and
transmitter of the communication.
The robot’s controller communicates with the robot’s
low level electronics and runs user-defined behavior
programs. The controller hardware is an Atmega328
microprocessor running at 8 MHz with 32K of memory. The
controller uses two pulse width modulation (PWM)
channels to control the motor speed. It uses 10-bit analog-to-digital converters to measure infrared light intensity. Its
self-programmable memory updates the robot’s program.
Finally, the controller comes with a low power sleep mode.
The robot’s programming is written in C for expedient
The robot’s power emanates from a 3. 4 volt 160
mAh lithium-ion battery. The battery powers the robot for
three to 10 hours, depending on the robot’s activity
frequency. The battery attaches to three voltage regulators
and a battery charger. Two regulators attach to the motors
and the communications system. Because the
microcontroller can turn the regulators on and off, both the
power and communications can be powered on and off to
conserve power. The third voltage regular affords the
microcontroller continuous operating power. The charger
kicks in whenever it receives 6 VDC and stops when the
battery is charged.
Kilobot next to a
quarter for scale.
At $14 each, the Kilobots are ten times less expensive
than the next least expensive robot in any known robot
swarm. The robot’s total cost can be itemized by cost of
locomotion, power, communications and sensing, control,
structure, and miscellaneous. Unless the robot can be
quickly assembled, the man hours involved can create an
unreasonable added cost. Most of the Kilobot’s parts are
surface-mount and can be added via a pick-and-place
The rest of the parts including the legs, battery holder,
motors, and infrared components are assembled by hand or
by using custom-made assembly rigs. Total assembly time
from start to finish is under five minutes per robot, or 125
minutes for the 25 in the collective.
What one Kilobot cannot do, 25 can do with ease. The
robots demonstrate the ability to move around quite a bit
SERVO 10.2011 11