Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/320747474

Cooperative trajectory planning in an intercommunicating group of UAVs for


convex plume wrapping

Conference Paper · September 2017


DOI: 10.1109/SARNOF.2017.8080382

CITATIONS READS
5 114

2 authors:

Angelyn Arputha Babu John Rudra Dutta


North Carolina State University North Carolina State University
1 PUBLICATION 5 CITATIONS 198 PUBLICATIONS 3,070 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Rudra Dutta on 17 September 2019.

The user has requested enhancement of the downloaded file.


2017 IEEE 38th Sarnoff Symposium

Cooperative Trajectory Planning in an


Intercommunicating Group of UAVs for Convex
Plume Wrapping
Angelyn Arputha Babu John, Ph.D. Student, North Carolina State University, Dr. Rudra Dutta, Associate
Professor, North Carolina State University,

Abstract—Trajectory planning in airborne networks is a primary application of Unmanned Aerial Vehicle (UAV) communication. The
literature contains algorithms focusing on collision avoidance, intelligent task assignment and path planning among UAVs. Cooperative
schemes exist in which the UAVs communicate with each other to reach a consensus on how each vehicle will take up one trajectory at
a time efficiently based on its capability. In the last decade, much research is being done to use UAVs to track contamination in the
environment, detect fires and even volcanic eruptions. As the plumes are constantly varying in space and time, there have to be
efficient guidance algorithms for the UAVs in order to keep track of the shape of the plume. In this paper, we survey the literature to
explore the currently available trajectory planning algorithms and also the few available plume tracking algorithms. We then formulate
the Plume wrapping problem and propose a cooperative trajectory planning approach for a group of UAVs, through which the UAVs
communicate their position estimates and planned trajectories to update each others trajectory to efficiently wrap around a plume
region so that the contamination in the region can be studied.

Index Terms—UAV, trajectory planning, plume wrapping, multi-UAV communication.

F
1 I NTRODUCTION

U NMANNED Aerial Vehicles (UAVs) have attracted an


increased interest in many robotic applications. UAVs
have higher mobility and maneuverability than ground
option to track these plume characteristics, if they can wrap
the plume and move along with it.
Regardless of the number of UAVs employed in any
vehicles, making them the natural way to get information application, it is highly important to position them in or-
or even to perform some actions such as deployment of der to gain useful information from their locations. In the
instrumentation. They are a good approach to perform broader context of the problem, the guidance algorithm
certain tasks like data and image acquisition of targets and requirements include making the UAVs autonomous, coop-
areas inaccessible to ground access, localization of targets, erate with each other, avoid static and dynamic obstacles in
tracking, map building and others. One such upcoming their path, and result in efficient trajectories for all the UAVs
application is plume tracking [1]. Plume tracking is the term as a group. In this study, we focus on a specific part of the
used for the systems response teams use to plot the course problem. We will present a cooperative trajectory planning
of a hazardous airborne material such as a gas or toxic algorithm for a group of UAVs that can efficiently detect the
chemical plume in the worst case scenario of a leak. position and spread of a plume of chemical contamination
Various approaches for tracking the plume and its in the atmosphere. Our algorithm can be extended to im-
source localization are well studied in robotics and artificial prove the efficiency of the trajectories, the completeness of
intelligence field. Cooperative small unmanned aerial vehi- the enclosure, and the effectiveness of tracking the plume;
cles equipped with the required chemical sensors provides however, these are beyond the scope of our current unit of
a promising option for safe and cost-effective data collection work, which was focused on creating an initial cooperative
[2]. The concentration of a plume changes as it moves away algorithm based on UAVs passing messages to each other to
from the source and mixes with the clean air. The problem effect initial detection and enclosure. In the next section, we
with using a one-time detection of a plume using a static review the motivation for our problem
sensor, a single UAV or even a swarm of UAVs is that the
complete nature of the plume cannot be obtained at that
instant. There is a need to track the shape and characteristics
2 M OTIVATION
of the plume as it moves along the dynamic environment. The trajectory planning approach can be divided into classi-
An autonomous group of UAVs can be seen as an attractive cal methods and heuristic methods. Traditional or classical
methods include dynamic programming, optimal control
theory, cell decomposition, road map and potential fields
• A. Babu John is a student at the Department of Computer Science, North [3] etc., while the heuristic methods include Neural Net-
Carolina State University, Raleigh, NC, 27606.
E-mail: ababujo@ncsu.edu works (NN) approach, Principal Component Analysis (PCA)
• Dr. Rudra Dutta is an associate professor at the Department of Computer and MultiLayer perception (MLP) [4], which uses multi-
Science, North Carolina State University, Raleigh, NC, 27606. layer neural network. Other nature Inspired Algorithms like
E-mail: dutta@csc.ncsu.edu
Genetic Algorithm (GA) [5], an optimization tool based on

