Journal of Robotics

Volume 2017 (2017), Article ID 8796531, 11 pages

https://doi.org/10.1155/2017/8796531

## A Global Path Planning Algorithm Based on Bidirectional SVGA

^{1}School of Computer Science and Engineering, Nanjing University of Science and Technology, Nanjing 210094, China^{2}School of Information Technology, Jiangsu Maritime Institute, Nanjing 211170, China

Correspondence should be addressed to Taizhi Lv; moc.361@ihziatvl

Received 3 August 2016; Revised 29 November 2016; Accepted 4 January 2017; Published 2 February 2017

Academic Editor: Yuan F. Zheng

Copyright © 2017 Taizhi Lv et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

For path planning algorithms based on visibility graph, constructing a visibility graph is very time-consuming. To reduce the computing time of visibility graph construction, this paper proposes a novel global path planning algorithm, bidirectional SVGA (simultaneous visibility graph construction and path optimization by ). This algorithm does not construct a visibility graph before the path optimization. However it constructs a visibility graph and searches for an optimal path at the same time. At each step, a node with the lowest estimation cost is selected to be expanded. According to the status of this node, different through lines are drawn. If this line is free-collision, it is added to the visibility graph. If not, some vertices of obstacles which are passed through by this line are added to the OPEN list for expansion. In the SVGA process, only a few visible edges which are in relation to the optimal path are drawn and the most visible edges are ignored. For taking advantage of multicore processors, this algorithm performs SVGA in parallel from both directions. By SVGA and parallel performance, this algorithm reduces the computing time and space. Simulation experiment results in different environments show that the proposed algorithm improves the time and space efficiency of path planning.

#### 1. Introduction

Intelligent mobile robots have been widely used not only in military activities but also in civil life. Navigation is the key problem of the mobile robot technology. The quandary of navigation could be summarized: “Where am I? Where do I go? How do I get there? [1]” The first two problems are about localization and mapping, and the last problem is about path planning.

Path planning is to determine a collision-free path between the start and target position by a performance criterion such as the distance, time, and energy consumption [2]. According to whether an environment is known or not, there are two categories of path planning algorithms, namely, local and global path planning. A mobile robot plans a feasible path in an unknown or dynamic environment by the information which is gotten from sensors. This is known as local or online path planning. Global path planning is to search for an optimal path based on complete information about stationary obstacles and is also known as offline path planning.

Classical local path planning approaches include artificial potential field, vector field histogram, dynamic windows, and bug. However these algorithms suffer from some drawbacks, such as trapping in local minima and unsmooth planned path. To overcome such limitations, there have emerged some proposals combining evolutionary or heuristic algorithms with classical path planning approaches, such as parallel evolutionary artificial potential field (PEAPF) [3] and EgressBug [4]. Global path planning consists of two steps: environmental modeling and path optimization. Configuration space (C-Space) is a fundamental approach to environmental modeling problem. Cell decomposition and roadmap are well known environmental modeling approaches based on C-Space. The simplest cell decomposition is grid with a fixed resolution. The main difficulty of this approach is how to determine the size of cell. Some improved approaches are proposed to solve this difficulty, such as fan-shaped grid map [5] and quad-tree grid map [6]. Voronoi diagram and visibility graph are two main roadmap approaches. Voronoi diagram is proposed by Dunlaing and Yap. This approach constructs a roadmap by using points equidistant from two or more obstacles [7]. Artificial intelligent path planning methods apply modern artificial intelligent technology to mobile robot path planning [8]. Artificial neural nets, fuzzy logic, genetic algorithm, and particle swarm optimization are widely applied technologies in the path planning research. These artificial intelligent technologies overcome many drawbacks of classic approaches, and they reinforce the robot intelligence. But these technologies are difficult to implement path planning independently, and they need to be combined with classic approaches [9]. Rapidly exploring random tree (RRT) is a sampling-based path planning algorithm and is being implemented heavily in recent years [10].

Visibility graph modeling is to construct a compact, undirected graph that registers visibility among vertices of obstacles [11]. For its simplicity, visualization, and completeness, visibility graph is still useful in many applications. However, constructing a visibility graph is very time-consuming. Some algorithms aiming efforts at reducing computing time are proposed by scholars. Tran et al. proposed a parallel-oriented visibility graph construction algorithm. This algorithm divides the environment into some parts and constructs the visibility graph for each part in parallel [12]. Zhang et al. use a simplified visibility graph suitable for path planning algorithm to model environment [13]. By ignoring redundant obstacles which do not affect the result of path planning, it improves the efficiency of path planning. Some techniques are used to improve the time complexity such as reducing the amount of visibility edges, simplifying obstacles to rectangles, and combining the tiny obstacles [14, 15]. Some intelligence algorithms such as quantized algorithm [16] and ant colony [17] are used in path planning based on visibility graph to improve the computational efficiency.

The above improved algorithms all firstly construct a visibility graph and then search for an optimal path based on this visibility graph. Constructing a visibility graph is very time-consuming and the optimization efficiency is drastically decreased with the increasing of edge number. To improve the computational efficiency, this paper proposes an improved global path planning algorithm, bidirectional SVGA (simultaneous visibility graph construction and path optimization by ). Two approaches to increase the performance of global path planning are introduced to the proposed algorithm:(i)It does not construct the visibility graph before the search process, but it constructs the visibility graph and searches for the path at the same time. Whether a direct line between two vertices is collision-free or not is the main process of the visibility graph construction. This process is called visibility judgment in short. In order to improve the efficiency of global path planning, the main purpose of the proposed algorithm is to reduce the executions of visibility judgment. Two strategies are used in this approach. One is to make use of the relationship between the start position, target position, and all vertices. Many vertices unrelated to the path planning result are ignored and visibility judgment between them does not need be executed. The other is to make use of the heuristics search. If a line between two vertices is more related to the optimal path, the visibility judgment of this line is executed earlier. It causes that the visibility judgment less related to the optimal path may not be executed.(ii)SVGA is performed in parallel from both directions. By taking advantage of multicore processors, it improves the efficiency of global path planning.

The rest of this paper is organized as follows. Section 2, at first, introduces the key concepts of global path planning based on visibility graph. The global path planning algorithm based on bidirectional SVGA is presented in Section 3. The performance analysis is presented in Section 4. The experimental results are provided in Section 5. Finally, Section 6 concludes this paper.

#### 2. Global Path Planning

Global path planning can be described as a search problem in a four-atom formulation :(i): search space.(ii): start position.(iii): target position.(iv): obstacle set.

If a path series is a solution, , , and . Global path planning aims to search for an optimal solution in all solutions.

##### 2.1. Visibility Graph

Visibility graph is constructed by joining the lines which connect the start position, target position, and vertices of obstacles. These lines do not intersect obstacles. In other words, these lines are visible. The vertices and lines form a visibility graph . Figure 1 shows a visibility graph where grey polygons represent obstacles, is the start position, and is the target position. After a complete visibility graph is constructed, the shortest path is then identified by some search algorithms.