0% found this document useful (0 votes)
70 views10 pages

GISTAM 2015 Proceedings

This document presents DIFPL, a distributed drone flight path builder system that pre-builds flight plans for drones to autonomously survey large areas. It divides the area into optimal subregions based on terrain and assigns drone types to each subregion. DIFPL employs MapReduce to distribute the processing of subregions in parallel. Experiments show DIFPL efficiently builds flight plans by optimally exploiting drone capabilities and merging subregions where possible.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views10 pages

GISTAM 2015 Proceedings

This document presents DIFPL, a distributed drone flight path builder system that pre-builds flight plans for drones to autonomously survey large areas. It divides the area into optimal subregions based on terrain and assigns drone types to each subregion. DIFPL employs MapReduce to distribute the processing of subregions in parallel. Experiments show DIFPL efficiently builds flight plans by optimally exploiting drone capabilities and merging subregions where possible.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

DIFPL

Distributed Drone Flight Path Builder System

Manu Shukla, Ziqian Chen and Chang-Tien Lu


Virginia Tech, Falls Church, Virginia, U.S.A.
{mashukla, czq, ctlu}@vt.edu

Keywords: Distributed Systems, Drones, Spatial Computing.

Abstract: Drones have become ubiquitous in performing risky and labor intensive areal tasks cheaply and safely. To
allow them to be autonomous, their flight plan needs to be pre-built for them. Existing works do not precalcu-
late flight paths but instead focus on navigation through camera based image processing techniques, genetic or
geometric algorithms to guide the drone during flight. That makes flight navigation complex and risky. In this
paper we present automated flight plan builder DIFPL which pre-builds flight plans for drones to survey a large
area. The flight plans are built for subregions and fed into drones which allow them to navigate autonomously.
DIFPL employs distributed paradigm on Hadoop MapReduce framework. Distribution is achieved by process-
ing sections or subregions in parallel. Experiments performed with network and elevation datasets validate the
efficiency of DIFPL in building optimal flight plans.

1 INTRODUCTION

With improvements in technology such as high speed


cameras and sensors drones have not only become Figure 1: Conventional drone and Quadcopter.
capable of performing varied tasks but also be-
come increasingly autonomous during flight. Drones the entire region. Each drone type has its specific
have proven very useful in both military battle- limitations. The cost of operating different types of
field and civilian tasks. Common civilian tasks for drones is also varied. The optimization problem then
drones include education(Krajnik et al., 2011), study- becomes multi-pronged. Not only should it cover the
ing natural phenomena(Williams, 2013), reconnais- entire region with multiple flights of the right drone
sance(Segor et al., 2011) and conservation(Koh and type that can navigate varying terrain but also use the
Wich, 2012) amongst others. Drones can fly manually cheaper drone as frequently as possible to minimize
through controller or autonomously. If they are con- cost. This motivated us to create DIFPL.
trolled manually the cost of operating them increases. DIFPL accounts for terrain scenarios such as net-
Hence it is preferred to operate them autonomously. work lines length and elevation based climbing an-
Autonomous flying presents challenges in terrain nav- gle to optimally divide area into subregions and build
igation. Multitude of flight path scenarios such as the flight plan for each subregion. It generates a set
variations in altitude and density of objects to survey of Flight Plans in order to cover the entire power
need to be handled elegantly. Flight planning has to lines network of aviation organization and minimize
account for drone hardware limitations. the number of drone flights and overall cost. This is
The complexity of covering an area with auto- achieved by optimizing coverage by each flight in a
mated flights increases when there are multiple types subregion and assigning to the type of drone needed
of drones available with different capabilities. For for the subregion. Network lines and elevation of
this work drones can be one of two types as shown waypoints in each subregion need to satisfy rules that
in Figure 1; Conventional drone which performs con- are represented as autonomy and climbing angle con-
ventional take off and landing and Quadcopter with straints. The constraints determine if the subregion
vertical take off and landing. The primary challenge needs to be shrunk or expanded or split between mul-
encountered in building flight path of drones is in op- tiple drone types. Our technique uses sectionwise or
timizing the use of different types of drones to cover subregion based distribution of network lines process-

17
GISTAM2015-1stInternationalConferenceonGeographicalInformationSystemsTheory,ApplicationsandManagement