978-1-5386-3019-8/17/$31.00 ©2017 IEEE


2017 IEEE 38th Sarnoff Symposium

natural genetics and Particle Swarm Optimization (PSO) the swarm have to efficiently wrap around the plume to
[6], a stochastic optimization technique which finds the give its location and possibly move along with it, while also
global optimum by changing the collection of particles in maintaining safe distance from each other.
the search area towards a promising area. In our initial work to solve the problem of plume
In the recent years there has been a need to use mul- wrapping, we make several simplifying assumptions we
tiple UAVs as they give fault tolerance and increased flexi- intend to relax in subsequent work. The plume is considered
bility. Two strategies for trajectory planning in multi-agent to be in the shape of a convex hull. In our problem, we
systems are the centralized or decentralized or distributed assume the plume to be spherical, a simple convex hull.
approaches. Although the centralized approaches have been The degree of contamination falls off as a curve, with the
used in different studies like MILP and NLP technologies maximum density at the center. All the UAVs are equipped
[7], their computation times scales exponentially with the with a sensor that has the ability to sense the contamination
number of vehicles. If the central controller or leader fails, after its density becomes greater than a certain threshold.
the entire system falls apart. This one-point failure and The size of the plume is assumed to be comparatively large
communication requirements makes distributed approaches to be able to be detected by the UAV. The location of each
a better solution. UAV is known at all times in an absolute 3D space. All the
There have been considerable research in the last UAVs start from the same location, say from the corner of
decade to track plumes back to its source and also take the volume. Each can communicate information to all the
measurements from hazardous environments. The Volcan other UAVs in the volume, that is , all UAVs are within
Project [8] built an autonomous aerial system, that was the broadcasting range. There is no back-end controller that
able to perform aerial surveillance of volcanic areas and to instructs the UAVs. Thus, any information that is to be sent
analyze the composition of gases inside the volcanic fumes. between the UAVs must be in the form of messages passed
Merino et. al [9] implements a multi-UAV cooperative per- between them.
ception system to measure forest fires. But these approaches
were limited to a single UAV and is controlled by a ground
station. Other significant plume tracking algorithms by 3.1 Proposed Solution
cooperative UAVs include Marjovi et. al [10], which was Generally all existing work related to swarm intelligence
used to track an odor plume. Each UAV is equipped with were derived from the group or social behavior in animals
an attractive beacon that will turn on when a chemical is and insects [11]. Based on local communication between
detected. This beacon is then used to attract the other UAVs swarm members and the actions that they do an individual
to that area. The innovative algorithm gives a great guidance evaluates and later generate appropriate behavior that will
scheme for the UAVs, but this can be still optimized both in contribute to the groups objective. With this decentralized
the sensing and enclosure phase. And both algorithms are approach, most of the communication overheads, which
limited to 2D scenarios. are characteristics of centralized systems, are saved and
While these approaches represent good solutions from the hardware can be fairly simple. Through redundancy, a
the trajectory planning perspective, they do not incorporate properly designed system can achieve reliability.
consideration of the distributed nature of the computational
requirements that would be needed in practice to realize 3.1.1 Aggregation and Flight Formation
such algorithms. Our contribution, presented in the next
The type of formation to be used is highly important in our
section, is to consider the problem as a computing prob-
problem, as it decides the efficiency with which the swarm
lem, and to proposed an approach in which the required
can survey the area, avoid obstacles and collisions, detect
computation is done by the UAVs themselves, acting as
the contamination and successfully wrap around the plume.
autonomous computing agents, mediated by the actual
We propose that the UAVs come into a mesh formation
passing of messages between UAVs, and obviating the need
before it can survey the region.
for a back-end computing cloud or ground control station,
Marjovi et. al [12] formulated the best spatial formation
which also eliminates the delay of communications to and
by a swarm of UAVs equipped with gas sensors to sense
from the ground control station.
to olfactory targets. The study compared three different
configurations of sensors in the environment. The mesh
3 P ROBLEM S TATEMENT configuration is shown to give the longest sensor coverage.
Therefore, in our implementation we not only navigate to-
The plume wrapping problem can be formally framed as
wards the plume but also establish a spatial mesh topology
follows: ‘A group of UAVs is said to have wrapped a plume
and maintain its cohesion.
if every UAV has positioned itself at or close to a point on the
boundary of the plume, and the surface (subset of the plume
boundary) covered by the UAVs has comparable span in any two 3.1.2 Plume Wrapping
orthogonal directions on that surface, and the density of UAVs is In our stated problem, the aim of the swarm is to wrap the
roughly equal over this surface. Further, if this surface becomes a plume. So, the swarm should be able to reconfigure itself
closed surface that covers the entire boundary of the plume, the when it detects a contamination. The UAVs in the mesh
group of UAVs is said to have enclosed the plume.’ perform a sweep of the region to find any contamination.
The UAVs are not aware of the presence of a plume, and Our implementation assumes that the mesh is sweeping
also they are unaware of the shape and extent of the through the area in a direction perpendicular to the mesh,
contamination. When a plume is discovered, the UAVs in thus covering more region in space. One way to reconfigure
2017 IEEE 38th Sarnoff Symposium

