The Kilobot Project

A Thousand (2^10) Robot Swarm
for Programmable Collective Behaviors

About Introduction | Publications | Science Article (Feb 2014)

Movies 1000-Robot Self-Assembly Movie | Kilobot Youtube Channel

Press Science Top 10 breakthroughs for 2014 and AFRON Award 2012
Science News, Boston Globe, National Geographic, Wyss, and More

Owning Your Own Making, Buying and Programming Kilobots

Funded by Wyss Institute and National Science Foundation (NSF)

Events Kilobots for biology, UCSF Workshop, Aug 2014

Fish gotta school, Birds gotta flock, ... and Robots, it seems, gotta swarm
(Science News)

About Kilobots

In nature, vast groups of individual elements can cooperate and assemble to create highly complex global behavior through local interactions -- from multicellular organisms to complex animal structures such as army ants bivouacs and flocks of birds. In the field of robotics, researchers use inspiration from collective intelligence in nature to create artificial systems with capabilities observed in natural swarms. Researchers have designed tiny robots, inspired by ants, bees, and cells, envisioned to work together in large swarms or as programmable materials. Nevertheless, there still exists a substantial gap between the conceptual designs and the realized systems. Creating engineered systems with similar abilities poses challenges in the design of both algorithms and physical systems that can operate at such scales. There is a vast body of work on algorithms meant to control collectives of hundreds or even thousands of robots, however, for reasons of cost, time, or complexity, they are validated in simulation only, or on a group of a few 10s of robots.

The Kilobot swarm is a thousand-robot swarm* designed to allow one to program and experiment with collective behaviors in large-scale autonomous swarms. Each robot has the basic capabilities required for an autonomous swarm robot (programmable controller, basic locomotion, and local communication), but is made with low-cost parts and is mostly assembled by an automated process. In addition, the system design allows a single user to easily and scalably operate a large Kilobot collective, such as "hands-off" programming, powering on, and charging all robots. Our goal is to make experimental research on collective behaviors possible, and widely accessible and to enable deeper understanding and new algorithmic insights into robustness, scalability, self-organization, and emergence in collectives of limited individuals.

* 1024 to be exact but its hard to count them!

We are now using the Kilobot swarm to investigate collective "artificial" intelligence (e.g. sync, collective transport, self-assembly) as well as to explore new theories that link minimal individual capabilities to acheivable swarm behaviors. Most recently we conducted our first full thousand robot experiments (Science, Aug 2014). Just as trillions of individual cells can assemble into an organism, we demonstrated how a self-organizing swarm of a thousand robots can self-assemble into global shapes based on simple behaviors performed en masse. In the process, we developed new techniques to deal with the unexpected variability, physical effects, and rare errors that emerged at this scale. We are continuing this effort with a new project to do a systematic 1000 robot experiment study of many existing complex systems algorithms, both engineered and nature-inspired, to understand generalizable principles in collective intelligence.

The Kilobot Swarm was chosen by Science Magazine as one of the Top 10 breakthroughs for 2014, and was also highlighted in Nature's magazine's top 10. The Kilobot also won first place in the 2012 African Robotics Network $10 Robot Design Challenge, to develop a low-cost robot for education in developing countries. The Kilobot hardware and software design is available open-source for non-commercial use, and for purchase through K-Team Corp. See below for more details; both robotics and biology groups now own their own kilobot swarms.


Programmable Self-Assembly in a Thousand-Robot Swarm
Michael Rubenstein, Alejandro Cornejo, Radhika Nagpal
Science, Vol 345, no 6198, 15 Aug 2014
Free access links: see the Publications Page

Collective Transport of Complex Objects by Simple Robots: Theory and Experiments
Rubenstein, Cabrera, Werfel, Habibi, McLurkin, Nagpal
Intl. Conf. on Autonomous Agents and Multiagent Systems (AAMAS), May 2013. (pdf)

Massive Uniform Manipulation:
Controlling Large Populations of Simple Robots With a Common Input Signal

Aaron Becker, Golnaz Habibi, Justin Werfel, Michael Rubenstein, James McLurkin
IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), Nov 2013. (pdf)

Kilobot: A Low Cost Scalable Robot System for Collective Behaviors
Michael Rubenstein, Christian Ahler, Radhika Nagpal
IEEE Intl. Conf on Robotics and Automation (ICRA), 2012.
(pdf) and (longer but older tech report, 2011)

Press and Media

"Building 1,000 robots is hard", McLurkin said. "Getting 1,000 robots to work together reliably is, how they’d say it in Boston? Wicked hard."
(Boston Globe)

The Kilobot Project is published in Science: Lots of media coverage!
Science: Fish gotta school, birds gotta flock, and robots, it seems, gotta swarm.
Boston Globe: Tiny robots ‘swarm’ into shape.
National Geographic: A thousand cooperative self-organising robots.
NPR: All Things Considered, a podcast interview with Michael Rubenstein
BBC News, Nature News, Scientific American,
IFL!, IEEE Spectrum, Wired Magazine, Popular Mechanics,
Ars Technica (by Sabine Haeurt!),
Harvard Gazette, SEAS/Wyss Press release, NSF News,
The Telegraph (India)

