Part III — Adaptive behaviour · Chapter 9

Swarm robotics and self-organisation

~40 min read3 interactive widgets4 plates

In this chapter

  1. What swarm robotics is
  2. Technological motivation
  3. Swarm intelligence and self-organisation
  4. Stigmergy
  5. Ant foraging: the model
  6. Division of labour and task allocation
  7. Corpse clustering
  8. Prominent works in swarm robotics
  9. Task partitioning and task sequencing
  10. Applications, control mechanisms and the design problem
  11. Lab activity 6: aggregation
  12. Check your understanding

1. What swarm robotics is

Definition (Brambilla, Ferrante, Birattari and Dorigo, 2013)

"Swarm robotics deals with the design, construction and deployment of large groups of robots that coordinate and cooperatively solve a problem or perform a task. It takes inspiration from natural self-organising systems such as social insects, fish schools or bird flocks, characterised by emergent collective behaviour based on simple local interaction rules. Typically, swarm robotics extracts engineering principles from the study of those natural systems, in order to provide multi-robot systems with similar abilities. This way, it aims to build systems that are more robust, fault-tolerant and flexible than single robots, and that can better adapt their behaviour to changes in the environment."

Five bullets frame the field:

The five defining characteristics

These are the criteria to apply when asked "is this a swarm robotics system?". All five must hold.

  1. Robots are autonomous.
  2. Robots are situated in the environment and can act to modify it.
  3. Robots' sensing and communication capabilities are local.
  4. Robots do not have access to centralized control or to global knowledge.
  5. Robots cooperate to carry on a given task.
For the exam

Characteristics 3 and 4 are what make swarm robotics hard rather than merely multiple. A fleet of warehouse robots coordinated by a central server has many robots and is not a swarm. The constraint is not on the number of robots but on the absence of a global view — which is exactly why the collective behaviour has to emerge rather than be commanded.

The platform gallery in the lectures shows homogeneous swarms — jasmine, alice, kilobots, e-pucks, swarm-bots — and one heterogeneous swarm, the swarmanoid.

SWARM vs CENTRALLY CONTROLLED GROUP SWARM — local sensing only interactions only where the circles overlap no global knowledge, no central control the collective behaviour must EMERGE NOT A SWARM SERVER many robots, one global view a single point of failure the behaviour is COMMANDED, not emergent
Plate 9.1 — The defining constraint is on the right, not the left. Remove the server and every robot is reduced to what it can sense within its own radius; whatever the group achieves must then be produced by local interaction rules.

2. Technological motivation

Six reasons, each with the one-line justification given in the slides:

PropertyWhy
ParallelismDifferent robots can perform different tasks at the same time
Fault toleranceSimple agents are less prone to failure. When a robot breaks down another one can take over. No single point of failure
CostSimple robots are cheaper to build than complex robots
ScalabilityAdd more robots, get more work done
RobustnessAbility to cope with the loss of individuals
FlexibilityCapability of tackling a broad spectrum of different environments and tasks
Editor note

Notice that robustness and flexibility are two of the three properties the definition promised, and that they are the pair Chapter 1 listed as "still difficult to bring together". Swarm robotics is one of the course's two structural answers to that problem — the other being automatic design, Chapter 11. The two meet in the DEMIURGE project of section 8.

3. Swarm intelligence and self-organisation

Swarm intelligence is collective intelligence emerging in groups of (simple) agents. Its roots are in models of social insect behaviour:

Properties of collective intelligence systems: distributed computation; direct and indirect interactions; agents equipped with simple computational capabilities; robustness; adaptiveness.

Self-organisation

Definition — a prominent case of emergence

Self-organisation: dynamical mechanisms whereby structures appear at the global level from interactions among lower-level components.

Its signatures: creation of spatio-temporal structures; possible coexistence of several stable states (multistability); existence of bifurcations when some parameters are varied.

The example given is Bénard cells; further examples are synchronisation in fireflies, ant foraging and flocking. The lectures also introduce the vocabulary of upward and downward causation across levels of organization — the structure at the global level is caused by the components, and in turn constrains them.