ing, linear inequalities, and spatial index to query el- drones and distributed platforms for general spatial
evation around waypoints. It is powerful as it can au- data processing and specific to drones.
tomate flight path building with only terrain data and Automated Flights. Several ways to automate the
pre-known drone hardware limitations. Focus of this flight of drones exist including using sensors(Visse
work is on drone flights to take pictures of vegetation et al., 2011), camera images(Bills and Saxena, 2011),
over electricity poles network. Image analysis during feeding their waypoints as a file(Babaei and Mor-
post-processing determines if the vegetation has over- tazavi, 2010) or automating from the control(Lugo
grown over poles and needs trimming. The applica- and Zell, 2014). Genetic algorithms have been used
tion can automate flights for many such tasks such as to trace flight paths(De Paula Santos et al., 2013)
determine flood damage, deforestation, pollution and along with ant colony algorithms in 3D route plan-
agricultural activities. The volume of terrain and net- ning(Deng et al., 2013). Optimization algorithms for
work lines data for large areas increases rapidly. In or- multi-objective drone route planning have been ex-
der to scale to the large terrain and networks datasets, plored(Li et al., 2013).
DIFPL uses distributed paradigm on Hadoop MapRe- Distributed Spatial Operations. With increase
duce framework. The contributions of the paper are: in spatial data distributed approaches are increas-
Create Subregions within Overall Area Dy- ingly being explored. Spatial data processing using
namically. DIFPL uses a novel way to divide MapReduce is explored(Cary et al., 2009). Tech-
a large area into subregions that can be covered niques for accelerated processing with MapReduce
with a single flight of a drone. Processing terrain have been proposed(Wang et al., 2010). Distributed
data by subregion provides flexibility in deciding spatial operations on Hadoop and SpatialHadoop as
which type of drone to assign the subregion. Hadoop extension for spatial operations have been ex-
plored(Eldawy and Mokbel, 2013). Computational
Model Terrain Scenarios with Multiple Drone geometry algorithms have been distributed using Spa-
Types and Their Hardware Limits. This work tialHadoop(Eldawy et al., 2013). Distribution of
combines terrain and network data with drone drone data analysis and multiple drone flight coordi-
flight constraints for multiple drone types applied nation tasks has begun to gather momentum(Chmaj
as linear inequalities. It maximally exploits capa- and Selvaraj, 2015). Hadoop based platforms that
bility of each drone type to determine subregion support spatial queries with MapReduce are pro-
size and type of drone to cover it. posed(Aji et al., 2013).
Distribute Flight Plan Creation. Flight plan As far as we know, Previous works did not con-
construction is distributed with MapReduce sider multiple drone types and variations in terrain to-
framework. Distribution eliminates any limita- gether in automating flight paths. DIFPL does not rely
tions on size of spatial index on a single node with on images or video to navigate. Flight paths are built
novel key-value pair based joins and scales hori- offline with terrain and network lines data and do not
zontally to larger terrains datasets. need to be adjusted dynamically as all the constraints
Optimize Subregions After Distributed Pro- are applied at the time of running the program. Our
cessing. DIFPL minimizes subregions by merg- distributed technique makes 2 passes on the data us-
ing as many boundary regions as possible after ing standard hadoop constructs and avoids building a
creating flight plans for subregions. This requires large index on a single node by splitting the data into
aligning incomplete subregions so adjacent ones sections or subregions that can be processed indepen-
can be merged optimizing subregions and its ef- dently.
fectiveness is validated by experiments.
Section 2 explores research related to this work. Sec-
tion 3 presents the preliminary design considerations 3 PRELIMINARIES
of flight plan builder. In Section 4 the MapReduce
framework based DIFPL implementation is described In this section we describe the background informa-
followed by experiments in Section 5. Conclusions tion to DIFPL including input and output data, con-
are presented in Section 6. straints on the hardware and subregion and waypoint
construction.

2 RELATED WORK 3.1 Data

Research similar to this work can be broken into two DIFPL uses inputs (x,y) geocoordinate position of
categories, previous approaches to automate flight of network lines endpoints provided by aviation orga-

18
DIFPL-DistributedDroneFlightPathBuilderSystem

Autonomy. Maximum distance a conventional


