1 Introduction

Flocking, sometimes referred to as self-organized flocking, is the cohesive and aligned motion of individuals along a common direction. In flocking, the individuals maneuver, forage, and avoid predators as if they were a single super-organism. Flocking is a widely observed phenomenon in animals living in groups such as crickets (Simpson et al. 2006), fish (Aoki 1980), or birds (Ballerini et al. 2008).

One of the main mechanisms that is being studied in flocking is how individuals communicate directions to their neighbors. Couzin et al. (2005) studied how information can be transferred in flocking. They introduced the notions of informed individuals that have a desired direction, in the rest of the paper referred as goal direction, and non-informed individuals, not aware of the goal direction. Couzin et al. (2005) showed that even a minority of informed individuals are able to move the group along the goal direction. The framework of informed and non-informed individuals has also been recently studied mathematically by Yu et al. (2010).

In some situations, animals achieve flocking in presence of multiple, possibly conflicting, sources of information with different priorities. An example is represented by the dynamics of some animals that are subject to attacks by predators. The escape direction from a predator and the direction to a food source are two conflicting pieces of information where the predator escape direction is more important to be followed than the direction to the food source. To deal with these situations, animals developed communication mechanisms to spread perceived information effectively and efficiently throughout the group (Franks et al. 2007; François et al. 2006).

In this paper, we study communication strategies for flocking in the context of swarm robotics (Brambilla et al. 2013). Swarm robotics studies different self-organized collective behaviors using groups composed of an high number of robots. Examples of such behaviors are area coverage (Hauert et al. 2008), chain formation (Sperati et al. 2011), collective decision-making and task partitioning (Montes de Oca et al. 2011; Pini et al. 2011). Recently, swarm robotics systems have been studied also using a swarm of heterogeneous robots (Dorigo et al. 2013; Ducatelle et al. 2011).

Here, we consider a flocking problem resembling the prey-predator example that we defined above. The problem is motivated by the following class of concrete applications. Consider a task to be performed at a certain location that needs several robots to be completed. An example can be the collection of a big object present at a particular location in the environment. In this and in other scenarios, flocking can be used by the robots to perform collective navigation to the desired goal location. Additionally, the environment can be cluttered by a number of elements, such as dangerous locations (fire or pits), that need to be avoided constantly or for a given amount of time. With large swarms, the direction to the goal and the dangerous locations might be perceived by a small proportion of the robots. We can imagine this happening practically in at least two possible ways: In the first, we might have only few robots equipped with some expensive sensors required for getting directional information. In this case, the informed robots are randomly distributed in the swarm. In the second scenario, all robots would be equipped with the same sensors, but only some robots might have access the relevant directional information due to their position in the swarm. For example, only the robots in the front might be able to sense the goal direction as they can directly sense it through a camera, while the others are shadowed by other robots. In this case, there is a spatial correlation between the relative location of the robots in the swarm and the information they possess. In all these situations, a typical objective would be to get all robots to a goal area without losing any, that is by keeping the swarm cohesive, even when there is a dangerous area to be avoided on the way.

The problem we tackle is an abstraction of the above example. We define two goal directions to be followed by the swarm: goal direction A, perceived by a small fraction of the swarm during the whole time, and goal direction B perceived by another small fraction of the swarm during a limited amount of time. Goal direction B has a higher priority with respect to goal direction A. The swarm is decomposed into two subsets: informed and non-informed robots, as in Couzin et al. (2005). Informed robots possess information about one among two possible goal directions, whereas non-informed robots do not possess any goal direction information.

The main contribution of this paper is a self-adaptive communication strategy (SCS) to tackle the problem defined above. SCS extends two strategies we previously proposed in Turgut et al. (2008) and in Ferrante et al. (2010) and is a novel local communication mechanism for achieving alignment control, one of the key component of the flocking collective behavior. The other components of the flocking behavior are based on the same methodological framework developed by Turgut et al. (2008). With SCS, robots informed about goal direction A indirectly sense the presence of goal direction B by detecting the fact that conflicting information is being communicated, and sacrifice their tendency to follow goal direction A in favor of goal direction B, in order to keep the swarm cohesive. Another contribution of this paper is to show that flocking on real robots can be done using local communication only. In fact, in contrast with global communication, local communication allows for a more scalable on-board implementation of the alignment behavior that does not require special and possibly expensive sensors to detect the orientation of the neighbors. Additionally, our robots are only allowed to communicate directional information. This makes our method applicable to a vast category of robots, including not only robots with limited communication capabilities but also robots that communicate only using visual information (LEDs and cameras). To demonstrate the feasibility of flocking with local communication, we validated on real robots both the strategy we proposed in Ferrante et al. (2010), previously validated only in simulation, and SCS, proposed here. To the best of our knowledge, this paper is the first to propose an alignment control strategy that allows for a fully on-board implementation on the robots, that can cope with two conflicting goal directions by, at the same time, keeping the swarm cohesive.

We conduct experiments in simulation and with real robots. For the sake of completeness, the experiments are conducted in three types of environments: stationary environment with only one goal direction (A) which does not change during the experiment; one-goal non-stationary environment with only one goal direction (A) which does change during the experiment; two-goal non-stationary environment with both goal direction A and goal direction B, where goal direction B is conflicting with goal direction A. Goal direction B is only present during a limited time window within the experiment.

The rest of the paper is organized as follows. In Sect. 2, we introduce the methodological framework we used. In Sect. 3, we present the three communication strategies studied in this paper, which include the proposed SCS. In Sect. 4, we introduce the robots and how we ported the flocking behavior and the communication strategies to simulated and to real robots. In Sect. 5, we present the experimental setup and the results achieved in simulation. In Sect. 6, we describe the experimental setup and the results obtained with real robots. In Sect. 7, we present a structured discussion of the related work and explain how our work can be placed in the literature. Finally, in Sect. 8, we conclude and outline possible future work.

2 Flocking control

The flocking behavior we used is based on the work of Turgut et al. (2008). Each robot computes a flocking control vector f. The expression of the flocking control vector is:

$$ {\bf f}=\alpha {\bf p} + \beta {\bf h} + \gamma {\bf g}_j $$

where p is the proximal control vector, which is used to encode the attraction and repulsion rules; h is the alignment control vector, which is used to make the robots align to a common direction; and g j is the goal direction vector, where the index \(j=\left\{0,1,2\right\}.\,j=0\) is associated to the zero length vector \(\|{\bf g}_0 \| = 0\) that is used in the case of the non-informed robots, whereas g 1 and g 2 are unit vectors that indicate goal direction A or B, respectively, in the informed robots. The weights α,  β and γ are the coefficients of the corresponding vectors.

