A Self-Guided Approach for Navigation in a Minimalistic Foraging Robotic Swarm

We present a biologically inspired design for swarm foraging based on ant's pheromone deployment, where the swarm is assumed to have very restricted capabilities. The robots do not require global or relative position measurements and the swarm is fully decentralized and needs no infrastructure in place. Additionally, the system only requires one-hop communication over the robot network, we do not make any assumptions about the connectivity of the communication graph and the transmission of information and computation is scalable versus the number of agents. This is done by letting the agents in the swarm act as foragers or as guiding agents (beacons). We present experimental results computed for a swarm of Elisa-3 robots on a simulator, and show how the swarm self-organizes to solve a foraging problem over an unknown environment, converging to trajectories around the shortest path. At last, we discuss the limitations of such a system and propose how the foraging efficiency can be increased.


I. INTRODUCTION
In the past thirty years the use of multi-agent techniques to solve robotic tasks has exploded.The advancement of processing power, sensor accuracy and battery sizes has enabled the realisation of coordinated multi-robot problems, where a number of agents organize to solve a specific task.When designing increasingly larger systems, a huge part of methods draw inspiration from biological systems (ants, bees...) where large amounts of agents interact (directly or indirectly) to produce emerging behaviour that results in an optimized solution to a physical problem.Biologically inspired multirobot systems are usually referred to as robotic swarms (See e.g.[1]- [4]).
These biological methods have enabled plenty of theoretical developments, but the applicability of them is still sparse partly due to problem complexities hard to satisfy with minimalistic robots.We focus in this work on the well known foraging problem, defined as the dual problem of exploration/exploitation, where a number of agents start at a given point in space and must find a target in an unknown (possibly time varying) environment, while converging to cycle trajectories that enable them to exploit the found resources as efficiently as possible.Foraging has been extensively studied but it is still interesting when designing very large robotic systems since it combines exploration and on-line path planning, and the duality of exploration vs. exploitation is nowadays extremely relevant in Reinforcement Learning and other AI related fields [5]- [7].In particular, this problem has been addressed with robotic ant-inspired swarms that use indirect communication through some "pheromone" (either virtual or chemical) [8]- [10].Some early work was done in [11] showing how robots can use pheromone based information to explore and collect.After that, authors in e.g.[12]- [21] have explored several practical methods to implement pheromonebased robotic navigation.However, very often complexities explode when designing very large multi-robot swarms, be it in terms of computation, data transmission or dynamic coupling.Additionally, these systems sometimes include implicit assumptions that in practice prevent them of being applied to large scenarios or real situations.These may be related to sensor range, memory storage in the agents, computational capacity or reliability of communications, among others.

A. Related Work
There have been multiple proposals for de-centralised multi robot foraging systems.Authors in [22] propose a multirobot system that uses IR to communicate a pheromone based counter signal between robots in a network, cascading all agents' information through the network, such that agents find an unknown target in space and find trajectories back and forth.The authors in [23] use an ant-inspired swarm to solve a foraging problem on a 2D space by assuming a connected line-of-sight communication network, and having agents flood this network with their estimation of their relative position and angle at every time step.
In [24], [25], authors use a combination of agents and beacon devices to guide navigation and store pheromone values.Authors treat pheromones as utility estimates for environmental states, and agents rely on line-of-sight communication and relative distances to the beacons to generate foraging trajectories.In [26] the authors design a system where robots communicate with each other via LED signalling to indicate trails or vector fields pointing towards a given target, and provide empirical results on a wide number of scenarios.In [27], [28] the authors use a virtual-reality approach to implement the pheromone field, allowing the robots to have access to this virtual pheromone from a central controller, enabling effective foraging.
It is worth noting that [22], [23], [26] assume agents in the swarm communicate directly with other agents, while [24], [25] de-couples this and proposes an environment-based interactions where agents only write and read data into locally reachable beacons.All represent collaborative methods, and assume knowledge of relative positions between agents.In [29], [30], authors propose bee-inspired path integration algorithms on a computational set-up, where agents use landmarks to store pheromone-based information when a change in direction is required.

