Content uploaded by Fotios Balampanis
Author content
All content in this area was uploaded by Fotios Balampanis on Oct 24, 2017
Content may be subject to copyright.
J Intell Robot Syst
DOI 10.1007/s10846-017-0559-9
Area Partition for Coastal Regions with Multiple UAS
Fotios Balampanis ·Ivan Maza ·Anibal Ollero
Received: 15 September 2016 / Accepted: 5 April 2017
© Springer Science+Business Media Dordrecht 2017
Abstract The paper presents a novel algorithmic
approach that allows to tackle in a common framework
the problems of area decomposition, partition and cov-
erage for multiple heterogeneous Unmanned Aircraft
Systems (UAS). The approach combines computa-
tional geometry techniques and graph search algo-
rithms in a multi-UAS context. Even though literature
provides several strategies for area decomposition like
grid overlay decomposition or exact cellular methods,
some fail to either successfully decompose complex
areas, or the associated path generation strategies are
not feasible. The proposed approach manages to per-
form an exact cellular decomposition of non-convex
polygonal coastal areas and includes an attributes
based schema for area partitioning. In particular, the
proposed solution uses a Constrained Delaunay Trian-
gulation (CDT) for computing a configuration space
This work is partially supported by the MarineUAS Project
funded by the European Union’s Horizon 2020 research
and innovation programme, under the Marie Sklodowska-
Curie grant agreement No 642153 and the AEROMAIN
DPI2014-C2-1-R Spanish project.
F. Balampanis ()·I. Maza ·A. Ollero
Robotics, Vision and Control Group, University of Seville,
Avda. de los Descubrimientos s/n, 41092, Sevilla, Spain
e-mail: fbalampanis@us.es
I. Maza
e-mail: imaza@us.es
A. Ollero
e-mail: aollero@us.es
of a complex area containing obstacles. The cell size
of each produced triangle is constrained to the max-
imum projected Field-of-View (FoV) of the sensor
on-board each UAS. In addition, the resulting mesh
is considered as an undirected graph, where each ver-
tex has several attributes used for area partitioning and
coverage in a multi-UAS context. Simulation results
show how the algorithms can compute sound solutions
in real complex coastal regions.
Keywords Area decomposition ·Area partition ·
Coverage planning ·Constrained delaunay
triangulation
1 Introduction
Increased interest and technological advances in the
field of Unmanned Aircraft Systems (UAS) has led to
their extensive use in several activities. More specif-
ically for coastal areas, the complex geographical
attributes, the vast coasts as well as the increas-
ing interest for activities in even remote off-shore
locations, have raised challenges for the marine envi-
ronment protection and for a sustainable manage-
ment. European countries have vast coasts and eco-
nomic zones that go far into the Atlantic and Arctic
oceans and are challenging to monitor and manage.
In addition, the European Strategy for Marine and
Maritime Research states the need to protect the vul-
nerable natural environment and marine resources in
J Intell Robot Syst
a sustainable manner. The use of UAS in coastal
areas can provide increased endurance and flexibility
whereas they can reduce the environmental impact, the
risk for humans and the cost of operations.
In particular, the study presented in this paper has
been carried out in the framework of MarineUAS,1
an European Union funded doctoral program to strate-
gically strengthen research training on Autonomous
Unmanned Aerial Systems for Marine and Coastal
Monitoring. This paper is focused on the area parti-
tioning problem for a team of multiple UAS in places
with complex geometries such as coastal regions.
The paper presents a novel algorithmic approach that
allows to tackle in a common framework the prob-
lems of area decomposition, partition and coverage in
a multi-UAS context.
The paper is organized as follows. Related work
in Section 2presents the current literature on decom-
position strategies and algorithms for partitioning and
coverage planning. The problem to be addressed is
stated in Section 3. Section 4presents the common
framework that allows to solve area decomposition
and partition for the multi-UAS team, which is the
main contribution of the paper. Section 5explains how
to extend the common framework to compute cov-
erage patterns for each UAS. The simulation results
presented in Section 6show how the algorithms
can compute sound solutions in real complex coastal
regions. Finally, Section 7closes the paper with the
conclusions and future work.
2 Related Work
There are numerous studies and algorithms which
research the ability for a single or multiple robots
to perform a complete coverage task and effectively
cover the surfaces of interest online or offline. In [1]
the authors provide a survey on the recently developed
algorithms and provide an extensive categorization for
them. Identified categories like exact cellular decom-
position and Morse-based cellular decomposition, or
inexact grid-based coverage and graph-based coverage
are to name a few. The categories of these algorithmic
approaches are also focused on multi-robot coverage
for known or unknown environments.
1http://marineuas.eu
In this latter category, the authors of [2] deal with
the problem of terrain coverage using multiple robots
by handling an area with non-uniform traversability.
This property is identified as not having a constant
traversing time at all locations, resulting in a weighted
terrain. Their approach extends the Multi-robot Forest
Coverage (MFC) algorithm to be compatible with that
kind of non-uniform traversability areas. Moreover,
the approach is compared with an inexact square grid
decomposition called Multi-robot Spanning Tree Cov-
erage (MSTC), in order to achieve a smaller coverage
time.
The fundamental work in [3] describes the method of
the exact cellular decomposition and introduces the bous-
trophedon method for covering the partitioned sub-
areas, reducing the number of lenghtwise motions. A
more recent work in [4] uses the aforementioned meth-
ods in order to perform complete coverage of an area.
By using a variation of Morse functions, the configura-
tion space is segregated by performing a sweeping
motion. In that manner, a set of trapezoidal cells is
created and treated as a flow network. Then a path
is constructed by using a search algorithm and by
making use of the Pareto front, a solution is provided
which has the minimum cost. Each of the robots calcu-
lates its coverage time by taking into account the time
to cover each cell as also as the time to move between
them.
Literature also provides a number of bio-inspired
approaches that manage to apply strategies that have
been observed in nature. In these studies like in [5],
the behavior or insects leaving pheromones to their
path, is used to draw a boundary of the covered
area. In [6] the authors provide a particle filter strat-
egy for a team of robots out of bio-inspired swarm
tactics in order to communicate the shape of the
region of interest or anomaly as they name it in their
study.
Regarding repeated coverage of a known area by
using a team of robots, the work presented in [7]tries
to tackle the problem by evaluating the results by
the metrics of total path lengths, total average visit-
ing period, total worst visiting period and balance of
workload distribution. In order to also tackle the art
gallery problem of maximizing the visibility of the
agents over the whole area, the algorithmic approach
generates a number of points that serve as a kind
of guards which maximize complete visibility. These
points along with an application of a Constrained
J Intell Robot Syst
Delaunay Triangulation (CDT) in the whole area,
produce a set of nodes which serve as a graph for cre-
ating coverage waypoint lists, by using cluster-based
or cyclic coverage methods.
Coverage with aerial vehicles is a relevant topic and
the aforementioned survey [1] include several related
papers. In many cases, grid decomposition strategies
have been used [8,9], whereas the enhanced exact cel-
lular decomposition of [10] manages to decompose
an area in convex cells and by using boustrophedon
motions taking to account the FoV of the vehicle,
provide coverage trajectories with minimum turns. In
the latter case of convex decomposition, the authors
in [11] used convex decomposition to partition the
environment.
In most of the aforementioned studies, two strate-
gies can be identified of explicit area division into
regions for parallel coverage by multiple UAS like
in [12]. The first is the exact decomposition of the
unblocked area of interest into sub-regions. This exact
cellular decomposition is performed by either using
a trapezoidal grid overlay or by using Morse func-
tions, finding critical points of obstacles or area edges,
like in [10]or[13]. In case a boustrophedon motion
is chosen [3], some areas might be left uncovered, as
it can be seen in Fig. 1b. The second strategy uses
an approximate decomposition, usually by applying a
grid overlay of equally sized shapes on top of the area
like in [14]or[8]. In this strategy, some grid cells
might be partially blocked by the terrain, creating an
approximate partitioning while some of them use a
wavefront algorithm [15]suchasin[16]inorderto
produce paths in known terrain. In that manner, com-
plex shapes are not considered or the issue of covering
or not the border cells is bypassed [17], as it can be
seen in Fig. 1a.
This paper combines the two aforementioned fam-
ilies of approaches as it uses exact triangulation of
the non convex polygonal area and computes cells’
attributes for multi-UAS area partition and coverage
by using a variation of a wavefront-like propagation
algorithm.
3 Problem Statement
Let us consider a cooperative team of autonomous
and heterogeneous UAS and an area monitoring task
which has to be accomplished by the team in a coastal
region. In a cooperative framework, it is assumed that
the task is divisible and parallelizable in such a way
that the task can be partitioned and every subtask is
assigned to an UAS in the team.
Let Abe the total coastal area to monitor and each
subarea is a subset of A.LetU1,U
2,...,U
nbe a
team of nUAS to perform the monitoring task and
let A1,A
2,...,A
nbe a partition of Ain nsub-areas
where Aiis the sub-area assigned to Ui. Each sub-area
is decomposed into v1,v
2,...,v
miFoV-sized cells as
close as possible to the size of the footprint of the
respective UAS. As such, area Aihas a total of mi
cells depending on the FoV and coverage capabilities
of the respective UiUAS. The capability coefficient
is defined as a number meaning the area that can be
monitored in one unit of time, and it will be denoted
by ci∈Rthe capability coefficient of Uito monitor
the area A.
Let p1,p
2,...,p
nbe the initial locations of the
UAS. These places are relevant for the whole process
as they are the locations with the highest probability of
finding objects of interest, decreasing the probability
uniformly in all the directions on the sea.
Fig. 1 Common issues in:
aGrid decomposition.
Border cells ambiguity of
visiting or not, having part
of them outside of the area
of interest. bA
boustrophedon motion for
coverage. Corners or
complex shapes create areas
that can not be visited
J Intell Robot Syst
The goal of this research is the development of a
common framework to solve area decomposition, par-
tition and coverage for a multi-UAS team. In particular
the following requirements are considered:
– The area should be exactly decomposed regard-
less of its complexity or the existence of no-fly
areas, without cells being outside or partially
inside the areas of interest. Then, each sub-area
should be the exact sum of its decomposition into
cells such that Ai=
mi
k=1
vk.
– Area partition should be done according to the rel-
ative capabilities of the involved UAS in order to
balance their workloads. Hence, each UAS Uiwill
be responsible for a given percentage of the whole
area, which will be denoted as Ziand measured
in number of cells of the above mentioned area
decomposition process.
– Every configuration space Aiof each UAS cannot
be disjointed or intersected by another configura-
tion space or obstacle. Resulting partitioned areas
have to prevent overlapping coverage paths.
– The shape of the sub-areas should be gen-
erated growing uniformly from the locations
p1,p
2,...,p
nas the probability to find the
objects of interest is decreasing uniformly from
these locations. Moreover, in order to reduce the
number of turns and to minimize the time for cov-
erage while providing smoother trajectories, each
area has to be as symmetric as possible.
Next section presents the approach followed to
fulfill these requirements.
4 Coastal Area Decomposition and Partitioning
for a Multi-UAS Team
This section presents the common framework devel-
oped for area decomposition and partition that will be
later applied also for area coverage in Section 5.After
describing the area decomposition method applied, a
framework is introduced based on a graph associated
to the decomposition and a set of attributes for the ver-
tices of this graph. This framework is exploited in this
section for the computation of the area partition for the
multi-UAS team in two stages presented in Sections
4.2 and 4.4.
4.1 Area Decomposition
Coastal areas outline form is a complex polygon. By
including islands or other areas that are considered as
no-fly zones, such as residential zones, the resulting
shape is a non convex polygon with holes (see Fig. 2).
As described in Section 2, literature on grid decom-
position strategies does not provide a method that
treats properly grid cells over no-fly zones as there
is no proposed strategy to treat grid cells that are
not completely in the area of interest. In this work,
the application of a variant of the so-called Delaunay
triangulation is proposed, the Constrained Delaunay
Triangulation (CDT).
A Delaunay triangulation DT (H) is a collection of
triangles in which all points H={h1,h
2,...,h
m}
that belong to Hare not inside the circumcircle of any
triangle in this set. A Constrained Delaunay Triangula-
tion CDT (H ) [18] introduces forced edge constraints
which are part of the input, and are useful in this
study as they actually define the boundaries of the
polygonal area and the holes inside the polygon. The
authors in [19] provide a detailed description on the
algorithm’s complexity and they propose yet another
solution for a fully Dynamical CDT with O(n log n)
complexity, where nis the number of vertices. In order
to obtain even more homogeneous triangles, a Lloyd
optimization [20] on the resulting triangulation is also
applied. This algorithm improves the angles of each
cell, making them as close as possible to 60 degrees.
Since the aforementioned optimization method moves
all the points Hof the triangulation in each iteration,
its complexity and computational cost affect the total
computational time of the proposed strategy. More
information on the actual complexity of the Lloyd
optimization can be found on [21].
One of the constrains of the CDT method is the
maximum side size. By using the largest side of the
largest projected FoV of the team of UAS as a con-
strain in the CDT, an initial mesh is obtained that is a
sum of FoV-sized triangles (see Fig. 3).
4.2 Isotropic Cost Attribution and Initial Area
Partitioning Algorithm
Since all the cells of the mesh presented above are
connected, this configuration space can be considered
as an undirected graph G=(V , E ),wheretheset
J Intell Robot Syst
Fig. 2 Tromsø area
(Norway). Coastal area of
interest is denoted by the
outer polygon, whereas the
inner polygons define the
no-fly zones
Vof vertices represents the triangles and Eis the set
of edges such that there is an edge from vito vjif
the corresponding triangles are neighbors. Two trian-
gles are neighbors if an UAS can move freely between
them. In order to compute an initial area partition, two
attributes have been associated to each vertex viof the
graph: C(vi)denotes a transition cost and A(vi)is the
identifier of the UAS that will visit vi. These attributes
are computed by a step transition algorithm from the
initial position of each UAS (see Algorithm 1).
Let us consider each of the initial positions of the
UAS as the root node of a tree; each root node is given
an initial step cost of 1. In every recursion step, each
vertex that has an edge connected to the parent ver-
tex is given that cost plus one. In addition, vertex vi
gets the same A(vj)attribute of its parent vertex vj,
propagating the identifier of the UAS in that way. In
case the number of vertices for an UAS Ukmeets its
capabilities, represented by the number of cells Zk,the
algorithm for that UAS stops. In that manner, an initial
Fig. 3 Resulting triangulated mesh from an area: aSalam-
ina area in Greece, having narrow passages and complex shape
in shores. bThe same area triangulated by using CDT. Red
dots denote the centroids of each triangle. Different shades of
grey denote the border to center cost attribution computation
described later in Section 4.3
J Intell Robot Syst
partitioning of the area is performed. Notice that the
aforementioned operations are not allowed in vertices
that already have a cost attributed to them. Since this
operation is actually a single tree traversal, its compu-
tational complexity is O(V ) where Vis the number of
vertices/cells. An example of a graph for three UAS
with the values of the attributes is shown in Fig. 4.
However, as it will be shown later, this algo-
rithm only generates a first area partition that can
contain vertices that are not allocated to any UAS.
Hence, it must be refined in a second stage pre-
sented in Section 4.4, that will make use of a new
attribute for the vertices of the graph introduced in the
following.
4.3 Border-to-Center Cost Attribute
After applying the previous growing region strategy,
an initial partition of the area among the available
UAS is produced. Each sub-area is either adjacent to
the sub-area of another UAS or to the borders of the
whole area. Each vertex will be given a transition cost
D(vi)of proximity from the borders of its area that
will be applied later to refine the initial area partition.
The adjacent vertices to the border are given a high
D(vi)cost and they are the root nodes of a tree. The
neighbors of these vertices are given a smaller cost
and they are the direct children of the parent nodes. By
using a recursive algorithm for the rest of the vertices,
the border to center pattern is generated (see Algo-
rithm 2). Notice that the computational complexity of
this cost attribution process is also O(V ),whereVis
the total number of vertices/cells in the area.
4.4 Multi-UAS Area Partition Revisited
The previous area partitioning algorithm may not lead
to an allocation of the whole area among the UAS
in certain configurations. Since the growing region
strategy leads to mutual exclusion setups as it can be
seen in Fig. 5, an algorithm to overtake and exchange
the undefined cells (not allocated) is needed. In order
to do so, the cost information from Algorithm 1 is
applied again.
Each UAS Ukshould cover Zkcells. After the
initial partitioning algorithm, along with the possi-
ble mutual exclusion scenarios, let us consider that
Yk= Zkcells have been allocated to Uk. Notice that
since all the cells need to be assigned to an UAS, in the
mutual exclusion scenarios there are cells that do not
belong to any UAS (see Fig. 5b). These cells are con-
sidered to belong to UAS U−1and their target number
of cells Z−1is 0.
J Intell Robot Syst
Fig. 4 Graph Gassociated to the area decomposition. aThree
UAS U1,U2and U3located in their initial cells represented with
different colors. bValues computed by Algorithm 1: the num-
bers denote the transition costs and the colors of the vertices
show the UAS that will visit them. For instance, vertex vihas a
transition cost C(vi)of 4 and A(vi)equal to 1 as it will be cov-
ered by UAS U1. The area partition process has generated equal
sub-areas for the involved UAS in this example
Let us consider a list LUwhich has the value of
Zk−Ykfor every UAS. Then, each UAS can have
a surplus of cells if Zk−Yk>0 or a shortfall if
Zk−Yk<0. The latter case, always happens in the
mutual exclusion scenarios for U−1. In each recursion
of Algorithm 3, a pair of UAS, one having a surplus
and another with a shortfall, is chosen from the list in
order to gradually exchange cells between them.
The move function in Algorithm 3 chooses the far-
thest vertex in the Aisub-area of UAS Uiin path Pij ,
by using the information from Algorithm 1. This ver-
tex also has to be adjacent to the second area in path
Pij . Starting from that vertex, Algorithm 1 is applied
again, overtaking the requested amount of cells by
exchanging UAS identifiers. Recursively, this oper-
ation is performed for every item of the path. This
algorithm has a time complexity of O(UV 2)where
Uis the number of UAS and Vthe total number of
vertices or cells in the area.
5 Coverage Using a Metric for the Distance
from the Borders of the Sub-areas
The framework presented in the previous section can
be also applied to generate waypoint lists for the UAS
to achieve complete coverage of a complex coastal
area. By using the border-to-center cost information
described in Section 4.3, outward spiral-like paths can
be produced from the initial locations of the UAS
which are the places with highest probabilities of
finding objects of interest.
In Algorithm 4, the vertex which has the highest
cost D(v) and is closer to the starting position of the
UAS is chosen and added to the waypoint list W.In
every step of the algorithm, the closest adjacent vertex
vjthat has the same cost (D(vj)=D(v)) is chosen.
In case all of the vertices with the same cost have been
visited, the algorithm selects the vertex which has that
cost minus one. This algorithm has a computational
complexity of O(V 2)since it has to always traverse
through all the vertices of the UAS in order to find the
closest one, for each previous vertex of the path.
J Intell Robot Syst
Fig. 5 A mutual exclusion scenario. aThree UAS U1,U2and
U3located in their initial cells, all of them with equal coverage
capabilities. In this example, each UAS should cover 10 cells
out of 30 total cells. bPartitioning after Algorithm 1. U1met its
limit of 10 cells and stopped. Nevertheless, U2and U3are not
able to overtake any more cells, being “blocked” by U1and the
borders of the area. Cells in black color denote the vertices that
have not been allocated
This strategy does not always produce optimal
paths, but it does not depend on the flight dynamics of
the particular UAS. Nevertheless it assures full cover-
age while maintaining the aforementioned restrictions.
Issues regarding waypoint to waypoint flight dynamics
and control are out of the scope of this paper.
5.1 Branch Identifier Attribution
Another algorithm has been designed in order to
facilitate go-to-goal path planning. This step is com-
plementary to the initial step transition algorithm and
manages to exclude dead-end paths in the search for
feasible waypoint paths between the initial location of
the UAS and any goal vertex. Each of the direct chil-
dren of the initial position of the UAS is given a branch
identifier, which is propagated in the rest of the graph,
in the same manner as the UAS identifier propagation
works) after the transition cost gets greater than 2 (see
Algorithm 5). Notice that this algorithm has a com-
plexity of O(1)since it only propagates an identifier
over all the vertices.
In this manner, each cell (possible goal) in the con-
figuration space of an UAS has a known initial parent.
This solution is a combination of a depth-first-search
algorithm and branch and bound vertex pruning. All
the vertices that do not belong to the same branching
UAS identifier are pruned (see Fig. 6).
J Intell Robot Syst
Fig. 6 Branch identifier attribution in color. Numbers represent
the isotropic cost. In case the vertex in the circle is the goal cell,
the green and blue leafs are pruned
6 Simulation Results
The approach has been implemented using C++ and the
Computational Geometry Algorithms Library (CGAL
-[22]) for the CDT. The Robotic Operating Sys-
tem (ROS) [23] has been chosen in order to integrate
and visualize the results. The flight behavior of the
UAS following the produced waypoint paths has been
checked using a Software In The Loop (SITL - [24])
simulation environment.
Two regions were selected for the simulations; the
first area was used for evaluating the partitioning algo-
rithms, whereas the second was chosen for evaluating
the coverage waypoint planning.
6.1 System Architecture and Configuration
The simulation has been executed in a single sys-
tem (Intel Core i5-5200U@2.20GHz CPU, 8GB of
RAM, kUbuntu 14.04). The software implementation
included the CGAL library (4.8.1) [22], ROS Indigo
[23] (along with the rviz package [25] and mavros
node [26]), an Arduplane instance [27] of the Ardupi-
lot SITL [24] (which uses the JSBSim flight dynamics
model [28]) and qgroundcontrol ground control sta-
tion [29](seeFig.7).
The software implementation of the algorithms pre-
sented in this paper is part of a ROS node, which
communicates with the different parts of the setup
Fig. 7 System architecture.
Initial triangulation is
performed on the ground
station, whereas several
instances of the node can be
running in different UAS.
Then, the system can
distribute the computational
load. For the CDT, a KML
file is responsible for
defining the area and the
no-fly zones
J Intell Robot Syst
(visualization and simulation nodes). A Mavros node
is responsible for the connection with the simulated
UAS, sending the waypoint lists and receiving the
current positions.
As an initial step, a KML-file defined area along
with the largest FoV size of the UAS perform the CDT.
Then, the initial positions and the relative capabilities
of the UAS are used in order to perform the cost
attribution and initial partitioning. In case the UAS
have different size of FoV, an UAS-specific CDT is
performed along with its isometric cost attribution.
Afterwards, depending on the task to be performed
(coverage or goal path planning), a border-to-center
or a branch identifier cost attribution is applied on
each of the sub-areas. This information is used for the
waypoint lists generation, which are forwarded in the
mavros node in order to be transmitted to the vehicles
(see Fig. 8).
Fig. 8 Flowchart used in the simulation engine. Initial isotropic
cost attribution and partitioning is a centralized operation,
whereas the rest of the operations are independent. After the ini-
tial common triangulation, each sub-area is triangulated again
taking into account each UAS FoV
Ardupilot and its arduplane instance, combined
with the JSBSim flight dynamics model simulator
manage to simulate the dynamics of the Rascal110
model airplane used in this paper. The Arduplane con-
troller used is the Pixhawk Flight Management System
[30].
Regarding the feasibility of transcription of the
aforementioned framework to a real system, a main
difference between the simulations conducted and a
real environment can be identified: the communica-
tion constraints between the ground station and the
team of UAS. Apart from considering the communi-
cation range, the simulations do not include complex
communication models with eventual communication
losses that might affect any task updates. In case that
happens in the real system, the affected UAS will just
complete the initial task, until it receives a new update,
or will wait pseudo-hovering until the communication
is restored. Besides that, since it has been used a state
of the art simulation environment that includes envi-
ronmental disturbances and control dynamics, there
are no other main limitations or differences in the
transcription to a real system.
6.2 Area Decomposition and Partitioning
As described in Section 4, the largest projected FoV
of the team of UAS is used as a side constraint for
the CDT. By using the largest side of this projec-
tion, two FoV projection side sizes of 100 meters and
900 meters have been used in order to compare the
behavior of the algorithms; three test cases of different
relative UAS capabilities have been tested: one has an
equal relative percentage for the UAS of 33,3%, one
has a distribution of 10%,60% and 30% whereas the
last test case has a distribution of 80%, 10% and 10%
for the respective UAS (see Fig. 9).
The computational time of each part of the proce-
dure can be seen in Table 1, whereas Fig. 10 shows the
relevant percentage for each operation, including the
waypoint generation of the following section.
As it is mentioned in Fig. 9, an area expansion on
the move algorithm can overtake the initial position of
an UAS. This issue was solved by transposing the ini-
tial position of the overtaken UAS in the borders of
the newly taken area, or applying the algorithm for a
second time. Nevertheless, the geometric properties of
even more complex areas could always produce this
J Intell Robot Syst
Fig. 9 Area partition results after Algorithm 3 for the three ran-
domly positioned UAS with initial locations indicated by the
white cells. A small FoV of 100 meters creating a mesh of
696 triangular cells has been set for the tests shown in the top
row and a large FoV of 900 meters resulting in a segregation
mesh of 6992 cells, in the bottom row. Each column repre-
sents the different setups of UAS area percentages per total: a
and d: 10%(red), 60%(blue), 30%(green); band e: 33%(red),
33%(blue), 34%(green); and cand f: 80%(red), 10%(blue),
10%(green). In test case a, during the adjustment phase of Algo-
rithm 3, the blue UAS took over all of the cells of the red UAS
at the cell transition procedure. This issue is solved by rerun-
ning Algorithm 3 only for the UAS that had the problem, in that
case the red one
Table 1 Computational time in seconds for the small (100 meters) and large (900 meters) FoV projection test cases of each part of
the partitioning procedure of the simulations shown in Fig. 9
Test case 1st 2nd 3rd
Lloyd iterations 20 40 20 40 20 40
Small FoV (100 meters)
Lloyd optimization (s) 2.888 5.288 2.968 5.152 2.72 5.217
Partition (s) 0.52 0.587 0.71 0.68 0.49 0.513
Total time (s) 3.71 6.99 4.036 7.19 3.3 6.04
Large FoV (900 meters)
Lloyd optimization (s) 0.516 0.712 0.472 0.76 0.488 0.88
Partition (s) 0.2 0.23 0.212 0.22 0.179 0.2
Total time 0.953 1.245 0.93 1.364 0.925 1.42
The Lloyd optimization has been applied in the initial mesh as well as in every sub-area, after the partitioning process. Notice that the
remaining time of the total calculation belongs to various visualization processes which are not part of the proposed framework
J Intell Robot Syst
Fig. 10 A percentage bar chart computed from the data in Table 1depicting the average time needed for each of the operations of all
the simulations in Fig. 9. This plot also includes the waypoint generation strategy that has been described in Section 5
kind of scenario. In that case, after the partitioning
has been performed, the initial position of the UAS in
question must be moved inside its region of interest.
Regarding the computational cost of the algo-
rithms, Table 1shows that the Lloyd iteration com-
putation in the whole procedure is decisive as to
categorize this framework as a real-time solution.
As the size of the cells becomes smaller (smaller
FoV), producing larger number of vertices, the time of
the Lloyd optimization process increases. Hence, the
number of Lloyd iterations can be adjusted depending
on the time to calculate a new waypoint plan versus
the importance of having a more optimized mesh. By
decreasing the Lloyd optimization iterations, a lesser
amount of equilateral cells occurs, resulting in larger
oversampling by the on-board sensor; the number of
waypoints remains the same. Then, depending on the
temporal constraint, which in our case is the time
a UAS during flight needs to pass from one way-
point to another and it’s considered as the time limit
for the computation, the size of the cells are relevant
to the whole procedure as they define the distances
between the waypoints, along with the dynamics of
the platform used; hence, a decision can be made
on the number of iterations. Nevertheless, the rest
of the proposed strategies and the partitioning algo-
rithms manage to provide a solution relatively quick
in relation with the number of vertices increase.
6.3 Coverage Pattern
In order to test the coverage patterns produced by
using algorithm 4, simulations have been performed
in the second smaller area. Although compared to a
classical boustrophedon motion in a grid decomposi-
tion strategy, the actual path is longer and the number
of turns are higher, the area was fully covered (see
Fig. 11).
These waypoint path extraction results have been
compared with a series of other configurations of a
classical grid decomposition strategy as it can be seen
in Fig. 12.
Table 2presents various metrics regarding the path
length, the minimum and maximum angle values of
J Intell Robot Syst
Fig. 11 An area segregated in triangular cells by a FoV pro-
jection size of 50 meters. Figure ashows the produced mesh of
519 cells and the waypoint list with each vertex connected to the
following with a line segment, according to Algorithm 4. The
triangular white cell indicates the initial location of the UAS,
while the white areas represent the obstacles or no-fly zones. In
b, an in-flight screenshot of the ground station during the sim-
ulation, where the behavior of the simulated autopilot can be
observed; narrow turns produce paths outside of the expected
trajectories. Sub-figure cshows the simulated trajectory results
for the Rascal110 model airplane from the latitude and longi-
tude information received by the mavros node during the flight.
In d, the coverage of the theoretical on-board sensor is shown,
simulating the FoV projection every second of flight
the path, and the percentage of flight over no-fly zones
for the grid cases simulation. Although the suggested
path by the waypoint lists of the proposed algorithms
is longer, the results suggest that: (a) the algorithms
provide smoother trajectories since the average angles
of the paths are wider and (b) there are no paths
produced over no-fly zones or outside the areas of
interest.
J Intell Robot Syst
Fig. 12 A comparison between the proposed algorithms for
coverage waypoint generation and a classic grid decomposition
with boustrophedon coverage motions. The first two figures are
segregated by using the proposed strategy, resulting in a mesh of
519 cells. Figure ashows the produced waypoints as described
in Section 4.3, by introducing a relaxation on the border-to-
center cost: the algorithm selects the closest waypoint of two
border-to-center cost levels. Figure bproduces the waypoint
lists in the same way as the simulation in Figure 11 with one
difference: if the next waypoint of the same border-to-center
cost is further than a minimum distance (here 50 meters), then
the algorithm proceeds to the next border-to-center cost level.
Figure cshows a classic grid overlay on top of the area, having
a total of 210 square cells, 78 of them partially having a no-fly
zone in them. The black square is the respective initial position.
The areas in orange depict the aforementioned ambiguous areas
which are outside the area of interest, but belong in a square of
the decomposition which is also partially in the area of inter-
est, as it has been described in Section 2and shown in Fig.
1a. Figures dand eshow two boustrophedon strategies which
have been tested in order to compare them with the strategies of
(a) and (b) whereas Fig. (f) uses the same border-to-center cost
strategy of Section 4.3 in order to obtain a waypoint list plan,
properly adjusted for a grid decomposition
Table 2 Path metrics comparison when a classical grid decomposition strategy has been used for the areas shown in Fig. 12
Waypoint generation case
(a) (b) (d) (e) (f)
Path length (m) 8918.27 10662.81 6741.16 6988.05 10315.48
Min angle (deg) 0.94 26.98 18.43 0.01 0.01
Max angle (deg) 179.91 179.94 151.97 173.66 139.4
Avg angle (deg) 120.22 147.14 84.87 87.75 108.98
% of path over
no fly zone 0.032% 0.026% 11.467% 9.521% 8.39%
J Intell Robot Syst
7 Conclusions and Future Work
This paper has presented a novel algorithmic approach
that allows to tackle in a common framework the prob-
lems of area decomposition, partition and coverage in
a multi-UAS context. The produced mesh and asso-
ciated graph manage to be consistent with the area
properties and the capabilities of the UAS.
The proposed solution does not take into considera-
tion the waypoint to waypoint flight dynamics, neither
vehicle kinematics. It is clear that holonomic vehicles
like multi-rotors, will manage to perform sharp turns
and follow the produced waypoint plans, whereas non-
holonomic vehicles will produce trajectories like the
one shown in Fig. 11. This issue could be solved by
introducing an upper limit for a waypoint to be con-
sidered as visited; nevertheless this solution is heavily
dependent on the task to be performed. As it could
be seen in the simulations, by getting a sensor read-
ing every second, small deviations produced by sharp
turns do not affect the final result.
Regarding future work, a comparative study has to
be performed regarding mesh generation optimization
using the Lloyd’s algorithm. In addition, removing
vertices that the UAS has not managed to visit and
replacing them online with the current position has to
be tested in order to get information on the computa-
tional time versus optimality of the trajectory analysis.
On the other hand, uncertainties in the perception of
the environment will be encoded in each of the graph
vertices for the on-board computation of the trajectory,
compensating for changes in the scenario and tasks.
Finally, the final goal is to develop a complete system
architecture for a team of heterogeneous UAS that will
be able to perform in complex coastal areas, having
minimal supervision during real flights.
References
1. Galceran, E., Carreras, M.: A survey on coverage path plan-
ning for robotics. Robot Auton Syst 61(12), 1258–1276
(2013)
2. Zheng, X., Koenig, S., Kempe, D., Jain, S.: Multirobot for-
est coverage for weighted and unweighted terrain. IEEE
Trans Robot 26(6), 1018–1031 (2010)
3. Choset, H., Pignon, P.: Coverage path planning : the bous-
trophedon cellular decomposition. Auton Robot 9(3), 247–
253 (1997)
4. Janchiv, A., Batsaikhan, D., Kim, B., Lee, W.G., Lee, S.-G.:
Time-efficient and complete coverage path planning based
on flow networks for multi-robots. Int J Control Autom Syst
11(2), 369–376 (2013)
5. Ranjbar-Sahraei, B., Weiss, G., Nakisaee, A.: A Multi-robot
Coverage Approach Based on Stigmergic Communication,
pp. 126–138. Berlin, Heidelberg (2012)
6. Salda˜
na, D., Chaimowicz, L., Campos, M.FM.: Searching
for regions out of normal conditions using a team of robots,
pp. 1–15. Springer, Berlin (2015)
7. Fazli, P., Davoodi, A., Mackworth, A.K.: Multi-robot repea-
ted area coverage. Auton Robot 34(4), 251–276 (2013)
8. Valente, J., Del Cerro, J., Barrientos, A., Sanz, D.: Aerial
coverage optimization in precision agriculture manage-
ment: a musical harmony inspired approach. Comput Elec-
tron Agric 99, 153–159 (2013)
9. Sadat, S.A., Wawerla, J., Vaughan, R.: Fractal trajectories
for online non-uniform aerial coverage, pp. 2971–2976 (2015)
10. Li, Y., Chen, H., Joo Er, M., Wang, X.: Coverage path plan-
ning for UAVs based on enhanced exact cellular decompo-
sition method. Mechatronics 21(5), 876–885 (2011)
11. Maza, I., Ollero, A.: Multiple UAV cooperative searching
operation using polygon area decomposition and efficient
coverage algorithms, volume 6 of Distributed Autonomous
Robotic Systems, pp. 221–230. Springer (2007)
12. Daisuke, K., Ota, J., Arai, T., Yoshida, E.: An algorithm
of dividing a work area to multiple mobile robots. In:
Proceedings IEEE/RSJ international conference on intelli-
gent robots and systems 95.’Human robot interaction and
cooperative robots’, vol 2, pp. 286–291. IEEE (1995)
13. Acar, E.U., Choset, H., Rizzi, A.A., Atkar, P.N., Hull, D.:
Morse decompositions for coverage tasks. Int J Robot Res
21(4), 331–344 (2002)
14. Berger, J., Lo, N.: An innovative multi-agent search-and-
rescue path planning approach. Comput Oper Res 53, 24–
31 (2015)
15. Jarvis, R., Byrne, J.C.: Robot navigation: Touching, see-
ing and knowing. In: Proceedings of the 1st Australian
conference on artificial intelligence (1986)
16. Kurabayashi, D., Ota, J., Arai, T., Yoshida, E.: Coopera-
tive sweeping by multiple mobile robots. In: Proceedings of
IEEE international conference on robotics and automation,
1996. vol 2, pp. 1744–1749. IEEE (1996)
17. Balampanis, F., Maza, I., Ollero, A.: Area decomposition,
partition and coverage with multiple remotely piloted air-
craft systems operating in coastal regions. In: International
Conference On Unmanned Aircraft Systems (ICUAS),
number 642153, pp. 275–283. IEEE (2016)
18. Boissonnat, J.-D., Devillers, O., Pion, S., Teillaud, M.,
Yvinec, M.: Triangulations in CGAL. Comput. Geom.
22(1–3), 5–19 (2002)
19. Kallmann, M., Bieri, H., Thalmann, D.: Fully dynamic con-
strained delaunay triangulations. Geometric Modelling for
Scientific Visualization 241–257 (2003)
20. Cgal - 2d conforming triangulations and meshes - 2.5 opti-
mization of meshes with lloyd. http://doc.cgal.org/latest/
Mesh 2/index.html#secMesh 2optimization (2016)
21. Tournois, J., Alliez, P., Devillers, O.: 2D centroidal Voronoi
tessellations with constraints. Numer Math 3(2), 212–222
(2010)
22. The CGAL Project: CGAL User and Reference Manual.
CGAL Editorial Board, 4.8.1 edition (2015)
23. Quigley, M., Conley, K., Gerkey, B.P., Faust, J., Foote,
T., Leibs, J., Wheeler, R., Ng, A.Y.: ROS: an open-source
J Intell Robot Syst
robot operating system. In: ICRA workshop on open source
software (2009)
24. Autopilot software in the loop simulation. http://ardupilot
.org/dev/docs/sitl-simulator-software-in-the-loop.html (2016)
25. Rviz – 3d visualization tool for ros. http://wiki.ros.org/rviz
(2016)
26. Mavros – mavlink extendable communication node for ros
with proxy for ground control station. http://wiki.ros.org/
mavros (2016)
27. Fixed wing ardupilot instance for autopilot hardware. http://
ardupilot.org/plane/index.html (2016)
28. Jsbsim, the open source flight dynamics model in c++.
http://jsbsim.sourceforge.net/ (2016)
29. Qgroundcontrol - ground control station for small air
- land - water autonomous unmanned systems. http://
qgroundcontrol.org/ (2016)
30. Meier, L., Honegger, D., Pollefeys, M.: PX4: A node-
based multithreaded open source robotics framework for
deeply embedded platforms. In: 2015 IEEE international
conference on robotics and automation (ICRA) (2015)
Fotios Balampanis is a Ph.D. student at the Automation, Elec-
tronics and Telecommunications Engineering department of the
International Doctorate School of University of Seville (Spain).
He received his B.Sc as an Informatics Engineer from the Tech-
nological Educational Institution (TEI) of Athens (Greece) and
his M.Sc. in Cognitive Systems and Interactive Media from the
Pompeu Fabra University (UPF) of Barcelona (Spain), where
he also jointed the Synthetic Perceptive, Emotive and Cogni-
tive Systems (SPECS) group as a researcher. His thesis focuses
on distributed approaches for coverage tasks with multiple het-
erogeneous UAVs for coastal areas, in accordance with the
European Union’s MarineUAS H2020 program of which he is a
fellow.
Ivan Maza Associate Professor at the University of Seville
(Spain), he received the Telecommunication Engineering
Degree in 2000. He made research stays at the Automation
Technology Laboratory at the Helsinki University of Tech-
nology and at the LAAS-CNRS in Toulouse. His thesis was
awarded with the Robotnik Prize to the Best Doctoral Dis-
sertation on Robotics given by the Spanish Committee of
Automation in 2010. He authored more than 75 publications on
Robotics including more than 20 journal papers indexed in JCR
and the co-edition of a book published in the Springer STAR
Series. His research interests include multi-robot systems, sym-
bolic and motion planning and task allocation techniques, and
he has lead six projects on these topics.
Anibal Ollero Head of GRVC at University Seville and Scien-
tific Advisor of FADA-CATEC. He has been full professor at
Universities of Santiago and Malaga (Spain), researcher at the
Robotics Institute of Carnegie Mellon University (Pittsburgh,
USA) and LAAS-CNRS (Toulouse, France). He authored more
than 620 publications, led 140 projects including the current
FP7 European projects ARCAS and EC-SAFEMOBIL and
H2020 AEROARMS. He is recipient of 14 awards, supervised
30 PhD Thesis and is currently co-chair of IEEE TC Aerial
Robotics and UAVs, member of the Board of Directors and
coordinator of the Aerial Robotics Topic-Group of euRobotics,
and SEIDROB president.
- A preview of this full-text is provided by Springer Nature.
- Learn more
Preview content only
Content available from Journal of Intelligent & Robotic Systems
This content is subject to copyright. Terms and conditions apply.