EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL
VEHICLES COOPERATION
Ioannis K. Nikolos and Nikos Tsourveloudis
Intelligent Systems and RoboticsLaboratory, Technical University of Crete, Chania, Greece
Keywords: 3-D Path Planning, Evolutionary Algorithms, Navigation
, UAV cooperation, B-Splines.
Abstract: We suggest an evolutionary based off-line/on-line path planner for cooperating Unmanned Aerial Vehicles
(UAVs) that takes into account the environment characteristics and the flight envelope and mission
constraints of the cooperating UAVs. The scenario under consideration is the following: a number of UAVs
are launched from the same or different known initial locations. The main issue is to produce 3-D
trajectories that ensure a collision free operation with respect to mission constraints. The path planner
produces curved routes that are represented by 3-D B-Spline curves. Two types of planner are discussed:
The off-line planner generates collision free paths in environments with known characteristics and flight
restrictions. The on-line planner, which is based on the off-line one, generates collision free paths in
unknown static environments, by using acquired information from the UAV’s on-board sensors. This
information is exchanged between the cooperating UAVs in order to maximize the knowledge of the
environment. Both off-line and on-line path planning problems are formulated as optimization problems,
with a Differential Evolution algorithm to serve as the optimizer.
1 INTRODUCTION
Path planning is the generation of a space path
between an initial location and the desired
destination that has an optimal or near-optimal
performance under specific constraints (Gilmore,
1991). Searching for optimal paths is not a trivial
task; in most cases results in excessive computation
time and in some cases even the computation of just
a feasible path is a very difficult problem. Therefore,
in most cases we search for suboptimal or just
feasible solutions.
Unmanned Aerial Vehicles (UAVs) path planning
alg
orithms were initially developed for the solution
of the single vehicle case. However, the
continuously increasing interest for cooperating
UAVs resulted in the development of algorithms that
take into account the special issues and
characteristics of such missions. Cooperation
between UAVs has gained recently an increased
interest as systems of multiple vehicles engaged in
cooperative behavior show specific benefits
compared to a single vehicle. Cooperative behavior
may be defined as follows (Cao et al., 1999): Given
some tasks specified by a designer, a multiple robot
system displays cooperative behavior if, due to some
underlying mechanism, i.e. the “mechanism of
cooperation”, there is an increase in the total utility
of the system.
Path planning problems are computationally
d
emanding multi-objective multi-constraint
optimization problems (Mettler et al., 2003). The
problem complexity increases when multiple UAVs
should be used. Various approaches have been
reported for UAVs coordinated route planning, such
as Voronoi diagrams (Beard et al., 2002), mixed
integer linear programming (Richards et al., 2002),
(Schouwenaars et al., 2004) and dynamic
programming formulations (Flint et al., 2002).
Computational intelligence methods, such as Neural
Networks (Ortega and Camacho, 1996), Fuzzy
Logic (Kwon and Lee, 2000) and Evolutionary
Algorithms (EAs), (Nikolos et al., 2003), (Zheng et
al., 2005) have been successfully used to produce
trajectories for guiding mobile robots in known,
unknown or partially known environments.
EAs have been successfully used in the past for
t
he solution of the path-finding problem in ground
based or sea surface navigation (Michalewicz,
1999). A common practice was to model the path
67
K. Nikolos I. and Tsourveloudis N. (2007).
EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL VEHICLES COOPERATION.
In Proceedings of the Fourth International Conference on Informatics in Control, Automation and Robotics, pages 67-75
DOI: 10.5220/0001642200670075
Copyright
c
SciTePress
using straight line segments, connecting successive
way points. In the case of partially known or
dynamic environments a feasible and safe trajectory
was planned off-line by the EA and the algorithm
was used on-line whenever unexpected obstacles
were sensed (Smierzchalski, 1999), (Smierzchalski
and Michalewicz, 2000). EAs have been also used
for solving the path-finding problem in a 3-D
environment for underwater vehicles, assuming that
the path is a sequence of cells in a 3-D grid
(Sugihara and Yuh, 1997).
In (Nikolos et al., 2003) an EA based framework
was utilized to design an off-line / on-line path
planner for UAVs, which calculates a curved path
line represented by B-Spline curves in a 3-D
environment. The coordinates of the B-Spline
control points serve as design variables. For both
off-line and on-line planners, the problem is
formulated as an optimization one. Constraints are
formulated using penalty functions.
The work in this paper is the outgrowth of the one
presented in (Nikolos et al., 2003) for the case of
multiple and cooperating UAVs. The scenario
considered here is the following: a number of UAVs
are launched from the same or different known
initial locations with predefined initial directions.
The main issue is to produce 3-D trajectories,
represented by 3-D B-Spline curves, which connect
the initial locations with a single destination location
and ensure a collision free operation with respect to
mission constraints.
Two types of path planner are discussed: The off-
line planner generates collision free paths in
environments with known characteristics and flight
restrictions. The on-line planner, being an extension
of the off-line one and based on the ideas presented
in (Nikolos et al., 2003) was developed to generate
collision free paths in unknown environments. The
knowledge of the environment is gradually acquired
through the on-board sensors that scan the area
within a certain range from each UAV. This
information is exchanged between the cooperating
UAVs in order to maximize the sensors
effectiveness. The on-line planner rapidly generates
a near optimum path for each vehicle that will guide
the vehicle safely to an intermediate position within
the known territory, taking into account the mission
and cooperation objectives and constraints. The
process is repeated until the corresponding final
position is reached by an UAV. Then, each one of
the remaining UAVs uses the acquired information
about the environment and the off-line planner
output to compute a path that connects its current
position and the final destination. Both path
planning problems are formulated as optimization
(minimization) problems, where specially
constructed functions take into account mission and
cooperation objectives and constraints, with a
differential evolution algorithm to serve as the
optimizer.
The rest of the chapter is organized as follows:
section 2 contains B-Spline and differential
evolution algorithms fundamentals. The off-line path
planner will be briefly discussed in section 3.
Section 4 deals with the concept of cooperating
UAV on-line path planning using differential
evolution. The problem formulation is described,
including assumptions, objectives, constraints, cost
function definition and path modeling. Simulations
results are presented in section 5, followed by
discussion and conclusions in section 6.
2 DIFFERENTIAL EVOLUTION
OF B-SPLINE PATHS
2.1 Path Modelling using B-Splines
Straight-line segments that connect a number of
waypoints have been used in the past to model UAV
paths in 2D or 3D space (Moitra, 2003), (Zheng et
al., 2005). However, these simplified paths cannot
be used for an accurate simulation of UAV’s flight,
unless a large number of waypoints is adopted.
Furthermore, if an optimization procedure is used,
the number of design variables explodes, especially
if cooperating flying vehicles are considered. As a
result, the computation time becomes impractical for
real world applications.
B-Spline curves have been used in the past for
trajectory representation in 2-D (Alfaro and Garcia,
1988) or in 3-D environments (Nikolos et al., 2003),
(Nikolos et al., 2001). Their parametric construction
provides the ability to produce non-monotonic
curves, like the trajectories of moving objects. If the
number of control points of the corresponding curve
is n+1, with coordinates (x
0
, y
0
, z
0
) ,…, (x
n
, y
n
, z
n
),
the coordinates of the B-Spline curve may be written
as:
() ()
,
0
n
iip
i
x
uxN
=
=⋅
u
,
(1)
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
68
() ()
,
0
n
iip
i
y
uyN
=
=⋅
u
n
,
,
(2)
() ()
,
0
n
iip
i
zu z N u
=
=⋅
,
(3)
where u is the free parameter of the curve, N
i,p
(u) are
the blending functions of the curve and p is its
degree, which is associated with curve’s smoothness
(p+1 being its order). Higher values of p correspond
to smoother curves (Farin, 1988).
The blending functions are defined recursively in
terms of a knot vector U={u
0
,…, u
m
}, which is a
non-decreasing sequence of real numbers, with the
most common form being the uniform non-periodic
one, defined as:
01
1
1.
i
if i p
uipifpi
np if ni
<+
=− +
−+ <
(4)
The blending functions N
i,p
are computed using the
knot values defined above, as:
()
1
,0
1
0
ii
i
if u u u
Nu
otherwise
+
≤<
=
(5)
() () ()
1
,,1
11
.
ip
i
ip ip i p
ip i ip i
uu
uu
Nu N u N u
uu u u
++
−+
++++
=+
−−
1,1
(6)
If the denominator of the two fractions in (6) is
zero, that fraction is defined to have zero value.
Parameter u varies between 0 and (n-p+1) with a
constant step, providing the discrete points of the B-
Spline curve. The sum of the values of the blending
functions for any value of u is always 1.
2.2 Differential Evolution Algorithm
Differential Evolution (DE) (Price et al., 2005) is
used in this work as the optimization tool. The
classic DE algorithm evolves a fixed size
population, which is randomly initialized. After
initializing the population, an iterative process is
started and at each generation , a new population
is produced until a stopping condition is satisfied. At
each generation, each element of the population can
be replaced with a new generated one. The new
element is a linear combination between a randomly
selected element and the difference between two
other randomly selected elements. Below, a more
analytical description of the algorithm’s structure is
presented.
G
Given a cost function ,
the optimization target is to minimize the value of
this cost function by optimizing the values of its
parameters (design variables), that is
()
:
param
n
fX 
(
)
12
,,, ,
param
nj
Xxx x x
=
…
,
(7)
where X denotes the vector composed of n
param
cost
function parameters (design variables). These
parameters take values between specific upper and
lower bounds, as follows:
(
)
(
)
,1,,
LU
j
jj para
xxxj n≤≤ =
m
(8)
The DE algorithm implements real encoding for
the values of the objective function’s variables. In
order to obtain a starting point for the algorithm, an
initialization of the population takes place. The
initialization (for
1G
) is established by randomly
assigning values to the parameters of each
member of the population, within the given
boundaries
j
i
() ( ) ( )
(
)
()
1
,
, 1,, , 1,,
UL L
i j j j j pop param
xrx x xi n j n=⋅ + = =……
(9)
where r is a uniformly distributed random value
within range [0, 1]. DE’s mutation operator is based
on a triplet of randomly selected different
individuals. For each
i
member of the population, a
new parameter vector V
i
(G)
is generated by adding
the weighted difference vector between the two
members of the triplet to the third one (the donor).
That is:
() () () ()
(
)
() () () ()
(
)
31
,1 , 2
,
,
,,, ,
ii
param
GG GG
i
rrr
GGG G
i
ii
in
VXFXX
Vvvv
=+
=
2
i
(10)
where
(
)
3
i
G
r
X is called the “donor”, G is the current
generation, and
[][]
1, , , 1, ,
11,, ,21,, ,31,,
123
0,1 , 0,1
pop param
i pop i pop i pop
iii
injn
rnr nr n
rr ri
Fr
=
=
⎤⎡
∈∈
⎦⎣
≠≠
∈+
……
……
(11)
In this way a perturbed individual is generated.
The perturbed individual V
i
(G)
and the initial
population member X
i
(G)
are then subjected to a
crossover operation that generates the final
candidate solution
(
)
1G
i
U
+
EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL VEHICLES COOPERATION
69
()
()
()
()
[]
,
1
,
,
1, ,
0,1
G
i j r param
G
ij
G
ij
r
vifrCjkj n
u
xotherwise
C
+
≤∨=∀=
=
(12)
where k is a random integer within [1, n
param
],
chosen once for all members of the population. The
random number is seeded for every gene of each
chromosome. F and C
r
r
are DE control parameters,
which remain constant during the search process and
affect the convergence behaviour and robustness of
the algorithm. Their values also depend on the
objective function, the characteristics of the problem
and the population size.
The population for the next generation (G+1) is
selected between the current population and the final
candidates. If each candidate vector is better fitted
than the corresponding current one, the new vector
replaces the vector with which it was compared. The
DE selection scheme is described as follows (for a
minimization problem):
()
() ()
(
)
()
(
)
()
11
1
GG
ii
G
i
G
i
UiffU fX
X
Xotherwise
++
+
=
G
i
(13)
Α new scheme (Hui-Yuan et al., 2003) to
determine the donor for mutation operation has been
adopted for accelerating the convergence rate. In this
scheme, donor is randomly selected (with uniform
distribution) from the region within the “hyper-
triangle”, formed by the three members of the triplet
presented below:
() ()
[]
33
11
01
i
GG
ikmm
rk
km
donor λλX,λ rand ,
==
⎛⎞
=
⎜⎟
⎜⎟
⎝⎠
∑∑
=
(14)
where rand [0, 1] denotes a uniformly distributed
value within the range [0, 1]. With this scheme the
donor comprises the local information of all
members of the triplet, providing a better starting-
point for the mutation operation that result in a better
distribution of the trial-vectors.
The random number generation (with uniform
probability) is based on the algorithm presented in
(Marse and Roberts, 1983). In each different
operation inside the DE algorithm that requires a
random number generation, a different sequence of
random numbers is produced, by using a different
initial seed for each operation and a separate storage
of the corresponding produced seeds.
3 OFF-LINE PATH PLANNER
The off-line planner generates collision free paths in
environments with known characteristics and flight
restrictions. The derived path lines are continuous 3-
D B-Spline curves.
Each B-Spline control point is defined by its
three Cartesian coordinates x
k,j
, y
k,j
, z
k,j
(k=0,…,n,
j=1,…,N), N is the number of UAVs, while n+1 is
the number of control points in each B-Spline curve
(the same for all curves). The first (k=0) and last
(k=n) control points of the control polygon are the
initial and target points of the j
th
UAV, which are
predefined by the user. The second (k=1) control
point is positioned in a pre-specified distance from
the first one, in a given altitude, and in a given
direction, in order to define the initial direction of
the corresponding path.
For the case of a single UAV the optimization
problem to be solved minimizes a set of five terms,
connected to various objectives and constraints; they
are associated with the feasibility of the curve, its
length and a safety distance from the ground. The
cost function to be minimized is defined as:
5
1
ii
i
f
wf
=
=
(15)
Term f
1
penalizes the non-feasible curves that
pass through the solid boundary. In order to compute
this term, discrete points along each curve are
computed, using B-Spline equations (Eq. 1 to 6) and
a pre-specified step for B-Spline parameter u.
Term f
2
is the length of the curve (non-
dimensional with the distance between the starting
and destination points) and is used to provide shorter
paths.
Term f
3
is designed to provide flight paths with a
safety distance from solid boundaries.
Term f
4
is designed to provide B-Spline curves
with control points inside the pre-specified space.
Term f
5
was designed to provide path lines within
the known terrain. This characteristic is particularly
useful when the off-line path planner is used
together with the on-line one, as it will be explained
later.
Weights w
i
are experimentally determined, using
as criterion the almost uniform effect of the last four
terms in the objective function. Term w
1
f
1
has a
dominant role in (15) providing feasible curves in
few generations, since path feasibility is the main
concern. The minimization of (15), through the DE
procedure, results in a set of B-Spline control points,
which actually represents the desired path.
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
70
4 ON-LINE PATH PLANNING
Having N UAVs launched from the same or
different known initial locations, the issue is to
produce N 3-D trajectories, aiming at reaching a
predetermined target location, while ensuring
collision avoidance with the environmental
obstacles. Additionally, the produced flight paths
should satisfy specific route constraints. Each
vehicle is assumed to be a point, while its actual size
is taken into account by equivalent obstacle –
ground growing.
The general constraint of the problem is the
collision avoidance between UAVs and the ground.
The route constraints are:
(a) Predefined initial and target coordinates for
all UAVs
(b) Predefined initial directions for all UAVs,
(c) Predefined minimum and maximum limits of
allowed-to-fly space (minimum and maximum
allowed Cartesian coordinates for all path points).
The cooperation objective is that all UAVs
should reach the same target point.
The on-line planner uses acquired information
from all UAV’s on-board sensors (that scan the area
within a certain range from the corresponding
UAV). The planner rapidly generates a near
optimum path, modeled as a 3-D B-Spline curve that
will guide each vehicle safely to an intermediate
position within the already scanned area. The
information about the already scanned area by each
UAV is passed to the rest cooperating UAVs, in
order to maximize the knowledge of the
environment. The process is repeated until the final
position is reached by a UAV. Then the rest of
UAVs turn to the off-line mode and a single B-
Spline path for each UAV is computed to guide the
corresponding vehicle from its current position,
through the already scanned territory to the common
final destination. As a result, each path line from the
corresponding starting point to the final goal is a
smooth, continuous 3-D line that consists of
successive B-Spline curves, smoothly connected to
each other (Figure 1).
As the terrain is completely unknown and the
radars (or equivalent sensors) gradually scan the
area, it is impossible to generate feasible paths that
connect each starting point with the target one.
Instead, at certain moments, each sensor scans a
region around the corresponding moving UAV and
this region is added to the already scanned regions
by all cooperating UAVs. For the UAV under
consideration a path line is generated that connects a
temporary starting point with a temporary ending
point. Each temporary ending point is also the next
curve’s starting point for the corresponding vehicle.
Therefore, what is finally generated is a group of
smooth curve segments connected to each other,
eventually connecting the starting point to the final
destination for each UAV.
In the on-line problem only four control points
define each B-Spline curve, the first two of which
are fixed and determine the direction of the current
UAV path. The remaining two control points are
allowed to take any position within the scanned by
the radars known space, taking into consideration
given constraints.
When the next path segment is to be generated,
only the first control point of the B-Spline curve is
known (it is the last control point of the previous B-
Spline segment). The second control point is not
random as it is used to make sure that at least first
derivative continuity of the two connected curves is
provided at their common point. Hence, the second
control point of the next curve should lie on the line
defined by the last two control points of the previous
curve.
Figure 1: On-line path planning for a single UAV. The
path is shown in an intermediate position of the UAV’s
flight. The already scanned area is presented in color.
The path-planning algorithm considers the
scanned surface as a group of quadratic mesh nodes.
All ground nodes are initially considered unknown.
Radar information is used to produce the first path
line segment for the corresponding UAV. As the
vehicle is moving along its first segment and until it
has travelled about 2/3 of its length, its radar scans
the surrounding area, returning a new set of visible
nodes, which are subsequently added to the common
set of scanned nodes. The on-line planner, then,
produces a new segment for each UAV, whose first
point is the last point of the previous segment and
whose last point lies somewhere in the already
scanned area, its position being determined by the
on-line procedure. The on-line process is repeated
until the ending point of the current path line
EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL VEHICLES COOPERATION
71
segment of one UAV lies close to the final
destination. Then the rest UAVs turn into the off-
line process, in order to reach the target using B-
Spline curves that pass through the scanned terrain.
The computation of intermediate path segments
for each UAV is formulated as a minimization
problem. The cost function to be minimized is
formulated as the weighted sum of eight different
terms:
8
1
ii
i
f
wf
=
=
,
(16)
where w
i
are the weights and f
i
are the corresponding
terms described below.
Terms f
1
, f
2
, and f
3
are the same with terms f
1
, f
3
,
and f
4
respectively of the off-line procedure. Term f
1
penalizes the non-feasible curves that pass through
the solid boundary. Term f
2
is designed to provide
flight paths with a safety distance from solid
boundaries. Only already scanned ground points are
considered for this calculation. Term f
3
is designed
to provide B-Spline curves with control points inside
the pre-specified working space.
Term f
4
is designed to provide flight segments
with their last control point having a safety distance
from solid boundaries. This term was introduced to
ensure that the next path segment that is going to be
computed will not start very close to a solid
boundary (which may lead to infeasible paths or
paths with abrupt turns). The minimum distance D
min
from the ground is calculated for the last control
point of the current path segment. Only already
scanned ground points are considered for this
calculation. Term f
4
is defined as:
()
2
4msafe
fdD=
in
,
(17)
where d
safe
represents a safety distance from the
solid boundary.
The value of term f
5
depends on the potential
field strength between the initial point of the UAVs
path and the final target. This potential field between
the two points is the main driving force for the
gradual development of each path line in the on-line
procedure. The potential is similar to the one
between a source and a sink, defined as:
01
02
ln
rcr
rcr
Φ
+
+
=
,
(18)
where r
1
is the distance between the last point of the
current curve and the initial point for the
corresponding UAV, r
2
is the distance between the
last point of the current curve and the final
destination, r
0
is the distance between the initial
point for the corresponding UAV and the final
destination and c is a constant.
This potential allows
for selecting curved paths that bypass obstacles lying
between the starting and ending point of each B-
Spline curve (Nikolos et al., 2003).
Term f
6
is similar to term f
5
but it corresponds to
a potential field between the current starting point
(of the corresponding path segment) and the final
target.
Term f
7
is designed to prevent UAVs from being
trapped in small regions and to force them move
towards unexplored areas. In order to help the UAV
leave this area, term f
7
repels it from the points of
the already computed path lines (of all UAVs).
Furthermore, if a UAV is wandering around to find a
path that will guide it to its target, the UAV will be
forced to move towards areas not visited before by
this or other UAVs. This term has the form:
7
1
11
po
N
po k
k
f
Nr
=
=
,
(19)
where N
po
is the number of the discrete curve points
produced so far by all UAVs and r
k
is their distance
from the last point of the current curve segment.
Term f
8
represents another potential field, which
is developed in a small area around the final target.
When the UAV is away from the final target, the
term is given a constant value. When the UAV is
very close to the target the term’s value decreases
proportionally to the square of the distance between
the last point of the current curve and the target.
Weights w
i
in (16) are experimentally determined,
using as criterion the almost uniform effect of all the
terms, except the first one. Term w
1
f
1
has a dominant
role, in order to provide feasible curve segments in a
few generations, since path feasibility is the main
concern.
5 SIMULATION RESULTS
The same artificial environment was used for all test
cases considered here. The artificial environment is
constructed within a rectangle of 20x20 (non-
dimensional lengths). The (non-dimensional) radar’s
range for each UAV was set equal to 4. The safety
distance from the ground was set equal to d
safe
=0.25.
The (experimentally optimized) settings of the DE
algorithm during the on-line procedure were as
follows: population size = 20, F = 0.6, C
r
= 0.45,
number of generations = 70. For the on-line
procedure we have two free-to-move control points,
resulting in 6 design variables. The corresponding
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
72
settings during the off-line procedure were as
follows: population size = 30, F = 0.6, C
r
= 0.45,
number of generations = 70. For the off-line
procedure eight control points were used to construct
each B-Spline curve (including the initial (k=0) and
the final one (k=7). These correspond to five free-to-
move control points, resulting in 15 design variables.
All B-Spline curves have a degree p equal to 3. All
experiments have been designed in order to search
for path lines between “mountains”. For this reason,
an upper ceiling for flight height has been enforced
in the optimization procedure, by explicitly
providing an upper boundary for the z coordinates of
all B-Spline control points.
Figure 2: Test case 6 corresponds to the on-line path
planning of two UAVs. When the first UAV (blue line)
reaches the target the second one turns into the off-line
mode. The starting point for the first UAV is close to the
lower left corner of the terrain, while for the second one is
close to the upper left corner.
Test case 1 corresponds to on-line path planning
of two UAVs. Figure 2 shows the path lines when
the first UAV (blue line) reaches the target. In that
moment the second UAV (red line) turns into the
off-line mode, in order to compute a feasible path
line that connects its current position with the target,
through the already scanned area. The final status is
demonstrated in Figure 3. The starting point for the
first UAV is near the lower left corner of the terrain,
while for the second one is near the upper left
corner.
Test case 2 corresponds to the on-line path
planning of three UAVs. Figure 4 shows the status
of the two path lines when the first UAV (blue line)
reaches the target. In that moment the second UAV
(red line) and the third one (black line) turn into the
off-line mode, in order to compute feasible path
lines that connect their positions with the target. The
final paths for all three UAVs are demonstrated in
Figure 5. The starting point for the first and second
UAVs are the same as in case 1, while the third
UAV is near the middle of the left side of the terrain.
Figure 3: The final path lines for the test case 1.
Figure 4: On-line path planning of three cooperating
UAVs (test case 2). The picture shows the paths when the
first UAV (blue line) reaches the target.
Test case 3 also corresponds to the on-line path
planning of three UAVs but with distant starting
points. Figure 6 shows the status of the two path
lines when the first UAV (blue line) reaches the
target. The final status is demonstrated in Figure 7.
As the first UAV (blue line) is close to the target, it
succeeds in reaching it using just one B-Spline
segment. Then, the other two UAVs turn into off-
line mode to reach the target.
In the test case 4 three UAVs are launched from
the centre of the working space but towards different
directions. Figure 8 shows the status of the two path
lines when the first UAV (blue line) reaches the
target. The final status is demonstrated in Figure 9.
When the final point of a curve segment is within a
small distance from the final destination, the on-line
procedure is terminated; this is the reason for the
EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL VEHICLES COOPERATION
73
absence of coincidence between the final points of
the first (blue line) and the rest path lines.
Figure 5: The final paths of the test case 2.
Figure 6: Path lines of three distant UAVs when the first
one (blue line) reaches the target.
Figure 7: The final paths of test case 3.
Figure 8: On-line path planning for three UAVs launched
from the same point but different initial directions. The
first UAV (blue line) just reached the target.
Figure 9: The final paths of test case 4.
6 CONCLUSIONS
A path planner for a group of cooperating UAVs
was presented. The planner is capable of producing
smooth path curves in known or unknown static
environments. Two types of path planner were
presented. The off-line one generates collision free
paths in environments with known characteristics
and flight restrictions. The on-line planner, which is
based on the off-line one, generates collision free
paths in unknown environments. The path line is
gradually constructed by successive, smoothly
connected B-Spline curves, within the gradually
scanned environment. The knowledge of the
environment is acquired through the UAV’s on-
board sensors that scan the area within a certain
range from each UAV. This information is
exchanged between the cooperating UAVs; as a
result, each UAV utilizes the knowledge of a larger
region than the one scanned by its own sensors. The
on-line planner generates for each vehicle a smooth
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
74
path segment that will guide the vehicle safely to an
intermediate position within the known territory.
The process is repeated for all UAVs until the
corresponding final position is reached by an UAV.
Then, the rest vehicles turn into the off-line mode in
order to compute path lines consisting of a single B-
Spline curve that connect their current positions with
the final destination. These path lines are enforced to
lie within the already scanned region. Both path
planners are based on optimization procedures, and
specially constructed functions are used to encounter
the mission and cooperation objectives and
constraints. A differential evolution algorithm is
used as the optimizer for both planners. No
provision is taken by the on-line planner for
collision avoidance between the cooperating
vehicles; this can be encountered by an on board
controller for each vehicle.
REFERENCES
Gilmore, J.F., 1991. Autonomous vehicle planning
analysis methodology. In Proceedings of the
Association of Unmanned Vehicles Systems
Conference. Washington, DC, 503–509.
Zheng, C., Li, L., Xu, F., Sun, F., Ding, M., 2005.
Evolutionary Route Planner for Unmanned Air
Vehicles. IEEE Transactions on Robotics, 21, 609-
620.
Uny Cao, Y., Fukunaga, A.S., Kahng, A.B., 1997.
Cooperative Mobile Robotics: Antecedents and
Directions. Autonomous Robots, 4, 7-27.
Mettler, B., Schouwenaars, T., How, J., Paunicka, J., and
Feron E., 2003. Autonomous UAV guidance build-up:
Flight-test Demonstration and evaluation plan. In
Proceedings of the AIAA Guidance, Navigation, and
Control Conference, AIAA-2003-5744.
Beard, R.W., McLain, T.W., Goodrich, M.A., Anderson,
E.P., 2002. Coordinated target assignment and
intercept for unmanned air vehicles. IEEE
Transactions on Robotics and Automation, 18, 911-
922.
Richards, A., Bellingham, J., Tillerson, M., and How., J.,
2002. Coordination and control of UAVs. In
Proceedings of the AIAA Guidance, Navigation and
Control Conference, Monterey, CA.
Schouwenaars, T., How, J., and Feron, E., 2004.
Decentralized Cooperative Trajectory Planning of
multiple aircraft with hard safety guarantees. In
Proceedings of AIAA Guidance, Navigation, and
Control Conference and Exhibit, AIAA-2004-5141.
Flint, M., Polycarpou, M., and Fernandez-Gaucherand, E.,
2002. Cooperative Control for Multiple Autonomous
UAV’s Searching for Targets. In Proceedings of the
41st IEEE Conference on Decision and Control.
Gomez Ortega, J., and Camacho, E.F., 1996. Mobile
Robot navigation in a partially structured static
environment, using neural predictive control. Control
Eng. Practice, 4, 1669-1679.
Kwon, Y.D., and Lee, J.S., 2000. On-line evolutionary
optimization of fuzzy control system based on
decentralized population. Intelligent Automation and
Soft Computing, 6, 135-146.
Nikolos, I.K., Valavanis, K.P., Tsourveloudis, N.C.,
Kostaras, A., 2003. Evolutionary Algorithm based
offline / online path planner for UAV navigation.
IEEE Transactions on Systems, Man, and Cybernetics
– Part B: Cybernetics, 33, 898-912.
Michalewicz, Z., 1999. Genetic Algorithms + Data
Structures = Evolution Programs. Springer
Publications.
Smierzchalski, R., 1999. Evolutionary trajectory planning
of ships in navigation traffic areas. Journal of Marine
Science and Technology, 4, 1-6.
Smierzchalski, R., and Michalewicz Z., 2000. Modeling of
ship trajectory in collision situations by an
evolutionary algorithm. IEEE Transactions on
Evolutionary Computation, 4, 227-241.
Sugihara, K., and Yuh, J., 1997. GA-based motion
planning for underwater robotic vehicles. UUST-10,
Durham, NH.
Moitra, A., Mattheyses, R.M., Hoebel, L.J., Szczerba, R.J.,
Yamrom, B., 2003. Multivehicle reconnaissance route
and sensor planning. IEEE Transactions on Aerospace
and Electronic Systems, 37, 799-812.
Martinez-Alfaro H., and Gomez-Garcia, S. 1988. Mobile
robot path planning and tracking using simulated
annealing and fuzzy logic control. Expert Systems with
Applications, 15, 421-429.
Nikolos, I.K., Tsourveloudis, N., and Valavanis, K.P.,
2001. Evolutionary Algorithm Based 3-D Path Planner
for UAV Navigation. In Proceedings of the 9th
Mediterranean Conference on Control and
Automation, Dubrovnik, Croatia.
Farin, G., 1988. Curves and Surfaces for Computer Aided
Geometric Design, A Practical Guide. Academic
Press.
Price, K.V., Storn, R.M., Lampinen, J.A., 2005.
Differential Evolution, a Practical Approach to Global
Optimization. Springer-Verlag, Berlin Heidelberg.
Marse, K. and Roberts, S.D., 1983. Implementing a
portable FORTRAN uniform (0,1) generator.
Simulation, 41-135.
EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL VEHICLES COOPERATION
75