Spatially targeted communication in decentralized multirobot systems

Spatially targeted communication (STC) allows a message sender to choose message recipients based on their location in space. Currently, STC in multirobot systems is limited to centralized systems. In this paper, we propose a novel communication protocol that enables STC in decentralized multirobot systems. The proposed protocol dispenses with the many aspects that underpin previous approaches, including external tracking infrastructure, a priori knowledge, global information, dedicated communication devices or unique robot IDs. We show how off-the-shelf hardware components such as cameras and LEDs can be used to establish ad-hoc STC links between robots. We present a Markov chain model for each of the two constituent parts of our proposed protocol and we show, using both model-based analysis and experimentation, that the proposed protocol is highly scalable. We also present the results of extensive experiments carried out on an autonomous, heterogeneous multirobot system composed of one aerial robot and numerous ground-based robots. Finally, two real world application scenarios are presented in which we show how spatial coordination can be achieved in a decentralized multirobot system through STC.


Introduction
Communication often plays an integral role in multirobot systems that require spatial coordination among the robots.In such systems, the type of messages that can be transmitted, and hence the kind of coordination that can take place, fully depends on the modality of communication available to the system.One important axis of variation in communication technologies involves the extent to which transmitted messages include information about the spatial positioning of communicating robots.In many technologies, the spatial location of communication partners is largely unavailable.Robots using wireless Ethernet, for example, are not aware of the location of their communication partners.By contrast, situated communication (Støy, 2001) modalities allow the recipient of a message to locate the sender in space within its own frame of reference.An example of situated communication would be for a robot to send a message by illuminating its LEDs in a particular color, and for nearby robots to use their cameras to detect the message while also computing their position relative to the message sending robot.Situated communication increases the spatial coordination capability of a robotic system by making messages of the type "come to me" or "stay away from here" immediately meaningful.
Situated communication modalities are, however, insufficient for spatial coordination in certain tasks as messages of the type "reverse direction -the three of you are about to fall off a cliff!" cannot be communicated.Such messages need to be delivered to particular message recipients based on their spatial location to be meaningful (as opposed to situated communication where the location and the number of message recipients cannot be controlled by the message sender).We coin the term spatially targeted communication (or STC) to describe this communication modality where messages are targeted at particular robots based on their location in the environment.STC is particularly useful (but not limited) to heterogeneous systems where spatial cooperation is required between different robot types that have different views of the environment and/or operate in different parts of the environment.In Fig. 1, for example, aerial robots are able to detect objects of interest on the ground to instruct nearby ground-based robots accordingly.
In existing multirobot research, STC is limited to systems that either rely on centralized solutions or consider robots that have a global view of the system.For instance, some systems (Vaughan et al, 2000;Stentz et al, 2002;Kushleyev et al, 2013) use external tracking infrastructure in conjunction with global information or centralized control to enable communication between robots based on their location.Alternatively, robots may use dedicated on-board hardware suited for situated communication (Gutiérrez et al, 2008;Pugh et al, 2009;Roberts et al, 2012) to identify themselves by broadcasting centrally provisioned unique IDs, so that, in a second step, favorably located communication partners can be determined based on unique IDs and associated relative positions.Such centralized solutions are, however, unsuitable for certain types of multirobot systems, in particular for systems with large numbers of robots (Dorigo et al, 2014) or systems that need to operate in a priori unknown environments.External tracking infrastructure is potentially disadvantageous as it either requires access to satellite-based localization such as GPS or an a priori modified environment.Satellite-based solutions are not practical indoors or for tasks that require higher position resolution than that provided by such systems.Dedicated communication hardware is potentially disadvantageous for three reasons.Firstly, the cost of dedicated hardware can become prohibitive as the numbers of robots in the system increases.Secondly, the use of dedicated hardware means that heterogeneous systems can only be composed of robots that have been explicitly designed a priori to communicate with each other (Dorigo et al, 2013).Thirdly, using dedicated hardware for situated communication can impose extra computational overheads in the form of sensor fusion -in Fig. 1, for instance, an aerial robot using dedicated communication hardware would have to map coordinates used by its communication device into the coordinates of whatever other Fig. 1 An illustration of spatially targeted communication.The overlays show the ad-hoc communication links the aerial robots establish to communicate with specific robots on the ground that are situated next to the objects of interest sensor it was using to query the environment for interesting features (Kumar and Michael, 2012).
To the best of our knowledge, there has been no proposal tabled for STC in decentralized multirobot systems to date.The protocol presented in this paper is the first of its kind to provide STC to decentralized systems as it does not require external tracking infrastructure, global information, centralized control, dedicated hardware, or the exchange of unique IDs.The core idea of our approach is to leverage existing situated communication modalities to establish ad-hoc communication links between robots based on their relative positions.Our approach assumes a situated communication modality capable of sending and receiving at least three distinguishable situated signals that are broadcast within a limited communication range.The protocol we propose is based around an iterative elimination process that results in a dedicated communication link being established between the robot initiating communication (henceforth the "initiator robot") and the desired communication target (henceforth the "target robot").In this process, the initiator robot iteratively eliminates robots within communication range (henceforth the "potential recipient robots") it does not wish to communicate with until only the target robot is left.Further communication links to robots neighboring the target robot (henceforth the "target group") can be established through an iterative growth process.
Our approach has a number of advantages.Firstly, the protocol we propose can be implemented using standard, low-cost components.In our experimentation, we use offthe-shelf cameras and LEDs in combination with wireless Ethernet.Secondly, our approach can be accurately modeled with Markov chains.We present separate models for the elimination process and the growth process.Thirdly, our approach is highly scalable: both model-based analysis and experimentation confirm that the elimination process at the heart of our approach scales logarithmically with respect to the number of potential recipient robots, while the growth process scales logarithmically with respect to the size of the target group.We present real-robot experiments with a heterogeneous robotic system, composed of up to 10 groundbased robots named marXbots (Bonani et al, 2010), that we use as potential recipient robots, and one aerial robot named AR.Drone (Bristeau et al, 2011), that we use as an initiator robot. 1 Our experiments show that our protocol can be successfully implemented on real robotic hardware, and that it can be used to achieve spatial coordination between robots in a decentralized multirobot system.