Feedback returns here in the same words as Chapter 4: a feedback loop is a circular arrangement of causally connected elements; positive feedback is self-reinforcing (amplification of random fluctuations and structure formation, reinforcement of the most common behaviour patterns), negative feedback is self-regulating (saturation, competition, resource exhaustion), and complex systems are usually characterised by the presence of both.

For the exam — multistability and bifurcations

These two words are worth understanding rather than reciting, because lab activity 6 makes you observe both. Multistability: with two identical black spots in the arena, the swarm aggregates on one of them — two stable states exist and the symmetry is broken by a fluctuation that positive feedback amplifies. Bifurcation: vary a parameter (say α) and the qualitative outcome changes — below a value no aggregate forms at all, above it aggregation is inevitable. That is a bifurcation, observed on a robot swarm.

4. Stigmergy

Definition

Stigmergy is a kind of indirect communication used by social insects. One agent modifies the environment and the other agent reacts to the changed environment.

Stigmergy is the mechanism that makes characteristic 3 of section 1 — purely local communication — survivable. Two robots that never meet can still coordinate, provided one of them leaves a trace the other can read. The environment becomes a shared memory that no one owns and nobody has to maintain.

The notable ant behaviours listed in the deck are foraging, division of labour, collective transport and cluster formation — the first, second and fourth of which get a model in the next three sections.

5. Ant foraging: the model

The natural behaviour, in three lines:

The canonical experiment is the double bridge. The formal model views the trajectory of an ant as a sequence of discrete steps along a graph, one step being the traversal of one edge between two nodes. It has two main mechanisms:

  1. Probabilistic choice rule. The individual choice of the next node is taken on the basis of a probabilistic rule that favours edges with a higher amount of "artificial pheromone" — the higher the amount of pheromone on an edge, the higher the probability of choosing it. There are of course many possible mathematical formalisations of this relation.
  2. Feedbacks, both positive and negative.
    • Positive feedback: the quantity of pheromone laid down on the edges depends upon the "quality" of the path. In a shortest-path task, the lower the cost of the path, the higher the quantity of pheromone — so edges belonging to less costly paths are reinforced and attract more ants.
    • Negative feedback: pheromone evaporates in time. This dampens the effects of random fluctuations, which might otherwise lead to premature convergence of the process to low-quality solutions.
Key idea

The lectures add: these two mechanisms characterise many collective behaviour models. Once you have seen probabilistic choice plus two-signed feedback in foraging, you will recognise the same skeleton in the response-threshold model of section 6, in corpse clustering in section 7, and in the aggregation rule of lab activity 6.

The choice rule

The simple case, choosing among three nodes with pheromone levels τ1, τ2, τ3:

P(j) = tau_j / (tau_1 + tau_2 + tau_3)

The typical case in applications, moving from node i to node j:

              [tau_ij]^alpha  [eta_ij]^beta
P(i -> j) =  ------------------------------------   if j is feasible
             SUM over feasible k of
                 [tau_ik]^alpha [eta_ik]^beta

P(i -> j) =  0                                       otherwise

where τij is the amount of pheromone on edge (i, j), ηij is a heuristic value estimating the desirability of the edge, and α and β weight the relative influence of pheromone and heuristic.

Ant foraging models have been successfully used in optimization in a family of metaheuristics named Ant Colony Optimization. The state of the art named in the deck: MAX-MIN Ant System, Hyper-cube Framework, Multi-level ACO, Beam ACO (see M. Dorigo and T. Stützle, Ant Colony Optimization, The MIT Press, 2004).

THE DOUBLE BRIDGE NEST FOOD LONG branch — same pheromone deposited, spread over more length SHORT branch — traversed sooner, reinforced first, then chosen more often positive feedback: more pheromone → more ants → more pheromone evaporation (negative feedback) removes the advantage of an early lucky fluctuation on the long branch, preventing premature convergence
Plate 9.2 — The double bridge. No ant measures a length and no ant compares the branches. The shorter path wins because it is completed sooner, so its pheromone accumulates faster — the computation is performed by the environment.

Widget — Double bridge, with both feedbacks

Run the colony. Then turn evaporation off and watch the swarm lock onto whichever branch happened to be lucky first — the failure mode the lectures call premature convergence to low-quality solutions.

