23/06/2017 6:25pm
It’s not just self-driving cars; trains could soon be autonomous too! @ajfk2022 via @Robohub [LINK]
21/06/2017 6:57pm
Amazing and a bit creepy: four-amed Marimba #robot uses #DeepLearning to compose its own music [LINK]
20/06/2017 8:12pm
RT @IETCommunities: @BristolRobotLab Prof Chris Melhuish will be speaking at International #Robotics Showcase 30 June #UKRW17 [LINK]
15/06/2017 7:10pm
Very excited that our paper about a new modeling languge for #swarm #robotics just got accepted to #IROS2017! More info to follow soon!
09/06/2017 8:08pm
Looking at new trends in Distributed #Robotics Systems and Society @edcafenet via @Robohub [LINK]

[Design Patterns for Robot Swarms]

Tags: swarm :: robotics :: C++ :: AI

Google self-driving carsGoogle self-driving cars Demand for autonomous physical inter-connected devices is set to grow rapidly in the next decade. The increasing popularity of the ``Internet of Things'' and of self-driving cars are good examples. In robotics, a lot of effort is being put into autonomous agricultural robots, automated warehouses and delivery robots. Unlike conventional engineering, multi-agent engineering currently requires a "bottom-up" approach to behavioural design.

By making agents act autonomously in their immediate environment, and interact and communicate with other agents, we can create collective intelligence where the whole system can exhibit complex behaviour without a need for a "supervisor" in the loop. However, in order to achieve this reliably, efficiently and safely, we need a methodology that aligns bottom-up design decisions with top-down design specifications.

A robot swarm at work

It is proposed here that design patterns should be used as a way of describing and sharing robot control algorithms in an implementation-generic way. The patterns describe key aspects of robot behaviour and are modular in nature. Each pattern identifies what type of robot mission it is suitable for, how robots that utilise the pattern should behave, how the design pattern interacts with other behaviours of robots and what consequences, in terms of information acquisition and utilisation, the pattern has on the macro swarm behaviour.

The main contributions of this work are:

  • Development of the Information-Cost-Reward (ICR) framework that provides an abstract, information-based account of swarm behavior
  • Development of the Behaviour-Data-Relations Modeling Language (BDRML) in which robot behaviours and data, as well as relationships between them are explicitely represented, both visually and textually. The language facilitates a formal definition of swarm robotics design patterns and of rules for combining multiple design patterns into a robot control strategy
  • Creation of the swarm robotics design patterns catalogue, currently for collective foraging and task allocation

Research outputs

Journal papers

Pitonakova, L., Crowder, R. & Bullock, S. (2016). Information flow principles for plasticity in foraging robot swarms. Swarm Intelligence, 10(1), 33–63.

Conference papers (peer reviewed)

Pitonakova, L., Crowder R. & Bullock, S. (2016). Task allocation in foraging robot swarms: The Role of Information Sharing. In Gershenson, C. et al. (eds.), Proceedings of the Fifteenth International Conference on the Synthesis and Simulation of Living Systems (ALIFE XV), MIT Press, 306-313.

Pitonakova, L., Crowder R. & Bullock, S. (2014). Understanding the role of recruitment in collective robot foraging. In Lipson, H. et al. (eds.), The Fourteenth International Conference on the Synthesis and Simulation of Living Systems (ALIFE 14), MIT Press, 264-271.

Talks and posters presented

2015: Design Patterns for Swarms of Robot Foragers: The International Conference on Intelligent Robots and Systems (IROS 2015), Hamburg, Germany

2015: Towards Design Patterns for Robot Swarms: invited talk at the Bristol Robotics Laboratory, Bristol, United Kingdom

2014: Understanding the Role of Recruitment in Collective Robot Foraging: The Fourteenth International Conference on the Synthesis and Simulation of Living Systems (ALIFE 14)

2014: Understanding the Role of Recruitment in Collective Robot Foraging: annual Complex Systems DTC meeting, University of Southampton

2013: Information Exchange and Coordination in Robot Swarms: annual Agents, Interaction and Complexity meeting, University of Southampton


2013: Foraging Strategies in Nature and Their Application to Swarm Robotics

2010: Does Communication Make a Difference?

{Please enable JavaScript in order to post comments}


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]

Book Review: Waking, Dreaming, Being

What is the self? Is it the basic nature of the mind or is it something perceived by the mind? I'd really recommend the book to anyone...

[read full]