19/09/2017 5:31pm
Next week's @IROS2017 in #Vancouver looks fantastic. Yet again, I find that I'd need to split my consciousness three ways to see all I want
19/09/2017 5:24pm
RT @SwarmDynamics: Generic, scalable and decentralized fault detection for robot swarms [LINK] #PLOSONE #robotics #swar
15/09/2017 1:05pm
Essays by Rodney Brooks on the future of #robotics and #AI @sabinehauert via @Robohub [LINK]
11/09/2017 10:10pm
RT @alan_winfield: More powerful #AI costs more #energy. See: Estimating the energy cost of evolution [LINK] (2/2)
11/09/2017 10:03pm
RT @ilpincy: Bacteria Use Brainlike Bursts of Electricity to Communicate [LINK] via @QuantaMagazine

[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

Pitonakova, L. (2016) Design Patterns for Robot Swarms. PhD thesis.

Journal papers

Pitonakova, L., Crowder, R. & Bullock, S. (2017). Information-Cost-Reward framework for understanding robot swarm foraging. Accepted for publication in Swarm Intelligence.

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. (2017). Behaviour-Data Relations Modelling Language for multi-robot control algorithms. Accepted for publication in Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2017), IEEE.

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}


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]