Communication and spatial coordination in multirobot systems
Multirobot systems employ a number of different wireless communication technologies to achieve spatial coordination.Wireless Ethernet (IEEE 802.11) is a widely used medium for inter-robot communication.Many systems that use the wireless Ethernet medium consider "tightly coupled" coordination (Chaimowicz et al, 2001;Gerkey and Mataric, 2002;Parker et al, 2004;Zhang and Parker, 2013) to direct broadcast messages from message sending robots to message receiving robots.In tightly coupled systems, message sending robots share their perceptual or computational capabilities with peer robots using broadcast messages while identifying themselves and their capabilities in the messages.The robots that process a certain message are often predetermined or are determined by the internal state of each robot.Stentz et al. (Stentz et al, 2002) as well as Vaughan et al. (Vaughan et al, 2000) use wireless Ethernet to coordinate a team composed of aerial and ground-based robots by combining GPS with environment maps or georeferenced coordinates.Kushleyev et al. (Kushleyev et al, 2013) use ZigBee technology (IEEE 802.15.4) to coordinate a team of micro quadrotors to fly formations in 3D space.They use an external motion capture system connected to a central base station to compute and control each team member's position.Other researchers have proposed decentralized solutions based on Bluetooth to allow simultaneous communication between pairs of robots (Barnhard et al, 2004;McClain et al, 2004).In these studies, robot localization is determined using landmarks distributed in the environment and thus require a priori knowledge of the environment.
Many authors focus on the coordination of robots by considering onboard relative localization systems.While Franchi et al. (Franchi et al, 2010) proposed a probabilistic framework, other researchers developed ultrasound-based hardware systems (Grabowski and Khosla, 2001;Rivard et al, 2008) to enable relative localization in multirobot systems.Pugh and Martinoli (Pugh et al, 2009) presented an infrared-based technology that allows for simultaneous localization and communication (hence situated communication) between neighboring robots.Today, derivations based on this work are available for a variety of platforms (Gutiérrez et al, 2008;Roberts et al, 2012).Although not explicitly designed for the purpose, such devices can be used by robots to enable spatially targeted communication by first exchanging robot IDs and then following up with communication data marked with addressee IDs.
Vision-based systems often use unique identifiers such as markers (Parker et al, 2004;Zhang and Parker, 2013) or barcodes (Bolla et al, 2011) mounted on the robots to identify individual robots.Recently, Stegagno et al. (Stegagno et al, 2013) presented a system in which an aerial robot used its camera to identify ground-based peer robots and compute their relative location w.r.t. each other.Although there are several adverse conditions (such as occlusion, low illumination, etc.) under which the identification may not be feasible or reliable, systems that consider the exchange of robot IDs and support simultaneous robot localization have the potential to engage in spatially targeted communication by employing a wireless communication technology to address interestingly located peers directly.Other vision-based systems use a combination of cameras and LEDs to detect neighboring robots (without detecting their identities) and to enable robots to communicate with each other using differently colored LEDs.Camera and LED-based communication has been successfully applied to study a series of tasks that require spatial coordination such as path formation (Nouyan et al, 2008), collective transport (Campo et al, 2006), and morphology control (Christensen et al, 2007).
In our previous work (Mathews et al, 2010a), we have shown that a ground-based robot can use situated communication to initiate and establish STC links with peer robots in a homogeneous multirobot system composed of five groundbased robots.In simulation, we have also studied the benefits of cooperation through STC (Mathews et al, 2010b).In (Mathews et al, 2012a,b), we presented potential applications of STC.Our current work differs from our previous works in that it is a comprehensive work in which (i) we extend our real robot experiments to a heterogeneous robotic system composed of ground-based robots and one aerial robot, (ii) we combine cameras and LEDs-based communication with the high throughput medium of wireless Ethernet to enable high-level coordination between communicating robots while also establishing STC links much faster, (iii) we test the approach extensively on a real robotic hardware, (iv) we formulate two Markov chain models that characterize the performance of the processes used to establish STC links, and (v) we show two examples of real world applications that benefit from spatial coordination achieved through STC.

Experimental platforms
Our heterogeneous multirobot testbed is composed of the two different robot platforms shown in Fig. 2. The AR.Drone 1.0 (Bristeau et al, 2011) is a commercially available quadcopter that can fly at speeds up to 18 km/h (Fig. 2 top).It has an autonomy of up to 12 minutes and a maximum flight weight of 420 g.It consists of a central plastic body housing a sensor and control board, one front-facing and another downward-pointing camera, a carbon-fiber crossbar connecting four brushless motors, and one removable indoor and another outdoor hull.The sensory equipment also includes a 6-DoF inertial measurement unit and an ultrasound altimeter.The API provided by the manufacturer gives access to sensory information, such as the altitude, battery level, and images from the cameras, and allows communication with the AR.Drone at 30 Hz via an ad-hoc wireless Ethernet network.An ARM9 processor running at 468 MHz with 128 MB of DDR RAM is the platform's main computational unit.
The marXbot (Bonani et al, 2010) is a ground-based modular robot that has a circular chassis with a 17 cm diameter (Fig. 2 bottom).A variety of hardware modules can be successively mounted on the base module.The base module offers electrical power from a removable battery to all modules and simultaneously provides the robot with differential drive capabilities.The configuration used in this study also includes an attachment module that enables marXbots to physically attach to one another.Multiple marXbots can thus self-assemble into larger physical structures (Groß and Dorigo, 2008).Additionally, 12 RGB-colored LEDs are distributed around the attachment module.A range and bearing module provides high-speed communication (1 Mbps) and relative range and bearing estimates to neighboring marXbots.The topmost module is the main computer module.It features an on-board ARM 11 processor (i.MX31 clocked at 533 MHz with 128 MB RAM) running a Linuxbased operating system.This module also supports wireless Ethernet and is equipped with an upward-pointing camera and an omnidirectional camera with a resolution of 3 MP each.
The AR.Drone communicates with the marXbots using broadcasts over wireless Ethernet.Each signal broadcast by the AR.Drone is received by all marXbots at all times.Note that this is due to the wireless Ethernet-based broadcast communication we have chosen for the aerial robot in this particular study and not a general requirement of the presented protocol.The marXbots use their LEDs to locally broadcast situated signals by displaying different colors.LED signals displayed by the marXbot can be detected Fig. 2 Our heterogeneous multirobot testbed consists of one AR.Drone (on the top) and multiple marXbots (on the bottom).RGB colors displayed by the marXbots can be detected by the AR.Drone using its downward-pointing camera.Signal transmission to the marXbots occurs over wireless Ethernet both by the AR.Drone (using its downward-pointing camera) and by other marXbots (using their omnidirectional camera).LED signal detection on both platforms is accomplished by detecting color blobs in the captured images.
In our experiments, we use one AR.Drone and up to 10 marXbots.For safety reasons, we use a colorless, transparent plexiglass platform installed at 40 cm height from the ground to shield the ground robots from the aerial robot.Vision algorithms are not run directly on the AR.Drone, but are executed on a remote PC with video streamed from the AR.Drone in real time using the standard API.The same API is used to communicate the resulting position control data back to the AR.Drone in real-time (refer to (Krajník et al, 2011) for details).Experiments with larger number of robots are conducted in a physics-based simulator developed for multirobot simulation (Pinciroli et al, 2012).