Awards and Events
Science Top 10 breakthroughs for 2014
AFRON Challenge Winner (Wired Sep 2012)
Wyss and K-Team License Press Release (Nov 2011)

Other Articles
Rise of the Swarm, Communications of the ACM, 2013.
SEAS Article (Kilobots are leaving the nest), 2011
Slashdot Article (Nov 2011)
Inside NOVA Blog (Adventures in Swarm Robotics), 2011
IEEE Spectrum blog article (June 2011).

Make, Buy, and Program your own Kilobots

The Kilobot hardware and software design is available open-source for non-commercial use, and you can also purchase pre-made Kilobots from K-Team Corp. We have also recently developed Kilobotics: a new programming environment with tutorials to make it easy to get started programming kilobots. Several groups now own their own kilobot swarms, such as Roderich Gross's group at Univ. of Sheffeild (that now has their own 900 robot swarm!), Sabine Hauert's group at Bristol University, and Wendell Lim's group at UCSF's Center for Systems Biology.

Purchase some from K-Team:

K-Team Corp makes Kilobots! [K-Team homepage]

K-team sells groups of robots, controllers, and charging stations - picture on the right is courtesy of Sabine Hauert. Several interdisciplinary groups are starting to use kilobots to test and teach about collective behaviors.. The Kilobots have simple capabilities and costs (10 Kilobots ~ 1 E-puck) aimed at enabling swarm intelligence research. Contact K-team to purchase your own swarm!

Build some yourself:

If you would like to build your own Kilobots, all the software and hardware details are available under a Creative Commons attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) license. The documents can be found here. The design is fairly simple for any lab that is used to getting electronics made, and this is a great and affordable option if you plan to make a large number of robots (We estimate approximately $20/robot for thousand, upto $50/robot for a hundred). If you decide to make your own robots, feel free to contact Mike Rubenstein to let him know and if you need help.

Programming Kilobots:

Kilobots use a standard microcontroller (Atmel) and its programming environment, and the distribution above contains the bootloader program, libraries, and some sample programs. But we are also now developing a new online programming environment, that hosts the compilation environment online and interfaces with dropbox to make the process of developing Kilobot programs more easily portable to different operating systems. This system was developed by Alex Cornejo. We have also developed a set of labs/tutorials with sample programs, that were used as part of an NSF funded workshop "Collective Robotics for Life Scientists".

What can Kilobots do:

We have several narrated introduction movies to show the capabilities of individual robots, how we program and control them, and some sample collective behaviors. Take a look at these, and at other movies on our kilobot youtube channel, to get an introduction to the Kilobot system.

Video1: Features of a Kilobot Robot and how thy can be controlled in a group
Video2: Capabilities: communication, distance sensing, locomotion, computation.
Video3: Kilobot collective (<30 robots) demonstrating popular collective behaviors

Collective Robotics for Life Scientists

NSF Workshop at UCSF Center for Systems Biology, Aug 2014

Many scientists study collective behavior in nature at a wide range of scales; from how cells cooperate to form complex patterns and structures in embryos, to the interaction of many individuals in ant colonies, fish schools, and even human crowds. A central focus is understanding how individual strategies map to collective outcomes, and how such evolved strategies adapt to failures, changing environments, and noisy information transmission. Understanding such collective behavior is a grand challenge accross multiple disciplines today, including both life sciences and engineering disciplines like robotics.

We believe that robot swarms like the Kilobot system can provide a synthetic platform for studying the relationship between individual rules and emergent behavior, and thus the relation between microscopic and macroscopic behaviors. Towards this end we partnered with two life sciences labs -- the UCSF Center for Synthetic and Systems Biology (Wendell Lim and Wallace Marshall) and the Princeton-NJIT Collective Animal Behavior Labs (Iain Couzin and Simon Garnier) -- to develop a week-long hands-on workshop to teach life scientists how to program collective robotics systems, and to establish permanent K-team kilobot swarms in both universities.

Our first workshop was held at UCSF in August 2014, and was a tremendous success! The workshop was attended by 24 participants and included members of every level, from established PIs to a high-school student. This week-long hands-on workshop began with structured labs where participants programmed kilobot robots to execute a variety of biologically inspired behaviors, including phototaxis, morphogen gradients, and synchronization, as a way of getting familiar with the programming languages and physical nature of the kilobot robots (see labs here). The final three days, the group brainstormed and produced several cell-biology inspired demos on a 100-kilobot collective synthesizing an interesting complex biological behavior. At the conclusion of the workshop, these demonstrations were opened to the public, and over 100 people attended, participating in hands-on manipulations of the group’s demos. The systems biology community at UCSF really embraced the opportunity, and the attendance at the workshop and demonstrations were past capacity. UCSF now owns their own 100 kilobot swarm and continues to use it for many events:

As an outcome of this workshop, the 100-kilobot collective remains at UCSF and they have now used it in a wide variety of events, since the workshop.including: for public outreach demonstrations, in first year graduate classes as hands-on activity, at the International Synthetic Biology Compeition (iGEM) to demonstrate the UCSF project, and for a demonstrations for UCSF alumni and donors.

UCSF Workshop: An Overview Video of the Event and our Photo Album

UCSF Kilobots for biology: Website | Some Final Projects | UCSF News

This work is funded by NSF's Directorate for Education.