Spatially Targeted Communication in Decentralized Multirobot Systems |
|
Nithin Mathews,
Gabriele Valentini,
Anders Lyhne Christensen,
Rehan O'Grady,
Arne 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|:
|
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:
|
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}:
|
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.
|
|
|
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:
|
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.
|
|
|
References
[1]
P.-J. Bristeau, F. Callou, D. Vissière, N. Petit, "The navigation and
control technology inside the AR. Drone micro UAV," in Proceedings
of the 18th IFAC World Congress, vol. 18, no. 1, 2011, pp. 1477-1484.
[2]
M. Bonani, V. Longchamp, S. Magnenat, P. Rétornaz, D. Burnier,
G. Roulet, F. Vaussard, H. Bleuler, and F. Mondada, "The marXbot,
a miniature mobile robot opening new perspectives for the collective-
robotic research," in Proceedings of the 2010 IEEE/RSJ International
Conference on Intelligent Robots and Systems (IROS 2010). IEEE
Press, Piscataway, NJ, USA, 2010, pp. 4187-4193.
[3]
C. Pinciroli, V. Trianni, R. O'Grady, G. Pini, A. Brutschy, M. Brambilla,
N. Mathews, E. Ferrante, G. Di Caro, F. Ducatelle, M. Birattari, L. M.
Gambardella, and M. Dorigo, "ARGoS: A modular, parallel, multi-
engine simulator for multi-robot systems," Swarm Intelligence, vol. 6,
no. 4, pp. 271-295, 2012.
[4]
N. Mathews, A. Stranieri, A. Scheidler, and M. Dorigo, "Supervised
morphogenesis - Morphology control of ground-based self-assembling
robots by aerial robots," in Proceedings of 11th International Conference
on Autonomous Agents and Multiagent Systems (AAMAS 2012).
IFAAMAS, Richland, SC, 2012, pp. 97-104.
|
|