alpha (weight of pheromone) = 2.0

6. Division of labour and task allocation

TermDefinition
Division of labourDifferent activities are performed simultaneously by specialised individuals
Task allocationThe process that leads to the assignment of one task to each individual of the colony

Advantages in terms of efficiency:

There are several kinds of division of labour — reproductive, castes, tasks accomplished in the colony — and the ratios of workers performing the different tasks can also vary in time.

The response-threshold model

A simple model of task allocation:

Formally, for one task: let Si be the state of individual i (inactive: 0, active: 1), s the amount of stimulus corresponding to the task, and θi the response threshold of individual i — the higher θi, the lower the tendency to perform the task. An inactive individual starts performing the task with probability p per unit time:

p(S_i = 0 -> S_i = 1) = s^alpha / (s^alpha + theta_i^alpha)

where α is a parameter. An active individual becomes inactive with probability p = p0 per unit time.

Key idea

Nobody assigns anything. Each individual makes a private probabilistic decision from a private threshold, and the ratio of workers across tasks emerges — and self-corrects, because as workers engage, the stimulus falls, and fewer new workers engage. That is negative feedback doing task allocation without a scheduler.

Widget — The response-threshold model

Vary the stimulus, the threshold and α. Watch how α turns a soft preference into a near-switch — and how a population with different thresholds spontaneously splits into specialists and reserves.

stimulus s = 1.0
alpha = 2

7. Corpse clustering

Ants collect dead bodies and objects and aggregate them in clusters. The basic mechanism: clusters of items grow by attracting workers to deposit more items — positive feedback.

The model. Let f be the fraction of perceived items in the neighbourhood of the ant. Ants move randomly, and:

probability of pick-up:   p_p = ( k_1 / (k_1 + f) )^2

probability of delivery:  p_d = ( f / (k_2 + f) )^2

where k1 and k2 are threshold constants.

Read the two formulas against each other. When f is small — the ant is in an empty region — pp is near 1 and pd is near 0: isolated items get picked up and are not dropped in the void. When f is large, the probabilities swap: items are dropped where items already are. The cluster grows itself.

Editor note

Compare with the Swiss robot of Chapter 3, which also produced heaps. There, clustering came from a behavioural error exploiting sensor geometry, with no rule about items at all. Here it comes from two explicit probabilistic rules. Same observed structure, radically different mechanism — a clean illustration of the frame-of-reference warning that observed behaviour does not determine the underlying mechanism.

8. Prominent works in swarm robotics

The swarm-bots project

swarm-bots.org. Goal: study a novel approach to the design and implementation of self-organising and self-assembling artefacts. Institutes involved: IRIDIA (Université Libre de Bruxelles, Belgium), EPFL (Lausanne, Switzerland), IDSIA (Lugano, Switzerland), CNR-IP (Rome, Italy).

Further achievements of the project listed in the deck: hole/obstacle avoidance, finding object/goal, cooperative transport.

Adaptive division of labour

