**3. Related work**

**2. Sampling-based motion planning**

24 Autonomous Vehicle

Naturally, offline path-planning algorithms need a complete map of the configuration space which usually increases the cost and runtime of the search in most problems. Sampling-based motion planning was proposed to solve navigation queries without trying to construct the map of the entire configuration space. Instead, they only depend on a procedure that decides on whether a given configuration of the robot is in collision with obstacles or not. The available sampling-based path-planning algorithms can be categorized into two main classes, namely, roadmap-based or multi-query algorithms and tree-based or single-query algorithms [19]. Roadmap-based algorithms are normally applicable in multi-query scenarios as they form a graph that later will be used to solve different navigation problems. The graph is the main structure used for saving the environmental information, where the nodes represent different configurations in the robot's configuration space. An edge exist between any two configura‐ tions if the corresponding geometrical properties satisfy a set of conditions such as vicinity, and the autonomous agent can navigate from one point to another without any collision. A typical algorithm consists of two main stages: learning or observation stage and search stage. In the first stage, the graph structure is constructed. Collision-free positions or samples are chosen randomly and considered as the vertices of the graph. In the search stage, each vertex is tested to be connected to the closest neighbour configurations, and the resulted successful connection will be an edge in the roadmap. To answer a given planning task, the initial and final configurations are added to the existing graph and a normal search technique is consid‐ ered for finding the shortest path. The most important factor in the efficiency of the algorithm is how effectively the roadmap can learn the free-space connectivity of the configuration space. In addition, the main problem in the performance of such algorithm is the construction of the graph because the search algorithms usually perform satisfactory in terms of speed and runtime. The original form of PRM planner consists of the following steps. First, a random configuration is selected from the configuration space and is tested if it lies in the free config‐ uration space. If the sample passes this, it will be included in the roadmap structure as a vertex or a node. Second, a search technique takes place to find the closest neighbours in the graph to the new node. Finally, a local planner attempts to connect the closest neighbour and the new configurations based on criteria posed by the planning query. This connection will be added to the graph as a new edge if it is collision free. In several situations, quickly finding a solution for a particular problem is the main objective. In these situations, single-query algorithms can be implemented. In these algorithms, the base of the data structure is normally a tree. The basic idea is to find an initial configuration (the starting configuration) that is the root of the tree and all incrementally generated configurations will be connected to other configurations already included in the tree. The initial tree-based algorithm is the rapidly exploring random tree (RRT) planner [20]. Started to grow from the start configuration, a tree continuously grows in the free configuration space until it gets close enough to the final configuration. An essential feature of this planner is that configurations with larger Voronoi regions (i.e. the part of the free configuration space that is closer to that node than to other members of the tree) have higher chances to be selected in the process of tree expansion. Therefore, the tree normally grows towards yet unknown parts of the environment, circumfusing rapidly in the free

Over the past two decades, sampling-based motion planning algorithms have attracted the attention of researchers in the field of autonomous vehicle resulting in various approaches with different advantages and drawbacks. In this section, some of the well-known past applications of sampling-based methods in autonomous vehicle navigation is summarized.

In one of the first reports of such applications, a probabilistic planning process has been proposed to deal with dynamic systems in dealing with static and dynamic obstacles [21]. This planner evaluates the dynamic limitations of the vehicle's movement and provides a steady and solid decoupling between low-level control and motion planning at the same time. This planning method maintains the convergence characteristics of its kinematic peers. The safety of the system is also considered in the form of finite running times by checking the behaviour of the planner when the existed embedded computational resources are moderate, and the motion generation process must take place in real time. This method is capable of dealing with vehicles if their dynamics are defined by ordinary differential equations or even by other hybrid complex representations [22].

A detailed analysis of the motion planning subsystem for the MIT DARPA Urban Challenge [2] vehicle based on the rapidly exploring random tree (RRT) algorithm has been provided [22]. The purpose was to present the numerous extensions made to the standard RRT algorithm that enables the online use of RRT on robotic vehicles with complex, unstable dynamics and significant drift, while preserving safety in the face of uncertainty and limited sensing.