UAVs at random locations in the region would be to arrange due to inertia. At this time, almost 2 other UAVs also
them in a mesh according to their hardware addressed. come in contact with the plume.
Once any, some or all UAVs in the mesh detect the
plume, they stop at the boundary and pull the other UAVs When one of the UAVs come in contact with a plume, it
that have not detected the plume yet. The UAVs at the informs the other UAVs in the mesh. Each UAV knows how
plume boundary enforce a virtual force on the UAVs away far it is from the UAV that detected the plume, by number
from then making the whole plane mesh fold onto a convex of hops. The UAV that found the contamination should try
hulls boundary (sphere in this case). In our implementation, and pull the other UAVs close to it, where the plume resides.
there should be a repulsive force also in place to push away Based on the relative position and current heading of the
the UAVs that are getting too close to each while wrapping UAVs, its trajectory can be formulated to maneuver them
around this convex hull. We explain the algorithm in detail towards the plume.
in the next section, including all the forces in play. The time is assumed to be discrete and each time step last
some ct seconds (0.02 seconds in our simulation). Let Xi (t)
be the state of U AVi at time step t. The plume wrapping
4 P LUME W RAPPING A LGORITHM protocol is therefore a rule f such that for every U AVi
Below we define some notations used in this section by
U AVi : f (Xi (t), N eighborhood(Xi (t))) ∈ D