B. Main Proposal
All the reviewed work requires robots to either have some form of position measurement (global or relative), some form of infrastructure or centralised knowledge entity, or both.These are specially critical when navigating in environments where any access to global or relative positioning is not possible, and where the infrastructure is limited (e.g.space exploration).Additionally, some present strong requirements on communication of information in the swarm, either requiring connected line-of-sight communication or by cascading tables of agent data through the network.Our goal is here to design a minimalistic swarm system capable of solving the foraging problem by using a form of pheromone-inspired communication, without any such assumptions, and the following restrictions: • Minimal assumptions on the robot capabilities.All agents are supposed to have equal characteristics (homogeneous system), do not have knowledge of relative (or global) positions with respect to other robots, and only need an orientation measure (a compass).• The system relies on one-hop communication only with limited range, and does not require direction or distance information on signals, nor line-of-sight connectivity.• Is fully distributed and needs no infrastructure in place.
• Does so with robustness versus communication events or single agent failures.

C. Preliminaries
We use calligraphic letters for sets (A), regular letters for scalars (a ∈ R) and bold letters for vectors (a ∈ R n ).We consider discrete time dynamics k ∈ N, and we define an inter-sampling time τ ∈ R + such that we keep a "total" time measure t = τ k.With vectors we use v as the euclidean norm, and v := v v .We use the diagonal operator D(•) = diag(•).

II. PROBLEM DESCRIPTION
Take a swarm of N agents A = {1, 2, ..., N } navigating in a bounded domain D ⊂ R 2 , where D is compact (possibly non-convex).We define x a (k) ∈ D as the position of agent a at time t, and velocity v a (k) = v 0 (cos(α a (k)) sin(α a (k))) T with α a (k) ∈ [−π, π) as its orientation.We define the dynamics of the system to be in discrete time, such that the positions of the agents evolve as Consider the case where the swarm is trying to solve a foraging problem.
Definition 1 (Foraging Problem).A foraging problem on an unknown domain D is the joint problem of finding a target region T ⊂ D when starting on a different region S ⊂ D, S∩T = ∅, and eventually following (semi) optimal trajectories between S and D.
The main goal when solving a foraging problem is to complete trajectories between S and D as fast as possible (through the shortest path), back and forth.We consider the foraging problem to be solved if, eventually, all agents in the swarm are able to follow trajectories that are close to the set of optimal trajectories.To design such a swarm, we make the following assumptions on the swarm agents' capabilities.
1) Agents have a small memory, enough to store scalars and vectors in R 2 , and enough computational power to perform sums and products of vectors.2) Agents have the ability to send and receive basic signals (up to 6 scalar values), within a maximum range δ. 3) Agents have some form of collision avoidance mechanism, acting independently of the design dynamics.4) Agents have sensing ability to detect S, T .5) Agents have some measure of angular orientation (e.g. a compass).6) Agents are able to remain static.
Observe that we do not assume the ability to measure directionality in the signals, nor any form of self-localisation capacity.Additionally, the agents do not have access to any form of global information about D, do not have unique identifiers and do not require line-of-sight interactions.The swarm does not require either any form of infrastructure in place.At last, the swarm relies on one-hop communication only.That is, the communication happens on a agent-to-agent basis, and agents do not cascade information through the communication network.The challenge to be solved in this work is then the following.
Problem 1. Design a swarm of N agents that solves a foraging problem over an unknown domain D, while satisfying the set of Assumptions 1, and does so with guarantees.

III. PROPOSAL: SELF GUIDED SWARM
We now present our design for a self-guided swarm that solves the foraging problem presented in Section II.Our design is based on the idea of allowing agents in the swarm to behave as "beacons" (agents in charge of guiding others) or "foragers" (agents in charge of travelling from S to T ).Beacon agents store weight values ω s b (k) ∈ R + and guiding velocity vectors u s b (k) ∈ R 2 , which they broadcast to the foragers in the swarm to generate foraging trajectories.We first describe the different modes the agents can operate in, the switching rules between modes, and then the dynamics in every mode.

A. States and transitions
Let us then split the swarm into three groups of agents.We will use the state variable We use s = F 1 , F 2 as the different foraging states.Then, we can group the agents in time-dependent sub-sets: the beacon set B(k) : {a ∈ A : s a (k) = B} and the forager sets A s (k) := {a ∈ A : s a (k) = s}.
At t = 0 all agents are initialised at S. One agent is chosen to be the initial beacon, and all others are initialised as foragers looking for T : This initial beacon can be chosen at random, or based on some order of deployment of the swarm.Let us now define the regions of influence of every agent as D a (k) := {x ∈ D : x − x a (k) 2 ≤ δ}, for some maximum instrument range δ ∈ R + .As time evolves, the agents switch between states following the logic rules ∀a ∈ A: The switching rule in ( 3) is interpreted in the following way.If a forager moves to a point in the domain where there is no other beacons around, it becomes a beacon.If a forager is looking for the set T (mode 1) and finds it, it switches to finding the starting set S (mode 2), and the other way around.For now we do not consider transitions from beacon to forager.

