The Kilobot (Fig. 1) is a tiny robot designed to be inexpensive because Kilobot research will depend on having lots of Kilobots. This type of cooperative operation is often called "swarm robotics." It is an area of research that Christian Ahler is working on at Harvard University (see Tiny Swarm Goes To Harvard).
The Kilobot runs an Atmel ATmega 328 with 32 Kbytes of flash and 1Kbyte of EEPROM for storing calibration values. The chip also has 2 Kbytes of SRAM. It has three fixed legs and a pair of vibration motors that allow the Kilobot to move in any direction.
I recently talked with Christian about the Kilobot and swarm robotics.
Wong: To start, can you give us a quick overview of the Kilobots.
Ahler: At the Harvard's Wyss Institute Self-organizing Systems Research Group (SSR) we have long dreamed of having a robotic platform capable of behaving as a large swarm. We came up with the Kilobots. The prototypes have been running in our lab we are now very close to that goal. A Kilobot is the of quarter. The robot is capable of maneuvering around and communicating with its neighbors. It contains an Atmel microprocessor enabling onboard processing. Its two vibrating motors enables differential driving of the robot while the communication is done via infrared light bounced off the surface it is operating on. A Kilobot is first of all an inexpensive robot that can either be bought fully assembled and ready to use or build from scratch via its open source documentation, making it even less expensive.
It can be programmed and controlled via an overhead controller, flashing/programming all of the robots with the intended behavior. This overhead controller is also used to start and stop the robots, check the battery level and to perform several other functions. The Kilobots, as a collective, is a low cost platform designed for developing new and testing already existing robotic algorithms, such as bio-inspired swarm behaviors. The Kilobots provide a very easily accessible resource for testing such applications and algorithms on actual hardware.
Wong: What are the specs like speed, battery life, etc.?
Ahler: The Kilobots are not racing robots, but they are faster than you might expect. With the moon in the right location they go almost 2cm/s, but they are spec'd to go a little over 1cm/s. The operating time is around 3 hours at constant locomotion. When they are just processing data and communicating, the operating time is more than 24 hours, and in standby mode it runs for months. Low power is the beauty of the Kilobots. While many other robotic platforms only have a very limited operating time before they have to be recharged, these guys don't mind waiting for the rest of the swarm to get in position.
Wong: How does the Kilobot move and how accurate is its movement?
Ahler: The Kilobots move by controlling two vibrating motors, the same type as you have in your mobile phone and the movement is based on similar micro vibrations. The same principle is used when you leave your phone on a table and the vibrator goes off. The Kilobots actually jump forward, but the jumps are vertically so small that you don't see them leave the table surface. They actually fly for a little while. The robots accurately controlled motion to ensure that the locomotion stays energy efficient, conserving the battery for an extended operating time.
Wong: How to Kilobots communicate with each other?
Ahler: Communication and sensing are essential parts of the behavior of the Kilobots. Those are what make the Kilobots capable of behaving as a collective, namely by responding to and by affecting their neighbors. Communication is done via modulated infrared light which is transmitted and received from the center, bottom, of the robots. You can actually program the Kilobots to respond to a regular TV remote control which is a lot of fun.
Wong: Is there a way to communicate and program all the Kilobots in a swarm?
Ahler: The Kilobots are designed to swarm in tens, hundreds and thousands. Our goal is a swarm of 1024. That should give away the reason for the name of the robots. A large number of factors have to be taken into account when working with this many robots including how to program and control them. One is example is turning the robots on and off. Imagine that you are really quick and can pick up a robot, turn it on or off, and place it back on the table in 3 seconds. When having one kilo of robots this would take you an hour, and that is with no breaks. This is of course not practical. Several other issues like that arise when having this many robots. This is why we have designed an overhead controller capable of controlling the entire swarm, by a single click in a graphical user interface. We can send commands to all robots, such as start running the developed behavior, pause, sleep, load a new program into the memory, and more complex commands such as move to the charging zone and charge your batteries.
Wong: How did you come up with the Kilobot design?
Ahler: At SSR we conduct a wide variety of research, much of it is based around self-organizing robotics and swarm algorithms, so it has for a long time been our dream to design a robot sufficiently inexpensive that we could realize a significantly large number to form a 'real' swarm. The Kilobots are therefore already a natural part of the SSR lab. The robot itself is largely inspired by the very interesting work done by Panagiotis Vartholomeos and Evangelos Papadopoulos at the National Technical University of Athens. For more information see the article "Analysis, Design and Control of a Planar Micro-robot Driven by Two Centripetal-Force Actuators" published in Proceedings of the 2006 IEEE International Conference on Robotics and Automation.
Wong: How did the Kilobot design evolve?
Ahler: The Kilobots started out just being a single extremely simple bot. The very first generation now on our shelf of fame has just two vibrating motors and a battery case and that's it. The Kilobot has gradually evolved and they now consists of a number of components such infrared transmitters and sensors, tunable amplifiers, transistors, and a microcontroller. The current generation of Kilobots is now in a state where we are ready to be used for research and teaching. We are very excited to see what this leads.
Wong: What can you do with a lot of Kilobots compared to single one?
Ahler: A single Kilobot can be programmed and controlled in the exact same manner as when having a swarm of Kilobots. A single robot is also good for initial testing of a new behavior. However the real power in the Kilobot platform is first fully revealed when theKkilobots start to swarm and communicate with their neighbors to form closed loop behaviors based on the behaviors of the other individuals in the swarm.
At SSR we have developed swarm algorithms for several years. So far we have only been able to test these in simulations and with actual robotics swarms comprised of less than twenty individuals. We desperately needed a low cost robotic platform capable of operating as and in a swarm with hundreds and thousands of individuals. The Kilobots now allow us to synthesize and analyze, often bio-inspired, large scale swarm algorithms.
Wong: Can anyone get a Kilobot?
Ahler: With the success of the platform we have recently decided to do two things. Currently we spend a lot of time on both (1) commercializing and (2) open sourcing the platform. Anybody interested in the robots and the Kkilobots should first of all check out some of all the videos on YouTube and secondly pay the SSR website at the Wyss Institute for Biologically Inspired Engineering at Harvard a visit. There you can find a description on how to get your own Kilobots and the overhead controller. It is very easy, and you can buy less than a kilo of them.