A real-time motion planning algorithm has been introduced based on the rapidly exploring random tree (RRT) approach for autonomous vehicle operating in an urban environment [23]. For several motivations, such as the need to generate dynamically feasible plans in real time, safety requirements and the constraints dictated by the uncertain operating (urban) environ‐ ment, several extensions to the standard RRT planner have been considered.

A rapidly exploring random tree (RRT) based on path planner has been implemented for autonomous vehicle parking problem, which treats all the situations in a unified manner [24]. As the RRT method sometimes generates some complicated paths, a smoothing sub-process has also been implemented for smoothing generated paths.

The use of rapidly exploring random trees (RRT) for the planning of multiple vehicles in traffic scenarios has been proposed [25]. According to this method, the controller for each car uses RRT to produce a navigation plan. Spline curves are used for smoothing the route resulted from the RRT, which includes non-holonomic constraints. Priority is taken into consideration as a coordination method where a vehicle with higher priority attempts to avoid all lower priority vehicles. This algorithm attempts to find the maximum possible velocity at which the vehicle can travel and the corresponding path.

Time-efficient manoeuvres for an off-road vehicle taking tight turns with high speed on a loose surface have been studied using the RRT\* planner [26]. The experimental results have shown that the aggressive skidding manoeuvre, normally known as the trail-braking manoeuvre, naturally rises from the RRT\* planner as the minimum-time path. Along the way, the RRT\* planner has been extended to deal with complicated dynamical systems, such as systems that are explained by nonlinear differential equations and include high-dimensional state spaces, which may be of independent interest. The RRT\* has also been exploited as an anytime computation framework for nonlinear optimization problems.

An efficient motion planning method for on-road driving of the autonomous vehicle has been reported based on the rapidly exploring random tree (RRT) algorithm [27]. To address the issue and taking into account the realistic context of on-road autonomous driving, they have proposed a fast RRT planner that utilizes a rule-template set according to the traffic scenes and an aggressive extension strategy for searching the tree. Both justification result in a faster and more accurate RRT planner towards the final state compared with the original RRT algorithm. Meanwhile, a model-based post-process estimation approach has been taken into account, where the resulted paths can be more smoothed and a feasible control sequence for the vehicle would be prepared. Furthermore, in the cases with moving obstacles, a combined method of the time-efficient RRT algorithm and the configuration-time space has been used to improve the quality of the resulted path and the re-planning.

with different advantages and drawbacks. In this section, some of the well-known past applications of sampling-based methods in autonomous vehicle navigation is summarized. In one of the first reports of such applications, a probabilistic planning process has been proposed to deal with dynamic systems in dealing with static and dynamic obstacles [21]. This planner evaluates the dynamic limitations of the vehicle's movement and provides a steady and solid decoupling between low-level control and motion planning at the same time. This planning method maintains the convergence characteristics of its kinematic peers. The safety of the system is also considered in the form of finite running times by checking the behaviour of the planner when the existed embedded computational resources are moderate, and the motion generation process must take place in real time. This method is capable of dealing with vehicles if their dynamics are defined by ordinary differential equations or even by other

A detailed analysis of the motion planning subsystem for the MIT DARPA Urban Challenge [2] vehicle based on the rapidly exploring random tree (RRT) algorithm has been provided [22]. The purpose was to present the numerous extensions made to the standard RRT algorithm that enables the online use of RRT on robotic vehicles with complex, unstable dynamics and significant drift, while preserving safety in the face of uncertainty and limited sensing.

A real-time motion planning algorithm has been introduced based on the rapidly exploring random tree (RRT) approach for autonomous vehicle operating in an urban environment [23]. For several motivations, such as the need to generate dynamically feasible plans in real time, safety requirements and the constraints dictated by the uncertain operating (urban) environ‐

