Spatially Targeted Communication in Decentralized Multirobot Systems

Nithin MathewsGabriele ValentiniAnders Lyhne ChristensenRehan O'GradyArne Brutschy,  and Marco Dorigo

Abstract

Spatially targeted communication allows a message sender to choose message recipients based on their location in space. Currently, spatially targeted communication in multirobot systems is limited to centralized systems. In this paper, we propose a novel communication protocol that enables spatially targeted communication in decentralized multirobot systems. The proposed protocol dispenses with the centralized 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 spatially targeted communication 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 spatially targeted communication.

Methodology

We propose a distributed approach to achieve spatially targeted communication that does not rely on external tracking infrastructure or dedicated hardware. The core idea of our approach is to leverage existing situated communication modalities to establish ad-hoc spatially targeted communication links (henceforth "STC links") between robots that want to communicate to one another. Our approach assumes a situated communication modality capable of detecting and sending at least three distinguishable situated signals that are broadcast within a limited communication range. The proposed approach is based around an iterative elimination process that results in a dedicated communication link 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 positive features. Firstly, it can use standard, low-cost components. In our experimentation, we use off-the-shelf cameras and LEDs of three different colors to generate the three situated signals. Secondly, the proposed approach scales well with the number of potential recipient robots: the elimination process at the heart of our approach scales logarithmically while the growth process scales linearly. Finally, our approach also has the benefit that it can be accurately represented by Markov chain models. We present separate models for the elimination process and the growth process and confirm the scalability of our approach. We present repeated real-world experiments with a heterogeneous robotic system, composed of up to 10 ground-based robots and one aerial robot. The initiator robot in our experiments is the flying AR.Drone robot [1]. The potential recipients are the ground-based marXbots [2]. Our experiments show that our method can be successfully implemented on real robotic hardware, and that it enables spatial coordination between robots not initially designed to communicate with each other.

Experimental Platforms

Our heterogeneous multirobot testbed is composed of an AR.Drone 1.0 and up to ten marXbots. For safety reasons, we use a colorless, transparent plexiglass platform installed at 40cm height from the ground to shield the marXbots from the the AR.Drone (see Fig. 1a). The camera feed from the AR.Drone is shown in the inset. The inset's border color is used to visualize the signals sent by the AR.Drone via wireless Ethernet broadcast. The color white represents the freeze signal. The marXbots use their LEDs to transmit situated signals by displaying a color from the set >C:={red,blue,green}. These signals can be received by any robot, i.e., an AR.Drone or another marXbot, in the vicinity using the downward-pointing camera or the omnidirectional camera, respectively. A simple blob detection technique is applied to locate robots emitting a signal using their LEDs. Studies that require larger number of robots are conducted in a physics-based simulator [3] developed for multirobot simulation (see Fig. 1b). In simulation, we use the LEDs mounted on the aerial robot to visualize the signals transmitted to the marXbots. Additionally, in simulation-based experiments we use up to seven signals C:={red,blue,green,magenta,cyan,yellow,orange}.

(a) (b)
Fig. 1: (a) The experimental setup showing the AR.Drone sending the signal blue, six marXbots responding with either blue or green color signals, the plexiglass platform, and a light source representing the object of interest. (b) A snapshot from simulation showing the aerial robot emitting the green signal, 100 marXbots responding using either the signal blue or green, and a cylinder placed on the ground representing the object of interest.

Establishing One-to-One STC Link

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:={c1,...,c_s: s >= 3} of distinct signals. The set C consists of signal c1, used to initialize 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 to define the sets as C:={red,blue, green} and C_s:={blue, green}. The initiator robot initializes the elimination process by emitting the signal c1. The robots that perceive the c1 signal enter the elimination process by acknowledging with c2. Then, the initiator robot starts the elimination process by emitting a matching handshake signal c2. At each iteration, robots still in the process individually 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 match that of the initiator robot remain in the process. The other (non-matching) robots no longer emit any signal, and thus take 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 c1. The target robot acknowledges the termination by signaling c1. The initiator robot has now established an STC link to the target robot.

Model validation

We validate the accuracy of the model's predictions by comparing them with empirical values obtained from simulation. We study the number of iterations required to establish a one-to-one STC link for different values of |C_s| and where N=50. In the following, we present an experiment for six different values of |C_s|:
N=50, |C_s|=2 => 6 iterations
N=50, |C_s|=3 => 5 iterations
N=50, |C_s|=4 => 4 iterations
N=50, |C_s|=5 => 4 iterations
N=50, |C_s|=6 => 3 iterations

Real robot experiments

We carried out experiments with one AR.Drone and N:={2,4,6,8,10} marXbots distributed in a 1 m x 1.5 m arena with |C_s| = 2 colors. The inset shows the perception of the AR.Drone including the results of its realtime image analysis (i.e., detected marXbots and the signals they emit, the object of interest represented by the light source). The signals sent by the AR.Drone are visualized using the color of the inset border (the color white is shown when the freeze signal is being emitted). The POI controller uses the object of interest as its input. The target robot is indicated using a line that connects the object of interest and its nearest robot. The AR.Drone executes the one-to-one STC controller once it reaches the predefined height of 1.4 m (i.e., 1.8 m above ground) and detects the object of interest in the center of its field of view (shown using the yellow circle). The fixed threshold τ is set to 200 ms. In the following, we present a video composed of 10 runs for each value of N:
N=2, |C_s|=2
N=4, |C_s|=2
N=6, |C_s|=2
N=8, |C_s|=2
N=10, |C_s|=2

Scalability