• N : number of UAVs in the mesh where N eighborhood(Xi (t)) is the states received by U AVi
• Sep : minimum separation between any two UAVs in from all the UAVs around it.
the swarm (in meters). D = {‘left‘, ‘right‘, ‘up‘, ‘down‘,‘up-left‘,‘up-right‘,‘down-
• (pxi , pyi , pzi ): Position of the UAV in NED coordi- left‘,‘down-right‘}
nates (in meters) When a UAV detects a plume, its comes to a stop.
• (phii , thetai , psii ): angles in ZYX convention (in ra- Since the other UAVs did not detect this plume, they would
dians) tend to move along their initial trajectory. So the detected
• (ui , vi , wi ): velocity along the coordinates (m/s) UAV exerts a virtual force on the other UAV, pulling them
• (pi , qi , ri ) : rotational velocity of coordinates (rad/s) towards it in order to maintain the mesh, at the same time
• (pxi , pyi , pzi , phii , thetai , psii , ui , vi , wi , pi , qi , ri ): maintaining the safety distance between the UAVs. This
Present state of U AVi in the state space resultant force in turn brings all the UAVs in the mesh to
aggregate around the plume. To implement this, the virtual
4.1 Aggregation and Flight Formation forces experienced by U AVi due to a push or pull of another
U AVj is defined as follows
The aggregation and flight formation is more of a initial-
ization for our other algorithms that follow. A swarm of N Fijco (t) α P~ji (t)
UAVs are assumed to be in a mesh formation to begin with.
Each UAV knows the location and position of other UAVs and
in the mesh. The messages from one UAV can be identified
by a certain numbering scheme. This scheme is known to all Fijco (t) = pull towards phisense if|P~ji (t)| < dmin (1)
the UAVs in the mesh. =0 if dmin ≤ |P~ji (t)| ≤ dmax (2)
= push along phisense ~
if|Pji (t)| > dmax (3)
4.2 Plume Wrapping
The UAVs are now moving in a plane mesh perpendicular to Where a1 and a2 are two positive coefficients. P~ji (t) =
the plane. Each UAV can detect the plume when it (sensor) Pj (t) − Pi (t). dmax and dmin define the distance margin
comes in contact with the contamination. So the mesh has between any two neighbouring UAVs such that 0 <Sep
to intersect the plume in some way in order to detect the <dmin <dmax and dmax is twice that of dmin . phisense
contamination. In our problem statement, we assumed the defines the angle between the current heading angle and
shape of the plume to be a convex hull. There are three the location of the message source from U AVi .
possible ways a plane can intersect a convex plume. The equation of the force formulated above gives the
amount of change in the angular velocity that is to be
1) Whole mesh intersect: Given the orientation of the enforced to the current orientation of the UAV. When U AVi
mesh and the plume similar to the one in the figure receives ‘Plume detected’ message from multiple sources, it
FIG. 1a, the whole mesh falls directly onto the breaks the tie in one of two ways:
plume.
2) Single point of intersection: Consider an infinitely 1) Distance from each of the message source: This is the
long mesh moving towards a sphere in any direc- first step to break ties between two sources. U AVi
tion. As shown in the figure FIG. 1b, just one UAV chooses to respond to the force from the nearest
comes in contact with the plume initially. message source(least number of hops).
3) More than one point of contact: As shown in FIG.1c, 2) Instance of Plume detection: If the message sources are
many UAVs might intersect the hull at the same at the same distance from U AVi , the time stamps at-
time and come to a halt. Another sub-case of this tached with the detection messages are considered,
would be FIG. 1d. In this scenario, the mesh has and U AVi responds to the the lower time stamp,
moved into the convex plume a bit before stopping, that is, the UAV that detected the plume first.
2017 IEEE 38th Sarnoff Symposium

Fig. 1: a: A case in which all the points of the mesh intersect the convex hull. b: Single point of contacts of infinite meshes
on a sphere. c: more than one point of contact on the plume. d: Sharp convex cases: UAV goes in the plume due to inertia

Plume wrapping algorithm gives the procedure followed 32: else


