24/11/2017 5:11pm
RT @BristolRobotLab: APPLY NOW: Opportunity to join the FARSCOPE 4 year PhD programme in 2018, based here at the BRL [LINK]
24/11/2017 5:11pm
RT @ProfCompMod: Good news from @unisouthampton: Three cups of coffee a day 'may have health benefits' [LINK] @NGCM_Soton
20/11/2017 12:10pm
How is information utilised in robot swarms? "The Information-Cost-Reward framework for understanding #robot #swarm[LINK]
15/11/2017 10:12pm
DVLA asks me to join the NHS Organ Donor Register after I ordered a form to get my driving license. They already kn… [LINK]

[Robot swarms in action]

Added on 28/06/2017
Tags: swarm :: robotics :: AI

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.

A swarm of e-puck robotsDuring 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}


Robot swarms in action

Watch e-puck robots collect resources and bring them back to base. While the previous simulation work helped us to learn a lot about the...

[read full]

How to compile code for e-puck robots on your computer

Compiling code natively on e-puck robots or cross-compiling on your computer can be very tedious. Luckily, there is a third option:...

[read full]

Coding for tomorrow: Why is good code important?

"Why should I care about how my code is written, as long as it works?" I will argue here that well-structured and well-written code not...

[read full]

How Coding in Python Might Be Bad For You

7 reasons why coding in Python is like writing a really bad essay and getting away with it

[read full]