1 State of The Art in UAV Planning
1 State of The Art in UAV Planning
1 State of The Art in UAV Planning
In this chapter, the fundamentals of the path planning of one UAV are discussed. We
will distinguish between continuous and discrete planner, pointing out their differences,
advantages and drawbacks. One example of each type of planner is presented and
tested with several simulation results. In order to fix ideas, a a collision-free discrete
trajectory planning algorithm for an UAV in a common airspace with other aerial
vehicles and static obstacles is presented; and a continuous RRT* trajectory planner
is also presented.
1
1 State of the art in UAV planning
goal nodes. It can be considered an extension of the BFS algorithm to weighted graphs
(i.e. the edges of the graph have associated a cost). This algorithm will explore first
the nodes with lowest distance to the starting node, updating the cost of the successor
of the current node.
One of the main problems of Djisktra algorithm is that it does not take into account
the position of the goal in order to explore the graph. This can yield to unnecessary
node exploring in most situations. In order to overcome this, it was found that some
heuristics regarding to the distance to the goal node could be introduced in the al-
gorithm in order make the exploration of the graph more directed to the goal node
generating the greedy algorithms explore first the nodes which are closer to the goal
node. These considerations would be mixed in the A* algorithm [2] in which the nodes
are first explored not only taking into account the distance to the starting node but
also the estimated distance to the goal node. It has been demonstrated that if the
heuristic function fulfills some requirements, the A* algorithm returns the optimal
path between the starting and goal nodes. This kind of algorithms are often named
as best first search algorithms.
Whenever these algorithms are applied, if not more details are given, the description
of the environment is assumed to be given by means of a matrix (which can be 2-
dimensional or 3-dimensional) where each cell can be blocked or not. Additionally,
it can contain a certain number that indicates how convenient is to travel the cell.
These matrices are usually called cell-maps. They are usually obtained by performing
a discretization of the space with a given resolution. Obviously, this kind of algorithms
are not complete in a strict sense: depending on the resolution of the matrix it will
find or not existing paths from a start to a goal. The classical matrix representation is
also expensive in terms of memory allocation. However, some methods such as quad
and oct-trees [3] can be a solution for generating more memory-efficient cell-maps.
A* algorithm is the one that is most often used in classical planning and has yield
many variations. Hence, it has been adapted to handle relevant problem that where
not taken into account in the original procedure. Next, the most important algorithms
2
1.3 Obtaining the graph representation
that have been developed taking A* as basis are listed as well as their motivation:
• More directed search. Some works [4] demonstrate that pondering more the
heuristic function than the distance to the starting node results on great run-time
benefits while obtaining paths not noticeably longer.
3
1 State of the art in UAV planning
• Visibility Graph(VG). This method can be used for finding shortest path in
a configuration space with polygonal obstacles. In this case, each vertex of each
obstacle is added to the graph and connected with other nodes if they have line
of sight as shown in Figure 1.2b.
• Voronoi Diagrams (VD). The visibility graph method can find the shortest
path but its main drawback is that can make the robot move close to the ob-
stacles. One technique to avoid this is to artificially expand the obstacles to a
desired clearance (minimum distance to the obstacles) taking into account the
shape of the robot or a safety area in which the robot is wrapped, as shown in
Figure 1.3. If maximum clearance paths are necessary, they can be found by gen-
erating the Voronoi Diagram of the obstacles and adding to the graph the points
where three or more obstacles are at the same distance (see figure 1.2c). This
can be of great use if only uncertain knowledge of the environment is available.
The main drawback of the method based in Voronoi Diagrams is that staying as
close as possible from obstacles can result on too conservative paths.
Note that the above algorithms are formulated in the Cartesian space and can be
solved easily in a 2D Cartesian space. However, the 3-dimensional version of the
Euclidean shortest path problem is much harder. In this case, the graph shortest path
may not transverse the edges of the polyhedral obstacles but rather any point in the
edges of the obstacles. This problem has been demonstrated to be NP-hard [13].
However, in some cases we are interested in obtaining the graph in the Configuration
space, i.e. taking into account not the position in the space but the configuration of
the system. For example, a configuration of a non-circular robot moving in a 2D space
can be defined by three coordinates: (x, y, θ), where θ represents the orientation of
the robot. Hence, the configuration space of this type of robots is of dimension three.
The things become much harder when planning with robots moving in a 3D space. In
this case the configuration can be determined by the vector (x, y, z, φ, θ, ψ), where φ, θ
and ψ represent zyx-Euler angles which are called roll, pitch and yaw respectively (see
figure 1.4). Note that extending this to 3-dimensional multi-robot motion planning
4
1.3 Obtaining the graph representation
Figure 1.2: (a) Exact cell decomposition in 2-D environment with polygonal obstacles.
(b) Visibility graph. (c) Voronoi graph, note that the graph vertices are
not straight segments in general.
Figure 1.3: Expansion of the obstacles according to the shape of the robot and visibility
graph generated with the expanded obstacles.
5
1 State of the art in UAV planning
yields to systems with configuration spaces with tenths of dimensions in which the
above listed exact methods cannot be applied.
In order to overcome the limitations of exact methods in systems with high dimen-
sional Configuration Spaces, probabilistic methods for generating the graph that de-
scribes Cf ree where introduced in [14]. The basic method is called Probabilistic
Roadmaps(PRM) and is divided in two steps: the graph generation step and the
query step.
The first stage is the graph generation step, in which the graph G is computed by
randomly generating nodes in Cf ree and connecting them with close enough existing
nodes in G. Note that in this case, the nodes are not generated taking into account the
geometry of the problem with the exception that the nodes and edges must be collision
free. So the problem is splitted into two blocks: the graph generator block which do
not have any geometric description of the environment and the collision detector block
that reports to the graph generator whether a configuration or a path between two
configurations is or not collision-free.
The second stage is the query step. In this step, the initial and goal configurations
(qinit and qgoal ) of the problem to be solved are added and connected to G. Then,
the shortest path is obtaining by applying one of the methods described in section
1.2 to G. It is important to note that this query step can be performed in tenths of
seconds or seconds depending on the size of G, while the computation of G is much
more computationally demanding.
This approach has been modified in order to reduce the complexity of the generated
graph in the Visibility-based Probabilistic Roadmaps (v-PRM)[15]. Gaussian sampling
has been proposed in order to encourage connectivity in scenarios with narrow corridors
[16]. Also, a lazy-PRM approach in which edge collision checking is delayed until
the query step is introduced with interesting runtime improvements when performing
collision checks is computationally expensive [17].
6
1.3 Obtaining the graph representation
• Nearest(G, q). Searches for the closest vertex in the graph G to the configura-
tion q.
• Extend(q1 , q2 ). Obtains a configuration q3 from q1 towards q2 . This can be
done by interpolation (basic RRT) or by integrating the model of the robot in
Control Space RRT (CS-RRT).
• CollisionFree(q1 , q2 ). Returns true if the path that unites q1 and q2 is collision
free.
• qrand =SampleFree(). Returns a configuration qrand ∈ Cf ree .
Like PRM algorithms, RRT are claimed to be probabilistically complete: the prob-
ability that the generated tree will be closer than a minimum distance of the goal
node with probability that converges to zero with increasing time [19]. RRT is also
capable to generate paths that meet kinodynamic contraints: in this case the tree will
be extended by integrating a model of the vehicle for a determinate amount of time
∆t . The control inputs will usually be generated randomly, however it is possible to
select randomly several control inputs, selecting the one that generates the nearest
node to qrandom . Planning in the Control Space of the robot (CS-RRT) requires more
7
1 State of the art in UAV planning
computational power than the basic RRT but it yields to feasible paths in vehicles
with kinodynamic constraints.
Several variations of the original RRT have been developed. In goal-biased RRT the
goal is selected as the qrandom with some probability, encouraging the growth of the
tree towards the goal. Bidirectional RRT (bi-RRT) keeps the same principle as RRT,
but it starts one extra tree from the goal configuration and then attempts to unite the
trees. Procedure to encourage the connection between trees have been proposed [20].
8
1.4 Evolutionary and Swarm Optimization Applied to Path Planning
Note that the basic RRT* algorithms uses interpolation in the extend procedure.
The use of this planner in Control Space is not straightforward, one approach obtained
by linearizing the system in the surroundings of qnew is found in [23].
In recent years, the multi-core capabilities of new processors have encouraged the
paralelization of the path planning techniques. The most interesting procedure is found
by generating more than one tree at the same time; that is, generating a forest of trees
between qinit and qgoal . The approach proposed in [24] claims to achieve Superlinear
speedup to the original RRT* algorithm, i.e. the profit of using multiple cores is
greater than the number of cores used. This is achieved by sharing the best paths
between the different trees, focusing the sampling to the interesting regions when a
valid path has been found and performing tree pruning according to the length of the
best path.
9
1 State of the art in UAV planning
10
1.4 Evolutionary and Swarm Optimization Applied to Path Planning
behaviour of natural swarms such as ants, birds, bees and many more. This set in-
cludes Particle Swarm Optimization (PSO), Ant Colony Optimization (ACO), Cuckoo
Search Algorithm (CSA) and Artificial Bee Colony (ABC) amongst other. All of these
algorithms share in common that are biologically inspired and that they have found
to be able to solve complex global optimization problems.
Some effort on developing genetic path planning algorithms has already been carried
out. One of the first approaches to the problem, as well as an almost mandatory
reference book, can be found in [26]. In [27], the convenience of the genetic algorithm
optimization to solve the path planning problem is deeply discussed. However, only
simple results on discretized 2D space with no experimental results are presented.
Besides, the computational power available in those days was not enough to make it
possible to develop a planner with reasonable running time. In [28] a novel 2D path
planner is presented. The aim of this approach is to generate a continuous path in
the search space that will be obtained by mixing sinusoidal and semi-sinusoidal paths.
However, no realistic simulations nor experimental work are presented in the paper.
Yet another planner is presented in [29] with the addition of a post processing step
that smooths the path with bezier curves. However, no extension to 3D trajectories is
shown in the paper and no relevant simulation studies nor experiments are given.
Last but not least, several mixed approach to GA-path planning can be found in
the literature. In [30] fuzzy logic is used in the representation of the genome. Also,
some indirect approaches can be found. For example, in [27] it is proposed to use the
GA in order to tune the parameters of a planner based on Artificial Fields.
Methods based on Ant Colony Optimization (ACO) algorithms have also been pro-
posed [31]. In [32], the application of a game theory approach to airborne conflict
resolution is presented. These techniques present a disadvantage: they are not well
suited for applications that require a high level of scalability for their application in
systems of many UAVs.
On the other hand, PSO application to path planning algorithm is still underdevel-
oped. An application for space vehicles path planning is presented in [33]. In addition,
some efforts a planner with efficient replanning capabilities is presented in [34] and ap-
plied to mobile robots in dynamic environments. However this approach is only shown
in simulation and no significant studies about its optimality and safety are given. One
mixed approach that uses PSO to optimize the graph generation of a standard PRM
algorithm can be found in [35].
Sevilla, 2014
11
Bibliography
[1] E. W. Dijkstra, “A note on two problems in connexion with graphs,” Numerische
Mathematik, vol. 1, pp. 269–271, 1959.
[2] N. J. R. B. Hart, P. E.; Nilsson, “A formal basis for the heuristic determination of
minimum cost paths”,” IEEE Transactions on Systems Science and Cybernetics,
vol. 4, no. 2, p. 100107, 1968.
[3] D. Meagher, “Geometric modeling using octree enconding,” vol. 19, pp. 129–148,
1982.
[4] J. Pearl, Heuristics: Intelligent Search Strategies for Computer Problem Solving.
Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 1984.
[5] Y. Goto and A. Stentz, “The cmu system for mobile robot navigation,” in Robotics
and Automation. Proceedings. 1987 IEEE International Conference on, vol. 4,
Mar 1987, pp. 99–105.
[6] A. T. Stentz, “Optimal and efficient path planning for partially-known environ-
ments,” in Proceedings of the IEEE International Conference on Robotics and
Automation (ICRA ’94), vol. 4, May 1994, pp. 3310 – 3317.
[9] K. Daniel, A. Nash, S. Koenig, and A. Felner, “Theta*: Any-angle path planning
on grids,” Journal of Artificial Intelligence Research, vol. 39, no. 1, pp. 533–579,
2010.
13
Bibliography
[22] S. Karaman and E. Frazzoli, “Sampling-based algorithms for optimal motion plan-
ning,” International Journal of Robotics Research, vol. 30, pp. 1–76, 2011.
[23] A. Perez, R. Platt, G. Konidaris, L. Kaelbling, and T. Lozano-Pérez,
“Lqr-rrt*: Optimal sampling-based motion planning with automatically derived
extension heuristics,” in Proceedings of the IEEE International Conference
14
Bibliography
[24] M. Otte and N. Correll, “C-forest: Parallel shortest path planning with superlin-
ear speedup,” Robotics, IEEE Transactions on, vol. 29, no. 3, pp. 798–806, June
2013.
[28] M. Gerke, “Genetic path planning for mobile robots,” in American Control Con-
ference, 1999. Proceedings of the 1999, vol. 4, 1999, pp. 2424–2429 vol.4.
[29] O. Sahingoz, “Flyable path planning for a multi-uav system with genetic algo-
rithms and bezier curves,” in Unmanned Aircraft Systems (ICUAS), 2013 Inter-
national Conference on, May 2013, pp. 41–48.
[31] N. Durand and J. Alliot, “Ant colony optimization for air traffic conflict resolu-
tion,” in Proceedings of the Eighth USA/Europe Air Traffic Management Research
and Development Seminar (ATM2009), Napa, (CA, USA), 2009.
[34] A. Nasrollahy and H. Javadi, “Using particle swarm optimization for robot path
planning in dynamic environments with moving obstacles and target,” in Com-
puter Modeling and Simulation, 2009. EMS ’09. Third UKSim European Sympo-
sium on, Nov 2009, pp. 60–65.
15
Bibliography
16