Establishing a one-to-one STC link
In this section, we detail our proposed approach to establish a one-to-one STC link between an initiator robot and a target robot.We give a microscopic (i.e., a robot level) description of the approach using finite state machines (FSMs).From this microscopic description, we derive a macroscopic (i.e., a system level) model using a time-homogeneous Markov chain.We analyze the scalability of the approach using data collected from physics-based simulations, real-robot experiments, and predictions of the macroscopic model.We also demonstrate how an established one-to-one STC link can be applied to solve a real world task.
An STC link is established between an initiator and a target robot by the means of an iterative elimination process.We assume a set C := {c 1 , . . ., c s : s ≥ 3} of distinct signals.
The set C consists of signal c 1 , used to start and terminate the elimination process, and of the subset C s := {c 2 , . . ., c s } that contains the signals used in the iterative elimination process.In the heterogeneous multirobot system considered in the study, RGB colors are used as signals to define the sets C := {red, blue, green} and C s := {blue, green}.The initiator robot initializes the elimination process by emitting the signal c 1 .The robots that perceive the c 1 signal enter the elimination process by acknowledging with c 2 .Then, the initiator robot starts the elimination process by emitting a matching handshake signal c 2 .At each iteration, robots still in the process individually and independently choose a signal to emit from the set C s .The initiator robot responds by matching the signal emitted by the target robot.At the end of the iteration, only those robots whose signal matches that of the initiator robot remain in the process.The other (nonmatching) robots no longer emit any signal, and thus take no further part in the selection process.The elimination process continues until the target robot is the only robot remaining.At this point, the initiator robot indicates the termination of the elimination process by repeating c 1 .The target robot acknowledges the termination by signaling c 1 .The initiator robot has now established an STC link to the target robot.
In our experiments, robots are controlled by the behavior-based controllers shown in Fig 3 .The controller for the initiator robot is executed by the AR.Drone and the controller for the potential recipient robots by the marXbots.Both controllers are autonomous and are implemented as FSMs with C := {red, blue, green}.

Microscopic description of the elimination process
The FSM running on the AR.Drone, shown in Fig. 3a, consists of three states: STA (start); EP (elimination process); and LE (link established).When the AR.Drone needs to establish an STC link with a particular marXbot, it enters the STA state and transmits the signal red (c 1 ) to start the elimination process.The transition ta1 is triggered if at least the target robot acknowledges the STA signal.This guarantees that the target robot is available for the elimination process and is not currently occupied with a different task.While in state EP, the AR.Drone continuously takes the transition ta2 and matches the color displayed by the target robot.However, if the target robot is the only robot displaying a color because all other robots have been eliminated, the transition ta3 is taken to enter the state LE.The signal red is transmitted to confirm an established STC link to the target robot.
The controller executed by the marXbots is shown in Fig. 3b.Three states compose this FSM: ACK (acknowledge); EP (elimination process); LE (link established).When the signal red is received from the AR.Drone, a marXbot enters the ACK state by taking transition tm1.The color blue (c 2 ) is displayed to acknowledge the marXbot's availability to enter the elimination process.The transition tm2 is triggered as soon as the AR.Drone matches the color blue.When entering the state EP, a marXbot randomly displays either green or blue.Simultaneously, it starts incrementing an internal counter t.Whenever t exceeds a fixed threshold τ, the marXbot examines the most recent color transmitted by the AR.Drone.If this color matches that displayed by the marXbot, it remains in the process by taking tm3.Otherwise, the marXbot terminates the behavior by taking tm5 as a result of mismatching colors.Because all marXbots enter the state EP at the same time, and because they all use the same τ, their actions remain synchronised.The value of τ is chosen such that the AR.Drone has sufficient time to perceive, process, and respond to the colors displayed by the marXbots.If a marXbot still in the elimination process receives the signal red from the AR.Drone, it knows that all other robots have been eliminated and that it is indeed the target of the AR.Drone.In this case, the transition tm4 is triggered and the marXbot confirms the termination of the elimination process by displaying the color red.

Macroscopic model of the elimination process
For a given number of robots N in the communication range of the initiator robot, we are interested in the number of iterations necessary to establish a one-to-one STC link with a target robot.In our model, each time step n corresponds to one iteration in the iterative elimination process.An iteration ends when all remaining robots in the elimination process (i) have chosen and emitted a random signal, and (ii) have detected the match or mismatch of this signal with the one emitted by the initiator robot.Note that each iteration has a cost (i.e., duration of each iteration) that is independent of the number of robots in the system as the computation is done by each robot in parallel.
The iterative elimination process as described so far is a memory-less process.At each iteration, a potential recipient robot acts only on the basis of its current state and the current signal emitted by the initiator robot.Hence, the future state of the robot is independent of its past, fulfilling the Markov assumption (Kemeny and Snell, 1976).Moreover, the synchronization provided by the timer mechanism described in the previous section allows us to consider the potential recipient robots from a macroscopic point of view.That is, we abstract from the states of individual robots and, instead, we focus on groups of robots that are in the same state simultaneously.As a consequence, we employ a time-homogeneous Markov chain to define a macroscopic model of the iterative elimination process.In particular, we use an absorbing Markov chain characterized by a set of transient states and one absorbing state.While the transient states represent all intermediate states of the iterative elimination process, the existence of an absorbing state guarantees the termination of the iterative elimination process in finite time.
We define our process as a Markov chain {X n , n ∈ N} with N + 1 states.The random variable X = x ∈ Ω := {1, . . ., N + 1} represents the state of the process.Each state is characterized by the number η x = N + 1 − x of robots that are still part of the elimination process.All the states of the chain are transients except for X = N +1 which is an absorbing state.In state X = N + 1, the number of robots involved in the process is η x = 0, which corresponds to the completion of the elimination process.At time step n, the process will move from state X n = i to the next state X n+1 = j with probability π i j .We define the stochastic transition matrix Case 1a defines the transition probability between transient states by providing the probability π i j that η i − η j robots will leave the elimination process during the transition i → j.This probability follows a binomial distribution with parameters η i − 1, the number of robots that are still part of the elimination process without considering the target robot, and p = 1/|C S |, the probability for one of them to emit the same signal as the target robot.Case 1b has a twofold significance.On the one hand, it states that the transition from the state X n = N to the absorbing state X n+1 = N +1 occurs with probability π i j = 1.This deterministic step models the final handshake between the initiator and the target robot at the last iteration.On the other hand, it defines the state X = N + 1 as an absorbing state.Finally, Case 1c states that transitions not covered by previous conditions will never occur.