B. Dynamics
We assume that beacons remain static while in beacon state: where k b is the time step when agent b switched to beacon state.Beacon agents store weight values ω s b (k) ∈ R + and guiding velocity vectors u s b (k) ∈ R 2 , initialised at zero for all agents in the swarm.At every time-step, beacon agents broadcast their stored values ω s b (k), u s b (k) with a signal of radius δ.Let us define the set of neighbouring beacons to a forager in state s, f To account for possible disturbances in sensor measurements, we consider the disturbed weight and velocity values for a random variable At every time-step each forager receives a set of signals from neighbouring beacons, and computes a reward function where λ ∈ [0, 1] is a discount factor, and for some r ∈ R + , The reward function in (6) works as follows: Foragers listen for weight signals from neighbouring beacons and broadcast back the maximum discounted weight, plus a constant reward if they are in the regions S or T depending on their state.
Observe that (6) depends on s, indicating that foragers listen and reinforce only the weights corresponding to their internal state value.The beacons update their weight values using a (possibly different) discount factor ρ ∈ [0, 1] as The iteration in ( 8) is only applied if there are indeed neighbouring foragers around a beacon, so The update rule of u s b (k) is similarly: and again, At the same time that beacons update their stored weight values based on the foragers around them, they update as well the guiding velocity vectors by adding the corresponding velocities of the foragers around them (with an opposite sign).The logic behind this has to do with the reward function in (6).Foragers looking for T update weights and guiding velocities associated with state F 1 , but to indicate that they are in fact moving out of S, we want to update the guiding velocities based on the opposite direction that they are following.
Until now we have defined the dynamics of the beacon agents: position and velocities in (4) and update rules for 8) and (9).We have yet to define the dynamics of the foragers.At every step, the foragers listen for guiding velocity and weight signals from beacons around them.With this information, they compute the guiding vector: where s is the opposite state to s, s At every time-step foragers choose stochastically, for a design exploration rate ε ∈ (0, 1), if they follow the guiding vector vs f (k) or they introduce some random noise to their movement.Let α u be a random variable taking values (−π, π], following some probability density function p(α u ), and let αa (k) := α a (k) + α u .Then, ∀f ∈ A s (k): Additionally, we add a fixed condition for an agent to turn around when switching between foraging states.That is, With ( 11) and ( 12) the dynamics of the foragers are defined too.We have experimentally verified that, over a diverse variety of set-ups, the weights ω s b (k) converge on average to a fixed point forming a gradient outwards from S and T , therefore guiding the swarm to and from the goal regions.

IV. RESULTS AND GUARANTEES
To show that the swarm finds the target region T and eventually converges to close to optimal trajectories between S and T , let us first state the assumptions for the following theoretical results.Assumption 2.
1) Any region D k ⊆ D is a compact disc of radius δ.
2) τ < δ 2 , and can be chosen small enough in comparison to the diameter of the domain D.
3) The regions S and T are compact discs of radius, at least, 2τ .

