Staying true to the prefix “kilo,” Harvard’s Self-Organizing Systems Research Group upped the swarm ante by building a thousand of their “Kilobots”—well, 1024 to be exact. First introduced in 2011, the Kilobots are small and cheap, move around by vibrating their legs, and communicate with their fellow robots using infrared (IR) transmitters and receivers. The researchers are now working to develop specific algorithms so that the massive number of Kilobots can self-assemble into complex shapes.
At the heart of the Kilobot is an Atmel ATmega 328 microcontroller (MCU) with 32 kbytes of flash and 1 kbyte of EEPROM for storing calibration values (see “Kilobot Swarms” at electronicdesign.com). The algorithm used to create the Kilobot swarm shapes mimics biological organism maneuvers, such as a school of fish. This enables three main capabilities: edge following (where a robot can move along the edge of a group by measuring distances from robots on the edge); gradient formation (where a source robot generates a gradient value message that increments as it propagates through the swarm); and localization (where the robots form a local coordinate system by communicating and measuring distances with their closest neighbors.)
Out of these three capabilities, the researchers found that localization is the most difficult to pull off—but it is also the most important. Although the robots can sense the distance between them and other robots by measuring the brightness of the IR light that each bounces off they’re operating on, they have no information on the light’s source. In order to localize, an initial group of “seed” robots must define the origin of the system. From there, the subsequent robots can localize based on the IR pulses coming from the previous set.
Once the robots localize, forming an arbitrary shape becomes the “easy” part of the process. The robots move around the perimeter of the swarm until they detect that they’re in the shape-formation area. The robots continue to move around that edge until they’re about to exit the shape or they bump into another, and continue to follow that chain until the shape is created. Working with so many robots at once essentially means that each individual Kilobot is inconsequential—one can screw up or break down and not wreck the entire system. However, when they operate together, the swarm becomes greater than the sum of its parts.