Model analysis
The stochastic transition matrix Π formally describes the dynamics of the iterative elimination process.Such a formal description allows us to predict the performance of the process.In what follows, we validate the accuracy of our macroscopic model by comparing model predictions with data acquired from physics-based simulations and real robot experiments.We use the model to analyze the scalability of the iterative elimination process.We first define the random variable ϑ as the number of iterations necessary to establish a one-to-one STC link to the target robot.Second, to study the distribution of ϑ , we consider the matrices Γ and Σ of the canonical decomposition of Π (Kemeny and Snell, 1976).Γ provides the transition probabilities between transient states.The fundamental matrix Σ , given by (I − Γ ) −1 with I representing the identity matrix, gives the expected number of visits to each transient state.

Model validation
We validate the accuracy of the model's predictions by comparing the distribution of ϑ with the empirical data acquired from simulation-based experiments.The cumulative distribution function F(ϑ ) = P(ϑ n, x 0 ) can be obtained for a given initial state X 0 = x 0 as the infinite series The subcomponent ∑ j∈Ω Γ n x 0 , j of Eq. 2 gives the probability that the process will be in a transient state at iteration n.The complement of this value provides the probability of entering the absorbing state prior to iteration n.

Real robot experiments
We carried out experiments with one AR.Drone placed on a plexiglass platform, and N ∈ {2, 4, 6, 8, 10} marXbots distributed in a 1 m x 1.5 m arena with |C S | = 2 colors.For each value of N, we executed 30 runs resulting in a total of 150 runs.In each run, the marXbots were placed in the arena with random orientations and positions together with a light source embodying the object of interest to the AR.Drone.The AR.Drone identifies the marXbot closest to the object of interest as the target robot.The marXbots remain static while they execute the controller described in  and Σ : The term ξ in Eq. (3) represents a column vector of all 1s.That is, for every (transient) initial state, the expected value of ϑ is given by the row sum of the fundamental matrix Σ .In Eq. ( 4), I denotes the identity matrix and with squared entries.By means of Eq. (3) and Eq. ( 4), we compare the empirical distribution of the results obtained from real robot experiments with the predictions of the Markov chain model defined above.The results in Fig. 6 show close agreement between the empirical observations and the theoretical predictions.In particular, the median values obtained from the real robot experiments (shown in boxplots) correspond closely to the theoretical expectation of ϑ .However, in the case of N ∈ {6, 8, 10}, the empirical observations have a larger variance than the theoretical predictions.This discrepancy can be explained by the limited number of observations gathered from real robots experiments.While the size of N in this set of experiments was increased by a factor of 5 (i.e., from 2 to 10 marXbots), the average number of iterations only experienced an increase by a factor of 1.6 (i.e., from 3.8 for 2 marXbots to 6.1 iterations for 10 marXbots).These results, thus, give a preliminary indication that the process scales well.Below, we further investigate scalability using the Markov chain model.

Scalability
We use Eq.(3) and Eq. ( 4) to study how the distribution of the expected value of ϑ scales for increasing values of The results also show that as |C s | increases, the variance of ϑ decreases considerably, increasing the reliability of the expected value as an aggregated indicator of the performance of the process (e.g., compare the width of the shaded areas for N = 80 between |C s | = 2 and |C s | = 1000 in Fig. 7).On the one hand, when the number of available signals tends to infinity, i.e., |C s | → ∞, the probability for a potential recipient robot to randomly choose the same signal as the target robot tends to zero.As a consequence, the iterative elimination process approaches a deterministic behavior that has exactly two iterations: at the first iteration all potential recipient robots except the target robot are eliminated, while in the second iteration the target robot performs the final handshake with the initiator robot.On the other hand, in an application scenario where the number of available signals is limited, the elimination process still ends in finite time as guaranteed by the absorbing state of the Markov chain.The number of iterations necessary to complete the process decreases as the number of available signals increases.

One-to-one STC application scenario
We study how a one-to-one STC link can be applied in a real world task using one AR.Drone and six marXbots.We consider a task that requires the AR.Drone to control morphology growth (Christensen et al, 2007) of the marXbots on the ground.
We deploy the robots on a mission towards an object of interest represented by a light source placed on the ground.The task consists of forming a specific morphology by mul-tiple marXbots next to the object of interest.The size and shape of a suitable morphology are neither known to the marXbots nor can be determined from their vantage point.Hence, the marXbots rely on the AR.Drone to (i) determine a target robot to seed morphology growth, and (ii) to send the instructions needed to create the morphology required by the task.The AR.Drone flies to the object of interest in advance and waits for the marXbots to arrive.When all marXbots are in its field of view, the AR.Drone enters the state STA and issues the signal red that brings all marXbots on the ground to a halt.Then, the AR.Drone establishes a one-to-one STC link with the marXbot closest to the object of interest (see Fig. 8 left).Subsequently, the established STC link is used to transmit morphology control instructions (Christensen et al, 2008).The target robot receives and executes the instructions to grow an arrow-like morphology (see Fig. 8 right) using the connection forming mechanism presented in (Mathews et al, 2011).Note that while the instructions for this particular morphology were preloaded on the AR.Drone, we have shown in our previous work (Mathews et al, 2012b) that suitable task-dependent morphologies can be determined by aerial robots based on observed environmental features.In this particular experiment, the AR.Drone was flown manually while the communication with the marXbots was entirely autonomous.
In the experiment, the STC link was established with 3 iterations of the elimination process or within 600 ms (excluding the time during which the freeze signal was issued by the AR.Drone) as the fixed threshold τ was set to 200 ms, and hence, 3 • 200 ms=600 ms.The successful execution of this proof-of-concept experiment demonstrates the feasibility of spatially targeted communication on real robots.Video footage of this experiment can be found in the online supplementary material (Mathews et al, 2013).

