  Rapid performance recovery from unforeseen environmental perturbations
remains a grand challenge in swarm robotics. To solve this challenge, we
investigate a behaviour adaptation approach, where one searches an archive of
controllers for potential recovery solutions. To apply behaviour adaptation in
swarm robotic systems, we propose two algorithms: (i) Swarm Map-based
Optimisation (SMBO), which selects and evaluates one controller at a time, for
a homogeneous swarm, in a centralised fashion; and (ii) Swarm Map-based
Optimisation Decentralised (SMBO-Dec), which performs an asynchronous
batch-based Bayesian optimisation to simultaneously explore different
controllers for groups of robots in the swarm. We set up foraging experiments
with a variety of disturbances: injected faults to proximity sensors, ground
sensors, and the actuators of individual robots, with 100 unique combinations
for each type. We also investigate disturbances in the operating environment of
the swarm, where the swarm has to adapt to drastic changes in the number of
resources available in the environment, and to one of the robots behaving
disruptively towards the rest of the swarm, with 30 unique conditions for each
such perturbation. The viability of SMBO and SMBO-Dec is demonstrated,
comparing favourably to variants of random search and gradient descent, and
various ablations, and improving performance up to 80% compared to the
performance at the time of fault injection within at most 30 evaluations.