A group of robots involved in an object retrieval task, with a control system inspired by a model of ant foraging. Individuals adapt to the environment using only locally available information; this adaptation is an effective way to improve the efficiency of the group and brings forth division of labour between the members of the group. (T. H. Labella, M. Dorigo and J.-L. Deneubourg, Division of Labor in a Group of Robots Inspired by Ants' Foraging, ACM TAAS, Vol. 1, No. 1, September 2006, pp. 4–25.)

Adaptive prey retrieval

A model for real-world applications such as toxic-waste cleanup, search and rescue, demining or collection of terrain samples in unknown environments. The main scientific question is sharp and worth remembering:

The scientific question

Is there an actual performance gain in using more than one robot, since the task can be accomplished by a single one?

The setup uses simple robots with simple sensors and no communication, and the controller is designed as a probabilistic finite state automaton — the mechanism introduced in Chapter 6, now doing real work.

StateBehaviour
SearchThe robot looks for a prey, randomly exploring the environment and changing direction when it encounters an obstacle. If a prey is found, the robot grasps it. If a timeout occurs before the robot has grasped a prey, the robot gives up searching
RetrieveThe robot looks for the nest and pulls the prey toward it
DepositThe robot leaves the prey in the nest and turns to the point from which it came (to mimic ants' behaviour)
ReturnThe robot looks for the nest and returns to it
RestThe robot rests in the nest

The adaptation. The robots change from Rest to Search with probability P1 each second. P1 is updated during the transitions from Search to Return (failure), and from Deposit to Rest (success). P1 is constrained to assume values in [Pmin, Pmax].

Experimental set-up: circular arena with a diameter of 2.40 metres; a light bulb to signal the position of the nest centre; search timeout 228 seconds; Pmin = 0.0015, Pmax = 0.05, Pinit = 0.033 — i.e. a mean time spent in the nest of approximately 11 minutes, 20 seconds and 30 seconds respectively; Δ = 0.005. Preys appear randomly in the environment during the experiments, with a density expressed as the probability of prey appearance per second. The results are reported as the distribution of P1 — the frequencies of P1 after 2400 s, i.e. the distribution of the probability to leave the nest.

ADAPTIVE PREY RETRIEVAL — PROBABILISTIC FSA REST SEARCH RETRIEVE DEPOSIT RETURN P1 each second prey grasped nest reached success timeout = failure back to the nest P1 is UPDATED on the vermilion transitions: decreased on failure, increased on success, clamped to [Pmin, Pmax]
Plate 9.3 — The adaptive prey-retrieval automaton. The behaviour is a plain probabilistic FSA; the adaptivity lives in the single number P1, updated from purely local outcomes. Division of labour emerges because different robots accumulate different histories and drift to different P1.

Other projects named in the deck

ProjectWhat it is
Swarmanoid (swarmanoid.org)A swarm composed of heterogeneous robots, each equipped with a specific capability
Symbrion (symbrion.eu)A swarm of real robots undergoing online evolution by exchanging information in a decentralized evolutionary robotics scheme. The diffusion of each individual's genotype depends both on its ability to survive in an unknown environment and on its ability to maximize mating opportunities during its lifetime. An open-ended evolutionary approach
Flora robotica (florarobotica.eu)Named among the prominent works
Aerial swarmsSee the work by Dario Floreano at EPFL
DEMIURGE (demiurge.be)Automatic design of robot swarms. An intelligent system able to design and realize robot swarms in a totally integrated and automatic way: starting from requirements expressed in an appropriate specification language, the DEMIURGE will design all aspects of a robot swarm — hardware and control software
Editor note

Symbrion is the exception that proves the rule of Chapter 3, section 4: evolutionary adaptation normally requires populations and generations, which is why it is done off-line. Symbrion gets around it by making the swarm itself the population — genotypes diffuse between robots during operation. Keep it in mind for Chapter 10, where on-board evolution is flagged as the hard case.

9. Task partitioning and task sequencing

Models of division of labour in social insects are a useful way of designing controllers to solve task allocation problems. A related problem is task partitioning, in which the goal is to optimally partition the task into sub-tasks that can be tackled separately.

Task partitioning: an adaptive method for strategy selection

G. Pini, A. Brutschy, M. Frison, A. Roli, M. Dorigo and M. Birattari, Task partitioning in swarms of robots: an adaptive method for strategy selection, Swarm Intelligence (2011) 5:283–304.

The relevant quantities are Pp, the probability of choosing task partitioning, and Pgφstore, Pgφharvest, the probabilities of giving up the store and harvest sub-tasks.

Autonomous task sequencing

L. Garattoni and M. Birattari, Autonomous task sequencing in a robot swarm, Science Robotics 3, 2018. A robot swarm able to collectively sequence tasks whose order of execution is not known a priori.

For the exam — the sentence to quote

"The ability to plan emerges at the collective level from the interaction of reactive individuals."

This is a genuinely striking claim and a favourite discussion point. Chapter 13 will define planning as looking ahead at the outcomes of possible actions and searching for a sequence that reaches the goal — an activity that seems to demand a world model and deliberation. Here, individuals that are purely reactive nonetheless produce, collectively, an ordered sequence of task executions. Planning, like intelligence in Chapter 3, turns out to be describable at a level where no component is doing it.

10. Applications, control mechanisms and the design problem

Applications

Real-world applications of SR are still not many. The main current ones: underwater exploration and monitoring; lawn mowing. Future scenarios: heterogeneous robots, nanorobots, self-assembly.

Typical types of control mechanisms for robot swarms

Every one of these is a mechanism you already know: PFSA from Chapter 6, rules from Chapter 5, potential fields from Chapter 7, neural networks from Chapter 10. Swarm robotics does not introduce a new controller — it introduces a new design problem:

Key idea — the design problem, stated

"The main difficulty in programming swarms of robots is that individual behaviours have to be programmed such that the desired collective behaviour emerges from the interactions among robots. A promising and viable alternative to manual programming consists in automatic or semi-automatic design."

That last sentence is the bridge to Chapter 11. Requirements are naturally expressed at the collective level, but the designer must eventually decide what each individual robot does; no general approach exists to derive the individual behaviour from the desired collective one. Automatic design attacks the problem by optimising the individual controller directly against a collective performance measure.

Suggested references from the deck

  1. E. Bonabeau, M. Dorigo, G. Théraulaz, Swarm Intelligence. From natural to artificial systems, Oxford University Press, 1999.
  2. L. Garattoni and M. Birattari, Swarm robotics, in J. G. Webster (Ed.), Wiley Encyclopedia of Electrical and Electronics Engineering, John Wiley & Sons, 2016.
  3. M. Brambilla, E. Ferrante, M. Birattari, and M. Dorigo, Swarm Robotics: A Review from the Swarm Engineering Perspective, Swarm Intelligence, 7(1):1–41, 2013.
  4. M. Dorigo, G. Théraulaz, V. Trianni, Reflections on the future of swarm robotics, Science Robotics, 5(49), 2020.
  5. H. Hamann, Swarm Robotics: A Formal Approach, Springer, 2018.
  6. G. Théraulaz, J. Gautrais, S. Camazine, and J.-L. Deneubourg, The formation of spatial patterns in social insects: From simple behaviours to complex structures, Phil. Trans. R. Soc. Lond. A 361, pp. 1263–1282, 2003.

11. Lab activity 6: aggregation

A typical task in SR is aggregation: the swarm behaviour consisting in gathering in one place. The informal model comes from the observation of social insects:

Let S ∈ [0,1] be the spontaneous stopping probability, W ∈ [0,1] the spontaneous walking probability, and N the number of nearby stopped robots:

Ps = min{ Psmax , S + alpha*N }
Pw = max{ Pwmin , W - beta*N }
Ps = math.min(PSmax, S + alpha*N)
Pw = math.max(PWmin, W - beta*N)

-- Bernoulli decision with probability p
t = robot.random.uniform()
if t <= p then
  ...
else
  ...
end

S, W, α, β, Psmax and Pwmin are parameters of the control software, and in general they depend upon the number of robots, the size of the arena and the maximal range used for the range-and-bearing. For a rectangular arena of 5 × 5 metres, at least 30 robots and a maximal range of 30 cm, the handout suggests starting with:

W = 0.1    S = 0.01    Psmax = 0.99    Pwmin = 0.005    alpha = 0.1    beta = 0.05

The range-and-bearing system

Robots perceive their nearby companions by means of a range-and-bearing communication system, which allows localized communication: a robot receiving data from another also detects the position of the sender relative to its own local point of view. The handout is emphatic that this is not like WiFi:

Each received message is stored in a table composed of data (the 10-byte payload), horizontal_bearing (the angle between the robot's local x axis and the position of the message source, on the robot's xy plane, in radians), vertical_bearing, and range (the distance of the source in cm).

-- signal "I am stopped" on byte 1
robot.range_and_bearing.set_data(1, 1)
-- signal "I am moving"
robot.range_and_bearing.set_data(1, 0)

-- count the stopped robots sensed close by
function CountRAB()
  number_robot_sensed = 0
  for i = 1, #robot.range_and_bearing do
    if robot.range_and_bearing[i].range < MAXRANGE and
       robot.range_and_bearing[i].data[1] == 1 then
      number_robot_sensed = number_robot_sensed + 1
    end
  end
  return number_robot_sensed
end

MAXRANGE can be initially set to 30 (cm). In ARGoS the sensor is declared with <range_and_bearing implementation="medium" medium="rab" />; by default a message sent by a foot-bot can be received up to 3 m, and the rab_range attribute changes it, e.g. <foot-bot id="fb" rab_range="1">.

The three exercises

  1. Aggregation according to the model above. The behaviour can be modelled by means of a probabilistic automaton — the handout suggests using LEDs coloured according to the state of the automaton, so the overall behaviour can be inspected visually.
  2. Aggregation on a black spot. Change the update rules to Ps = min{Psmax, S + alpha*N + Ds} and Pw = max{Pwmin, W - beta*N - Dw}, where Ds and Dw are the probabilities of stopping (or remaining) on the black spot.
  3. Aggregation on one out of two black spots. In nature, if there are many places in which insects can aggregate, they collectively choose only one. Run the previous behaviour in an arena with two black areas and observe: do the robots achieve a consensus and stop on the same spot, at least the majority of them? Try to describe the behaviour of this swarm as the evolution in time of a dynamical system.
For the exam — the food for thought of lab 6

Is the behaviour robust with respect to parameter values? What are the advantages and disadvantages of a collective choice? How would you bias the aggregation on a specific area of the arena? What are the pros and cons of distributed solutions with respect to centralised ones? Exercise 3 is the multistability of section 3 made experimental — two equivalent stable states, and a symmetry broken by amplified fluctuation.

AGGREGATION — TWO FEEDBACKS IN TWO LINES N — number of nearby STOPPED robots → probability Psmax = 0.99 (saturation) Ps = S + alpha*N   POSITIVE feedback Pwmin = 0.005 (floor) Pw = W - beta*N   NEGATIVE feedback S W Robots at the boundary of a group perceive fewer neighbours, so they leave more often than those inside — which
Plate 9.4 — The aggregation rule. The two lines cross: as a cluster grows, stopping becomes near-certain and leaving becomes near-impossible, but only for robots deep inside it. The boundary keeps churning, which is what stops the cluster from freezing into whatever shape it first had.

Widget — Aggregation, as in lab activity 6

Thirty robots, the two update rules, nothing else. Try α = 0 to remove the positive feedback, and watch aggregation fail to happen at all.

alpha = 0.10
beta = 0.05

Check your understanding

Give the definition of swarm robotics and its five defining characteristics.

Swarm robotics deals with the design, construction and deployment of large groups of robots that coordinate and cooperatively solve a problem or perform a task, taking inspiration from natural self-organising systems characterised by emergent collective behaviour based on simple local interaction rules. Characteristics: robots are autonomous; they are situated and can act to modify the environment; their sensing and communication capabilities are local; they have no access to centralized control or global knowledge; they cooperate to carry on a given task.

List the six technological motivations for swarm robotics.

Parallelism (different robots perform different tasks at the same time); fault tolerance (simple agents are less prone to failure, another can take over, no single point of failure); cost (simple robots are cheaper); scalability (add more robots, get more work done); robustness (cope with the loss of individuals); flexibility (tackle a broad spectrum of environments and tasks).

Define self-organisation and give its three signatures.

Self-organisation consists of dynamical mechanisms whereby structures appear at the global level from interactions among lower-level components. Signatures: creation of spatio-temporal structures; possible coexistence of several stable states (multistability); existence of bifurcations when some parameters are varied. Examples: Bénard cells, synchronisation in fireflies, ant foraging, flocking.

What is stigmergy?

A kind of indirect communication used by social insects: one agent modifies the environment and the other agent reacts to the changed environment. It is what makes coordination possible under the constraint that sensing and communication are purely local — the environment acts as a shared memory that nobody owns.

Describe the model of ant foraging: the two mechanisms and the role of each feedback.

The trajectory of an ant is viewed as a sequence of discrete steps along a graph. (1) Probabilistic choice rule: the choice of the next node favours edges with a higher amount of artificial pheromone. (2) Feedbacks: positive — the quantity of pheromone laid down depends on the quality of the path, so in a shortest-path task lower-cost paths are reinforced and attract more ants; negative — pheromone evaporates in time, which dampens the effect of random fluctuations that might lead to premature convergence to low-quality solutions.

Write the ACO transition rule and explain each symbol.

P(i->j) = [tau_ij]^alpha [eta_ij]^beta / SUM_k [tau_ik]^alpha [eta_ik]^beta for feasible j, and 0 otherwise. τij is the amount of pheromone on edge (i,j); ηij is a heuristic value estimating the desirability of the edge; α and β weight the relative influence of pheromone and heuristic. In the simple three-node case this reduces to P(j) = tau_j / (tau_1 + tau_2 + tau_3).

Distinguish division of labour, task allocation and task partitioning.

Division of labour: different activities are performed simultaneously by specialised individuals. Task allocation: the process that leads to the assignment of one task to each individual of the colony. Task partitioning: optimally partitioning the task into sub-tasks that can be tackled separately. Division of labour is efficient because parallelism avoids task switching (which costs energy and time) and specialization enables high performance.

State the response-threshold model.

A stimulus is associated with a task; individuals start to be engaged when the stimulus exceeds a threshold. With Si the state of individual i (0 inactive, 1 active), s the stimulus and θi the response threshold (the higher θi, the lower the tendency to perform the task), an inactive individual becomes active with probability per unit time p = s^alpha / (s^alpha + theta_i^alpha), while an active individual becomes inactive with probability p0 per unit time.

Give the corpse clustering model and explain why it produces clusters.

With f the fraction of perceived items in the neighbourhood, and ants moving randomly: probability of pick-up p_p = (k1/(k1+f))^2, probability of delivery p_d = (f/(k2+f))^2, with k1 and k2 threshold constants. When few items are around, pick-up is likely and delivery unlikely, so isolated items are removed; where many items are around, the reverse, so items are deposited. Clusters grow by attracting workers to deposit more items — positive feedback.

Describe the adaptive prey retrieval study: states, adaptation and the scientific question.

Controller: a probabilistic finite state automaton with states Search, Retrieve, Deposit, Return, Rest. Robots move from Rest to Search with probability P1 each second; P1 is updated on the transitions Search→Return (failure) and Deposit→Rest (success), and constrained to [Pmin, Pmax]. Simple robots, simple sensors, no communication. The main scientific question: is there an actual performance gain in using more than one robot, since the task can be accomplished by a single one?

What is DEMIURGE, and why does it appear in the swarm robotics lecture?

DEMIURGE is a project on the automatic design of robot swarms: an intelligent system able to design and realize robot swarms in a totally integrated and automatic way, designing all aspects of a swarm — hardware and control software — starting from requirements expressed in an appropriate specification language. It appears here because the main difficulty in programming swarms is that individual behaviours must be programmed so that the desired collective behaviour emerges, and automatic or semi-automatic design is the promising alternative to manual programming.

What did Garattoni and Birattari (2018) demonstrate?

A robot swarm able to collectively sequence tasks whose order of execution is not known a priori. The key claim: the ability to plan emerges at the collective level from the interaction of reactive individuals — planning without any individual planner.

Write the aggregation update rules of lab activity 6 and identify the two feedbacks.

Ps = min{Psmax, S + alpha*N} and Pw = max{Pwmin, W - beta*N}, where N is the number of nearby stopped robots. The first is positive feedback: the more stopped neighbours, the more likely a robot is to stop. The second is negative feedback: robots at the boundary of a group perceive fewer neighbours, so their probability of leaving is higher than that of robots inside. Suggested starting values for a 5×5 m arena, at least 30 robots and 30 cm range: W = 0.1, S = 0.01, Psmax = 0.99, Pwmin = 0.005, α = 0.1, β = 0.05.

How does the range-and-bearing system differ from WiFi?

It provides localized communication: a receiving robot also detects the position of the sender relative to its own point of view. Unlike WiFi: robots exchange data only in direct line of sight (an object in between blocks it); senders can only broadcast in a limited area, so you cannot choose an addressee as with an IP address; and the payload is only 10 bytes. Each message carries data, horizontal_bearing, vertical_bearing and range.