I've been spending a lot of time at the Bristol Robotics Laboratory working with a swarm of e-puck robots. I am currently looking at foraging with various types of robot swarms, previously explored in my PhD thesis and my recent publication, and comparing how the swarms work in simulation and in the real world.
During foraging, robots start from the base and search the arena for worksites that contain resource. They then travel back and forth between a found worksite and the base, delivering resources (if you've ever played any kind of strategy game, or watched ants forage, you know what I am talking about). This kind of research helps us to understand how to design algorithms for robots doing autonomous collection of raw resources or package delivery, or for autonomous taxis that have to respond to people booking trips.
The lab is a semi-virtual environment, where four cameras track the robot movement. There is a program running on a computer that keeps track of where virtual worksites are located and how much resource they hold, as well as where the robots are. The program informs a robot when it is near a worksite. The robot then remembers the worksite's position and starts foraging from it. In a real-world application, such virtual sensing could be replaced by cameras mounted on robots.
Here is an example of robots collecting virtual items from three different worksites:
What I am mostly interested in is whether sharing of information about where worksites are located helps the robots to collect resources faster. Looking at how ants and bees do foraging, it looks like sharing of information can be advantageous for the swarm. However, as we have previously shown in simulation, having a lot of information is not always good. For example, when a lot of robots get "persuaded" to collect from the same worksite, congestion is created, which prevents the robots from working efficiently. Here is an example of how such congestion looks like:
While the previous simulation work helped us to learn a lot about the advantages and disadvantages of communication in swarms, doing similar experiments with real robots is already revealing interesting new things. In the real world, robots often fail and become obstacles for the rest of the swarm. Also, their movement and obstacle avoidance is not as smooth as in a simulation, which impacts the ability of the swarm to find and exhaust worksites. Another interesting thing is that every robot seems to have a "personality" of its own, depending on its particular hardware. One robot might not "see" far enough, while another moves a bit slower than others. More annoyingly, some robots decide to stop working when others hit them too often or too hard. Similarly as people, it looks like some robots are simply hard-wired to be more difficult to work with that others.
This work was possible thanks to Prof. Alan Winfield and the Bristol Robotics Laboratory.
{Please enable JavaScript in order to post comments}