The Kilobot is a widely used platform for investigation of swarm robotics. It is a low-cost robot developed by the Self-Organizing Systems Research Group at Harvard University, and manufactured by K-team. Now, several well-known groups own their own Kilobot swarms. Testing algorithms for self-organization on actual physical robots constitutes the ultimate proof-of-principle of the thought-out concepts, mechanisms and hypotheses on which those algorithms are based.
Nevertheless, physical Kilobots are slow moving and require frequent recalibration and charging, which significantly slows down the development cycle. In order to do the testing and exploring hypothesis generation in an efficient and high-throughput manner, it is very important to have tools available in between the drawing board and the physical robots themselves: a simulator. To our knowledge, there are two simulators available for the Kilobot (V-REP and KBsim), but in both cases, simulation speed is suboptimal and translation of code between simulator and robot is time consuming and error-prone.
In our Swarm-Organ project we have thus developed a novel simulator called Kilombo (already available online), with the aim of being fast, accurate and able to read the same program code that is run on the real kilobots. This last point avoids the need for translating code between simulations and real experiments in both directions: programs optimised on the simulator can be directly transferred to the bots, and additionally the simulator is able to run previously published Kilobot code. Our main goal is to address a new level of research questions regarding emergent behaviour in robotics. Use of our simulator, significantly simplifies and speeds up development, given that a simulation of 1000 robots can be run at a speed 100 times faster than the real robots, making high-throughput pre-screening possible of potential algorithms that could lead to desired emergent behaviour.
Using Kilombo, we have been able to simulate different tests of morphogenesis and patterning for swarms of over 100 bots, and translate directly the same experiments to real bots. The use of the same code means that the direct comparison between simulations and the behaviour of real kilobots is more meaningful. We can replicate the same experiments doubling the number of bots and obtain the result within a few seconds. The figure shows an example of a self-organised shape formation in the simulator with 100, 200 and 300 bots. Furthermore, Kilombo allows us to explore the predicted emergent behaviour for swarms that are too large to perform with the real hardware.
Example of a self-organised shape formation in the simulator with 100, 200 and 300 bots.
The simulator is already available on github (http://jic-csb.github.io/kilombo/) and the paper “Kilombo: a Kilobot simulator to enable effective research in swarm robotics” is already online in arxiv (http://arxiv.org/abs/1511.04285) and under review on the Applied Soft Computing Journal.