**1. Introduction**

As information technology and artificial intelligence develop rapidly, it is becoming possible to use computers to assist daily driving, even to make the driving process entirely autono‐ mous. Due to the recent research advances in robotics and intelligent transportation systems, autonomous vehicles have attracted dramatic attentions in the past decades [1].

© 2016 The Author(s). Licensee InTech. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

An important milestone has been reached in the field of autonomous driving on the urban road, which can be seen in DARPA Urban Challenge (DUC) [2]. As an important achievement in the progress of autonomous vehicle, the suggested vehicle navigation systems in DUC have been well accepted as the instruction for the design process of autonomous vehicle systems [3, 4]. The majority of the available architectures for autonomous vehicle focused on autonomous driving in structured roads and unstructured parking environments, and thus the performance of these proposals for more complicated driving scenarios is not clear, and despite interesting solutions for this problem in the literature, it is still a basic challenge to design an efficient motion planner for navigation in dynamic and cluttered environments where high number of obstacles, extensive effects of failure and safety considerations make it even more challenging [1].

One of the challenging research areas in autonomous vehicle is the development of an intelligent motion planner that is able to guide the vehicle in dynamic changing environments. Motion planning is an essential and fundamental part of autonomous vehicle [5], which can find solutions for the problem of finding a set of control values or feasible motion states for the vehicle to manoeuvre among obstacles from a given initial configuration towards a final one, taking into account the vehicle's kinematic and dynamic systems [6]. Furthermore, the traffic regulations and the available information on the geometric structures of roads are also included in the motion planning for autonomous driving.

Motion planning can be considered as one of the basic challenges within robotics sciences which have been studied by many researchers over the past few decades resulting in different algorithms with various specifications. Motion planning for an autonomous vehicle is a procedure to find a path from an initial position to a final state, while avoiding any collision with obstacles. In the simplest form of motion planning problem, which is called the piano mover's problem, the running time of each algorithm is exponentially the degrees of freedom, which indicates that the path-planning problem is NP-Complete. It is also shown that the motion planner needs memory exponential in the degrees of freedom, which proves that the problem is PSPACE-Complete [7].

When the environment is not known for the robot, the path planning is called online, local or sensor-based. During the past few decades, online path planning has been a challenging but attractive field for many robotic researchers. In unknown environments, there are two main aspects. First, the motion decisions are based on local information, and second, sensing is contemporaneous to the decision-making process. In this class of path planning, the robot acquires the information via its sensors that could be touch or vision sensors [8].

The field of sensor-based path planning has been studied by many researchers resulting in various algorithms with different characteristics. One of the earliest and simplest online pathplanning algorithms is the Bug algorithm [9] that acquires information from touch sensors and guides the robot to the goal through the boundaries of obstacles. An extension of the classic Bug algorithm is Tangent Bug [10], which incorporates vision sensor information with the algorithm. A performance comparison between different Bug-like algorithms can be found in [11]. Despite interesting performances of the conventional motion planning methods in robotics, their efficiency in navigation of autonomous vehicle is considerably low due to the complex and unstable dynamics of such systems.

An important milestone has been reached in the field of autonomous driving on the urban road, which can be seen in DARPA Urban Challenge (DUC) [2]. As an important achievement in the progress of autonomous vehicle, the suggested vehicle navigation systems in DUC have been well accepted as the instruction for the design process of autonomous vehicle systems [3, 4]. The majority of the available architectures for autonomous vehicle focused on autonomous driving in structured roads and unstructured parking environments, and thus the performance of these proposals for more complicated driving scenarios is not clear, and despite interesting solutions for this problem in the literature, it is still a basic challenge to design an efficient motion planner for navigation in dynamic and cluttered environments where high number of obstacles, extensive effects of failure and safety considerations make it even more challenging

One of the challenging research areas in autonomous vehicle is the development of an intelligent motion planner that is able to guide the vehicle in dynamic changing environments. Motion planning is an essential and fundamental part of autonomous vehicle [5], which can find solutions for the problem of finding a set of control values or feasible motion states for the vehicle to manoeuvre among obstacles from a given initial configuration towards a final one, taking into account the vehicle's kinematic and dynamic systems [6]. Furthermore, the traffic regulations and the available information on the geometric structures of roads are also