We investigate the scalability of the iterative elimination process using the Markov chain model for increasing values of N. Additionally, we study the effect of |C_s| on the number of iterations required for process termination. In the following, we present six simulated videos for each parameter combination of N=100 and |C_s| := {2,3,4,5,6}:
N=100, |C_s|=2 => 12 iterations
N=100, |C_s|=3 => 6 iterations
N=100, |C_s|=4 => 5 iterations
N=100, |C_s|=5 => 4 iterations
N=100, |C_s|=6 => 4 iterations

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 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 multiple 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. Note that while the instructions for this particular morphology were preloaded on the AR.Drone, we have shown in our previous work [4] 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, 3x200 ms=600 ms.

N=6, |C_s|=2


Establishing 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:={c1,c2,c3} of distinct signals, a one-to-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 c3 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 c2. 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. 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 c3. 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 target group size, the initiator robot issues the signal c2 to request the closest candidate robots to relinquish their candidacies probabilistically. The c2 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 c1. Hence, the initiator robot may halt the growth process at an intermediate group size that is smaller than the target group size. If the intermediate group size is smaller than the target group size, the initiator robot restarts the growth process around the intermediate group. This incremental growth is repeated until the target group size is reached.

Model validation

We validate the reliability of the Markov chain model by comparing the cumulative distribution function with the empirical distribution collected from simulation for varying sizes of potential recipient robots N and target group size D = D_det + d · (N - D_det), where d := {25%,50%,75%} is a constant fraction of robots remaining in the stochastic phase (N - D_det) in a square lattice distribution. In the following, we present a simulation run for each combination considered and provide the intemediate group size (IGS) and the potential group size (PTGS) at any given moment of the growth process:
d=25% d=50% d=75%
N=9, D=3 (D_det=1, N - D_det=8) N=9, D=5 (D_det=1, N - D_det=8) N=9, D=7 (D_det=1, N - D_det=8)
N=49, D=31 (D_det=25, N - D_det=24) N=49, D=37 (D_det=25, N - D_det=24) N=49, D=43, (D_det=25, N - D_det=24)
N=121, D=91 (D_det=81, N - D_det=40) N=121, D=101 (D_det=81, N - D_det=40) N=121, D=111 (D_det=81, N - D_det=40)

Real robot experiments and spatial assumptions

We conducted a series of experiments with real robots to study the duration (i.e., the number of iterations required until the termination) of the growth process. In particular, we studied how a random distribution of N=9 may affect the duration of the growth process with respect to the model predictions that assume an interaction graph-based on square lattice distri- bution. We assumed an already established one-to-one STC link between the AR.Drone and one marXbot. We performed experiments with 9 marXbots and one AR.Drone where D := {2,4,8}. The inset shows the perception of the AR.Drone including the results of its realtime image analysis (i.e., detected marXbots and the signals they emit, the object of interest represented by the center of the bounding box -- marked using a yellow dot -- that includes all marXbots in the field of view). The signals sent by the AR.Drone are visualized using the color of the inset border (the color white is shown when the freeze signal is being emitted). The POI controller uses the object of interest as its input for hovering. The AR.Drone executes the one-to-one STC controller once it reaches the predefined height of 1.4 m (i.e., 1.8 m above ground) and detects the object of interest in the center of its field of view (shown using the yellow circle). The iteration types are given in ascending order of occurrence. In the following, we present a video composed of 10 runs per parameter configuration:
Random distribution Square lattice distribution
N=9, D=2 N=9, D=2
N=9, D=4 N=9, D=4
N=9, D=8 N=9, D=8

Simulation-based experiments and spatial assumptions

In simulation-based studies, we further investigated the difference in the duration of the growth process between a random distribution and a square lattice distribution, and compare the results with the predictions of the model for increasing N := {9, 25, 49, 81, 121} and target group size D = D_det + 50% · (N - D_det). To mitigate the effect of random fluctuations, we performed 1000 simulation runs for each parameter configuration. In the following, we present an experimental run from simulation for each parameter configuration, in which we also provide the intemediate group size (IGS) and the potential group size (PTGS) at any given moment of the growth process:
Random distribution Square lattice distribution
N=9, D=5 (D_det=1, N - D_det=8) N=9, D=5 (D_det=1, N - D_det=8)
N=25, D=17 (D_det=9, N - D_det=16) N=25, D=17 (D_det=9, N - D_det=16)
N=49, D=37 (D_det=25, N - D_det=24) N=49, D=37 (D_det=25, N - D_det=24)
N=81, D=65 (D_det=49, N - D_det=32) N=81, D=65 (D_det=49, N - D_det=32)
N=121, D=101 (D_det=81, N - D_det=40) N=121, D=101 (D_det=81, N - D_det=40)

Scalability

An STC link to a target group of size D can be established by executing the elimination process 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. In the following, we present a simulated run showing the repeated execution of the elimination process for each parameter combination of N=121, D=20 and |C_s| := {2,3,4,5,6}. We also present one simulated run of the growth process used to reach the same target group size D=20 and where N=121:
Repeating the elimination process Executing the growth process
N121, D20, |C_s|=2 => 179 iterations N121, D20 => 10 iterations
N121, D20, |C_s|=3 => 127 iterations
N121, D20, |C_s|=4 => 108 iterations
N121, D20, |C_s|=5 => 94 iterations
N121, D20, |C_s|=6 => 84 iterations

Application scenario

We consider a segregation task as an example of a real world application of one-to-many spatially targeted communication. In this experiment, we deploy eight marXbots and one AR.Drone on a mission in which a subgroup consisting of four marXbots needs to be segregated near an 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.

In this experiment, the one-to-one STC was established within six iterations (i.e., within 6x200 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 3x300 ms=900 ms as marXbots use three sequentially retrieved frames from their omnidirectional cameras for the decision-making required in the exclusion mechanism 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.
N=8, |C_s|=2


References