Establishing a one-to-many STC link
In multirobot systems, spatially targeted messages often need to be conveyed to groups of robots.In this section, we present an extension to our protocol that allows an initiator robot (the AR.Drone in our case) to expand an existing one-to-one STC link to a one-to-many link.To communicate with a group of co-located robots, the initiator first establishes a one-to-one STC link to a favorably located robot and then iteratively expands the link to include more neighbors.Note that we are not interested in which individual robots are in the target group, but only in the size of the group and its spatial cohesiveness.We validate the model using simulation-based studies and extensive experimentation on real robots.We present the results of our scalability studies.Finally, we present an experiment exemplifying the usefulness of one-to-many STC in real world tasks.Given a set C := {c 1 , c 2 , c 3 } of distinct signals, a oneto-one STC link between an initiator and a target robot can be expanded into a one-to-many STC link through an iterative growth process.At the start of the process, the target robot is the only member of the target group.At each iteration, the initiator robot may emit the signal c 3 to request a growth of the target group.From the robots that perceive this signal, those that have a target group member within perception range respond with signal c 2 .We refer to these robots as candidate robots.Next, each candidate robot determines if any other robot is located between itself and the closest target group member, and if so, leaves the process.We refer to the remaining candidate robots as closest candidate robots.As shown in Fig. 9, this exclusion mechanism amongst the candidate robots ensures the spatial cohesiveness of the target group.The closest candidate robots communicate their candidacies to the initiator robot by emitting c 3 .If the number of the closest candidate robots plus the number of current group members (hereafter referred to as the "potential target group size") exceeds the target group size, the initiator robot issues the signal c 2 to request the closest candidate robots to relinquish their candidacies probabilistically.The c 2 signal is issued until the potential target group size is smaller or equal to the target group size.Otherwise, if the potential target group size does not exceed the target group size, the initiator robots grants group membership to the closest candidate robots by emitting c 1 .That is, the initiator robot may halt the growth process at an intermediate group size that is smaller than the target group size.Subsequently, the initiator robot restarts the growth process.This incremental growth is repeated until the target group size is reached.

Microscopic description of the growth process
The FSM of the initiator robot (the AR.Drone) and the FSM of the potential recipient robots (the marXbots) are shown in Fig. 10.In what follows, we detail both robot controllers under the assumption that C := {red, blue, green}.Note that the iterative growth process requires potential recipient robots to communicate with each other.To this end, the marXbots use their LEDs and omnidirectional cameras.
Figure 10a shows the FSM implemented on the AR.Drone.It consists of three states: HAL, to halt the growth process; GRO to request growth of target group size; and LEA, to request closest candidate robots to leave the process probabilistically.The AR.Drone first enters the HAL state and sends the signal red.If the current group size matches the target group size, the ta1 transition is triggered and the AR.Drone terminates the execution of the controller.By contrast, if the current group size is smaller than the target group size, transition ta2 is taken and the AR.Drone enters the GRO state and transmits the signal green to signal a growth of the group to the marXbots.From the state GRO, the AR.Drone can move to two states as needed if no candidate robot is perceivable (i.e., there are no more ongoing executions of the exclusion mechanism).If the potential target group size is equal or less than the target group size, transition ta2 is taken to return to state HAL and to halt the growth process at an intermediate group size.Alternatively, by moving to state LEA through transition ta3 and transmitting blue, excessive closest candidate robots can be requested to probabilistically relinquish their candidacies.The AR.Drone iterates in the LEA state by taking transition ta4 until the potential target group size is equal or less than the target group size.If this condition is satisfied, the AR.Drone triggers the transition ta5 to the HAL state to grant membership to remaining closest candidate members.Figure 10b shows the controller running on the marXbots.It consists of four distinct states: HIB, hibernate; CAN, candidate robot; CCR, closest candidate robot; and MEM, member of the target group.The LEDs are switched off while in state HIB, whereas the blue color is illuminated while in state CAN, green while in state CCR, and red while in state MEM.The controller is initiated in the HIB state.The transition tm5 enables robots to leave the growth process permanently when the AR.Drone indicates an excess of closest candidate robots using the signal blue.When the signal green is received from the AR.Drone, marXbots that are able to detect at least one target group member take the transition tm1 to enter the CAN state.In this state, the following procedure is executed to maintain group cohesion.As shown in the example in Fig. 9b, each candidate robot divides its 360 degree view of the environment into eight equally sized sections with an angular range of 45 degrees each.Subsequently, transition tm1 is taken to leave the growth process if another candidate robot is perceived closer than the nearest target group member in one of the sections.Otherwise, transition tm2 is triggered to enter state CCR.When in state CCR, a marXbot responds to a received blue signal (indicating too many closest candidate robots) from the AR.Drone by considering the outcome of an independent Bernoulli trial with success probability p = 0.5.In case of success, the marXbot stays in the state CCR, otherwise it takes the transition tm3 to HIB state.In state HIB, a single bit of memory is used to store a binary value that represents the state prior to reaching HIB: CAN or CCR.This allows closest candidate robots from previous iterations to re-enter the state CCR by taking the transition tm3 while avoiding the CAN state entirely. 3Fi-nally, a marXbot in state CCR triggers transition tm4 when it receives a red signal from the AR.Drone.

Macroscopic model of the growth process
We are interested in the time required for the initiator robot to grow a one-to-one link into a one-to-many STC link to a target group of size D. For the same reasons presented in Sec.4.2, we consider time to be discrete.For clarity, we refer to the exemplary growth process illustrated in Fig. 11 with N = 25 and D = 12, where we conduct the analysis assuming the potential recipient robots to be distributed in a square lattice with each robot able to perceive at least the robots in its Moore neighborhood.In Sect.5.3, we assess the impact of such an assumption on model predictions and discuss possible relaxations.In what follows, we detail three concepts underlying the Markov chain model before presenting the model: iterations, growth phases, and the interaction graph.
Iterations: we characterize the number of iterations required by the initiator robot to reach target group size D. We define each step n in the Markov chain as an occurrence of one of the following four state transition sequences of the initiator robot: HAL→GRO→HAL, HAL→GRO→LEA , LEA→LEA , LEA→HAL .This set of state transition sequences has three important properties.Firstly, it is complete, that is, any possible run of the growth process (i.e., for any D and N) can be decomposed into a series of these state transition sequences (see FSM-based description of growth process in Section 5.1). Figure 11 shows a growth process decomposed into this set of state transition sequences -in the example illustrated in the figure, six iterations are required to reach target group size.Secondly, all of these state transition sequences have the same time and computation costs, making it meaningful to analyse the number of iterations.To see why the cost is constant, note that each state transition sequence ends with a transition that is triggered when the number of closest candidate robots decreases or increases in the system.Consequently, the cost of detecting an iteration by the AR.Drone can be kept constant by applying a color-based similarity matching technique (Goshtasby, 2012) of constant cost on two consecutive images retrieved from its downwardpointing camera.Thirdly, characterizing iterations using this set of state transition sequences disregards candidate robots from the modeling process entirely.The state space of our Markov chain thus becomes simpler as it does not need to represent the states of the candidate robots.
ing the re-execution of the exclusion mechanism and thus reduces the wall clock time of an iteration.
Growth phases: we distinguish two distinct phases.The first phase is deterministic and is composed of a series of HAL→ GRO→HAL steps that occur repeatedly until the potential target group size is greater than or equal to D. Each of these steps is deterministic, as at each step, the number of closest robots is a priori predictable as a function of the relative positioning of the potential recipient robots.If the potential target group size equals D, then the process terminates.The second phase is stochastic, and starts if and when the potential target group size exceeds D. Each step in this phase is an occurrence of one of the three sequences (HAL→GRO→ LEA, LEA→LEA, LEA→HAL).These steps are stochastic because they each contain a probabilistic response to a leave request (LEA).This stochastic phase continues until the target group size is reached (see iterations II-VI in Fig. 11).During the stochastic phase, the potential target group size acts as a monotonically decreasing upper bound on the number of robots involved in the growth process.The intermediate group size always (i.e., also during the deterministic phase) represents a monotonically increasing lower bound on the number of robots involved in the growth process.The two bounds meet at the target group size (see the opposing arrows in Fig. 11).
We model the deterministic and stochastic phases of the iterative growth process separately.We can thus write D = D det + D sto , where D det is the number of robots added to the intermediate group during the deterministic phase, and D sto is the number of robots added to the intermediate group during the stochastic phase.
Interaction graph: to derive a non-spatial characterization of the growth process, we consider an interaction graph in which two connected nodes correspond to a target group member and one of its closest candidate robots.Using such an interaction graph, we further consider a sequence {a 0 , a 1 , . . .} of which each element corresponds to the total number of closest candidate robots available at each intermediate group size.For the intermediate group sizes 1, 9, and 10 shown in the example in Fig. 11, the sequence corresponds to {8, 16, 15}.At intermediate group size 1, for instance, the total number of closest candidate robots is 8.This is a result of the exclusion mechanism shown in Fig. 9 that limits a group member's closest candidate robots to its Moore neighborhood regardless of communication range.