by each UAV in the swarm to enclose the plume. {U AVi is at equal distance from both the
message sources}
{Plume Wrapping Algorithm: Implemented on U AVi 33: Check time stamps of ‘Plume detected’
in the mesh} message from the message sources
1: a1 ← 0.4 {Coefficient for repulsive force} 34: Choose message source with least time
2: a2 ← 0.8 {Coefficient for attractive force} stamp
3: if U AVi comes in contact with plume then 35: end if
{Check completion of mission} 36: end if
4: Halt and station keep 37: end if
5: Broadcast ‘Plume Detected’ message 38: phisense ← direction heading towards the
6: else message source selected
7: U AVi moves in the straight path perpendicular to 39: D ← distance to the message source
itself 40: if D < Sep then
8: Wait (0.2s) {Fpush experienced as U AVi is too close to
{Wait for 1 time step for possible broadcast messages the message source}
about plume} 41: [pi (t), qi (t), ri (t)] = [pi (t−1), qi (t−1), ri (t−
9: if no message was received then 1)] ∗ H
10: go to 3 {Change velocity to reflect the force - de-
11: else pends on number of hops U AVi away from
12: if U AVi received ‘Plume Detected’ message then the detected UAV}
13: if the message is received from more than one 42: (phii (t), thetai (t), psii (t)) ← (−phisense )
source then {Change the direction of U AVi int he direc-
{Synchronization steps} tion of the force}
14: Hj and Hk gets number of hops from the 43: else
message sources U AVj and U AVk 44: if D < 2*Sep then
{extended to cases with more than two UAVs - 45: [pi , qi , ri ] = [pi , qi , ri ]
j , k as well} 46: (phii , thetai , psii ) ← (phii , thetai , psii )
15: if Hj < Hk then {Continue to move with the same heading
16: U AVi responds to the f orce f romU AVj and velocity}
17: H ← Hj {Least number of hops} 47: else
18: else {Fpush experienced as U AVi is moving
19: if Hj < Hk then too far from the initial mesh configuration.
20: U AVi responds to the f orce f romU AVj It is forced to change its orientation and
21: H ← Hj velocity to joint the mesh}
22: else 48: [pi (t), qi (t), ri (t)] = [pi (t − 1), qi (t −
{ U AVi is at equal distance from both the 1), ri (t − 1)] ∗ H
message sources} 49: (phii (t), thetai (t), psii (t)) ← phisense
23: Check time stamps of ‘Plume detected’ {Change the direction of U AVi int he di-
message from the message sources rection of the force}
24: Choose message source with least time 50: end if
stamp 51: end if
25: end if 52: end if
26: if Hj < Hk then 53: W ait(0.2s)
27: U AVi responds to the f orce f romU AVj {for possible broadcast messages on plume up-
28: H ← Hj dates}
29: if Hj < Hk then 54: go to 3
30: U AVi responds to the f orce f romU AVj 55: end if
31: H ← Hj
2017 IEEE 38th Sarnoff Symposium

5 S IMULATION came in contact with the contamination at the


5.1 Simulation Environment same instant. The few UAVs left hanging in the
mesh are now pulled towards the plume to be
We implemented our algorithm in a multi-vehicle
wrapped around.
simulator (QRSim) [13], which is an open source
• Single point of intersection
software developed at University College, London
To implement this scenario, we used a smaller
(UCL) to device and test algorithms for their flock
plume as in FIG. 4a, that only one corner UAV
autonomous helicopters. The algorithms was run in a
could sense the contamination as the mesh
PC with a 1.4GHz Dual Core processor and 4GB of
searches the region for the plume. As the mesh
RAM. The operating system used was Mac OS. The
closes into the region of contamination, only
code was written and compiled in MATLAB.
one UAV, shown in red in FIG.4b comes in con-
tact with it. As we see in FIG.4c, all the UAVs
are pulled together to be wrapped around the
convex plume. The trajectory followed by the
UAVs are not a smooth curve as seen in the
Figure. This explains the pushing forces from
the neighboring UAVs when they get too close
to each other.
• Multiple points of intersection
FIG. 5a depicts the initial positions of the
plume and the plane mesh. At this stage, two
UAVs come in contact with the convex hull at
almost the same time.The UAVs that reach the
plume at the same time are shown in red in
Fig. 2: Guidance, Navigation and control (GNC) of the UAV FIG. 5b. In the final stages of the simulation,
as in the simulator the mesh is seen to wrap around the plume
as in FIG. 5c, effectively avoiding collisions
Our implementation uses one of the manually with each other in the swarm. The algorithm is
designed PID controllers in the simulator, VelocityPID proved to work efficiently with all the cases of
controller, that computes the pitch, roll and throttle in- intersections of the mesh with a convex plume.
puts necessary to maintain a desired angular velocity
while maintaining a specified heading in sequence to
6 C ONCLUSION
step forward in the simulation. The overall Guidance
Navigation and Control of the simulator are depicted In this paper we reviewed some of the existing
in FIG. 2. trajectory planning algorithms and plume tracking
techniques.We then proposed a cooperative trajec-
tory planning algorithm for UAVs to effectively wrap
5.2 Simulation Results
around a convex plume. Previous approaches to en-
This section provides the details of our implemen- close a plume were proposed for 2D environment,
tation of Plume enclosure algorithm. We present the while our algorithm manages to wrap around the
results of the implementation in the QRSim multi- plume in 3D. We implemented our algorithm in the
vehicle simulator. simulator and studied the results. Simulation results
show that the UAVs effectively wrap around the
5.2.1 Plume Wrapping plume, at all possible points of contact. As part of our
This section covers our implementation of the plume ongoing work, we are planning to add a the mesh for-
wrapping algorithm. The 9 UAVs are arranged in a mation algorithm to form the initial configuration of
mesh initially, with a distance of atleast twice the min- the plane mesh, which precedes the plume wrapping.
imum separation between the UAVs. We experiment Future work will also include implementing the algo-
with the possible cases of a plane intersection with a rithms in a real environment, where the obstacles are
sphere to see the performance of our algorithm using taken into account as well as the models of the sensors
the simulator. and communication latency. Finally, we would also
like to design and study an algorithm that can avoid
• The whole plane intersection To visualize this
obstacles in the path, while maintaining this mesh and
case, we used a very large sphere to represent
detecting the plume along the way.
the plume as a convex hull as in FIG. 3a.
The plane mesh of UAVs is seen moving to-
wards the plume in a direction perpendicular R EFERENCES
to themselves (along x-axis).As the plume is [1] P. Neumann, V. Bennetts, and A. Lilienthal, “From insects
very big, most of the UAVs in the mesh come to micro air vehiclesA comparison of reactive plume track-
in contact with the plume at almost the same ing strategies,” Autonomous Systems 13, 2016.
[2] K. Purvis and K. Astrom, “Estimation and optimal con-
time. So the other UAVs receive the ’Plume figurations for localization using cooperative UAVs,” IEEE
received’ message, from all these UAVs that Transactions on, 2008.
2017 IEEE 38th Sarnoff Symposium