Motion planning can be considered as one of the basic challenges within robotics sciences which have been studied by many researchers over the past few decades resulting in different algorithms with various specifications. Motion planning for an autonomous vehicle is a procedure to find a path from an initial position to a final state, while avoiding any collision with obstacles. In the simplest form of motion planning problem, which is called the piano mover's problem, the running time of each algorithm is exponentially the degrees of freedom, which indicates that the path-planning problem is NP-Complete. It is also shown that the motion planner needs memory exponential in the degrees of freedom, which proves that the

When the environment is not known for the robot, the path planning is called online, local or sensor-based. During the past few decades, online path planning has been a challenging but attractive field for many robotic researchers. In unknown environments, there are two main aspects. First, the motion decisions are based on local information, and second, sensing is contemporaneous to the decision-making process. In this class of path planning, the robot

The field of sensor-based path planning has been studied by many researchers resulting in various algorithms with different characteristics. One of the earliest and simplest online pathplanning algorithms is the Bug algorithm [9] that acquires information from touch sensors and guides the robot to the goal through the boundaries of obstacles. An extension of the classic Bug algorithm is Tangent Bug [10], which incorporates vision sensor information with the algorithm. A performance comparison between different Bug-like algorithms can be found in [11]. Despite interesting performances of the conventional motion planning methods in

acquires the information via its sensors that could be touch or vision sensors [8].

included in the motion planning for autonomous driving.

problem is PSPACE-Complete [7].

[1].

22 Autonomous Vehicle

Another well-known class of path-planning algorithms is sampling-based path planning. In this class of algorithms, the only source of information is a collision detector, and hence, there is no need to characterize all possible collision situations. Sampling-based methods operate several strategies for creating samples in free space and for connecting them with collisionfree paths in order to provide a solution for path-planning problem. Three of the more popular sampling-based approaches include probabilistic roadmap (PRM) [12], randomized potential fields (RPFs) [13] and rapidly exploring random trees (RRTs) [14]. PRM approach finds collision-free samples in the environment and adds them to a roadmap graph. Afterwards, by using a cost function, best samples are chosen in the graph and a simple local path planner is used to connect them together. RPFs approach builds a graph by connecting the local mini‐ mums of the potential function defined in the environment. Then, the planner searches this graph for paths. RRTs are specially proposed to deal with non-holonomic constraints and high degrees of freedom. This approach builds a tree by randomly choosing a node in the free space and finding the nearest node in the tree. Next, the planner expands this nearest node in the direction of the random node. Several extension of RRT for solving sensor-based path-planning problems has been proposed. In [15], a new data structure called sensor-based random tree (SRT) is proposed, which represents a roadmap of the visited area. Similar to the RRT, the SRT is a tree of already visited nodes with a local safe region. The tree is increasingly expanded towards a random direction. An improvement of RRT is proposed in [16]. This method directs the robot in an RRT-derived direction while avoiding collision. In [17], two heuristics are added to the RRT to handling unknown environments. The first heuristic checks if the goal is reachable from the current position of the robot. The second heuristic tries to avoid the robot from getting close to the obstacles. Despite interesting solutions for this problem in the literature, it is still a basic challenge to design an efficient motion planner for navigation in dynamic and cluttered environments where high number of obstacles, extensive effects of failure and safety considerations make it even more challenging. Due to the interesting advantages and properties of sampling-based motion planning algorithms, they seem to be efficient and powerful tools for autonomous vehicle navigation. In this chapter, a novel motion planning architecture is proposed for autonomous vehicle navigation, which employs recent advances in sampling-based motion planning. The resulted approach is capable of planning safe and efficient motions in different situations such as following the course of the road, overtaking the front vehicle and following the front vehicles while overtaking is not possible. The proposed architecture employs the optimal strategy proposed in RRT\* planner [18] to avoid meandering paths. The proposed planner also utilizes a unique low-dispersion strategy [19] to reduce the running time of the planner which is essential in autonomous vehicle navigation. The rest of the chapter is organized as follows. In Section 2, the category of sampling-based motion planning algorithms is summarized. The existing applications of sampling-based planners in autonomous vehicle navigation are reviewed in Section 3. Then, the proposed architecture is introduced in Section 3, supported by the simulation studies in Section 4. Finally, discussion and conclusion is provided in Section 5.
