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.