Deterministic phase model
In an interaction graph resulting from a square lattice distribution with Moore neighborhood, each node (i.e., a target group member) is connected to 8 neighbors (i.e., has 8 closest candidate robots).The sequence of closest candidate robots for intermediate group sizes is thus given by {8k, ∀k ∈ N > 0} in an infinite lattice while the number of (5) At the end of a deterministic phase, the target group size is defined by

Stochastic phase model
We define a Markov chain {Y n , n ∈ N} with the random variable Y ∈ Ω := {1, . . ., w} that represents the state of the growth process and Ω that represents the state space with w = 2(N − D)(D − D det ) + 1 states.Each state Y = y is characterized by: η m y , current number of target group members; -η c y , current number of closest candidate robots; -η c ′ y , number of closest candidate robots at the previous iteration; -η h y , number of hibernating robots.
Although the growth process uses a single bit of memory, we apply the formalism of time-homogeneous Markov chains using a chain of order 2. The memory is modeled using the variable η c ′ y : when the memory is necessary, η c ′ y equals the number of closest candidate robots at the previous step of the chain, when it is not necessary, η c ′ y = −1.

All states are transient with the exception of
At step n, the process on the chain will move from the current state Y n = i to the next state Y n+1 = j with probability π i j .We define the stochastic transition matrix where the adjacency conditions c 1.1 , c 1.2 , c 1.3 , c 2 , c 3 between states i and j are summarized in Table 1.Case 6a Table 1 The adjacency conditions between states i and j of the stochastic transition matrix corresponds to a binomial distribution where r = η c i , i.e., the number of closest candidate robots withdrawing candidacies probabilistically (in state Y n = i) with success probability p, and q = η c j + η m i − η m j , i.e., the number of closest candidate robots retaining candidacies (in state Y n+1 = j).The adjacency conditions c 1.1 , c 1.2 , c 1.3 define all possible states i and j such that the transition i → j corresponds to an iteration LEA → LEA or LEA → HAL.Case 6b defines the transition probability between adjacency conditions c 2 and c 3 to 1.The adjacency condition c 2 covers all possible pairs of states (i, j) such that the transition i → j corresponds to an iteration HAL → GRO → LEA.The adjacency condition c 3 defines the absorbing state of the system.As defined in Case 6c, transitions not covered by the adjacency conditions never occur.Note that this Markov chain model can be applied to any spatial distribution of the robots given the interaction graph by solely changing the adjacency conditions.

Model analysis
We analyze the performance of the growth process through the canonical decomposition of Π Y in the transition probability matrix Γ Y and the fundamental matrix Σ Y .We define the random variable ϕ as the number of iterations necessary to reach a target group size D. That is, ϕ = ϕ det + ϕ sto , where ϕ det and ϕ sto account for the number of iterations during the deterministic and stochastic phase, respectively.ϕ det is given by Eq. ( 5), while ϕ sto is derived from the Markov chain model that provides the number of state transitions before the process reaches its only absorbing state.We analyze the cumulative distribution function F(ϕ) using Eq. ( 2) and the variance V[ϕ] using Eq. ( 4), while the expected value is given by where ξ is a column vector with all values set to 1.
In what follows, we first assess the reliability of the Markov chain model assuming a Moore neighborhoodbased interaction graph with eight neighbors per node.We compare model predictions against data collected from simulation-based studies.Second, we assess the quality of our spatial assumption using data acquired from both real robots experiments and simulation-based experiments in which we vary the spatial distribution of the robots from a square lattice to a random distribution.We then present the results of our scalability studies of the growth process.

Model validation
We validate the reliability of the Markov chain model using multiple probability-probability (P-P) plots, in which we compare the cumulative distribution function F(ϕ) with the empirical distribution F(ϕ) collected from simulation for varying sizes of potential recipient robots N and target group size D.
In Fig. 12, we present the results using nine different P-P plots organized in a 3 × 3 matrix.Plots in the same row have identical N values while plots in the same column have target group size D = D det + d • (N − D det ), where d is a constant fraction of robots remaining in the stochastic phase (N − D det ).For each configuration of parameters N and D, we execute 1000 independent simulation runs and record the number of iterations required before D was reached.As a P-P plot is confined to the unit square, the distributions under examination agree when the points in the plot lie on the diagonal of the square.In all nine plots shown in Fig. 12, the function (F(ϕ), F(ϕ)) produces data points in the close proximity of the diagonal of the respective squares indicating a good agreement between theoretical and empirical distributions for each combination of parameters considered.We depend on this observation to confirm the reliability of our model.

