The Kilobot Project
A Thousand (2^10) Robot Swarm for Programmable Collective Behaviors
About
Introduction | Publications |
Science Article (Aug 2014)
Movies
1000-Robot Self-Assembly Movie
| Kilobot Youtube Channel
Press
Science Top 10 Breakthroughs of 2014 and
AFRON Award 2012
Science News,
Boston Globe,
National Geographic,
Wyss, and
More
Owning Your Own
Making, Buying (K-team) and Programming (www.Kilobotics.com)
Funded by
Wyss Institute and
National Science Foundation (NSF)
Events
Kilobots for Biology, NSF Workshop, UCSF 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)
"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).
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 www.kilobotics.com, 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
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.
|