drone can fly in single flight is 30KM and a quad-
copter can fly is 3KM.
The constraints on the flight path of drones are mod-
eled as inequalities. The inequalities are applied for
each subregion for the type of drones. The inequali-
ties are defined as follows.
For climbing angle:
Max(c p ) Ctype
where c p is measure of the angle drone has to climb to
fly from one waypoint to next along network line and
Figure 2: Entire network lines area. is calculated from recommended drone flying altitude
and elevation at the waypoints. The recommended al-
nization and elevation data (x,y,elevation) provided titude for conventional drone is 100m and for quad-
by geographic agency. The elevation points are 25m copter is 50m. The maximum weight of the drone can
apart. Output of the program is a set of flight plans, be 2200g. For the waypoints along the sides of the
each composed of a set of waypoints (x,y,altitude) and network lines, the elevation is calculated by querying
one landing point in KML format to be fed directly the k nearest neighbor elevation points with a kNN
into the drone. A separate output file is written for spatial index query and taking their average and en-
each subregion. The overall 7800 KM 2 power lines suring it satisfies the climbing angle constraint.
network is shown in Figure 2. The elevation points For autonomy:
data is filtered for the region for which network lines
data is available as part of pre-processing. Every net- (2 dl + il ) + 3 l 2 r + t + n Atype
l
work line had to be covered by one of the available
drone types. where d is the distance of each network line, t is the
takeoff distance to get to required elevation over first
network pole with the climbing angle of each drone
3.2 Constraints
type, n is the landing distance with the descent angle
for drone type, i distance between two network lines
The drone characteristics are specific to the type of and r is the turn distance for the drone type for l lines.
drone, such as speed, autonomy, turning radius, max Turning radius of conventional drone is 150m while
slope, and flight height. These characteristics were that of quadcopter is 0m. The distance i is calculated
kept configurable and drone company was given abil- by ordering network lines in the subregion by their
ity to adjust them easily through configuration files. xstart and calculating the distance between one line to
Every pole in network lines need to be photographed next. Since there are 3 turns for a drone to cover a
at least 4 times. The drone does 2 passes from each line segment twice and proceed to the next line seg-
side of the lines, one pass in one direction and another ment 3 turning circumferences have to be added to
pass in the other direction. Drone is equipped with the equation. The requirement of photographing each
a NEX7 24 Mega pixel camera with 50 mm optical pole 4 times is satisfied by setting camera to take an
lens. The images are used to perform 3D image recon- image a second. The number of waypoints in output is
struction of each pole to determine if vegetation has achieved by collecting waypoints along network lines
overgrown around the pole. Every attempt is made to every 200m for conventional drone and every 100m
maximize the use of conventional drones as they are for quadcopter and increasing it if the number of way-
cheaper and more plentiful. Primary limitations of the points exceed the maximum.
hardware of drones are:
Number of Waypoints. The hardware of conven-
tional drone can be programmed with up to 200 4 DISTRIBUTED SYSTEM DIFPL
waypoints and the quadcopter can be programmed
with 50 waypoints. This section describes the distributed system DIFPL
Climbing Angle. Max slope of ascent for conven- that builds flight plans based on distributed paradigm.
tional drone is 12 while for descent is -16 . For It gives overview of the architecture of the system,
quadcopter the max slope for ascent is 90 and for algorithms used and optimized distribution for maxi-
descent is -90 . mum parallelization.

19
GISTAM2015-1stInternationalConferenceonGeographicalInformationSystemsTheory,ApplicationsandManagement

4.1 Architecture
The architecture of DIFPL is based on distributed
paradigm. The distribution approach in DIFPL
was implemented using Apache Hadoop MapReduce
framework.
Hadoop. Hadoop(Apache and Hadoop, 2014) is an
open source framework which facilitates distributed
computations on large clusters. A master node or-
chestrates data storage and computation distribution
over multiple slave nodes. Files are uploaded into
distributed file storage called HDFS, split into 64MB
blocks and then processed. Master node keeps track
of all the blocks of a file and where they are stored.
MapReduce(Dean and Ghemawat, 2008) allows mas- Figure 3: Distributed System Architecture.
ter node to break down computation tasks into map-
pers and reducers distributed over slave nodes. They present else reads the network line and elevation data
work on file blocks on slave nodes exploiting coloca- {networki } and {elevationi } and inserts them into a
tion of computation with data. Mappers read in in- spatial index Si. The builder then starts querying in-
put data as key value pairs <k1 , v1 >and emit interme- dex with conventional drone default Dc sized subre-
diate key value pairs <k2 , v2 >. Reducer receive the gions as range queries qi . Objects returned in result
intermediate key value pairs grouped by k2 and pro- set of the query ri include network lines and eleva-
cesses them to generate the final set of key value pairs tion points inside the subregion. It calculates way-
<k3 , v3 >. points along network lines in query and then eleva-
The distribution of flight path builder is necessi- tion of waypoints using kNN query and averaging the
tated due to memory limitations of indexing large ele- elevation of nearest neighbors. If the network lines li
vation and network datasets on a single node. Several satisfy the conventional drone autonomy constraint Ac
opportunities for distribution of the flight plan builder but fail to satisfy the conventional drone climbing an-
process are available. The identification of quad- gle constraint Cc , then it queries spatial index for the
copter subregions and the shrinking of quadcopter and subregion using default size of quadcopter Dq with
conventional drone subregions can be performed in queries qqi from left to right. Each consecutive quad-
parallel. An overview of the distributed system ar- copter size subregion that satisfies the climbing angle
chitecture is shown in Figure 3. The distributed ap- constraint is merged with previous one. Ones that do
plication runs on a cluster on Amazon Web Services not satisfy Cc are deemed to require quadcopter. If
(AWS). MapReduce jobs are run on AWS Elastic the length of network lines in ri are too large or less
MapReduce (EMR) and data is read from and written than % threshold of the autonomy of quadcopter or
to S3 buckets similar to HDFS. It uses Hadoop 2.5.1 conventional drone, then the subregion is shrunk or
and MapReduce2. The experiments were performed expanded iteratively till it satisfies the autonomy con-
on a 5 node Hadoop cluster with 1 master and 4 slave straint for the respective drone type. The output for
nodes. each subregion Oi as waypoints and landing point is
written out.
4.2 Algorithms
4.2.2 Sectionwise Distribution
The algorithms used in DIFPL include a base Build
Flight Plans algorithm that performs queries and ap- The first task of distribution is to split the entire area
plies constraints on results within a section or subre- into sections and query for subregions in spatial in-
gion. Two levels of distribution are built, one based dex built separately for each section. This allows for
on the flight path algorithm and another parallelized building smaller sections in spatial index instead of
on subregions. the entire area.
The distribution paradigm is broken down into 2
4.2.1 Flight Path Building within Section phases, each translating into a pass over the data.
Each pass incrementally identifies subregions for
Algorithm 1 shows the process of building the flight quadcopter or conventional drone and final pass re-
paths. The flight plan building is implemented in solves boundary issues and outputs final flight paths
3 steps. The builder reads index file from disk if for each subregion.