A. Domain Exploration
Remark 1.It holds by construction that ∃b : From the transition rule in (3) it follows that, whenever , it becomes a beacon, therefore covering a new sub-region of the space.To obtain the first results regarding the exploration of the domain, we can take inspirations from results in RRT exploration [31], where the agents perform a similar fixed length step exploration over a continuous domain.Let p a (x, k) be the agent probability density of point x at time k.We obtain the following results.
Proposition 1.Let D be convex.Let some a ∈ A have x a (k 0 ) = x 0 .Then, for any convex region D n ⊂ D of nonzero volume, there exists κ n ∈ R + and time Sketch of proof.At every time-step t, with probability ε, it holds α a (k + 1) = α a (k) + α u , and observe that α a (k + 1) ∈ (−π, π].Let agent a be at point x 0 at time k 0 , and take the event where for every time-step after k 0 the agent always chooses the random velocity.For In this case, the set in ( 14) forms a ball of radius 2τ around x 0 .At k = k 0 + 2, it holds from ( 14) that p a (x, where κ 2 ∈ R + is a function of the set D 2 and the probability density p a (x, k 0 +2).
The sets X a (k) are balls centred at x 0 and radius k τ , and p a (x, k) > 0 ∀ x ∈ X a (k).Let at last D n be any convex subset of D with non-zero volume, and Now we can draw a similar conclusion for the case where D is non-convex.
Lemma 1.Let D be a non-convex connected domain.Let some a ∈ A have x a (k 0 ) = x 0 .Then, for any convex region D n ⊂ D of non-zero volume, there exists τ > 0 and κ n > 0 such that we can find a finite horizon k n ∈ N: Sketch of proof.If D is connected, then for any two points x 0 , x n ∈ D, we can construct a sequence of balls {X 0 , X 1 , ..., X kn } of radius R ≥ τ centred at x 0 , x 1 , ..., x kn such that the intersections X i ∩ X i+1 = ∅ and are open sets, and x i ∈ X i−1 .Then, we can pick τ to be small enough such that every ball X i ⊂ D does not intersect with the boundary of D, and we can apply now Proposition 1 recursively at every ball.If x i − x i−1 2 < 2τ , then from Proposition 1 we know p(x i , k i−1 +2) > 0 since, for a given x i−1 and k i−1 , any point x i has a non-zero probability density in at most 2 steps.Then, it holds that p(x n , k n−1 + 2) > 0 for some and for a target region It follows from Lemma 1 that for a finite domain D every forager agent visits every region infinitely often.
For a given initial combination of foraging agents, we have now guarantees that the entire domain is be explored and covered by beacons as t → ∞.

B. Foraging
We leave for future work the formal guarantees regarding the expected weight field values ω s b (k) and guiding velocities u s b (k).Based on existing literature [22], [32], one could model the network of beacons as a discrete graph with a stochastic vertex weight reinforcement process based on the movement of the robots to proof convergence of both ω s b (k) and u s b (k).Such results would also allow us to study the limiting distribution of the robots across the space, as well as their trajectories.In this work we have experimentally verified that, over a diverse variety of set-ups, the weights ω s b (k) converge on average to a fixed point forming a gradient outwards from S and T , therefore guiding the swarm to and from the goal regions.

V. EXPERIMENTS
For the experiments we present an application running on real Elisa-3 robot (GCTronic), and a more extensive statistical analysis of simulations running on Webots [33].We used the Webots simulator for the implementation of the work in a robotic swarm, given its capabilities to simulate realistic robots in physical environments, and since it includes realistic Elisa-3 robot models, which characteristics satisfy the restrictions in Assumption 1 (using odometry for direction of motion measures).
The swarm agents are able to listen almost-continuously, store any incoming signals in a buffer, and empty the buffer every τ seconds.The parameters used for both the simulation and the real swarm are presented in Table I

A. Simulated Swarm
We simulated first a general scenario where a swarm of size N is deployed around a starting region and needs to look for a target in an arena of size 2.5m × 3m, with and without obstacles.The robots act according to the rules in Algorithms 1, 2, which correspond to the dynamics covered in Section III.In these first simulations we keep beacon agents static and without any switching.11) and ( 12); Move according to v f (k + 1);

Asynchronous action if Obstacle then
Move to avoid obstacle; end if Check transitions in (3); end while A first result on the swarm configuration under these parameters is shown in Figures 1, 2  One can see how the swarm is able to navigate to the target set, and does so around the shortest path.Note however how the random motion still affects some members of the swarm, and how the agents' accumulation seems to be restricted by how well the beacons represent the desired velocity field.This can be clearly seen in Figure 2b.Most swarm members are indeed moving back and forth from S to T , but do so spreading between the rows of beacons closer to the minimum length path.
1) Performance Metrics: To fully evaluate the performance of the method we now include results regarding convergence and efficacy metrics.We are interested in measuring two main properties in such swarm:  To measure the foraging performance, we use the navigation delay of the swarm.Navigation delay is used as a performance measure of foraging problems [23], and it is defined as the average time it takes an agent to travel back and forth between the target regions.For a finite horizon t ∈ [t 0 , T ], Accumulation of agents around trajectories (or path creation) is an example of emergent self-organized behaviour.To measure this, entropy has been used to quantize forms of clustering in robots, and to investigate if stable selforganization arises.We use the hierarchic social entropy as defined by [34] using single linkage clustering.Two robots are in the same cluster if the relative position between them is smaller than h.Then, with C(t, h) being the set of clusters at time t with minimum distance h, c i ∈ C(t, h) and A ci being the subset of agents in cluster c i , entropy for a group of robots is   Hierarchic social entropy is then defined as integrating H(R, h) over all values of h, S(R) = ∞ δ0 H(R, h)dh.To allow for zero entropy, we take the lower limit of the integral to be the diameter of the robots (δ 0 = 4cm).
2) Results: For our experiments, we consider swarm size between N ∈ [49, 157].We evaluate the system in an arena of 7.5m 2 , and study 2 cases (with and without central obstacle).The results for the navigation delay are presented in Figures 3a  and 3b.All simulations are run for horizons T = 400s, since that was observed to be enough for the swarm to stabilize.Each data point includes results from 12 independent test runs.The navigation delay is measured for three different scenarios: 1) Orange: Agents moving at random for (t conv , T max ).
2) Yellow: All agents A when following self-guided foraging for (t conv , T ). 3) Blue: Only forager agents A s for the horizon (t conv , T ).
To get a conservative value for t conv , we define it as the first time step when an agent completes the first full foraging trip back and forth.We also include an absolute lower bound, corresponding to the absolute minimum possible travel time in the considered scenario.
We can now extract several conclusions with respect to the swarm sizes.For a size of N = 49 or smaller too many agents are needed as beacons, hence the performance (specially when considering the full swarm) is significantly worse than for bigger swarms.We can see that, for growing swarm sizes, the performance increases and the variance in the results reduces, until a certain point (around N = 120) where this tendency reverses.This is due to the overcrowding effect.The robots occupy space, and need to perform obstacle avoidance manoeuvres to not collide with each-other.The robots are around 4cm in diameter, and start collision avoidance manoeuvres when they are close (≈ 2cm) to an obstacle or another robot.
Since the experiments are run on a small arena, the swarm reaches a point where there can be too many robots in the same space.Another point worth noting is that the lower bound (blue dashed line) in Figures 3a and 3b is extremely conservative, and represents the case where robots know and follow the optimal path to the target.
The entropy results are presented in Figure 4b and 4a.In this case, we only compute the entropy of the forager agents, and we normalise against a practical "maximum" entropy computed by randomizing agents over the entire space.At t = 0 all agents start at the nest, hence the low entropy values, and from there the entropy increases while the swarm explores and tries to find the target.After the exploration phase, the entropy begins to settle to lower values as the robots accumulate over fewer trajectories.Entropy is higher for the symmetrical obstacle due to first, the split of agents among the two possible paths, and second, the minimum length path being longer.
At last, regarding the robustness in the system, if a beacon fails or is removed, it will be eventually replaced by a new exploring agent.The simulations are performed for noisy signals (weights and velocities), and the beacon processes a maximum number of 5 signals to account for bandwidth restrictions or colliding communication packages.

B. Robotic Swarm
We implemented the work on real Elisa3-robots, in order to qualitatively confirm results of the work.Since the Elisa-3 robot is also used for the Webots experiments, the robot characteristics and behaviour are the same for both the real swarm and the simulated swarm.Note that the Elisa3-robots matches the restrictions of Assumption 1, except the capacity to measure its angular orientation.To overcome this shortcoming, a global tracking system is employed which equips the robots with a virtual compass.Since our tracking system is only able to measure the orientations of the robots when all robots are not moving, the robots run synchronously.
In the test set-up, a swarm of 35 robots is deployed around a starting region and needs to look for a target in an arena of size 2.4m×1.15mwithout obstacles (See Electronic Suplementary Material 1).Figures 5a, 5b  simulation.The red and blue pillars are the centers of the nest region and target region, respectively.Green coloured robots are beacons, red coloured are searching for the nest region, blue coloured are searching for the target region.The black arrows indicate the heading direction, the blue and red arrows the guiding velocities ν(k) at each beacon.
The resulting behaviour aligns with the predicted design dynamics.The swarm creates a covering beacon network.The first robots reaching the target region attracts other robots to this region and after 30 steps all non-beacon robots travel back and forth between the target regions, clustered around the shortest path.We point out that during all tests there were robot failures.This did not affected the swarm's behaviour noticeably, showing its robustness.We leave for future work the realisation of extensive tests with more powerful robots to confirm all results in other scenarios of swarm deployment.

VI. EXTENSIONS AND FUTURE DIRECTIONS
The presented system throughout this work has shown to be effective at generating emerging behaviour that solves an exploration-exploitation problem, while requiring very minimal characteristics on the individual robots.The ultimate goal is to design swarms methodologies that allow us to implement such methods in real robots as efficiently as possible, without requiring complex single systems.In this line of thought, we can already propose some extensions to such minimalistic swarm methods.One clear downside of the foraging system presented in this work is the requirement for relatively large amounts of beacons.This increases the overall inefficiency and requirements of the system, requiring robots to behave as  beacons even in regions where they are not needed.
An extension to our method to increase overall efficiency could be to implement controllers in the beacons to allow them to turn back to foragers when their weights have not been updated for a long time and to move to more transited areas of the environment.This would on the one hand ensure only the necessary amount of beacons are employed as the system evolves, and on the other hand increase the granularity (or the definition) of the paths that are being used more often, possibly enabling more optimal configurations.
We implemented a prototype of such method, simply allowing beacons to turn to foragers when their weights are lower than a specific threshold for too long, and adding a P  controller to the velocity of the beacons (set to 0 in previous experiments).This controller allows the beacons to slowly move towards the mid direction between their two guiding velocity vectors u s b (k).The logic between this controllers is straight-forward: If the most optimal path is a straight line, the most optimal configuration for the beacons would be to sit along the line, with the guiding vectors on 180 o .The extension was implemented on a simplified "particle" simulator with N = 101 agents, where the robots are point-masses and are not affected by collision avoidance mechanisms, since this allows us to test extensions quicker before moving to real implementations.From Figures 7a and 7b one can see how this proposal seems promising to increase the efficiency of the system.Beacons re-configure themselves, and get closer to the optimal path allowing more accurate trajectories by the agents.Additionally, the environment is covered by beacons during the exploration phase, but eventually large unvisited areas of the domain are covered less beacons (until some are completely empty), reflecting the fact that those areas are not of interest any more.Such extensions would also have an impact on the performance of the system on dynamic environments, by allowing the swarm to re-configure depending on changes around them, and using more infrastructure (beacons) when the surroundings are changing faster.

VII. DISCUSSION
We have presented a foraging swarm design where robots are able to guide each-other to successfully forage without the need of position measurements, infrastructure or global knowledge, and using minimal amounts of knowledge about eachother or the environment.The system has been implemented on a swarm of Elisa-3 robots, and an extensive experimental study has been performed using the Webots simulator.We have shown how a middle sized swarm (N ≈ 100) is able to find an unknown target and exploit trajectories close to the minimum length path.The system does require agents to know their orientation, and we have seen how it can be affected by overcrowding effects when agents need to avoid colliding with each-other.Additionally, we have observed how the optimality of the trajectories is affected by the resulting distribution of the beacons, which gives room for future work regarding the possibility of having beacons re-configure to more optimal positions.This would allow for beacon movement and reconfiguration to explore the possibilities of using dynamic infrastructure in robotic swarms.We expect in the future to add ultra-wide band communication modules to the Elisa-3 robots with magnetometers, that would allow us to run the system on a much larger swarm and on more complex environments, and to apply it to other navigation-based problems like surveillance, target interception or flocking.We leave for future work as well the formal analysis of the resulting beacon graphs, and the evolution of the variables ω(k) and u(k).
parameters the maximum range δ is virtually limited to restrict the communication range and simulate larger environments where not all robots are capable of reaching each-other.Additionally, the robots use a built-in collision avoidance mechanism, which is triggered when the infra-red sensors detect an obstacle closer than 2cm.

Algorithm 1 Algorithm 2
Behaviour of Beacons while s b (k) = 0 do Broadcast ω s b (k), u s b (k); Listen for signals during τ seconds; Compute ω s b (k + 1), u s b (k + 1); Move according to v b (k + 1); if Obstacle then Move to avoid obstacle; end if Check transitions in (3); end while Behaviour of Foragers while s f (k) = 0 do Listen for signals during τ seconds .
, 6a and 6b show snapshots of this