RA_L___Camera_Ready (3)
RA_L___Camera_Ready (3)
Abstract— In this paper, we present a swarm robotics control collective behaviors that emerge from simple local interac-
and coordination approach that can be used for locating a tions between individual agents [5]. Given that a swarm is a
moving target or source in a GNSS-denied indoor setting. The group of decentralized, autonomous, and simple agents, that
approach is completely onboard and can be deployed on nano-
drones such as the Crazyflies. The swarm acts on a simple set can work together to achieve a common goal, it presents
of rules to identify and trail a dynamically changing source an apt framework for our constraints. Swarm robotics takes
gradient. To validate the effectiveness of our approach, we con- inspiration from the collective behaviours observed in nature:
duct experiments to detect the maxima of the dynamic gradient, The collective sensing behaviours in fish schools, as explored
which was implemented with a set of lights turned on and off in [6], [7], offer substantial inspiration for our previous [8]
with a time-varying pattern. Additionally, we introduce also
a minimalistic fully onboard obstacle avoidance method, and and the current study. Thus, drawing upon such insights from
assess the flexibility of our method by introducing an obstacle nature allows us to apply them beneficially within the context
into the environment. The strategies rely on local interactions of our research.
among UAVs, and the sensing of the source happens only at the The task of source seeking becomes even more difficult
individual level and is scalar, making it a viable option for UAVs in the presence of dynamic or moving sources, and when
with limited capabilities. Our method is adaptable to other
swarm platforms with only minor parameter adjustments. Our requiring also collective motion towards the source, that is
findings demonstrate the potential of this approach as a flexible individuals maintaining safe and similar distances to each
solution to tackle such tasks in constrained GNSS-denied indoor other while moving in the same direction [9]. Here, UAVs
environments successfully. must coordinate their collective motion, sense and navigate
the environment, detect and locate the source of interest,
I. INTRODUCTION while constantly balancing a compromise between updating
Unmanned aerial vehicles (UAVs) have proven to be a their collective estimation of the source and coordinating
valuable tool for source seeking in a wide range of appli- their movements.
cations [1], [2]. However, detecting a source with UAVs To solve the problem of performing collective motion
poses significant challenges [3], particularly in complex while seeking a dynamic source in a GNSS-denied indoor
environments. Indeed, such endeavour requires high levels of environment, this study introduces an approach for con-
autonomy and adaptability, particularly in unknown GNSS- trolling fully onboard a nano UAV swarm. The approach
denied environments where communication may be limited is not based on complicated control and state estimation
or intermittent. Source seeking UAVs can find applications methods. Rather, the swarm utilizes relative localization,
in outdoor or indoor environments. UAVs for outdoor en- limited onboard sensing and no communication on source
vironments, larger in size, enjoy more flexibility in sensor measurements, and achieves dynamic source seeking through
hardware and computational resources, allowing resource- emergent self-organization. In this study we show, for the
intensive operations. Conversely, UAVs for indoor envi- first time, a fully onboard implementation, with a genuine
ronments face space constraints and necessitate a compact and dynamically changing gradient source (in the exper-
design with limited sensor and computational capacities. iments implemented via light emitters), sensed onboard in
Because of these restrictions, the design of hardware and the presence of obstacles.
control for indoor UAVs is more challenging compared II. RELATED WORK
to outdoor UAVs. This mandates strategic efficiency en-
hancements, particularly in algorithm design and resource Previously, several works have attempted to tackle the
utilization, to meet objectives within these spatial confines. problem of localizing a source by using UAVs with limited
To circumvent the constraints inherent to indoor platforms sensing capabilities. In the context of single UAVs, the
and to achieve the above objectives, an approach based on authors in [10] employed a deep reinforcement learning
multiple UAVs offers a compelling solution, as evidenced algorithm to locate a solitary, stationary light source, utilizing
by previous research [4]. Particularly, swarm robotics studies multiple lightweight sensors on the UAV. Their platform was
also capable of obstacle avoidance. The learning pipeline
1 Vrije Universiteit Amsterdam, Noord-Holland, incorporated a training-in-simulation phase prior to actual
The [email protected],
Netherlands, deployment. The authors in [11] introduced a bio-inspired
[email protected], solution, mimicking bacterial chemotaxis, to a source lo-
[email protected]
2 Autonomous Robotics Research Center, Technology Innovation Institute calization problem, but without employing any learning
Abu Dhabi, United Arab Emirates [email protected] methodology. They deployed a single nano-UAV equipped
with a temperature sensor to identify a heat source. The an obstacle (which is not achieved in [13], [14] and [15]).
UAV leveraged historical position and measurement data to Each drone senses the gradient via its sensor and retrieves a
estimate an assumed form of gradient, successfully localizing scalar value (the intensity of the source at its location), but
the heat source. it does not communicate this measurement to other drones
Besides single-UAV applications, there is also work on (unlike the cases where measurements are communicated to
multi-UAV approaches. The authors of [12] focus on an peers for the estimation in [12], [13], [14] and [15]). The
extensive application employs nano-drones to localize a drone does not store nor utilizes any historical data, and the
stationary gas leak source using a specialized sensor. In method operates reactively unlike other studies we discuss
this application, UAVs exchange measurement data and ap- in this section.
proximate relative distances to pinpoint the source, all while
circumventing obstacles. Despite these coordinated actions, III. M ETHODOLOGY
the system does not demonstrate any collective motion. The In this section, we outline our methodology for addressing
authors of [13] introduce a level of collective movement the challenge of dynamic source localization with obstacle
where nano UAVs localize an emulated source, implemented avoidance in the absence of global positions and directional
as a stored function onboard each UAV. The computed information about the source location. This method considers
source function values are shared among UAVs, subsequently three main behavioural building blocks: collective motion,
integrating with the flocking algorithm. In a simulation emergent source localization, and obstacle avoidance. All
study by [14], multiple UAVs attempt to locate a single these building blocks are fully reactive and do not require
static signal source utilizing an extremum seeking algorithm. information about past sensory readings. Moreover, they are
The UAVs estimate the signal strength gradient’s peak by all deployed on each drone in a fully onboard fashion. The
averaging each other’s measurements. Lastly, the authors in collective motion building block requires only the relative
[15] present centralized adaptive navigation control strategies positions and headings of neighboring agents. With this
to characterize sources in 2D and 3D scalar fields, also building block, we expect that the swarm will move in
accounting for plume dynamics. The process incorporates a cohesive and ordered fashion, maintaining safe and pre-
the collective use of individual measurements from diverse dictable distances between agents. For the source localization
environmental points by the cluster members. Unfortunately, building block, the source can be sampled using an on-
despite accurate modeling of UAV dynamics, the work was board sensor that gives scalar information on the source
only implemented in simulation. intensity at the drone position. The building block employs
In our previous work [8], we have implemented a set of scalar readings of the gradient field strength at their current
rules used for gradient following, that has been evaluated locations to modulate their desired distances to maintain
using a centralized implementation and sensor emulation with others [8], to achieve emergent source localization
for static gradient forms devoid of obstacles. In addition, (converging to the source location in a way that is only
we tested various scalar field types, swarm sizes, and be- achievable as a collective, individuals are incapable of doing
havioral modifications (such as alignment control) through that [7]). Simultaneously, the centroid of this cohesive swarm
simulation experiments. In these simulations, our proposed is expected to follow the increasing gradient of the source
method demonstrated its effectiveness not only on a real- strength, ultimately converging on the source center. The
istic dynamic model of Crazyflie nano drones but also on hypothesis in this paper is that, when the source location
point agents modeled at a comparatively large scale. In this is changed, the swarm will react accordingly to the changed
work, we implement and demonstrate for the first time a source location. The obstacle avoidance building block uses
fully onboard implementation of a bio-inspired algorithm for 4 time-of-flight on-board sensors acting on the principal
gradient following, using an approach that is a significant directions (front, back, left, right) to perceive obstacles.
extension of the one presented in [8]. We have enhanced This building blocks combines three contributions: virtual
our previous implementation by adapting our methodology to repulsion forces produced according to the direction away
accommodate the inputs from a real gradient source instead from the obstacle; an attraction force towards the agent’s
of emulated values, introducing obstacle avoidance capability neighbors; and a random perturbations component to avoid
with an on-board distance sensor, and manually optimizing agents resolving directional deadlocks.
all control rules in light of these new factors. Unlike the The individual controller of each UAV calculates linear
previous approach, all rules are now implemented on the speed (Ui ) and angular speed (ωi ). UAVs can translate only
same micro controller serving as the main flight controller, in their heading direction by the magnitude of Ui , and
eliminating the need for centralized implementation. this direction is changed by ωi over time. Although the
We use fully onboard controlled Crazyflie nano-drones platform we use (multi-rotor aerial vehicle) can translate in
in an indoor environment (unlike control from a central any direction, we impose this constraint on the platforms
computer as in [11] or only on simulation as in [14] and to apply our methodology, which ensures smooth motions
[15]), a physical custom-made on-board sensor to imple- of the UAVs and improves the stability of the collective
ment scalar source sensing (differently from [13] where motion [16]. In addition, the translation constraint makes our
the measurements are calculated by a stored function), and methodology easily portable to any kind of platform with
another physical on-board sensor for sensing and avoiding minor changes only in the parameters.
The controller takes the relative positions and headings of the motion into a more reactive, smooth and faster one.
other UAVs as the input. In addition, each UAV uses its own To retain these properties with a dynamic gradient source
sensor reading as a source value. Individual sensor readings without affecting the performance adversely, we have chosen
are used in such a way that UAVs with higher values keep to keep alignment control and showcase the best possible
a longer distance to their neighbours, without letting others performance. ⃗hi is calculated as a unit vector. The direction
know about it. Later, the vectors are combined to produce of ⃗hi is the average of heading directions of all neighbors,
Ui and ωi , which are applied on each control step. resolved in the local frame of the focal UAV.
The core of our method consists in creating a virtual spring jθ0
P jθm
between a focal UAV i and its neighbors, by modulating ⃗hi = e + Pm∈N e (3)
their interpersonal distance according to the focal UAV’s ||ejθ0 + m∈N ejθm ||
individual sensory input (Ls ) and the following equation: In the above, θm represents the heading angles of neighbor
0.1 UAVs and θ0 stands for the heading of the focal UAV.
Ls − Lmin
σi = σL + σr (1) Then, the boundary avoidance vector, r⃗ib , is responsible
Lmax − Lmin for producing a repulsion from the boundary (b) if the focal
In the above, σL and σr stand for the lowest allowed UAV is closer to it than a safe distance, Db . r⃗ib is calculated
value and the modulation range of σi , respectively. This√ as the combination of repulsion from all boundaries (B) in
modulation increases the desired distance ddes = σi 2 which the focal UAV is closer than Db .
of the focal UAV to other UAVs when it is exposed to ⃗b !
higher sensor readings, which can also be seen as more ⃗b
X 1 1 pi
ri = krep − (4)
asocial behavior. Differently from [8], Equation 1 includes Lb L0 L3b
b∈B
an exponent, not present in the original formulation, that
is introduced to cope with realistic environmental gradient In the above, krep designates the strength of r⃗ib and L0 sets
profiles. The value of the exponent must be less than 1 the relaxation threshold. Lb is the shortest distance to the
because the real gradient tends to change rapidly near the boundary b among all close-by boundaries, B. p⃗bi points the
maximum and more smoothly in darker regions. To better relative direction from the boundary b to the focal UAV to
respond to small changes in these darker areas, σi increases produce repulsion.
more quickly when Ls has lower values. The exponent of 0.1 The final component of f⃗i is the obstacle avoidance vector,
was found manually to achieve the best performance with the ⃗i
o (not considered in [8] and added for the first time in this
real gradient source. paper).
The first vector is the proximal vector p⃗i and therefore
computes the velocity required to maintain ddes between o⃗i = o⃗id
X
(5)
UAV i and each UAV m, that is part of the former’s d∈D
neighborhood N :
where, superscript d represents the direction of sensed ob-
σ4 σ2 stacles and o⃗id represents the sub-vector for each direction.
X m
p⃗i = −ϵ 2 mi 5 − mi 3 ejϕi (2)
(di ) (di ) In our application, d can only be in four principal directions
m∈N
(the set D) of the local reference frame; front, back, left, and
where dm i is the relative distance between UAVs i and m, right, where the front is the current heading direction of the
ϕmi is the relative bearing angle of m on the reference frame focal UAV. o⃗id for each direction is calculated as follows:
of i and ϵ determines the strength of p⃗i . Please note that the
notation ejX , where X is an angle in radians, follows Euler’s 1
o⃗id = τ (δdi )ejφ + I(d) · τ (δdi )ejΩ (6)
formula. In this representation, the real part corresponds to 2
the x-axis and the complex part to the y-axis in the reference where δdi is the corrected measured distance with an offset
frame where angle X is defined. Using this approach, p⃗i of 15 cm, τ (δdi ) is the magnitude of the sub-vector:
and other vectors are computed as 2D vectors with x and y
components in the local reference frame of the focal UAV i. 2
τ (δ) = (2.5/δ) (7)
Since neighboring UAVs that sense lower values than the
focal UAVs, have a comparatively shorter ddes , and are and (
therefore still attracted to the focal UAV. p⃗i enables a chase- 1 if d is front
I(d) = ;d ∈ D (8)
evade phenomenon that is directed towards the increasing 0 otherwise
values of the source gradient [8]. Also,
The next vector is the alignment control vector ⃗hi , which π
contributes to making the heading directions of UAVs similar. Ω = sign(∠⃗
pi ) , (9)
2
The success of the swarm on the gradient following task
φ = υi + ψ + π. (10)
is analyzed with and without the alignment control on our
previous work [8]. The finding in [8] was that alignment where υi is the angle of obstacle direction in the local
control increases the order in the swarm and transforms reference frame (υi ∈ [π, − π2 , π2 , 0]). π radians are added
to produce the repulsion in the opposite direction. ψ is a on the global frame) using their on-board sensors (as im-
random perturbation angle where ψ ∼ U nif (− 12 , 12 ). ψ was plemented in the Crazyflie stack). They exchange positions
introduced to add randomness to the obstacle repulsion to and headings with each other via a radio communication
break any local minimum that can lock the UAV’s movement. channel using P2P API [19]. Crucially, global positioning
Ω has a similar effect; it adds an extra perturbation in the and communication are only required due to our drones’
direction angle (∠⃗ pi ) of the proximal control vector (⃗ pi ). inability to perform relative localization. If they were able to
If ∠⃗pi is positive, the perturbation produces an effect as if estimate the range and bearing of neighboring drones, com-
there is an obstacle on the right, and if it is negative, the munication would not be necessary for our methodology. In
perturbation produces an effect as if there is an obstacle on addition, each drone has a flow camera pointing downwards
the left. In the end, all o⃗i d calculated for all directions (front, to improve planar velocity estimation and a distance sensor
back, left, right) are combined as in Eq. 5 to get the final ranging the altitude.
vector, ⃗oi . For the obstacle sensing capability, our Crazyflies carry
Ultimately, the total force vector f⃗i is the weighted sum a deck (multi-ranger) that contains 4 time-of-flight distance
of all vectors with respective weights, α, β, γ, and κ. sensors in the principal directions; front, back, left, and right.
These sensors provide distance to the closest object in the
f⃗i = α⃗
pi + β⃗hi + γ⃗ri + κ⃗
oi (11) directions they face. Given the design of the sensor, blind
spots could potentially appear when the obstacle is located
The linear (Ui ) and angular speeds (ωi ) are calculated as
between these directions. Distance measurement is done on
follows:
a ray, so rather than a field of view, we obtain the distance
for a single point. The distance values are used as δdi for the
Ui = K1 fx + uadd , ωi = K2 fy (12)
corresponding direction.
In the above, fx and fy are the components of f⃗i on axes Physical light sources were used and placed in the en-
of the local reference frame of the focal UAV, where the vironment to realize the experimental version of the source
x-axis is always the heading direction. K1 and K2 are the gradient. We built and equipped the Crazyflies with a custom-
respective speed gains, and uadd is the additional propulsion made light sensor deck on top, that uses TEMT6000 [20]
we add to decrease stagnancy in the swarm motion. light sensor circuit, which changes the output voltage de-
Ui is clamped within the range [0, 0.13] m/s and ωi is pending on the light intensity in the environment. The inter-
clamped within the range [−0.4π, 0.4π] rad/s. uadd is chosen nal software reads this voltage for use in our methodology
to be 0.05 m/s. The other parameter values are chosen as as Ls . Minimum and maximum voltage values measured in
follows: ϵ = 12.0, σL = 0.5, σr = 0.56, Lmin = 52, our experimental setup led to our choice of Lmin and Lmax
Lmax = 648, Db = 0.5 m, krep = 5.0, L0 = 0.5, α = 0.8, values. Our custom Crazyflie platform can be seen in Figure
β = 0.2, γ = 1.0, κ = 2.0, K1 = 0.06 and K2 = 0.6. The 1. The visualization of the system architecture can be found
parameter values are tuned and set manually according to in Figure 2.
our evaluation. Only Lmin and Lmax depend on the sensory The experiment arena dimensions are 7.0 m in length and
hardware and environmental conditions. 4.75 m in width. For the whole flight, a constant altitude of
0.5 m is maintained by all UAVs. The arena includes light
IV. I MPLEMENTATION AND E XPERIMENTAL S ETUP
bulbs on the top, switched on and off by smart plugs. These
The algorithm presented in the previous section is im- smart plugs receive messages over the network, to which
plemented on Crazyflie 2.1 nano-drones, and runs on-board a control computer is also connected. These individually
by using the App-Layer functionality [17]. The open-source switchable light sources (which are completely extrinsic for
implementation can be found in the GitHub repository [18]. the swarm) constitute the dynamic gradient to be followed by
UAVs calculate their own global positions (X and Y on the
global frame) on-board with an Ultra-wide Band Localization
system. They determine their heading (current yaw angle
R EFERENCES
[1] J. Han, Y. Xu, L. Di, and Y. Chen, “Low-cost multi-uav technologies
for contour mapping of nuclear radiation field,” Journal of Intelligent
& Robotic Systems, vol. 70, pp. 401–410, 2013, https://doi.org/10.
1007/s10846-012-9722-5.
[2] Z. Fu, Y. Chen, Y. Ding, and D. He, “Pollution source localiza-
tion based on multi-uav cooperative communication,” IEEE Access,
vol. 7, pp. 29 304–29 312, 2019, https://doi.org/10.1109/ACCESS.
2019.2900475.
[3] J. Burgués and S. Marco, “Environmental chemical sensing using
small drones: A review,” Science of the total environment, vol. 748,
p. 141172, 2020, https://doi.org/10.1016/j.scitotenv.2020.141172.
[4] M. Campion, P. Ranganathan, and S. Faruque, “Uav swarm commu-
nication and control architectures: a review,” Journal of Unmanned
Vehicle Systems, vol. 7, no. 2, pp. 93–106, 2019, https://doi.org/10.
1139/juvs-2018-0009.
[5] E. Şahin, “Swarm robotics: From sources of inspiration to domains of
application,” in International workshop on swarm robotics. Springer,
2004, pp. 10–20, https://doi.org/10.1007/978-3-540-30552-1 2.
[6] J. G. Puckett, A. R. Pokhrel, and J. A. Giannini, “Collective gradient
sensing in fish schools,” Scientific reports, vol. 8, no. 1, pp. 1–11,
2018, https://doi.org/10.1038/s41598-018-26037-9.
[7] A. Berdahl, C. J. Torney, C. C. Ioannou, J. J. Faria, and I. D.
Couzin, “Emergent sensing of complex environments by mobile
animal groups,” Science, vol. 339, no. 6119, pp. 574–576, 2013,
https://doi.org/10.1126/science.1225883.