A rapidly exploring random tree (RRT) based on path planner has been implemented for autonomous vehicle parking problem, which treats all the situations in a unified manner [24]. As the RRT method sometimes generates some complicated paths, a smoothing sub-process

The use of rapidly exploring random trees (RRT) for the planning of multiple vehicles in traffic scenarios has been proposed [25]. According to this method, the controller for each car uses RRT to produce a navigation plan. Spline curves are used for smoothing the route resulted from the RRT, which includes non-holonomic constraints. Priority is taken into consideration as a coordination method where a vehicle with higher priority attempts to avoid all lower priority vehicles. This algorithm attempts to find the maximum possible velocity at which the

Time-efficient manoeuvres for an off-road vehicle taking tight turns with high speed on a loose surface have been studied using the RRT\* planner [26]. The experimental results have shown that the aggressive skidding manoeuvre, normally known as the trail-braking manoeuvre, naturally rises from the RRT\* planner as the minimum-time path. Along the way, the RRT\* planner has been extended to deal with complicated dynamical systems, such as systems that are explained by nonlinear differential equations and include high-dimensional state spaces, which may be of independent interest. The RRT\* has also been exploited as an anytime

ment, several extensions to the standard RRT planner have been considered.

has also been implemented for smoothing generated paths.

computation framework for nonlinear optimization problems.

vehicle can travel and the corresponding path.

hybrid complex representations [22].

26 Autonomous Vehicle

A human-RRT (rapidly exploring random tree) collaborative algorithm has been presented for path planning in urban environments [28]. The well-known RRT algorithm has been modified for efficient planning in cluttered yet structured urban environments. To engage the expert human knowledge in dynamic re-planning of autonomous vehicle, a graphical user interface has been developed that enables interaction with the automated RRT planner in real time. The interface can be used to invoke standard planning attributes such as way areas, space con‐ strains and waypoints. In addition, the human can draw desired trajectories using the touch interface for the RRT planner to follow. Based on new information and evidence collected by human, state-dependent risk or penalty to grow paths based on an objective function can also be specified using the interface.

An online motion planner has been proposed based on the drivers' visual behaviour-guided rapidly exploring random tree (RRT) approach that is valid for on-road driving of autonomous vehicle [29]. The main contribution of this work is the implementation of a guidance system for drivers' visual search behaviour in the form of the RRT navigation algorithm. RRT usually performs poorly in various planning situations such as on-road driving of autonomous vehicles because of the uncanny trajectory, wasteful sampling and low-speed exploration strategy. In order to overcome these drawbacks, they have proposed an extension of the RRT planner that utilizes a powerful supervised sampling strategy according to the drivers' onroad behaviour in visual search and a continuous-curvature smoothing technique based on Bspline.

A sampling-based planning technique for planning manoeuvring paths for semi-autonomous vehicle has been reported where the autonomous driving system may be taking over the driver operation [30]. They have used rapidly exploring random tree star (RRT\*) and have proposed a two-stage sampling strategy and a particular cost function to adjust RRT\* to semiautonomous driving, where, besides the standard goals for autonomous driving such as collision avoidance and lane maintenance, the deviations from the estimated path planned by the driver are accounted for. They have also proposed an algorithm to remove the redundant waypoints of the path returned by RRT\*, and, by applying a smoothing technique, our algorithm returns a G-squared continuous path that is suitable for semi-autonomous vehicles.

Despite the great effort that has been put to employ sampling-based methods for autonomous vehicle navigation, there are still some problems with the performance of the current methods. For instance, there is no proper method for takeover which is one of the most common behaviours in driving. Takeover is a complicated and critical task that sometimes is not avoidable and the motion planner should be able to plan takeovers while considering the safety issues. Furthermore, the running time of the planner is usually too high which makes the method less practical. Finally, the quality of the generated solutions, i.e. paths, is a critical issue. The quality of the resulted paths from sampling-based methods is normally low and finding the optimal path is usually a challenging task in randomized algorithms.
