How do you simultaneously control a thousand robots in a swarm? The question may seem like science fiction, but it's one that has challenged real robotics engineers for decades.
In 2010, the kilobot entered the scene. Now, engineers are programming these tiny independent robots to cooperate on group tasks. This research could one day lead to robots that can assemble themselves into machines, or provide insights into how swarming behaviors emerge in nature.
Kilobots were designed by Michael Rubenstein, a research scientist in the Self Organizing Systems Research Group at Harvard. Each robot consists of about $15 worth of parts: a microprocessor that is about as smart as a calculator, sensors for visible and infrared light, and two tiny cell-phone vibration units that allow it to move across a table. They are powered by a rechargeable lithium-ion battery, like those found in small electronics or watches.
Their individual behaviors are equally simple. Each robot can only perform a few functions: detect its neighbors, measure distance, flash a light, and move on a flat surface.
But together, they can complete tasks as a group.
"The coolest thing we've done with them is shape formation," says Rubenstein. "You can draw a shape in a computer and we have an algorithm to let each robot make its own decisions to form that shape."
To make the robots form a "K" (for "kilobot"), Rubenstein places a few robots to "seed" a corner of the shape. He then essentially gives the rest of the swarm a map of the shape and a set of simple instructions: measure your distance to the corner, then follow the edge of the group one-by-one until you are either about to exit the shape or you bump into the previous robot.
Come back in 12 hours, and the thousand robot swarm has arranged itself into the letter K. And because these instructions don’t specify the exact movements of any individual, the kilobots execute the same program a little bit differently every time.
In the future, this kind of research might lead to collaborative robots that could self-assemble into a composite structure. This larger robot could work in dangerous or contaminated areas, like cleaning up oil spills or conducting search-and-rescue activities.
"That [structure] would act like a big robot, but since it's made from lots of small ones, if it's damaged it could repair itself," Rubenstein explains. "It could also change its shape to adapt to the environment."
And in the present, the kilobots might also be able to teach us a bit about how collective behaviors emerge in nature.
Last summer, Rubenstein gave 100 kilobots to The University of California-San Francisco’s Center for Systems and Synthetic Biology. Although they are mostly used for outreach and education, this swarm could also be used to test hypotheses about how collective behaviors emerge in nature.
That's because the same kinds of simple instructions that kilobots use to self-assemble into shapes can make them mimic natural swarming behaviors, too. For example, kilobots can sync their flashing lights like a swarm of fireflies, differentiate similar to cells in an embryo and follow a scent trail like foraging ants.
Of course, different sets of individual instructions work better than others for a given process. But sometimes our instructions get the kilobots to complete a task even better than nature does.
And this could eventually let us reprogram natural systems to be more efficient. It means we might one day be able to engineer our own immune cells to track down and kill cancer, or design better ways to detect toxic chemicals in the environment.
"We usually try to program cells like little robots. Now we're programming robots like cells," says Kara Helmke, the Education and Outreach Coordinator who commands the kilobot swarm at UCSF.
Despite their slightly threatening name, these little robots aren’t likely to take over the world anytime soon—they can’t even walk on carpet yet. But the insights they are providing about collective behavior could eventually lead to robot swarms that exceed our wildest science fiction dreams.