Real robot experiments and spatial assumptions
We conducted a series of experiments with real robots to study the duration of the growth process.In particular, we studied how a random distribution of the robots may affect the duration of the growth process with respect to the model predictions that assume an interaction graph-based on square lattice distribution.We assumed an already established one-to-one STC link between the AR.Drone and one  marXbot.We performed experiments with N = 9 marXbots and one AR.Drone with an experimental setup similar to that presented in Sect.4.3.2.However, unlike the experiments presented in Sect.4.3.2,no light source was considered in this set of experiments.The AR.Drone therefore used the center of the bounding box that includes all marXbots in the field of view as the input to its PID controller.The freeze signal was issued when fewer than nine marXbots were visible to the AR.Drone.We considered two spatial distributions of the marXbots: random (Fig. 13a left) and a square lattice with a side length of 0.4 m (Fig. 13a right).For each spatial distribution, we varied the target group size D in the set {2, 4, 8}.We executed 30 repetitions for each combination of parameters resulting in a total of 180 runs.Video footage of this series of experiments is available in the online supplementary material (Mathews et al, 2013).Figure 13b is a plot of the results obtained using random distribution, square lattice distribution, and model predictions.The results show that the median value of the square lattice distribution and the expectation value of the model predictions for D = 2 and D = 8 do not vary significantly.Also, the amplitude of the standard deviation is well approximated.In the case of D = 4, however, the empirical data does not correspond well to the theoretical expectation.This may be explained by random fluctuations of the estimated distributions caused by the limited sample size of 30 runs.When comparing the results obtained using random distributions, we observe the growth process to terminate minimally faster than the expectation value of the model.This observation is a direct consequence of the sizes chosen for D. When nine marXbots are distributed in a square lattice around the target robot, all eight neighbors of the target robot are closest candidate robots and hence no deterministic iteration of Consequently, the AR.Drone may reach the target group size with deterministic phase iterations only, and may avoid stochastic phase iterations entirely.We also confirm this observation using the video footage of the experiments (Mathews et al, 2013).We conclude that for small N, the square lattice-based interaction graph underlying the Markov chain model overestimates the duration of the growth process as random distributions often do not result in the dense, structured neighborhoods inherent to the square lattice.
In simulation-based studies, we further investigated the difference in the duration of the growth process between a random distribution and a square lattice, and compare This can be explained by the high density of robots that makes it more probable for a robot to perceive at least one neighbor in each of its eight sections of perception.The average degree of connectivity in the resulting interaction graph may hence resemble that of a square lattice with eight nodes.In summary, the data shows that even if the spatial assumption underlying the Markov chain model is not met, the model provides a reliable and quantitative approximation of the duration of the growth process provided the potential recipient robots are densely packed.

Scalability
An STC link to a target group can be established by executing the elimination process presented in Sect. 4 followed by either the growth process or by repeating the elimination process multiple times such that one robot is added to the target group after each repetition.Using the Markov chain model, we study the scalability properties of both these approaches by computing the expectation value of ϕ where N = 121 and D ∈ {2, . . ., 100}.In  15 and its inset.Although establishing an STC link to a group of robots through the iterative growth process is faster in all cases considered, growing a target group by incrementally adding one robot after the other may still remain an option in applications that require STC links to particular robots rather than to a cohesive group of a specific size.

One-to-many STC application scenario
We consider a segregation task as an example of a realworld application that requires spatial coordination among the robots.In this experiment, we deploy eight marXbots and one AR.Drone on a mission in which a subgroup consisting of four marXbots closest to an object of interest needs to be segregated from the rest of the group and sent to the object of interest.We use a light source placed on the ground as the object of interest.The marXbots are, unlike the AR.Drone, neither aware of the total number of robots in the system nor of the number of robots that may be required for upcoming tasks.After deployment, the AR.Drone follows the group of marXbots until the object of interest is in its field of view (see Fig. 16 left).The AR.Drone then establishes a one-to-one STC link to the marXbot closest to the object of interest, before launching the growth process to expand the link to grow a target group that includes the four marXbots closest to the object of interest.Finally, the AR.Drone uses the established one-to-many STC link to achieve segregation between the two groups by broadcasting instructions (Christensen et al, 2008) that require the target group to perform a phototaxis behavior while the remaining robots are commanded to execute a retreat behavior (see Fig. 16 right).In this experiment, the marXbot behavior is fully autonomous.The AR.Drone performs autonomous sensing and communication, but was flown manually.
In the proof-of-concept experiment we conducted, the one-to-one STC was established within 6 iterations (i.e., within 6 • 200 ms=1200 ms, as the fixed threshold τ was set to 200 ms).The growth process took only one iteration of type HAL→GRO→HAL to form the required target group (i.e., within 3 • 300 ms=900 ms as marXbots use three sequentially retrieved frames from their omnidirectional cameras for the decision-making required in the exclusion mechanism shown in Fig. 9 while a frame is retrieved each 300 ms).The wall clock time given in ms discounts the time during which not all eight marXbots are in the field of view of the AR.Drone and the freeze signal is issued.A video recording of the experiment is available in the online supplementary material (Mathews et al, 2013).Further examples of applications for one-to-many STC can be found in our previous work (Mathews et al, 2012a).

Discussion
The STC protocol as described in this paper requires that any potential recipient robot in the communication range of the initiator robot must also be able to communicate back to the initiator robot.If this condition is not respected, it creates a problem of asymmetrical communication: potential recipient robots can respond to the initiator robot without the initiator robot being aware of them.As a result, in some cases the initiator robot can believe that it has established a one-to-one link with a single target robot when in fact it has unknowingly selected multiple target robots.Similarly, when establishing a one-to-many link extra potential recipient robots can add themselves to the forming group without the initiator's knowledge.
With the hardware we use in our experiments there is an asymmetry between the communication ranges of the initiator and potential recipient robots: the AR.Drone transmits using wireless Ethernet and can therefore send signals to all the marXbots.The marXbots transmit using LEDs, thus the only marXbots that can send signals to the AR.Drone are those in the AR.Drone's field of vision.In our experimental setup we have avoided the asymmetrical communication problem by placing all the marXbots within the AR.Drone field of vision.In practice, this means that in our experiments all communication in the system is global.
Instead of solving the asymmetric communication problem by using global communication, to establish a one-toone STC link it would be enough to let the initiator robot use the macroscopic model (see Sect. 4.2) to calculate the probability that only one target robot has been selected.This calculation would use the number of elimination iterations already conducted together with an estimate of the total number of robots4 that can receive the initiator robot's signals to produce the required probability.Should this probability be not low enough, the protocol could be repeated for an additional number of iterations until the probability falls below the required threshold.
This solution does not extend to the establishment of one-to-many STC links.In some cases a behavioral solution could solve the problem.With the hardware we use, for example, the AR.Drone could ensure that robots outside of its field of vision cannot become part of the group.This can be achieved by initiating and then expanding the group in such a way that the boundaries of the group never expand beyond its own field of vision.Even in cases in which such behavioral solutions are not feasible, small errors in the size of the group will often not be important, especially given mate by an order of magnitude to be on the safe side.The logarithmic nature of the relationship between the number of robots in the system and the number of iterations in the STC protocol (see Fig. 7) ensures that the cost in terms of additional iterations will be very low.
that the resulting group will anyway be spatially coherent.This is for example true in almost all swarm robotics applications (Nouyan et al, 2009;Dorigo et al, 2013Dorigo et al, , 2014)).
A remaining issue with the applicability of the STC protocol, even in its extended form, to our hardware would be if two or more AR.Drones wished to establish STC links in parallel.The fact that they each use non-situated broadcast communication (wireless Ethernet) would make it impossible for the marXbots to distinguish between signals from the different initiator robots.However, this is no longer an issue when both the initiator and potential recipient robots use situated communication.In previous work we have shown the STC protocol working with this type of bidirectional situated communication (Mathews et al, 2010a(Mathews et al, , 2012b)).In such a setup, multiple initiator robots can establish STC links in parallel-the potential recipient robots can use the inherent properties of situated communication to distinguish between signals from the different initiator robots (e.g., based on distance) and therefore choose which STC process to participate in.
Another potential issue with our protocol is related to the noise inherent to most technologies that transmit situated communication signals (e.g., ultrasound, infrared, or LED light).Our STC protocol can cope with wrongly detected signals caused by noise.During the elimination process, if a wrong signal causes the target robot to eliminate itself at any point, the initiator robot stops signalling until all potential recipient robots quit the process, then simply starts the elimination process again.During the growth process, if a signal is wrongly detected by any of the robots, the process simply requires a few additional iterations to correct the error.Both these corrective measures have time costs.We therefore also used filtering techniques to reduce the number of wrong signals: to filter out wrongly detected signals, we let each signal receiving robot make decisions only after processing at least three subsequently received camera frames.This simple filtering mechanism proved sufficient to completely eliminate transmission errors in all of our experiments.

