Description
This paper provides an implementation to compute a collision-free path from a point to another by representing the planar environment containing obstacles as a Constrained Delaunay Triangulation. A unique approach to compute a collision-free path among two points by triangulating a planar environment was proposed by Marcelo Kallmann which made use of a Constrained Delaunay Triangulation, A* search and a funnel algorithm proposed by Bernard Chazelle to obtain the optimal path. The goal of this paper is to provide a detailed and precise implementation of how a sub-optimal path might be obtained by making use of just the Constrained Delaunay Triangulation and A* search approach. We also experiment with various data structures given in the computational geometry to represent Constrained Delaunay Triangulations and try to establish which one of them would be a better fit in terms of simplicity, robustness and efficiency of the practical implementation. The obstacle containing planar environment is represented by a Constrained Delaunay Triangulation. By triangulating the free space as well as the obstacles, a polygonal domain is obtained for performing an A* search across the different visibility graphs present in between two points. The A* search will retrieve a free path between the two points; if there exists one and which may be the shortest path in some instances. The use of either the quad-edge data structure proposed by Guibas and Stolfi or the triangle structure proposed by Jonathan Shewchuk in the construction of a Constrained Delaunay Triangulation makes its easy to maintain adjacency relationships among the visibility graphs. This makes the need to use an additional data structure like a grid to maintain the relationships among different sections of the environment unnecessary. The adjacency relationships among the graphs can be easily calculated from the underlying data structure. This reduces the complexity to search for the shortest path among all the unique visibility graphs between the two points under consideration.