660 IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 19, NO. 2, APRIL2014
An O(n log n) Shortest Path Algorithm Based on
Delaunay Triangulation
Gene Eu Jan, Member, IEEE, Chi-Chia Sun, Member, IEEE, Wei Chun Tsai, and Ting-Hsiang Lin
Abstract—In Euclidean and/or λ-geometry planes with obsta-
cles, the shortest path problem involves determining the shortest
path between a source and a destination. There are three different
approaches to solve this problem in the Euclidean plane: roadmaps,
cell decomposition, and potential field. In the roadmaps approach,
a visibility graph is considered to be one of the most widely used
methods. In this paper, we present a novel method based on the con-
cepts of Delaunay triangulation, an improved Dijkstra algorithm
and the Fermat points to construct a reduced visibility graph that
can obtain the near-shortest path in a very short amount of com-
putational time. The length of path obtained using our algorithm
is the shortest in comparison to the other fastest algorithms with
O(n log n) time complexity. The proposed fast algorithm is espe-
cially suitable for those applications which require determining the
shortest connectivity between points in the Euclidean plane, such
as the robot arm path planning and motion planning for a vehicle.
Index Terms—Delaunay triangulation, Fermat points, motion
planning, O(n log n), shortest path problem.
I. INTRODUCTION
D
ETERMINING the shortest connectivity between points
(vertices) in the Euclidean and λ-geometry planes with ob-
stacles is a problem with a long and convoluted history in applied
mathematics. Our major interest in this paper is the shortest con-
nection between two vertices (the shortest path problem), which
involves finding a shortest path between two vertices with many
obstacles such that the sum of the distances of its consecutive
segments is minimized. Shortest path algorithms have already
been applied to the motion planning of robots and the path plan-
ning of vehicular navigation. Furthermore, it can also be applied
to electronic design automation, biological cell transportation,
and operation research [1]–[4].
There are several approaches to the shortest path problem in
the λ-geometry and Euclidean planes. In the λ-geometry planes,
there are two kinds of approaches to solve the problem: maze
routing and line-probe. For the maze routing, Lee’s algorithm is
the most widely used 2-geometry algorithm for finding a path
between two vertices [5]. An algorithm that uses a suitable data
Manuscript received July 22, 2012; revised January 23, 2013; accepted
February 22, 2013. Date of publication April 5, 2013; date of current ver-
sion February 20, 2014. Recommended by Technical Editor G. Liu.
G. E. Jan and W. C. Tsai are with the Department of Electrical Engi-
neering, National Taipei University, New Taipei City 23741, Taiwan (e-mail:
gejan@mail.ntpu.edu.tw; wctasi@mail.ntpu.edu.tw).
C.-Ch. Sun is with the Department of Electrical Engineering, National For-
mosa University, Yunlin County 632, Taiwan (e-mail: ccsun@nfu.edu.tw).
T.-H. Lin is with the Department of Statistics, National Taipei University,
New Taipei City 23741, Taiwan (e-mail: tinghlin@mail.ntpu.edu.tw).
Color versions of one or more of the figures in this paper are available online
at http://ieeexplore.ieee.org.
Digital Object Identifier 10.1109/TMECH.2013.2252076
(a) (b) (c)
Fig. 1. Comparison between the proposed shortest path algorithm based on
Delaunay triangulation and other two O(n log n) algorithms. (a) Voronoi (221).
(b) Cell decomposition (160). (c) Proposed method (130).
structure for uniform wave propagation in the 4-geometry to find
the shortest path was proposed by Jan et al. [6]. However, both
Lee’s and Jan’s algorithms still require a large amount of storage
space and the performance degrades rapidly when the size of the
grid increases. In order to improve the search time, Soukup [7]
proposed an iterative algorithm that can guarantee finding a path
if a path exists between the source and the destination, but this
path may not be the shortest one. Another algorithm to improve
upon the speed was suggested by Hadlock [8]. The line-probe
algorithms were developed by Mikami and Tabuchi [9], and
Hightower [10]. The basic idea of a line-probe algorithm is to
reduce the size of the memory requirement. Unfortunately, the
path generated by Mikami and Tabuchi’s algorithm may not be
the shortest one, and the Hightower algorithm may not be able
to find a path even when such a path does exists.
In the Euclidean plane, there are three major approaches to
finding the shortest path: cell decomposition, roadmaps, and
potential field [11], [12]. The most popular cell decomposi-
tion method is trapezoidal decomposition [13]. This decom-
position relies heavily on the polygonal representation of the
planar configuration space. However, the trapezoidal decompo-
sition method may not produce efficient paths for coverage. Two
types of roadmaps are the most popular: the visibility graph and
the Voronoi diagram. The visibility graph can be used searching
for the shortest path and some algorithms were addressed by
Rohnert [14] and Gao et al. [15]. Unfortunately, the visibility
graph has many redundant edges and the cost of visibility graph
construction is very high (O(n
2
)). A better Voronoi diagram
algorithm was proposed by Fortune [16], but the Voronoi dia-
gram cannot find the shortest one. In this paper, we applied the
concepts of Delaunay triangulation, Fermat points [17], and an
improved Dijkstra’s shortest path algorithm [18] to obtain the
near-shortest path with O(n log n) time, where n is the num-
ber of obstacles. Furthermore, the length of path obtained by
our algorithm is the shortest compared to two other O(n log n)
algorithms as shown in Fig. 1 [13], [16], where Voronoi and
cell decomposition result in 221 and 160 distant units, while the
1083-4435 © 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications standards/publications/rights/index.html for more information.