# Kilobot

The Kilobot is a 3.3 cm tall low-cost swarm robot developed by Radhika Nagpal and Michael Rubenstein at Harvard University. They can act in groups (over a thousand), to execute commands programmed by users that could not be executed by individual robots. A problem with research on robot collectives is that the cost of individual units is high. The Kilobot's total cost of parts is under $15. In addition to low cost, it has applications such as collective transport, human-swarm interaction, and shape self-assembly.

## Development

During November 2010, Michael Rubenstein and Radhika Nagpal began the development of the Kilobot with the support of the Wyss Institute for Biologically Inspired Engineering and the National Science Foundation. The two primary objectives of the Kilobot's design were to keep the cost low while having enough functionality to perform an array of collective tasks. One of the developer's goals was to allow the Kilobot to run the program S-DASH:

### S-DASH

S-DASH (scalable, distributed self-assembly and self-healing) is an algorithm developed to self-assemble and self-heal a collective shape. S-DASH requires these capabilities:
* Forward movement
* Rotation
* Communication with nearby units
* Measure the distance between nearby units
* Enough memory to run S-DASH
To increase the applications of the Kilobot, the following additional components were included:
* The ability to measure ambient light levels
* Allow for scalable operations

## Design

The power source is a rechargeable lithium-ion battery that can power the robot for up to 3–12 hours depending upon how active the robot is. They are equipped with a three color (red, green, and blue) LED which displays information to the user. While wheels are effective at movement, they are expensive, which substantially increases the cost of each unit. One way the cost was lowered was using two vibrators for movement. When either is activated, the Kilobot turns at about 45° per second. When both are activated, the robot moves forward at about 1 cm/s. The robot stands on 3 rigid legs, which elevates the robot 2 cm above the surface. The individual robots are equipped with an infrared transmitter and receiver so that they can communicate with each other. The transmitter of a robot sends light toward the surface which reflects up to the receiver of another nearby robot, which then executes a command based on the program. Some drawbacks of these methods of communication and movement are: the area on which the Kilobot works is limited to flat surfaces and the inability to move precisely over long distances or over an extended period of time.

## Applications

In theory, the Kilobot is meant to simulate swarms of insects, in that each Kilobot works with the whole to perform tasks that would not work on an individual level. The Kilobots are capable of collective transport, which is the movement of a large object by working together. Kilobot collectives can also form different shapes using S-DASH and repair them should it be distorted. Depending on the shape, they may also be able to change its scale. With one program, they simulated insects by starting from a "home" location, which was a certain stationary Kilobot, and scatter around the area in search of "food", which was another stationary Kilobot. When a searching Kilobot found the "food", it traveled back to the "home" location to drop it off. Another program caused a group of robots to travel in a line while following a leader robot. The robots made sure that they wouldn't travel too far ahead so that the following robots would not fall behind. Using their sensors, they also have the ability to synchronize their behavior, such as blinking their lights. By using an overhead infrared controller and the infrared receivers, a user can do scalable operations. This means they don't have to go to each individual robot to do simple tasks such as charging, programming, and start-up.

## Reception

The Kilobot placed first in the roaming category of the 2012 African Robotics Network $10 Robot Design Challenge, which asked engineers to create low-cost robots for educating children in developing countries. The Kilobot was created for the purpose of making a cheap swarm-bot more affordable to the general public. To continue with this mindset, the Kilobots' design has been made open-source for non-commercial use. Also, the developers cooperated with the K-team, a Swiss manufacturer, so that they can be purchased publicly for educational or research purposes.