2.1 Proximal control

The main idea of proximal control is that, in order to achieve cohesive flocking, each robot has to keep a certain distance from its neighbors. The proximal control vector encodes the attraction and repulsion rules: a robot moves closer to its neighbors when the distance to the neighbors is too high and moves away from them when the distance to the neighbors is too low.

The proximal control rule assumes that a robot can perceive the range and bearing of its neighboring robots within a given range D p . Let k denote the number of robots perceived by a robot, whereas d i and ϕ i denote the relative range and bearing of the ith neighboring robot, respectively. The proximal control vector p is computed as:

$$ \begin{aligned} {\bf p}=\sum_{i=1}^k p_i(d_i) e^{j\phi_i}, \end{aligned} $$

where \(p_i(d_i) e^{j\phi_i}\) is a vector expressed in the complex plane with angle equal to the direction ϕ i of the perceived robot and magnitude \(p_i(d_i)\). To compute the magnitude of the vector, we use the following formula that encodes the attraction and repulsion rule (Hettiarachchi and Spears 2009):

$$ p_i(d_i) = - 8 \epsilon \left[ 2 \frac{ \sigma^{4}}{d_i^{5}} - \frac{\sigma^2}{d_i^3} \right] $$

The parameter \(\epsilon\) determines the strength of the attraction and repulsion rule, whereas the desired distance \(d_{des}\) between the robots is linked to the parameter σ according to the formula \(d_{des}=2^{1/2}\sigma\).

2.2 Alignment control

The main idea of alignment control is that a robot computes the average of the directional information received from its neighbors in order to achieve an agreement to a common direction with its neighbors.

Alignment control assumes that a robot can measure its own orientation θ 0 with respect to the reference frame common to all robots. It can also send a piece of information, denoted as \(\theta_{s_0},\) using a communication device. The value of \(\theta_{s_0}\) depends on the communication strategy that is being used, as described in Sect. 3. The robot receives the information \(\theta_{s_i}\) sent by its neighbors within a given range D a . The information represents directions expressed with respect to the common reference frame. Once received, each \(\theta_{s_i}\) is converted into the body-fixed reference frameFootnote 1 of the robot (Fig. 1a). In order to compute the average of the received directional information, each direction (the ones received and the one sent) is converted into a unit vector with angle equal to \(\theta_{s_i}\) and all vectors are then summed up and normalized as:

$$ {\bf h} = \frac{\sum^k_{i=0} e^{j\theta_{s_i}}} {\|\sum^k_{i=0} e^{j\theta_{s_i}} \|} $$
Fig. 1
figure 1

a The foot-bot robot, the used sensors and actuators, and the body-fixed reference frame. b The arena seen from the overhead camera used for tracking: on the left we placed a light source realized by four lamps; a carton hat with a directional marker is placed on each foot-bot robot, in order to detect its orientation for metric measurements; the glowing robot is informed about goal direction A. Note that LEDs and the carton hats are not used in the controller but only for debugging and for taking measuraments, respectively

2.3 Motion control

The main idea of motion control is to convert the flocking control vector that integrates the proximal control vector, the alignment control vector and the goal direction vector, into the forward and the angular speed of the robot.

The motion control rule that we use is the following: Let f x and f y denote the magnitude of the flocking control vector (f) projected on the x-axis and y-axis of the body-fixed reference frame, respectively. The forward speed u is calculated by multiplying the x component of the flocking control vector by a constant K 1 (linear gain) and the angular speed ω by multiplying the y component of the flocking control vector by a constant K 2 (angular gain):

$$ u = K_{1} f_{x} $$
$$ \omega = K_{2} f_y{.} $$

3 Communication strategies

We consider and study three different communication strategies in alignment control: heading communication strategy (HCS), information-aware communication strategy (ICS) and the novel contribution of this paper, that is, SCS.

3.1 Heading communication strategy (HCS)

In HCS, first proposed in Turgut et al. (2008), the piece of information \(\theta_{s_0}\) sent by a robot to its neighbors is its own orientation \(\theta_{s_0}=\theta_{0},\) measured with respect to the common reference frame. This strategy is used to reproduce the capability of a robot i to “sense” the orientation of a neighboring robot j, by making robot j communicate its own orientation to robot i.

3.2 Information-aware communication strategy (ICS)

ICS was first proposed in Ferrante et al. (2010). It assumes that each robot is aware of whether it is non-informed or informed. If it is non-informed, it sends \(\theta_{s_0}=\angle{\bf h}\) (\(\angle \cdot\) denotes the angle of a vector) to its neighbors; otherwise, if it is informed, it sends \(\theta_{s_0}=\angle{\bf g}_{\text{j}}\). The intuitive motivation behind this strategy is the following: in case the robot is non-informed, it helps the diffusion of the information originating from the informed robots; if instead it is informed, it directly propagates the information it possesses to its neighbors. Using this mechanism, the information then eventually reaches the entire swarm. Note that, in contrast with HCS, in ICS (and also in SCS) the communicated angle does not coincide with the robot’s current state (orientation).

3.3 Self-adaptive communication strategy (SCS)

This strategy is the novel contribution of this paper. It extends ICS by introducing a parameter denoted by w t that represents the degree of confidence of one robot about the utility of its possessed information. The communicated directional information is computed in this way:

$$ \theta_{s_0}=\angle \left[ w_t {\bf g}_{\text{j}} + (1-w_t) {\bf h} \right]. $$

For non-informed robots, w t  = 0 (they do not possess information about g j). For informed robots, when w t  = 1, this strategy coincides with ICS. In SCS, however, we use the following rule to change w t :