Fig. 3: a: Plane mesh of 9 nodes moving towards a large convex plume. b:After the plane intersects the large plume

Fig. 4: a: Initial location of the mesh and the convex plume, b:Single point of contact shown in red, c:The mesh seen
wrapping around the plume from the single point of contact

Fig. 5: a: Initial locations of the mesh and the convex plume, b: Two points of intersection shown in red, c: The mesh seen
wrapping around the plume

[3] S. Ge and Y. Cui, “Dynamic motion planning for mobile Mobile Robots (ECMR), 2013 European, 2013.
robots using potential field method,” Autonomous robots, [11] E. ahin, “Swarm robotics: From sources of inspiration to
2002. domains of application,” International workshop on swarm
[4] S. Yang and M. Meng, “An efficient neural network ap- robotics, 2004.
proach to dynamic robot motion planning,” Neural Net- [12] A. Marjovi and L. Marques, “Optimal spatial formation
works, 2000. of swarm robotic gas sensors in odor plume finding,”
[5] Y. Hu and S. Yang, “A knowledge based genetic algorithm Autonomous Robots, vol. 35, no. 2-3, pp. 93–109, 2013.
for path planning of a mobile robot,” in Robotics and Au- [13] R. De Nardi, “The qrsim quadrotor simulator,” Department
tomation, 2004. Proceedings. ICRA’04. 2004 IEEE International of Computer Science, University College London, Gower
Conference on, vol. 5. IEEE, 2004, pp. 4350–4355. Street, London UK, Tech. Rep. RN/13/08, March 2013.
[6] E. Masehian and D. Sedighizadeh, “Multi-objective PSO-
and NPSO-based algorithms for robot path planning,”
Advances in electrical and, 2010.
[7] F. Borrelli, D. Subramanian, A. Raghunathan, and
L. Biegler, “Milp and nlp techniques for centralized tra-
jectory planning of multiple unmanned air vehicles,” in
American Control Conference, 2006. IEEE, 2006, pp. 6–pp.
[8] G. Astuti, G. Giudice, D. Longo, and C. Melita, “An
overview of the Volcan Project: An UAS for exploration
of volcanic environments,” Unmanned Aircraft, 2009.
[9] L. Merino and F. Caballero, “A cooperative perception sys-
tem for multiple UAVs: Application to automatic detection
of forest fires,” Journal of Field, 2006.
[10] A. Marjovi and L. Marques, “Swarm robotic plume track-
ing for intermittent and time-variant odor dispersion,”

View publication stats

You might also like