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.