$$ w_{t+1} = \left\{ \begin{array}{ll} w_t + \Updelta w & \hbox{if}\quad \|{\bf h'} \| \geq \mu;\\ w_{t} - \Updelta w & \hbox{if}\quad \|{\bf h'} \| < \mu,\end{array} \right. $$

where μ is a threshold and \(\Updelta w\) is a step value.

The quantity:

$$ \|{\bf h'}\|=\left\|\frac{\sum^k_{i=0} e^{j\theta_{s_i}}} {k+1}\right\| $$

is the local consensus vector. The choice of this quantity was inspired by the decision-making mechanism used by the Red Dwarf honeybee (Apis florea, the European honeybee). Nest selection in these bees consists in a democratic decision making process prior to taking flight. During the decision-making process, A. florea seek to combine information about the total number of bees performing waggle dance (a special mechanism scout bees use to advertise the found sites) and the level of agreement on a particular direction by a minimum number of those dancers. The combined measure for this type of information is the magnitude of the vectorial consensus (Makinson et al. 2011; Diwold et al. 2011), equivalent to our definition of \(\|{\bf h'}\|\).

The rationale behind SCS is the following. Informed robots communicate the goal direction when the detected local consensus is high. Local consensus measures how close the received pieces of information are to each other and to the information sent by the robot itself. When local consensus is 1, then the angles being communicated by the robot’s neighbors are perfectly identical and equal to the one sent by the robot. When instead the local consensus is low, then there is a conflicting goal direction in the swarm. The robots react to this by incrementally decreasing their level of confidence on the goal direction, up to the point where it reaches zero and they start behaving as the non-informed robots. This facilitates the propagation of highest priority directional information available to the swarm. Note that the level of confidence, w t , is an internal variable and is never communicated by the robots.

4 Flocking with mobile robots

The mobile robots we use are the foot-bot robots (Bonani et al. 2010), developed within the Swarmanoid project Footnote 2 (Dorigo et al. 2013) (the foot-bot robot is shown in Fig. 1a).

4.1 The hardware

The following on-board devices, depicted in Fig. 1a, are utilized: (i) A light sensor, that measures the intensity of the light around the robot. (ii) A range and bearing communication system (RAB), with which a robot can send a message to other robots that are within 2 m and in its line of sight (Roberts et al. 2009). This sensor also provides each robot with information on the relative position (range and bearing) of neighboring robots. (iii) Two wheels actuators, represented by two DC motors, that control independently the speed of the left and right wheels of the robot.

4.2 Flocking implementation

We implemented the flocking behavior described in Sect. 2 and the communication strategies described in Sect. 3 on both simulated and real robots. The controllers used in simulation and on the real robots are identical.

To achieve proximal control with the foot-bot robot, we use the RAB for measuring the relative range and bearing d i and ϕ i of the \(i{\text{th}}\) neighbor. For measuring the orientation θ0 of the robot, we use the on-board light sensor that is able to measure the direction to a light source placed in a fixed position in the environment. For achieving communication in alignment control, we use the communication unit present in the RAB. The forward speed u and the angular speed ω are limited within \([0, U_{\rm{max}}]\) and \([-\Upomega_{\rm{max}}, \Upomega_{\rm{max}}]\), respectively. We use the differential drive model of a two-wheeled robot to convert the forward and the angular speed into the linear speeds of the left (N L ) and right (N R ) wheel:

$$ N_L = \left( u + \frac{\omega}{2} l \right), $$
$$ N_R = \left( u - \frac{\omega}{2} l \right), $$

where l is the distance between the wheels.

The values of the constants that we used in our simulations are given in Table 1.

Table 1 Experimental values or range of values for all constants and variables used in simulation

5 Experimental setup

In this section, we first introduce the metrics used to assess the performance, both in simulation and on the real robots. We then describe the experimental setups used in simulation and with the real robots.

5.1 Metrics

In this study, we are interested in having a swarm of robots that are aligned to each other and that are moving towards a goal while maintaining cohesiveness. We use two metrics to measure the degree of attainment of these objectives: accuracy and number of groups. For defining the accuracy metric (Çelikkanat and Şahin 2010; Couzin et al. 2005), we need first to define the order metric as in (Vicsek et al. 1995; Çelikkanat and Şahin 2010; Ferrante et al. 2010).

Order

The order metric ψ measures the angular order of the robots. ψ≈ 1 when the robots have a common orientation and ψ ≪ 1 when robots point at different directions. To define the order, we first denote with b the vectorial sum of the orientations of the N robots:

$$ {\bf b} = \sum_{i=1}^N {e^{j\theta_i}}. $$

The order is then defined as:

$$ \psi = { {1}\over {N}}\|{\bf b}\|. $$

Accuracy

The accuracy metric δ is used to measure how close to the goal direction robots are moving. δ≈ 1 when robots have a common orientation (which corresponds also to a high value for the order metric ψ ≈ 1) and are also moving along the goal direction. Conversely, δ ≪ 1 when they are not ordered (ψ ≪ 1), when they are ordered but they are moving along a direction which is very different from the goal direction, or when both are true. Accuracy is defined as:

$$ \delta = 1 - \frac{1 - \psi cos(\angle {\bf b} - \angle {\bf g}_1) }{2}, $$

where \(\angle {\bf b}\) is the direction of b and \(\angle {\bf g}_1\) is goal direction A.

Number of groups

The number of groups at the end of the experiments indicates whether the swarm has split or has kept cohesion. The criteria to define a group and to calculate the number of groups is the following. We first find the distance between all pairs of robots. If the distance between the robots in a pair is smaller than the maximum sensing range of the RAB sensor (2 m), we set it as an equivalence pair and append to the list containing the other equivalence pairs. We then use the equivalence class method on the list to determine the equivalence class of each pair. The total number of equivalence classes calculated is equal to the number of groups. For the details of the equivalence class method refer to Press et al. (1992).

5.2 Simulation experimental setup

We execute experiments in simulation using the ARGoS simulator (Pinciroli et al. 2012). ARGoSFootnote 3 is an open-source, plug-in based simulator in which custom made physics engines and robots can be added with the desired degree of accuracy. We use a 2D dynamics physics engine called ChipmunkFootnote 4 and a realistic model of the foot-bot robot. Another feature of ARGoS is the possibility to cross-compile controllers both in simulation and on the real-robots without modifying the code. This allowed us to seamlessly port the same controller studied in simulation to the real robot.

In the experiments, N simulated robots are placed at random positions within a circle of variable radius and with random orientations uniformly distributed in the [− π, π] interval. The density of the initial placement of the robots is kept fixed at 5 robots per square meter and the radius is adjusted according to this density and to the number N of robots. A light source is also placed at a fixed position in the arena, far away from the robots but with a very high intensity.

We conducted three sets of experiments. The first two are used mainly to validate the new method in a similar setting as the one considered in Ferrante et al. (2010), while the third is new to this paper:

Stationary environment

A stationary environment is an environment where there is only one goal direction that is fixed at the beginning and does not change over time. In stationary environments, we randomly select a proportion ρ1 of robots and we inform them about goal direction A. All the other robots remain uninformed during the entire experiment. Goal direction A is selected at random in each experiment. The duration of one run is T s simulated seconds.

One-goal non-stationary environment

A one-goal non-stationary environment or, in short, non-stationary environment, is an environment where there is only one goal direction that does not change for an amount of time and then changes as a step function. This process repeats four times. Thus, a non-stationary environment consists of four stationary phases of equal duration. The proportion of informed robots ρ1 is kept fixed during the entire run. However, goal direction A and the informed robots are randomly re-selected at the beginning of each stationary phase. The duration of one run is T n simulated seconds.

Two-goal non-stationary environment

A two-goal non-stationary environment is an environment where goal direction A is present for the entire duration of the experiment and goal direction B is present only within a time window that lasts \(T_{\Updelta p}\). In two-goal non-stationary environments, we first randomly select a proportion ρ1 of robots that are informed about goal direction A. At a certain time T s , we randomly select a proportion ρ2 of robots that are informed about goal direction B. To capture the most difficult case, which corresponds to the case with maximal conflict (angular difference) between the two goal directions, we let goal direction B always point to the opposite direction with respect to goal direction A. At time \(T_s+T_{\Updelta p}\), we reset all informed robots and we re-sample a proportion ρ1 of robots and we make them informed about goal direction A for additional 2 T s simulated seconds. We call the phase between time T s and time \(T_s+T_{\Updelta p}\) the two-goal phase. The total duration of one run is \(T_p=3T_s+T_{\Updelta p}\) simulated seconds. The proportion ρ2 is always set to 0.1. Note that, robots informed about goal direction B use SCS with fixed w t  = 1 as they possess the information with the highest priority and as such they do not need to change their confidence into their goal direction.

Each set of experiments is further classified according to how informed robots are selected. This selection mechanism is either non-spatially or spatially correlated. Figure 2 depicts the difference between the two selection mechanisms.

Fig. 2
figure 2

Two pictures that explain the two selection mechanisms. a Non-spatial selection in stationary environment: gray circles that represent robots informed about goal direction A, are selected at random locations in the swarm (the white circles represent non-informed robots). b Spatial selection during the two goal phase in two-goals non-stationary environment: informed robots (grey and black circles) are selected at the periphery of the swarm. Grey circles represent robots informed about goal direction A (left-pointing arrow), whereas black circles represent robots informed about goal direction B (right-pointing arrow)

Non-spatial selection

With this selection mechanism, the informed robots are selected at random at the beginning of each stationary phase (see Fig. 2a).

Spatial selection

With this selection mechanism, informed robots are selected in a way such that they are always adjacent to each other. Furthermore, the selected robots are at the periphery of the swarm and their relative position is correlated to the goal direction (see Fig. 2b).

In all the experiments, we add noise to several components of our system: to the orientation measurement θ0, to the proximal control vector p and to the goal direction vector g j . We consider noise only in angle, as commonly done in flocking studies (Vicsek et al. 1995; Turgut et al. 2008), and we model it as a variable uniformly distributed in the [− ξ2π, +ξ2π ] range. The parameter ξ is used to control the magnitude of the noise. For each experimental setting, we execute R runs for each of the three strategies and we report the median values (50 % percentile), the first and the third quartile (25 % and the 75 % percentiles).

In all the experiments, we compare the strategies by also changing the proportion of informed robots ρ1 and the size of the swarm N. The format of the plots is always the same. On the same row we report results with the same number of robots (N), whereas on the same column we report results with the same proportion of informed robots (either 1 or 10 %). Table 1 reports the value of all parameters used in simulation.

5.3 Real robot experimental setup

Eight foot-bot robots are placed in the arena depicted in Fig. 1b. The swarm is placed at the center of the arena, each robot with a random orientation, at the beginning of each run. At the left of the arena, a light source area is also placed. To measure order and accuracy over time, we built a custom-made tracking system. We place carton hats, having a directional marker, on top of each robot.Footnote 5 This marker is detected by an overhead camera placed on the back side of the arena, at an height of about 3 meters and pointing to the ground towards the arena (Fig. 1b has been obtained by this camera). We recorded a movie for each experiment and we then analysed each video off-line using the Halcon software.Footnote 6 The analysis of a video produced a file containing, for each frame, the orientation of every robot detected.

Also on the real robots, we conduct three set of experiments: stationary, one-goal non-stationary and two-goal non-stationary environments. The settings are the same as in simulation (Sect. 5.2), with only two exceptions: the one-goal non-stationary environment consists of 2 stationary phases instead of 4 and the duration of the phases in all three settings are different and summarized in Table 2. We decided to reduce the duration of each experiment due to the limited size of the arena, which does not allow very long experiments involving robots that keep on going in one direction during the entire experiment. Furthermore, since experiments in simulation showed almost no difference in results between non-spatial and spatial selection, and due also to the limited size of the real robot swarm, on the real robots we consider only the non-spatial selection case.

Table 2 Experimental values or range of values for all constants and variables used with the real robots

For each experimental setting and for each of the three strategies, we execute 10 runs and we report the median values, the first and the third quartile. Since we are considering only 10 runs, we also perform the Wilcoxon rank sum test to validate the statistical significance of our claims. The statistical test is performed by comparing vectors containing each the time-averaged performance of a given method during a given phase (i.e. stationary) of the experiment.

The simulated noise described in Sect. 5.2 is not considered here due to the inherent presence of noise in the real sensors. Table 2 summarizes all the parameters of the setup. For the parameters of the controllers, see Table 1 as they are the same as those used in simulation. Since it has already been object of previous study (Turgut et al. 2008; Ferrante et al. 2010; Ferrante et al. 2012), here we did not perform any additional experiment for testing the robustness with respect to parameter variation. For what concerns the new parameters introduced by SCS, we manually tune them to the reported values. In particular, \(\Updelta w\) is set to 0.1 as larger values would produce large fluctuations of w while smaller values would correspond to a slower convergence time, and μ is set to 0.999 as it is enough to detect low local consensus with a very good precision. This is in turn possible due to fact that the range and bearing communication device is noise-free.

6 Results

In this section we present the results obtained in simulation (Sect. 6.1) and on the real robots (Sect. 6.2), and we conclude by summarizing and discussing these results.

6.1 Results in simulation

6.1.1 Stationary environment

Figure 3 shows the results obtained in stationary environments when using a non-spatial selection mechanism. Figure 3a and  c show that ICS outperforms the other two strategies when only 1 % of the robots are informed. When we consider the median values, SCS reaches the same level of accuracy as ICS in a slightly larger amount of time. In the best runs (above the 75 % percentile), performance of SCS is very close to those obtained with ICS, whereas in the worst runs (below the 25 % percentile), results are slightly worse. We also observe that results with HCS have larger fluctuations than the one obtained with the other two strategies. These results are consistent with the results obtained in Ferrante et al. (2010), in which we showed that ICS can provide high level of accuracy with a very low number of informed robots. Additionally, the novel strategy SCS shows a reasonable level of accuracy compared to ICS and performs much better than HCS.

Fig. 3
figure 3

Results in simulation. HCS, ICS and SCS in the stationary environment using the non-spatial selection mechanism: effect on the accuracy. Thicker (central) lines represent the medians of the distributions, whereas thinner lines represent the 25 % and the 75 % percentiles

When 10 % of the robots are informed, ICS and SCS have very similar performance. In all cases, HCS is outperformed by the two strategies, that is still consistent with the results in Ferrante et al. (2010).

Figure 4 shows the results obtained in stationary environments when using a spatial selection mechanism. Figure 4a, c show that, when only 1 % of the robots are informed, the median values of SCS is slightly worse with respect to the non-spatial selection case (Fig. 3c). This can be explained by the fact that, in this case, informed robots are at the boundaries instead of being at random positions. Hence, the propagation of the goal direction in the swarm takes a bit longer. When 10 % of the robots are informed (Fig. 3b vs Fig.  4b and Fig. 3d against Fig. 4d), results with the spatial selection mechanism show a minor difference in performance for the two selection mechanisms. In the supplementary material page (Ferrante et al. 2011), we report also the time evolution of the order metric and the distribution of the number of groups at the end of the experiment. As shown in Ferrante et al. (2011), in this case the swarm is always cohesive.

Fig. 4
figure 4

Results in simulation. HCS, ICS and SCS in the stationary environment using the spatial selection mechanism: effect on the accuracy. Thicker (central) lines represent the medians of the distributions, whereas thinner lines represent the 25 % and the 75 % percentiles

6.1.2 One-goal non-stationary environment

Figures 5 and 6 show the results obtained in non-stationary environments when using a non-spatial selection and spatial selection mechanisms, respectively. These results show two points. First, within each stationary phase, the results are all consistent with the results obtained in the stationary environment case. Second, we find that all strategies exhibit, to some extent, some degree of adaptation to the changes in the goal direction. In all the cases, the ranking of the three strategies is the same. The performance of SCS is always comparable to the one of ICS, although slightly lower. On the other hand, SCS is either better than HCS when the proportion of robots is 10 % (Figs. 5b, 6b and Figs. 5d, 6d) or much better when there is only 1 % informed robots (Figs. 5a, 6a and Figs. 5c, 6c). These results are also consistent with those obtained in Ferrante et al. (2010). In the supplementary material page (Ferrante et al. 2011) we report also the time evolution of the order metric and the distribution of the number of groups at the end of the experiment. As shown in Ferrante et al. (2011), also in this case the swarm is always cohesive.

Fig. 5
figure 5

Results in simulation. HCS, ICS and SCS in the one-goal non-stationary environment using the non-spatial selection mechanism: effect on the accuracy. Thicker (central) lines represent the medians of the distributions, whereas thinner lines represent the 25 % and the 75 % percentiles

6.1.3 Two-goal non-stationary environment

In this setting, we report not only the accuracy over time for the non-spatial (Fig. 7) and spatial (Fig. 8) selection mechanisms, but also the data regarding the number of groups present at the end of the experiment (Fig. 9). Figure 7 shows the results obtained in two-goal non-stationary environments when using a non-spatial selection mechanism. We first focus on the results for the 1 % informed robots case (Fig. 7a, c). In the first phase, between time 0 and T s , we observe similar results as those observed in stationary environments. Subsequently, during the two-goal phase, all strategies are able to track goal direction B (recall that goal direction B, that has higher priority, is set as opposite to goal direction A), since the accuracy, always computed with respect to goal direction A, drops to 0 during that phase. This is due to the fact that, in these experiments, ρ2 = 0.1 > ρ1 = 0.01, so the robots informed about goal direction B are able to drive the entire swarm along that direction because only one robot is opposing this trend. After time \(T_s + T_{\Updelta p}\), we observe that HCS continues tracking goal direction B, whereas ICS and SCS are able to follow again goal direction A. In Fig. 9a, e we observe that the swarm splits only when using ICS. These results show that both ICS and SCS are preferable to HCS in terms of accuracy, because they are both able to track the goal directions (first A, then B, then A again). However, SCS is better than ICS because it keeps swarm cohesion all the times whereas ICS does not.

Fig. 6
figure 6

Results in simulation. HCS, ICS and SCS in the one-goal non-stationary environment using the spatial selection mechanism: effect on the accuracy. Thicker (central) lines represent the medians of the distributions, whereas thinner lines represent the 25 % and the 75 % percentiles

Fig. 7
figure 7

Results in simulation. HCS, ICS and SCS in the two-goal non-stationary environment using the non-spatial selection mechanism: effect on the accuracy. Thicker (central) lines represent the medians of the distributions, whereas thinner lines represent the 25 % and the 75 % percentiles

Fig. 8
figure 8

Results in simulation. HCS, ICS and SCS in the two-goal non-stationary environment using the spatial selection mechanism: effect on the accuracy. Thicker (central) lines represent the medians of the distributions, whereas thinner lines represent the 25 % and the 75 % percentiles

Fig. 9
figure 9

Results in simulation. HCS, ICS and SCS in the two-goal non-stationary environment using the non-spatial (left plots a, b, e, f) and the spatial (right plots c, d, g, h) selection mechanism: number of groups at the end of the experiment

When the proportion of informed robots is set to 10 %, results are slightly different. In fact, HCS is not able to track goal direction B. This is due to the fact that, when ρ1 = ρ2 and the swarm already achieved a consensus decision on goal direction A, the number of robots informed about goal direction B is not large enough to make the swarm change this consensus decision. However, the swarm almost never splits, as shown in Fig. 9b, f. Figure 9b, f show instead that the swarm does not keep cohesion when the strategy used is ICS. This translates into an intermediate level of accuracy during the two-goal phase (Fig. 7b, d), due to the fact that when the swarm splits, part of it tracks goal direction A and the other part tracks goal direction B. The relative sizes of these groups change from experiment to experiment, which is directly linked to the observed fluctuations around the median value during the two-goal phase of ICS. The best results in these experiments are produced by using SCS. In fact, the swarm is able to first track goal direction A, then track goal direction B and then again goal direction A and the swarm cohesion is always guaranteed, even in large swarms of 300 robots.

Figure 8 shows the results obtained in two-goal non-stationary environments when using a spatial selection mechanism. When we first focus on the experiments with only 1 % of informed robots (Fig. 8a, c), results show that SCS outperforms the other two strategies, as it is the only strategy able to track changes in goal direction (A to B and back to A). HCS behaves as in the non-spatial selection mechanism. Conversely, ICS performs dramatically worse in this case, as the swarm always splits during the two-goal phase (Fig. 9c, g), which is due to the fact that informed robots are always selected along the periphery of the swarm. After this happens, the swarm can no longer track the goal direction A, as robots informed about goal direction A disconnected from the rest of the swarm during the two-goal phase. Results with 100 robots and 10 % informed (Fig. 9d) are similar to the ones reported, in the analogous case, for the non-spatial selection mechanism. However, with 300 robots, we observe that swarm cohesion is not guaranteed anymore, even when using SCS (Fig. 9h). This case is in fact the most challenging one, and we included it only to show the limits of our method. A large number of robots placed along the periphery is stretching the swarm in two different directions, eventually causing it to split. As a result, the accuracy metric is also affected (Fig. 8d). This case is unlikely in practice, as in a real application information would be either randomly distributed in the swarm (with robots having heterogeneous sensors) or possessed by robots sensing locally a dangerous situation which unlikely would be the ones on the back. For the time evolution of the order metric refer to the supplementary material page (Ferrante et al. 2011).

Figure 9 shows that the number of groups obtained when using ICS differs between the spatial and the non-spatial selection cases. In the non-spatial selection cases more subgroups are formed compared to the spatial selection case. This can be explained by the following argument: when using the non-spatial selection mechanism, several subgroups emerge and split from the main group at different moments of the experiment due to the presence of non-uniform “cluster of informed robots”; when using the spatial selection mechanism, instead, informed robots are spatially distributed in one unique cluster, so that the number of emerging subgroups is smaller and closer to two. For the time evolution of the order metric and for the distribution of group sizes for the first two environment refer to the supplementary materials page Ferrante et al. (2011).

6.2 Results with real robots

Figure 10 reports all the results obtained in the real robot experiments. Figure 10a shows that results obtained in the stationary environment are similar to those obtained in simulation (Figs. 34). Both ICS and SCS perform very well (null hyphothesis cannot be rejected), whereas HCS is not able to reach reasonable levels of accuracy in the same amount of time, that is, 100 seconds (p value <0.01). Results of experiments in one-goal non-stationary environment (Fig. 10b) also confirm this trend: during both phases, ICS and SCS perform considerably well whereas, with HCS, the informed robots (in this case one) are not able to lead the swarm along the desired direction (p value <0.01).

Fig. 10
figure 10

Results with real robots. HCS, ICS and SCS in all three environments. ac Plots the distribution of the accuracy metric over time for stationary, one-goal non-stationary and two-goal non-stationary environments respectively. Thicker (central) lines represent the medians of the distributions, whereas thinner lines represent the 25 % and the 75 % percentiles. d Plots the distribution of the number of groups at the end of the experiments in two-goal non-stationary environment

Figure 10c shows the results obtained in the two-goal non-stationary environment. As it can be seen, HCS performs poorly during all the duration of the experiment, that is, informed robots are never able to stabilize the swarm along one direction. This might be due to the limited time available for real robot experiments, or to the different nature of noise which prevents the control of the direction of the swarm without an effective communication strategy. However, the swarm is aligned along the same direction as the order metric is high—see the supplementary materials page (Ferrante et al. 2011). Using ICS and SCS instead introduces a degree of control on the direction of the swarm. During the first phase (between time 0 and T s ), the results are consistent with the results in the stationary environment case: ICS and SCS have both good performance, that is, they both track goal direction A, compared to HCS (p value <0.01).

Figure 10c also shows that SCS has very good results, comparable to the ones obtained in simulation, also during the subsequent phases, as it first tracks goal direction A, then goal direction B and finally goal direction A. When using ICS, instead, the swarm continues tracking goal direction A during the two-goal phases in 70 % of the runs (7 out of 10), in which the swarm does not split (Fig. 10d). However, in the remaining runs (3 out of 10), the swarm splits in two or more groups: one group follows goal direction B, whereas the other group continues following goal direction A. This causes the accuracy metric to have the distribution depicted in Fig. 10c, that shows median values close to 0.8 and an high spread.

We performed the Wilcoxon rank sum test to compare the medians of the time-average performance of SCS against HCS and SCS agains ICS during all three phases. The test suggested that SCS consistently outperforms HCS during all three phases (p value <0.01), outperforms ICS during the second phase (p value <0.01) and performs comparatively as ICS in the first and third phase, as described above.

6.3 Summary

By executing experiments in the stationary and non-stationary environments, we showed that the performance of SCS is comparable to the ones of ICS in most of the cases. This means that, using SCS, flocking along a goal direction is possible with a high level of accuracy even if only few robots are informed about the goal direction and when the desired goal direction changes over time. This setting is the same as the one studied in Ferrante et al. (2010), where ICS was proposed.

Results obtained in two-goal non-stationary environments reveal the true advantage of using SCS. In fact, SCS provides swarm cohesion in almost all cases without sacrificing accuracy. On the other hand, ICS is very strong in providing high level of accuracy but performs dramatically worse in maintaining swarm cohesion. This general message holds for both experiments executed in simulation and with the real robots.

7 Discussion and related work

In this section, after a brief introduction on the origins of flocking studies, we review the flocking literature in swarm robotics. Since the main goal of this paper is to introduce and study a novel communication strategy for alignment behavior in flocking, in reviewing the literature, we put particular attention on this behavior. While analyzing the literature, we look at those works where the alignment control is used and we briefly state how it is realized in each work. We also analyze works in flocking where the alignment control is not used, and we explain how ordered motion is achieved in these works. We classify the literature in three categories, and we only include works where experiments with real robots have been conducted or works that have the potential of being readily applied to real robots. Thus, we omit works performed in the control theory area as, except few cases (Regmi et al. 2005; Moshtagh et al. 2006), they do not include experimental validation on real robots.

In biology, flocking was first studied by Aoki, who performed the first extensive empirical (Aoki 1980) and simulation-based studies (Aoki 1982) in fish schools. In computer science, Reynolds, following Aoki’s ideas, was the first to implement flocking in an artificial system based on local information (Reynolds 1987). He considered a set of behaviorally identical agents that move based on three behaviors: separation: stay away from neighbors, cohesion: stay close to neighbors, and alignment: match orientation to the average of neighbors. Later, inspired by Reynolds, similar flocking models have been considered in biology in order to study biological systems such as bird flocks or fish shoals. These include the zone model by Couzin et al. (2002), the already mentioned study of implicit leadership (Couzin et al. 2005) and more recent works that mapped real data obtained from tracking to individual-based models (Katz et al. 2011; Gautrais et al. 2012).

In robotics, flocking has been studied for the last two decades. Some of the studies followed Reynolds’ approach, based on separation, cohesion and alignment, due to its algorithmic simplicity. Some other works, as we will see through our literature survey, did not use the alignment control but added extra capabilities to the robots instead.

In Reynolds’ algorithm, it is assumed that each individual has access to three types of information: the relative range, bearing and orientation of its neighbors. The relative range and bearing are needed for the separation and cohesion control, whereas the relative orientation is needed for the alignment control. The relative range and bearing measurements are obtained most of the times using infra-red (IR) sensors (Spears et al. 2004; Roberts et al. 2009). However, the relative orientation measurement is more difficult to obtain with robots, because in general it requires very elaborate sensing capabilities. As explained in the following, such hardware is not available on most robotic platforms, so it is emulated through local communication or with other techniques.

As stated above, we divide the robotics literature in three categories. In the first category, we include works where alignment control is not used but it is induced by other behaviors instead. Example of these behaviors are: goal-following (Matarić 1994), leader-following (Kelly and Keating 1996), light-following (Spears et al. 2004) or attraction–repulsion (Moslinger et al. 2009). Matarić (1994) proposed a flocking behavior based on a set of “basis behaviors”: safe-wandering, aggregation, dispersion and goal-following. The robots are able to sense obstacles in the environment, localize themselves with respect to a set of stationary beacons and broadcast their position. With the proposed set of behaviors, robots are able to move cohesively in a goal direction. The goal direction is known a priori by all the robots in the swarm. Kelly and Keating (1996) proposed a flocking algorithm based on a leader-following behavior, where the leader is dynamically elected by the group and follows a random direction. They used a custom-made active infra-red sensing system to sense the range and bearing of robots and radio-frequency system for dynamic leader election. In their work, multiple leaders (informed robots) could exist in the swarm but, in that case, the swarm split to overcome obstacles. Baldassarre et al. (2003) used artificial evolution to evolve a flocking behavior with a group of four simulated robots. The robots are equipped only with proximity sensors, to perceive each others’ relative range and bearing, and with light sensor to perceive a common goal direction. Nembrini et al. (2002) proposed a minimalistic algorithm for achieving flocking with a local communication device, an obstacle and a beacon detector. Some robots are informed about a target direction and signal their status through their beacon. The robots communicate basic (their presence) or more elaborate information (neighbor list) via radio and perform U-turn maneuvers when they loose sight of the majority of neighbors or of the informed, signaling robots. The authors achieved a swarming behavior with robots dynamically disconnecting and reconnecting to the swarm. Spears et al. (2004) proposed a flocking algorithm based on attraction/repulsion and viscous forces. The robots first form a regular lattice structure using the range and bearing measurements of their neighbors and then move in a goal direction indicated by a light source. Due to robots shadowing, few of the robots in their small swarm could not see the light, and hence can be considered non-informed, whereas the rest of the swarm is informed. Barnes et al. (2009) developed a method based on artificial potentials to form an elliptical shape with a group of unmanned ground vehicles and to move the center of mass in a desired trajectory. They performed experiments with four real robots where all robots received the precise GPS position of the other robots and also the desired coordinates of the center of mass. Monteiro and Bicho (2010) developed a leader-following control architecture that is used to move a swarm in formation in a goal location. The goal location is accessible to the leaders (informed robots), and the other robots follow the leaders which are assumed to be identifiable in the swarm. Antonelli et al. (2010) developed a behavior-based control method which they call null-space-based behavioral control. The developed control scheme is composed of the following behaviors: lattice formation, move to rendez-vous and obstacle avoidance. Additionally, another component called “supervisor” is used to select which of the behaviors should be executed at a given moment. The authors performed experiments with seven real robots in which a centralized computer and a tracking system was used to broadcast the positions to the robots. Moslinger et al. (2009) proposed a flocking algorithm based on setting different threshold levels for attraction and repulsion zones assumed to exist around the robot. By adjusting these threshold levels, they achieved flocking with a small group of robots in a constrained environment. In their work, no robots has access to neither the goal direction nor to alignment information. However, the flocking behavior accomplished was limited in the sense that the group could not stay cohesive the whole time. Recently in Ferrante et al. (2012), we proposed a novel motion control method called MDMC and we showed how, paired only with proximal control and without alignment control, it is able to produce cohesive flocking in a random direction. We also showed that, when informed robots are introduced, MDMC outperforms the method used in Turgut et al. (2008) in that it is able to move the swarm further in the goal direction.

In the second category, we include studies where alignment control is used and in which alignment control is realized by relying on global information. In fact, the authors of these studies either emulate an orientation sensing (Holland et al. 2005) or estimate relative orientation by tracking robot movements (Hayes and Dormiani-Tabatabaei 2002). Hayes and Dormiani-Tabatabaei (2002) proposed a flocking algorithm based on collision avoidance and velocity-matching behaviors that use local range and bearing measurements. These measurements are emulated and broadcasts to the robots. Robots based on this information compute the center of mass of their neighbors and move towards this point for cohesion. They also compute the velocity of the center of mass and align to the direction of the velocity vector. Furthermore, each robot is informed about the direction to a goal area. Holland et al. (2005) proposed a flocking algorithm for unmanned aerial vehicles based on separation, cohesion and alignment control. All the sensory information (range, bearing and orientation of robots neighbors) is emulated and broadcast to each robot individually. In their work, the goal direction is not present and thus all robots are non-informed. Regmi et al. (2005) proposed a flocking algorithm where robots are able to measure their position and orientation with a global positioning system and transmit this information to their neighbors via a high speed communication link. In this way, each robot has the exact absolute position and velocity information of the other robots.

In the third category, we include studies where alignment control is present and realized on-board. All these works have a common characteristic: an alignment control that uses local communication either to emulate orientation sensing (Turgut et al. 2008; Çelikkanat and Şahin 2010; Stranieri et al. 2011) or for signaling (Campo et al. 2006; Ferrante et al. 2010). Campo et al. (2006) in the context of collective transport used robots equipped with an LED ring and an omni-directional camera. The robots communicate their estimates of the nest direction to their neighbors by forming a specific pattern in their LED rings. In Turgut et al. (2008) robots are equipped with proximity sensors for obstacle/robot detection and a virtual heading sensor for orientation measurement. Their sensor works as follows: each robot measures its orientation using a digital compass and broadcasts it periodically using a wireless communication unit so that the orientation is sensed “virtually” by its neighbors. This strategy of communication is the one referred as HCS in this paper. The authors achieved flocking in a random direction, since all robots in the swarm are non-informed. In a follow-up study, Gökçe and Şahin (2010) introduced a goal-following behavior and studied the effect of noise in sensing the goal direction on the long-range movement of swarms. In their work, all robots are informed about the goal direction. Çelikkanat and Şahin (2010) resorting to HCS and inspired by the work of Couzin et al. (2005) provided a goal direction to some of the robots, and showed that a large swarm can be guided by only a few informed robots. In Ferrante et al. (2010), we proposed a novel communication strategy for heading alignment called ICS where informed robots communicate the goal direction and the non-informed robots send the average orientation of their neighbors. We executed experiments in stationary and non-stationary environments with only one goal direction, and we observed a dramatic increase of performance when compared to HCS. We also observed that, in both cases, the group preserved its cohesion all the time. Recently, in Stranieri et al. (2011), we studied flocking in a heterogeneous swarm of robots. Some robots in the swarm use alignment control, implemented via HCS, whereas the rest of the swarm does not. The swarm is able to achieve cohesive flocking by the use of a motion control method that is a preliminary version of the one considered in Ferrante et al. (2012).

Table 3 summarizes the works we reviewed above. The table reveals how this work compares with the rest of the literature. We can see that, when alignment control is not used, flocking is achieved by having most of the robots or all robots informed about the goal direction. In fact, if all robots have information about a common goal direction, they do not need to align with each other. On the other hand, without information about a goal direction, alignment control can facilitate the agreement process to a common direction of motion, needed for flocking. Exceptions to this are the work of Moslinger et al. (2009) and the one we recently published in Ferrante et al. (2012), where no robot is informed on the goal direction nor uses alignment control. Compared to this category, our work considers up to to two goal directions and few or very few informed robots.

Table 3 State of the art review summary

In the second category, alignment control is present but all the information needed by this behavior is emulated and provided through an external device. Compared to this category, our work considers an alignment control where all the information needed is obtained directly by the robots through an on-board sensing device.

In the third category we analyzed the use of local communication. Local communication, to the best of our knowledge, has been so far the only method to realize alignment control by using only robot’s on-board sensing devices. These works and also our work belong to this third category. In this paper, we extend the work done in the literature in several ways. Compared to all of them, which considered either no goal direction (Turgut et al. 2008; Stranieri et al. 2011) or one goal direction (Campo et al. 2006; Çelikkanat and Şahin 2010; Gökçe and Şahin 2010) at a time, we are the first to consider a problem where two conflicting goal directions are present at the same time, and where one goal direction has an higher priority with respect to the other one. In another sense, our work can be considered an extension of Ferrante et al. (2010). In fact, SCS is studied and compared to HCS and ICS, proposed for the first time in Ferrante et al. (2010). Finally, both Çelikkanat and Şahin (2010) and Ferrante et al. (2010) assumed that informed individuals are selected uniformly at random within the group. This is not the only possible situation in swarm robotics since, in some cases, one needs to take into consideration the local aspect of sensing. In this paper, additionally to the random selection method, we also used and studied what we call the spatial selection method, where informed individuals are selected in a spatially correlated way, that is, they are close to each other and close to the periphery of the swarm.

8 Conclusions and future work

In this paper, a communication strategy called self-adaptive communication strategy (SCS) is proposed. The strategy is used to tackle flocking with a swarm of robots in stationary, one-goal and two-goal non-stationary environments. In the stationary environment, one goal direction exists and is always constant and perceived only by a small proportion of the swarm. In the one-goal non-stationary environment, the goal direction and the robots informed about it change over time. In the two-goal non-stationary environment, there are two goal directions: goal direction A is present throughout all the experiments, whereas goal direction B, conflicting and with higher priority with respect to the first, is present in the swarm during a limited time window. With the proposed communication strategy SCS, robots informed about the goal direction A are aware of the presence of goal direction B by measuring the level of local disorder in the information communicated by their neighbors.

We executed experiments both in simulation and with real robots. We evaluated flocking performance in terms of accuracy with respect to the desired goal direction and group cohesiveness. We compared SCS with the state of the art strategies ICS, proposed in our earlier study, and HCS, which is used to emulate orientation sensing on robots. Our experiments showed that SCS can guarantee close to the same level of accuracy of ICS in both stationary and one-goal non-stationary environments. However, we showed that in two-goal non-stationary environments, SCS can both guarantee high levels of accuracy and group cohesiveness, which differently is not very high when using ICS in the same environments. As such, SCS represents an improvement as it achieves two conflicting objectives at the same time. These results were fully confirmed by real robot experiments, where the same controller was used.

In the future, we plan to address a more general version of the problem studied in this paper. In Ferrante et al. (2012a), we already considered flocking with two conflicting goal directions and in which the priority of the two is the same (and as such the desired direction to follow is the average between the two). Here, we systematically studied the effect of the difference between the two goal directions, as done in Couzin et al. (2005). In a more general version, two or more goal directions exist but the priority between them is not known by the swarm. In this scenario, we would like to devise communication strategies that are able to select one of the goal directions, according to some criteria available online to the robots and not known a priori. The study of this generalized version of the problem enables the study of flocking in a foraging scenario. In such a scenario, the swarm has to collect as many resources as possible in a minimum amount of time while moving cohesively as a group to maximize sensing and discovery of new resources. We believe that endeavors in this direction might bridge the gap between lab-based experiments and challenging real-world applications such as exploration and collection of resources in space.