Conclusions and future work
Multirobot systems are starting to consist of large numbers of robots.Additionally, such systems often consider a heterogeneous group of robots that operate in increasingly large environments pursuing different tasks in parallel.Scalable spatial coordination between different types of robots is thus becoming increasingly important.In this paper, we identified spatially targeted communication as an essential form of communication that enables spatial coordination in multirobot systems.We presented a protocol that enables robots in a decentralized multirobot system to establish ad-hoc communication links to particular target robots based on their location in the environment.The protocol can be implemented on standard hardware found on many existing robotic platforms.We formally described the protocol's constituent processes using Markov chain formalisms and showed that the elimination process scales logarithmically with respect to the number of potential recipient robots while the growth process scales logarithmically with respect to the target group size.We presented results of 332 experimental runs carried out using a heterogeneous multirobot system composed of autonomous aerial and ground-based robots -a type of heterogeneous multirobot system that has recently gained much attention (Dorigo et al, 2013) and may potentially benefit the most from our approach.We presented two application scenarios to demonstrate the usefulness of spatially targeted communication when solving realworld tasks.Our approach does not require any dedicated hardware and also functions in GPS-denied environments.Thus, it offers high portability to a variety of existing and future robotic systems that include any kind of situated signal emitting technology.
In future research, we are incorporating the approach presented in this work in studies that require coordination between teams of aerial and ground-based robots that operate in parallel.We are also interested in developing platform specific models that consider characteristics inherent to the used platform, for instance probability of miscommunication (due to wrongly detected signals) or probability of malfunctioning robots, to enhance the robustness of model predictions when operating on different real robotic hardware.Such models will allow us to reliably apply spatially targeted communication to a multitude of platforms to study a series of complex tasks that require spatial coordination ranging from multirobot construction to dynamic task allocation under the supervision of aerial robots.

Fig. 3
Fig. 3 Establishing a one-to-one STC link: FSMs running on (a) the AR.Drone, and (b) the marXbots., , and stand for the RGB color signals emitted in the respective states

Fig. 4
Fig. 4 (a) Cumulative distribution function F(ϑ ) and (b) probability mass function f (ϑ ) plotted against their empirical counterparts acquired from simulation: F(ϑ ) and f (ϑ ), respectively.Full symbols represent model predictions, empty symbols show the outcome of 1000 simulation runs where N = 50

Fig. 5
Fig. 5 Snapshots from a real robot experiment.Left: an AR.Drone and four marXbots executing the one-to-one behavior.Right: the AR.Drone establishes an STC link to the marXbot closest to the object of interest

Figure 6 Fig. 6
Figure6shows the results plotted as boxplots together with predictions of the model plotted as error bars.They show the expected value E[ϑ ] and the variance V[ϑ ] of the number of iterations necessary to establish a one-to-one STC link.We compute E[ϑ ] and V[ϑ ] from the matrices Γ

Fig. 7
Fig. 7 Scalability study for increasing values of N and |C s |.The shaded areas correspond to E[ϑ ] ± V[ϑ ]

Fig. 8
Fig. 8 Two frames captured from a ceiling camera of an experiment in which a one-to-one STC link is set up and used by the AR.Drone to send self-assembly related data: (left) STC link established to the marXbot closest to the object of interest; (right) the marXbot executes the instructions received from the AR.Drone to self-assemble an arrowlike morphology

Fig. 9
Fig. 9 The exclusion mechanism executed by candidate robots to achieve cohesive target groups.= member, = closest candidate robot, = candidate robot, and = hibernating robot.(a) Candidate robots within communication range of a robot already in the group.(b) Division of perception range into eight equally sized sections visualized on a candidate robot.Three candidate robots exclude themselves and do not become closest candidate robots, as they detect another candidate robot closer to the target robot in a single section.(c) The target robot and its remaining closest candidate robots

Fig. 10
Fig. 10 Establishing a one-to-many STC link: FSMs running (a) on the AR.Drone and (b) the marXbots.The RGB color signal emitted in each state is indicated by , , or

Fig. 11 A
Fig. 11 A schematic of an iterative growth process in a square lattice where N = 25 and D = 12.Iteration in the deterministic phase is indicated by a solid arrow, and iterations in the stochastic phase are indicated by dashed arrows.Intermediate group sizes (filled boxes) and potential target group sizes (empty boxes) are given in the bottom.The opposing arrows depict confining upper and lower bounds.= MEM, = CCN, = HIB

Fig. 15
Fig. 15 Scalability study showing the expectation value E[ϕ] for N = 121 robots and target group size D ∈ {2, . . ., 100} in a square lattice distribution.Results obtained by repeating the elimination process with varying |C s | (dashed line) are plotted against those obtained from the growth process (solid line).The inset shows the performance of the growth process for larger values of D together with the fitted values shown in circular markers

Fig. 16
Fig. 16 Two top-down snapshots of the segregation experiment.Left: the group of robots reaches the object of interest.Right: the AR.Drone uses spatially targeted communication to segregate the four marXbots closest to the object of interest from the group and to direct them towards the object