According to [11], the design of swarm robotics systems can be categorised into auto- matic design or behaviour-based design. Automatic design concerns the application of methods that automatically generate behaviours. Examples of automatic design meth- ods are reinforcement learning [46] and evolutionary robotics [47]. Behaviour-based design concerns the development of system behaviour, primally by developers [11]. Behaviour-based design can make use of several techniques such as finite state machine (FSM) [48] and virtual physics-based (VPB) designs such as potential fields [11]. The above binary classification of design methods seems however not to be an accu- rate representation of reality, as the classes of design methods may overlap. Auto- matic design methods usually require developer input, for example, in the form of a fitness function that expresses the desired behaviour [49], whereas techniques listed as behaviour-based design can be automatically obtained [50].
FSM are mathematical models where the state space of the system is a finite discrete set. FSM is a common choice to represent behaviour-based design in swarm robotics [38,12]. They are usually implemented by switch-case statements. Transitions between
2.1 Swarm robotics states occur abruptly and are usually related to a change in stimulus, and each state is usually related to a particular control routine.
In [12] a tool called RoboChart is presented, which automatically generates control code from a notation based on FSM and inspired by the unified modelling language (UML) [51]. RoboChart allows a specification to be described graphically or textually. The automatic code generation tool then provides an implementation based on this specifi- cation. Two case studies are presented: self-organised aggregation [52,53] (see Section
2.1.3.2) and swarm taxis [54]. The method used by the authors presents similarities with
the work presented in Chapters3and4of this thesis and previously published in [55] and [56]. However, RoboChart is shown to support only a single specification model, whereas SCT, used in this thesis, allows the decomposition of the specification model into several sub-systems, which is usually simpler to describe than a larger single spec- ification. Another difference is that the control output is related to states and the input to transitions in RoboChart, whereas in this thesis, both, control input and control out- put, are related to transitions (the RoboChart’s approach to controlling output could be implemented with self-loop transitions). Furthermore, the approach used in this thesis makes possible to distinguish the system state once a control output is triggered. Probabilistic FSMs (PFSMs) are an extension of finite state machines (FSMs). In PFSM transitions are associated with probabilities, which can be constant or change over time [44, 11]. The application of PFSM in swarm robotics includes the work of [57] where the collective behaviour of aggregation was studied. In the aggregation task, all robots in a homogeneous environment have to group themselves [11]. [58] explores chain for- mation behaviours, in which the robots have to connect two points of interest in the environment. In another application, [59] applies PFSM to task allocation. Task alloca- tion refers to the collective behaviour in which different tasks are distributed across the robots [11].
VPB design has its origin on how physics studies particles [11]. Robots are seen as virtual particles that interact with each other by exercising and being subject to virtual forces. Examples of VPB design in swarm robotics include the works of [60] and [61]. In these works, artificial potential fields are applied to represent the virtual forces from the environment. Obstacles are related to repulsive forces, and targets are related to attractive forces. Furthermore, the work of [61] goes beyond by associating robots to virtual forces, where these forces may represent social interactions.
based on the modelling characteristics of the system. The first is sensor-based1modelling that is concerned with simulations of the system. The main components of the system modelled by the sensor-based approach are the sensors, actuators, and environment ob- jects. The robot-to-robot and the robot-to-environment interactions are modelled only after these principal components were modelled.
Microscopic models are the second category. They consider robot-to-environment and robot-to-robot interactions separately. Behaviours are associated with states, and the transitions between states are related to internal events inside the robot and external events in the environment [44].
Macroscopic models are the third category. They consider the swarm as a whole and thus directly model properties of the entire system [11]. The system’s macroscopic state describes the number of robots in a particular microscopic state. The change in the sys- tem’s macroscopic state can be described by differential equations [44], representing the evolution over time of the ratio between the number of robots in a particular state and the total number of robots [11]. These equations capture the system’s mean behaviour, however, because of finite-size effects, they may not accurately model small swarms. Master equations [62] can be applied used to capture the dynamics of the system’s state distribution. They may, however, not be feasible for large swarms.
[11] highlights the work of [63], which models a clustering task where robots collect ob- jects, as one of the first to apply differential equations. Another task where robots must cooperate to remove sticks out of holes also is analysed by using differential equations [64,65]. A foraging task that considers the effect of interference is modelled using dif- ferential equations by [66]. In this case, authors apply the robot group size as a decreas- ing function to model the individual performance of the robots. Chain and aggregation formation is also explored using differential equations [67], while applying PFSMs. In [62], authors studied for the first time the problem of predicting the yield of self- assembly systems. Given an initial state or input the yield is the final quantity of a desired outcome over an indefinite period. In the work of [62], the starting configura- tion is a group of x1mechanical equilateral triangle parts, X1, which can magnetically
connect with each other. One side of the triangle has a north magnet, another a south magnet, and the third has no magnet and therefore cannot establish any connection. Two single parts of type X1 can connect and form another shape compound of two
2.1 Swarm robotics parts, X2; another single part, X1, can connect with X2 and form a three parts compo-
nent, X3; and so on. The outcome is the predicted number, x6, of 6 parts components,
X6, which forms a hexagon. The possible combinations can be expressed by chemical
relations, for example:
2X → X2, X + X2 → X3, X + X3 → X4, 2X2 → X4. (2.1)
Authors applied difference equations to determine the mean value of xi : i ∈ {1, · · · , 6}
and the master equation to determine the probability distribution.
The fourth category of swarm robotics analysis approaches presented by [44], cellular automata (CA), can be considered a special case of microscopic modelling. The CA is composed of a single or multi dimensional grid of cells. A finite number of possible states is related to each cell in the grid. Cells can only interact with the neighbouring cells, these interactions occur locally and are regulated by a set of rules.
Whereas the distinction between microscopic and macroscopic seems clear, sensor- based and CA appear as subcategories of microscopic and macroscopic categories. A CA can be seen as a particular method of the macroscopic analysis, rather than a dif- ferent category. Similarly, sensor-based approaches does not appear as a different ap- proach, but as a specification of the microscopic modelling.
Even though swarm robotics emphasises decentralised approaches, the control of swarm robotics systems can also include centralised control. In the centralised control there is a single control agent [68, 45], which can be a robotic agent (leader) [69]. In the de- centralised control agents operate locally [68,45] and are completely autonomous [69]. In the decentralised control of swarm robotics systems, the robots are self-organising [42,69].
Note that authors may either refer to decentralised control as distributed control (e.g., [69]) or have distinct meanings for both terms (e.g., [68]). In [68], the decentralised control is split into two categories: distributed architectures, in which all agents per- form the same control strategy, and hierarchical architectures, in which the agents can be considered as locally centralised. On the other hand, in [69], the centralised control is split into two categories: strong centralisation, in which the central agent remains the same, and weak centralisation, in which multiple robots are allowed to become a leader. The study and experiments of these categories of control and the proper balance between centralised and distributed control are investigated by [70].
The design aspect is concerned with the methods used to produce swarm robotics sys- tem’s behaviours. These behaviours can be expressed by models using a particular representation. Representations that allow the analysis of the models can be referred as formal methods. The analysis of the models can be performed, for example, at mi- croscopic or macroscopic levels. Furthermore, the analysis can check properties of the system, for example, safety conditions. The control of swarm robotics systems tends to be decentralised, even though centralised implementations exist in the literature. In this thesis, we focus on the application of models represented by a specific formal method to automatically generate the control that adheres to the specifications. The next section reviews works that approach formal methods in swarm robotics.