Robot Swarm Design Patterns

 

Design Pattern Catalogue


In swarm robotics, a design pattern provides high-level guidelines for the implementation of a particular robot behaviour and describes its impact on swarm performance. Here we explore information exchange design patterns for robot swarm foraging. The patterns are split into two categories that identify the pattern roles:

  • Information Transmitter patterns: Specify what entity transmits or stores information, as well as what information is used by behaviours and under what conditions
  • Information Aggregation patterns: Specify where information exchange takes place and what behaviours are responsible for the exchange

Inspired by object-oriented design pattern principles, it is proposed here that a swarm robotic design pattern should:

  • Describe a particular stand-alone module of a robot control algorithm in terms of robot behaviours, relevant internal and external data structures and relationships between them. Such a module should satisfy a particular functional requirement and its description should be independent of other modules that deal with other requirements.
  • Provide a description of suitable environments and swarm tasks, in which the pattern is understood to be an appropriate design choice.
  • Be possible to combine with other design patterns.
  • Be implementation-generic, i.e., only describe high-level behaviour, rather than an implementation.

Each design pattern includes the following properties:

  • Design pattern name and category
  • The problem that the pattern is solving
  • The applicability of the pattern, given the conditions of the swarm task and of the environment, as well as the available hardware
  • The solution, including a representation of relevant robot behaviours and data structures in BDRML, as well as guidance on the pattern implementation
  • A description of feedback loops that are created or altered as a result of using the pattern
  • A list of parameters associated with the specified robot behaviours and their detailed description
  • A list of forces that affect the pattern’s effectiveness
  • A list of consequences that the design pattern has on macro-level swarm characteristics, especially those that cannot be controlled through the pattern’s parameters
  • A list of known uses in the swarm robotics literature
  • A list of related patterns

The description of pattern feedback loops, parameters, forces and consequences utilises terminology of the ICR framework and considers a variety of experiments reported in the swarm robotics literature.

Not all pattern descriptions include all of the properties listed above. For example, when a pattern has no parameters (e.g., the Individualist pattern), it is likely to also not have any forces associated with it. In other cases, a solution that a pattern offers may look rather generic (for example, the Information Exchange Anywhere pattern). This can happen when a pattern represents an alternative to other, more restrictive, patterns from the same category.