A self-organizing thousand-robot swarm
August 15, 2014
The first thousand-robot flash mob has assembled at Harvard University.
“Form a sea star shape,” directs a computer scientist, sending the command to 1,024 little bots simultaneously via an infrared light. The robots begin to blink at one another and then gradually arrange themselves into a five-pointed star. “Now form the letter K.”
The ‘K’ stands for Kilobots, the name given to these extremely simple robots, each just a few centimeters across, standing on three pin-like legs. Instead of one highly complex robot, a “kilo” of robots collaborate, providing a simple platform for the enactment of complex behaviors.
Just as trillions of individual cells can assemble into an intelligent organism, the Kilobots demonstrate how complexity can arise from very simple behaviors performed en masse. To computer scientists, they also represent a significant milestone in the development of collective artificial intelligence (AI).
Harvard University | The first thousand-robot flash mob has assembled at Harvard University.
This self-organizing swarm was created in the lab of Radhika Nagpal, Fred Kavli Professor of Computer Science at the Harvard School of Engineering and Applied Sciences (SEAS) and a Core Faculty Member at the Wyss Institute for Biologically Inspired Engineering at Harvard University. The advance is described in the August 15 issue of Science.
“The beauty of biological systems is that they are elegantly simple — and yet, in large numbers, accomplish the seemingly impossible,” says Nagpal. “At some level you no longer even see the individuals; you just see the collective as an entity to itself.”
“Biological collectives involve enormous numbers of cooperating entities — whether you think of cells or insects or animals — that together accomplish a single task that is a magnitude beyond the scale of any individual,” says lead author Michael Rubenstein, a research associate at Harvard SEAS and the Wyss Institute.
He cites, for example, the behavior of a colony of army ants. By linking together, they can form rafts and bridges to cross difficult terrain. Social amoebas do something similar at a microscopic scale: when food is scarce, they join together to create a fruiting body capable of escaping the local environment.
“We are especially inspired by systems where individuals can self-assemble together to solve problems,” says Nagpal. Her research group made news in February 2014 with a group of termite-inspired robots that can collaboratively perform construction tasks using simple forms of coordination.
But the algorithm that instructs those TERMES robots has not yet been demonstrated in a very large swarm. In fact, only a few robot swarms to date have exceeded 100 individuals, because of the algorithmic limitations on coordinating such large numbers, and the cost and labor involved in fabricating the physical devices.
The research team overcame both of these challenges through thoughtful design.
Most notably, the Kilobots require no micromanagement or intervention once an initial set of instructions has been delivered. Four robots mark the origin of a coordinate system, all the other robots receive a 2D image that they should mimic, and then using very primitive behaviors — following the edge of a group, tracking a distance from the origin, and maintaining a sense of relative location — they take turns moving towards an acceptable position.
With coauthor Alejandro Cornejo, a postdoctoral fellow at Harvard SEAS and the Wyss Institute, they demonstrated a mathematical proof that the individual behaviors would lead to the right global result.
The Kilobots also correct their own mistakes. If a traffic jam forms or a robot moves off-course — errors that become much more common in a large group — nearby robots sense the problem and cooperate to fix it.
To keep the cost of the Kilobot down, each robot moves using two vibrating motors that allow it to slide across a surface on its rigid legs. An infrared transmitter and receiver allow it to communicate with a few of its neighbors and measure their proximity — but the robots are myopic and have no access to a bird’s-eye view.
These design decisions come with tradeoffs, as Rubenstein explains: “These robots are much simpler than many conventional robots, and as a result, their abilities are more variable and less reliable,” he says. “For example, the Kilobots have trouble moving in a straight line, and the accuracy of distance sensing can vary from robot to robot.”
Yet, at scale, the smart algorithm overcomes these individual limitations and guarantees — both physically and mathematically — that the robots can complete a human-specified task, in this case assembling into a particular shape. That’s an important demonstration for the future of distributed robotics, says Nagpal.
“Increasingly, we’re going to see large numbers of robots working together, whether its hundreds of robots cooperating to achieve environmental cleanup or a quick disaster response, or millions of self-driving cars on our highways,” she says. “Understanding how to design ‘good’ systems at that scale will be critical.”
For now, the Kilobots provide an essential test bed for AI algorithms.
“We can simulate the behavior of large swarms of robots, but a simulation can only go so far,” says Nagpal. “The real-world dynamics — the physical interactions and variability — make a difference, and having the Kilobots to test the algorithm on real robots has helped us better understand how to recognize and prevent the failures that occur at these large scales.”
The Kilobot robot design and software, originally created in Nagpal’s group at Harvard, are available open-source for non-commercial use. The Kilobots have also been licensed by Harvard’s Office of Technology Development to K-Team, a manufacturer of small mobile robots.
This research was supported in part by the Wyss Institute and by the National Science Foundation.
Abstract of Science paper
Self-assembly enables nature to build complex forms, from multicellular organisms to complex animal structures such as flocks of birds, through the interaction of vast numbers of limited and unreliable individuals. Creating this ability in engineered systems poses challenges in the design of both algorithms and physical systems that can operate at such scales. We report a system that demonstrates programmable self-assembly of complex two-dimensional shapes with a thousand-robot swarm. This was enabled by creating autonomous robots designed to operate in large groups and to cooperate through local interactions and by developing a collective algorithm for shape formation that is highly robust to the variability and error characteristic of large-scale decentralized systems. This work advances the aim of creating artificial swarms with the capabilities of natural ones.