20
DIFPL-DistributedDroneFlightPathBuilderSystem

Algorithm 1: Build Fligh Plans. Assign and Process Section. The first pass labels
network and elevation data with the section they be-
Input: {networki },{elevationi } {network lines and elevation
data}
long to. The details are described in Algorithm 2.
Output: {subregioni ,waypointi } {each subregion and way- The data is processed by two mappers. First map-
points} per reads network lines data {networki } as text and
1: {step 0: setup index and subregion iterations} calculates section id based on the coordinates of the
2: if index spatial index file does not exist then network line. The key value pair emitted from the
3: Si {networki ,elevation j } {create spatial index with mapper are <sectionID j ,networklinel >. The second
network lines as 2D objects and elevation points}
4: else
mapper similarly reads elevation data {elevation j }
5: read Si from disk {read in spatial index from disk} and calculates section id and emits <K,V>pairs
6: end if <sectionID j ,elevationi >. The reducer reads the data
7: query qi for subregions subregioni starting from bottom and aggregates all elevation and network line obser-
left of region with size Dc vations for a section id.
8: while !at top right of region do
9: regionDone=false Algorithm 2: Assign and Process Section.
10: ri Si(qi ) {query Spatial index Si with query qi to
generate result set} Input: {elevationi ,networklinei }
11: generate wapypointi in ri Output: subregion j {xsr j ,ysr j ,xer j ,yer j ,
12: for all waypointi in ri do quadcopter|conventional,{network j },{elevation j },
13: kNN
elevationwi kwaypointi {waypoint j }
14: end for 1: mapper1:
15: if max C(ri ) Cc then 2: calculate sectionID j based on its coordinates
16: {step 1: Subregion can be covered with conven- 3: emit:sectionID j elevation j
tional drone} 4: mapper2:
17: {retrieved objects elevations satisfy conventional 5: calculate sectionID j based on its coordinates
drone climbing angle constraint} 6: emit:sectionID j networkline j
18: while {| lr |} does not satisfy Ac do 7: reducer:
19: {retrieved objects network lines do not satisfy 8: for all observations do
conventional drone autonomy constraints} 9: build section j
20: Si qi 10: end for
21: {reduce or expand window size and re-query} 11: APPLY Build Flight Plans Algorithm
22: end while 12: emit:subregion j {xsr j ,ysr j ,xer j ,yer j ,
23: if {| lr |} satisfies Ac then quadcopter|conventional,{network j },{elevation j },
24: {conventional drone constraints satisfied} {waypoint j }
25: {waypointi } Cq {create waypoints for conven-
tional drone subregion} Reducer builds spatial index for elevation points
26: write output Oi for the subregion with network and elevation data in
27: qi q j {move to next window}
memory and marks quadcopter and conventional sub-
28: end if
29: else region by elevation and length constraints. It shrinks,
30: {step 2: Subregion needs quadcopter} expands and merges subregions as needed. The final
31: for all qqi qi do emitted <K,V>pairs in the reducer are the details of
32: ri Si(qqi ) each subregion within a section such as subregion id
33: {requery with default quadcopter subregion subregion j , the subregion extent xsr j ,ysr j ,xer j ,yer j ,
sizes}
a flag indicating if its a quadcopter or conventional
34: if !maxC(ri ) Cc then
35: {region fails conventional drone climbing an- drone subregion, the network lines and elevation
gle constraints} points and waypoints for a quadcopter or conventional
36: {waypointi } Qq drone to follow along the network lines in the subre-
37: {build waypoints for quadcopter} gion waypointk ,...,waypointl .
38: qqi qq j Resolve Edge Effects. Second pass resolves edge ef-
39: {move to next window}
40: else
fects between sections as described in Algorithm 3.
41: Oi qi1 {merge into previous conventional The input to the mapper are the subregions subregion j
subregion} with their extent, the drone type needed, network lines
42: Write Output Oi and elevation points in the subregion and the way-
43: end if points. For the subregions that are along the verti-
44: end for cal edge of the sections associated with their section
45: end if
46: end while id, reducer pairs the corresponding left and right sub-
regions. The subregions could be merged together if
they are covered by same drone type. The output from

21
GISTAM2015-1stInternationalConferenceonGeographicalInformationSystemsTheory,ApplicationsandManagement

Algorithm 3: Resolve Edge Effects. Algorithm 4: Assign and Process Subregions.


Input: {subregion j {xsr j ,ysr j ,xer j ,yer j , Input: {elevationi ,networklinei }
quadcopter|conventional,{waypoint j },{network j }, Output: subregion j xsr j , ysr j , xer j , yer j , {waypoint j },
{elevation j }}} quadcopter |conventional, complete |incomplete,
Output: subregionk {xsr j ,ysr j ,xer j ,yer j ,quadcopter {elevation j },{networkline j }
|conventional, {waypointk }} 1: mapper1:
1: mapper: 2: emit:subregion j elevation j
2: emit:verticalborder|notverticalborder subregion j , 3: mapper2:
{xsr j ,ysr j ,xer j ,yer j ,{network j },{elevation j } 4: emit:subregion j networkline j
{waypointk }, } 5: reducer:
3: reducer: 6: index {elevationi } in spatial index
4: if border then 7: for all observations calculate waypoints j based on its
5: if subregioni && subregion j are adjacent then network lines do
6: if they can be merged with combined subregion 8: for all waypointi calculate elevation with kNN query
network length <% then do
7: merge subregions 9: compute climbing angles and check if they satisfy
8: emit:subregionk {xsrk ,ysrk ,xerk ,yerk , constraint Cc
quadcopter|conventional,{waypointk }} 10: if climbing angle fails constraint then
9: else 11: split subregion into quadcopter subregions
10: emit:subregioni {xsri ,ysri ,xeri ,yeri , 12: progressively apply Cc on each subregion of
quadcopter|conventional,{waypointi }} size Dq
11: emit:subregion j {xsr j ,ysr j ,xer j ,yer j , 13: if satisfied then
quadcopter|conventional,{waypoint j }} 14: if autonomy constraint Ac satisfied then
12: end if 15: merge with previous if autonomy con-
13: end if straint satisfied
14: else 16: else
15: emit:subregion j {xsr j ,ysr j ,xer j ,yer j , 17: mark as quadcopter
quadcopter|conventional,{waypoint j }} 18: end if
16: end if 19: end if
20: emit:subregion j xsr j , ysr j , xer j , yer j ,
the reducer are the entire set of subregions that in- {waypoint j }, quadcopter
clude merged subregions. All non boundary subre- |conventional, complete |incomplete,
gions are emitted as is. {elevation j },{networkline j }
21: else if autonomy constraint Ac not satisfied then
22: shrink subregion j
4.3 Optimized Distribution 23: emit:subregion j xsr j , ysr j , xer j , yer j ,
{waypoint j }, quadcopter
A more scalable approach which precludes need to |conventional, complete |incomplete,
build spatial indexes in each reducer in order to build {elevation j },{networkline j }
waypoints in a subregion is now discussed with net- 24: end if
work lines passed in raw form and elevations inserted 25: end for
in spatial index. 26: end for
Assign and Process Subregion. This algorithm
receives as input network and elevation data as incomplete. The task then becomes to merge the ad-
{elevationi },{networklinei } and in mapper emits jacent incomplete subregions.
them with the key subregion j . Mapper emitted pairs Reconcile Adjacent Subregions. Subregions in
subregion j ,networkline j and subregion j , elevation j sparse area that need to be expanded, or ones gen-
then result in network lines and elevation points land- erated after shrinking dense subregion are emitted as
ing together in the reducer. In reducer the waypoints incomplete. All subregions that are split result in a
are built along the network lines and climbing angle set of quadcopter and conventional drone subregions.
constraint Cc checked by querying elevation points The ones that are not able to satisfy the autonomy %
from subregion near waypoint from spatial index us- constraint are also emitted by reducer as incomplete
ing kNN query. It then emits all subregions with way- to merge with adjacent incomplete subregions. The
points and a flag indicating if they are complete or details are shown in Algorithm 5. The algorithm ac-
incomplete. The details are shown in Algorithm 4. cepts all subregions and mapper emits ones that are
If the autonomy constraint is not satisfied such that incomplete. The reducer then aligns the ones that are
the network lines are too long or less than threshold adjacent. It then checks if the adjacent subregions can
% of the drone type autonomy, then we mark the be merged together. Every time a merged subregion
subregion at the time of emission from reducer as satisfies % threshold and autonomy constraint

22
DIFPL-DistributedDroneFlightPathBuilderSystem

Algorithm 5: Reconcile Adjacent Subregions.


Input: subregion j xsr j , ysr j , xer j , yer j ,
{waypoint j }, quadcopter |conventional, complete
|incomplete,{elevation j },{networkline j }
Output: subregioni ,xeri , yeri , xsri , xsri ,{waypointi }, con-
ventional|quadcopter
1: mapper:
2: emit:incomplete subregioni ,xeri , yeri , xsri , xsri ,
{elevationi },{networklinei },incomplete,{waypointi },
conventional|quadcopter
3: emit:subregion j xeri , yeri , xsri , xsri ,
{elevationi },{networklinei },complete,{waypointi },
conventional|quadcopter
4: reducer: Figure 4: Waypoints along network lines distance from
5: for all incomplete subregions calculate new subregions line for subregion covered by conventional drone.
based on its coordinates do
6: if subregioni && subregion j are adjacent then
7: if they can be merged with combined subregion
network length <% then
8: merge subregions
9: emit:subregionk {xsrk ,ysrk ,xerk ,yerk ,
quadcopter|conventional,{waypointk }}
10: else
11: emit:subregioni {xsri ,ysri ,xeri ,yeri ,
quadcopter|conventional,{waypointi }}
12: emit:subregion j {xsr j ,ysr j ,xer j ,yer j ,
quadcopter|conventional,{waypoint j }}
13: end if
14: end if
15: for all complete subregions do Figure 5: Subregion with network lines length below
16: emit:subregioni {xsri ,ysri ,xeri ,yeri , threshold of conventional drone autonomy and expanded.
quadcopter|conventional,{waypointk }}
17: end for
18: end for path from the network line is constant and config-
urable. The turning radius of drone along with flight
it emits it in reducer as subregioni {xsri , ysri , from one network line to another is taken into account
xeri , yeri ,{waypointi },quadcopter|conventional} and in the autonomy constraint but not shown in figure
proceeds to the next. or entered as waypoint as drone automatically deter-
mines how it will navigate from one point to next. The
circles represent the turns conventional drone has to
5 EXPERIMENTS make to fly on both sides of a network line.
Expanding Subregion for Conventional Drone or
This section explores the scenarios to determine a Quadcopter. Figure 5 shows the subregion which has
subregion and the type of drone flights to cover it. The network lines less than % autonomy of a conven-
scenarios can be divided into 3 categories. They can tional drone. The size of the subregion is incremen-
be within a section including the entire area on a sin- tally expanded by length until autonomy reaches %
gle node or distributed by subregion. of constraint or higher. This parameter is kept config-
urable and defaults to 80%. The dotted lines in figure
5.1 Scenarios within a Single Section represent the incremental expanding of subregion.
Splitting Subregion between Conventional Drone
These scenarios occur when applying queries and and Quadcopter Flights. If a subregion fails to sat-
constraints within a single section which can either isfy the climbing angle constraint for a conventional
be the whole area or a section. drone it is split to cover segments where constraint
Use of Conventional Drone. A typical flight path fails with a quadcopter. Figure 6 shows the flight path
as built by Flight Plan Builder is shown in Figure 4. waypoints for a subregion that can not be covered
The waypoints for the subregion are highlighted along by a conventional drone and requiring a quadcopter.
with the electric pole network lines they have to cover A larger subregion with this split is shown in Fig-
which are shown in red. The distance of waypoints ure 7. Quadcopter default size subregions are incre-

23
GISTAM2015-1stInternationalConferenceonGeographicalInformationSystemsTheory,ApplicationsandManagement

Figure 6: Waypoints along network lines distance from


line for subregion covered by quadcopter.

Figure 8: Subregion with network lines too long for con-


ventional drone autonomy and needs to be shrunk.

Figure 7: Subregion that fails to satisfy climbing angle con-


straint and split between conventional drone in blue and
quadcopter in red.
Figure 9: All the subregions in overall area shown in blue
mentally applied to determine where the conventional for conventional drone and red for quadcopter.
drone climbing angle constraint fails. If that subre-
gion lies in the middle of the original subregion, it is
covered with quadcopter and all the other subregions gion sizes for both types of drones starting default
before it are assigned to minimal number of conven- subregion sizes of 3.7KMx2.9KM for conventional
tional drone flights. Subregions after the last quad- drone and 3.7KMx0.29KM for quadcopter serve as
copter segment are merged with the subsequent con- good default sizes. The defaults are optimal size to
ventional drone subregion indicated by dotted line. utilize the autonomy of the conventional drones and
Only one subregion which required quadcopter cov- quadcopter and minimize processing time. Figure 9
erage was found so after that subregion algorithm re- shows the subregions in the overall area with some
sumes querying with default conventional drone sub- subregions covered by conventional drone and some
region size. The quadcopter default sized subregions by quadcopter and some subregions being shrunk for
before the quadcopter assigned subregion are merged conventional drone and some split for quadcopter and
together into one conventional drone subregion. the remaining segment covered in the following sub-
Shrinking Subregion for Conventional Drone or region. The subregions in the figure match well the
Quadcopter. Subregions which has network lines too network lines and their density shown in Figure 2.
long for a conventional drone or quadcopter to cover Dense network lines areas have more default size and
in one flight necessitates shrinking of subregion. Fig- shrunk conventional drone subregions. Larger num-
ure 8 shows incrementally shrinking of subregion by ber of quadcopter subregions indicate altitude varia-
horizontal length until a size that satisfies the dis- tions. Sparse network line areas has larger number of
tance constraint for conventional drone is reached. expanded conventional drone subregions.
The shrinking reduces the length of network lines un- The optimizations allow for far fewer drone sub-
til it can be covered by a conventional drone. The regions overall and minimized number of quadcopter
querying then resumes from the end of shrunk subre- flights which is the goal as conventional drone are
gion. The dotted lines represent incrementally shrunk cheaper and more plentiful. The incremental opti-
subregions. mizations impact is shown in Figure 10. The incre-
After experimenting with several default subre- mental savings with expansions and splitting of con-

24
DIFPL-DistributedDroneFlightPathBuilderSystem

Figure 10: All the subregions for conventional drone and Figure 11: All the subregions in overall area shown in blue
for quadcopter broken down by the analysis type. for conventional drone and red for quadcopter after merging
subregions across the vertical section boundaries.
ventional default sized subregions into minimal num-
ber of quadcopter and conventional drone subregions
is very effective in minimizing subregions, in partic-
ular quadcopter subregions. The bulk of efficiency
comes from expanding subregions reducing the num-
ber of conventional drone subregions from 1553 to
809. The splitting of a conventional drone subregion
into pinpoint quadcopter and efficiently merged con-
ventional drone subregions minimizes the number of
quadcopter subregions.

5.2 Distributed Scenarios Figure 12: All the subregions in overall area shown in blue
for conventional drone and red for quadcopter after subre-
gionwise distributed processing and merge.
In distributed paradigm, the scenarios change as sub-
regions on the edges of sections can not expand which
as then resolved in an additional step. shrunk if its network lines length exceeds the auton-
Shrink, Expand, Merge or Split Subregions. The omy of a conventional drone or quadcopter. We mark
subregions are shrunk and expanded based on the the subregions that do not satisfy the % network line
same threshold % of autonomy as used in sequen- length constraint after splitting or shrinking as incom-
tial algorithm for each section. This invariably means plete. Subegions that satisfy the length constraint are
several subregions on the right edge of each section do emitted as complete.
not get to meet the threshold as they run out of room Merging Subregions. All incomplete subregions are
to expand. This issue is mitigated to some extent by then ordered and adjacent ones that can be merged
the edge effect job. together are emitted as new subregions. Figure 12
Merge Section Edge Subregions. Edge subregions shows the subregions created by the subregion par-
for each section are merged together if feasible. The allelization. The entire set of subregions that can be
result after merging in a 4-section distribution are processed together are merged if possible in a single
shown in Figure 11. If the subregions are being cov- pass.
ered by the same drone type on either side of an edge Running the scenarios in the distributed paradigm
and they have not been expanded they are likely to be produces results that are similar to the sequential pro-
merged together. Experiments find 4 such subregions. cessing results in terms of number of subregions of
quadcopter or conventional drone type. Merging re-
duces quadcopter subregions by 627 and conventional
5.3 Optimized Distributed Scenarios subregions by 385.
Comparisons of single node run with distributed
Optimized distribution focuses on processing each and optimized distributed results are shown in Figure
subregion in parallel. The subregions are then rec- 13. It clearly shows the impact of merge on reducing
onciled by merging with adjacent subregions. the count of quadcopter and conventional drone sub-
Splitting or Shrinking Subregion. Since a subre- regions in optimized distribution. After merge there
gion by itself can not be expanded, it can only be are 1239 conventional drone subregions and 1839

25
GISTAM2015-1stInternationalConferenceonGeographicalInformationSystemsTheory,ApplicationsandManagement

In Proceedings of the 21st International Conference


on Scientific and Statistical Database Management,
SSDBM 2009, pages 302319, Berlin, Heidelberg.
Springer-Verlag.
Chmaj, G. and Selvaraj, H. (2015). Distributed process-
ing applications for uav/drones: A survey. In Sel-
varaj, H., Zydek, D., and Chmaj, G., editors, Progress
in Systems Engineering, volume 1089 of Advances in
Intelligent Systems and Computing, pages 449454.
Springer International Publishing.
De Paula Santos, G., Garcia Marques, L., Miranda Neto,
M., Cardoso, A., Lamounier, E., and Yamanaka, K.
(2013). Development of a genetic algorithm to im-
prove a uav route tracer applied to a man-in-the-loop
Figure 13: All the subregions for conventional drone and flight simulator. In Virtual and Augmented Reality
(SVR), 2013 XV Symposium on, pages 284287.
for quadcopter broken down by the analysis type.
Dean, J. and Ghemawat, S. (2008). Mapreduce: Simpli-
fied data processing on large clusters. Commun. ACM,
quadcopter subregions which compares well with 809 51(1):107113.
conventional drone subregions and 2181 quadcopter Deng, T., Xiong, Z. M., and Meng, Y. J. L. Q. Z. (2013).
subregions in single node execution. Research on 3d route planning for uav in low-altitude
penetration based on improved ant colony algorithm.
Applied Mechanics and Materials, 442:556561.
Eldawy, A., Li, Y., Mokbel, M. F., and Janardan, R. (2013).
6 CONCLUSIONS Cg hadoop: Computational geometry in mapreduce.
In ACM SIGSPATIAL, pages 294303.
DIFPL uses a novel approach to flexibly divide a large Eldawy, A. and Mokbel, M. F. (2013). A demonstration of
spatialhadoop: An efficient mapreduce framework for
area into subregions and dynamically adjust them to spatial data. Proc. VLDB Endow., 6(12):12301233.
optimally cover with a single drone flight. It combines Koh, L. P. and Wich, S. A. (2012). Dawn of drone ecology:
spatial data and drone limitations or constraints mod- lowcost autonomous aerial vehicles for conservation.
eled as linear inequalities to automate flight path of Tropical Conservation Science, 5(2):121132.
drones. The distributed implementation presents way Krajnik, T., Vonasek, V., Fiser, D., and Faigl, J. (2011). AR
to handle large datasets which can not be processed on drone as a platform for robotic research and educa-
a single node. The subregion level distribution allows tion. Communications in Computer and Information
Science, 161:172186.
horizontal scalability. The flight plans produced by
Li, L., Liu, X., Peng, Z.-R., and Xu, X. (2013). Multi-
distributed version are similar in numbers to the ones
objective optimization model and evolutionary algo-
by single node implementation but generated more ef- rithm to plan uav cruise route for road traffic surveil-
ficiently. The technique used is not only useful for the lance. In Transportation Research Board 92nd Annual
task of surveying power lines but extensible to a host Meeting.
of other drone applications. Lugo, J. J. and Zell, A. (2014). Framework for autonomous
onboard navigation with the ar.drone. Journal of In-
telligent and Robotic Systems, 73(1-4):401412.
Segor, F., Burkle, A., Kollmann, M., and Schonbein, R.
REFERENCES (2011). Instantaneous autonomous aerial reconnais-
sance for civil applications. In ICONS 2011, The Sixth
Aji, A., Wang, F., Vo, H., Lee, R., Liu, Q., Zhang, X., and International Conference on Systems, St. Maarten,
Saltz, J. (2013). Hadoop gis: A high performance spa- The Netherlands Antilles.
tial data warehousing system over mapreduce. Proc. Visse, A., Dijkshoorn, N., van der Veen, M., and Jurri-
VLDB Endow., 6(11):10091020. aans, R. (2011). Closing the gap between simula-
Apache and Hadoop (2014). http://hadoop.apache.org. tion and reality in the sensor and motion models of
Apache Hadoop. an autonomous ar.drone. In Proceedings of the Inter-
national Micro Air Vehicles conference.
Babaei, A. R. and Mortazavi, M. (2010). Three-dimensional
curvature-constrained trajectory planning based on in- Wang, K., Han, J., Tu, B., Dai, J., Zhou, W., and Song,
flight waypoints. Journal of Aircraft. X. (2010). Accelerating spatial data processing with
mapreduce. In Proceedings of the 2010 IEEE 16th
Bills, C.and Chen, J. and Saxena, A. (2011). Autonomous
International Conference on Parallel and Distributed
mav flight in indoor environments using single image
Systems, ICPADS 10, pages 229236, Washington,
perspective cues. In Robotics and Automation (ICRA),
DC, USA. IEEE Computer Society.
2011 IEEE International Conference on.
Williams, S. C. P. (2013). Studying volcanic eruptions with
Cary, A., Sun, Z., Hristidis, V., and Rishe, N. (2009). Ex- aerial drones. In Proc Natl Acad Sci U S A.
periences on processing spatial data with mapreduce.

26

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy