Introduction
During the past few decades, autonomous driving techniques have attracted a great deal of attention in both academia and industry due to their promising potential to prevent collisions due to human error, reduce traffic congestion and emissions, and provide mobility to all, including people who are unable to drive themselves [1]–[3]. As a key module to the autonomous driving system, trajectory planning plays an important role in guaranteeing the ride safety and comfort by generating a smooth, dynamically-feasible, collision-free trajectory towards a destination, while taking into account obstacles around the vehicle, vehicle dynamics, traffic rules and other task specific constraints.
In general, a trajectory planning problem refers to finding an optimal path with time stamped positions, orientations, and velocities from the current configuration to the goal configuration by minimizing certain objectives subject to geometry constraints (feasible paths must lie in the free space), task constraints (requirements to visit certain intermediate targets), and nonholonomic constraints (vehicle kinematics and dynamics). This kind of problem is known to be PSPACE-hard, which means there is no polynomial-time algorithm able to solve all instances of the problem [4], [5]. The compounding effect of geometry, task and and nonholonomic constraints (differential constraints) increases the difficulty of developing practical trajectory planning algorithms that directly solve the complete trajectory planning problem [6], [7]. Instead, many different methods have been developed to address the trajectory planning problem by approximating the solution or solving sub-problems of the original one.
A. Related Work
The methodologies used by the motion planning community for autonomous driving can be divided into three categories: sampling-based methods, search-based methods and optimization-based methods. They all have their own strengths and weaknesses.
Sampling-based methods can be further categorized into random sampling-based methods and deterministic sampling-based methods. Random sampling-based methods include probabilistic roadmaps [8]–[10] and rapidly-exploring random trees [11]–[15]. The latter family has been widely adopted for autonomous driving applications. Kuwata et al. [12] develop a closed-loop RRT method by combining physical, logical bias RRT with a low-level controller to forward simulate the path. Ryu et al. [13] exploit a more efficient RRT method with a different biased sampling strategy to generate the random tree and then filter out the final path with a low pass filter over the tangential vector and curvatures of the path. Although various sampling strategies and corrections are applied to improve the performance of the RRT method, the solution generated remains sub-optimal. Karaman et al. [10], [16] develop the RRT* algorithm that is able to converge to the optimal solution asymptotically. Jeon et al. [14] incorporate a fast local steering algorithm based on a half-car dynamical model and the RRT* algorithm to generate dynamically feasible trajectory for high-speed autonomous driving. The random sampling-based methods are in general good at exploring the reachability of the free space using control space paths and rapid collision checking in complex environments. The tree structure generated by sampling strategies also approximates the connectivity of the free space without having access to the explicit geometry model of the free space [5]. Some random sampling-based methods such as PRM and RRT are known to be probabilistically complete, ensuring a path will eventually be found if one exists [15]. Due to the repeated selection of the random intermediate states or control inputs, however, resulting paths tend to be jerky, redundant and not curvature continuous, which is not acceptable for autonomous driving applications, especially at high speed. The run-time is also unlimited and unpredictable. For a more comprehensive review of random sampling-based methods, we refer readers to [17].
Deterministic sampling-based methods are also referred to as local search methods [1], which mainly include control state sampling methods and state space sampling methods. The main approach is to generate several shifted curves from the car’s current configuration to sample the space near the car and arrive at a set of goal locations, and then to select the best path according to factors such as whether the path is collision free and the distance to the reference path or the center line of lanes etc. Control space sampling methods simply run discrete control inputs for a certain duration to generate the shifted curves [18], [19], while state space sampling methods instead get goal states from a reference path or a center line of the road within a certain horizon, then solve a two-point boundary value problems with predefined curve models connecting the initial state of the car and the goal state set [20]–[25]. The curves that are used to sample the space can be arcs (generated from control space [18], [19]), spirals [20], [21], splines [22], [26], polynomials [23]–[25]. All the curve models except arcs required goal states such as position, orientation, and curvature to be defined from a reference path in order to construct candidate paths. The goal state plays an import role in affecting the shape of the seeds paths. Compared to random sampling-based methods, deterministic sampling-based methods reduce the solution space dramatically by using preferred actions (control space sampling) or taking advantages of the structure of roads (state space sampling), which makes behaviors of the planner predictable and also avoids unreasonable sampling seeds. The deterministic sampling-based methods can be thought of as a class of planners whose sampling depth is one, regardless of their look-ahead horizon, as seen in Figure 1a. Although these methods can generate smooth trajectories efficiently, their ability to capturing the topology of free space is restricted due to the limited sampling depth. The reliance on a goal state generated from the reference path also discards key information such as orientation and curvature in terms of obstacle avoidance with the presence of obstacles, as shown in Figure 2. The state sampling method work reasonably well without obstacles or with sparse distributed obstacles along the road, but is fundamentally limited in the complexity of the environments with dense obstacles that can be handled effectively [25], [27]. The presence of dense obstacles break the original geometry property of the road exploited by deterministic sampling methods. Following the road heading or curvature information underestimates the steering efforts required to avoid consecutive obstacles and misleads the motion planning process. In practice, a car may run into situations in which it cannot make any progress along the road, despite a feasible trajectory existing, due to the restricted search imposed by these methods.
(a) The demonstrated sampling depth is one. With the different sampling horizons and many sampling paths, the sampling depth is still one. (b) The demonstrated sampling depth is three.
The original goal state underestimates the steering efforts and also provides an inperfect heading information, which may fail the navigation.
Search-based methods, as distinct from sampling-based methods, refer to methods which employ graph-based search approaches such as A* [28]–[30], state lattice [31]–[33], Dijkstra [34], hybrid A* [35] and their variants. Some search-based methods provide a theoretical guarantee of resolution completeness. This class of methods usually constructs a directed graph to sample the configuration space uniformly and then searches the graph with different search strategies. Instead of randomly exploring the free space of the environment at run-time, search-based methods discretize the configuration space with fixed number of motion primitives and build the search graph in advance. The graph that is built has a better coverage of the whole free space with less configuration states compared to RRTs at the early stages of planning, which must construct their search tree from scratch. This distinction ensures that search-based methods have a better global view of the geometry model of free space before searching for a path. The search strategies only focus on finding a globally optimal path according to given objectives. With a well designed search space and admissible heuristics, searched-based methods are able to find a globally optimal or sub-optimal path in real-time for some autonomous driving scenarios [28], [35]. Hybrid A* and AD* have shown strong performance in path planning for autonomous driving in parking lots scenarios [21], [28], [35]. However, as the pre-constructed graph is a discrete representation of the configuration space, the solution space will be dramatically reduced if the search space is not well designed. This may lead to highly sub-optimal solutions or even no solution while one exists. When it comes to high dimensional problems, graph search-based methods inevitably fall prey to the curse of dimensionality. In addition, the resulting paths are not curvature continuous, which is not feasible for high speed autonomous driving. A post smoothing process can be applied to the generated path to make it feasible for on-road driving scenarios, but the collision-free property of the path generated by searching does not remain after smoothing [35]. More adjustments are then required to make it safe to follow. In summary, search-based methods are good at solving path planning problems with geometric constraints but poor at dealing with kinodynamic constraints of the system in general.
Finally, optimization-based methods, also called variational methods, solve two point boundary value problems using nonlinear optimization techniques to address the trajectory planning problem [25], [35]–[39]. These methods usually represent the path of a vehicle with certain parametrized curve models, such as splines [40], [41], spirals [37], [42], polynomials [43], [44] or piecewise lines [38], [45], and then optimize for the prescribed objectives over a finite dimensional parameter vector space to get smooth paths or trajectories. They are widely used in autonomous driving systems due to their fast convergence rate to local optimum and high quality solutions. However, most approaches are non-convex, and are challenged to find the global optimum unless an initial guess that is sufficiently close to optimal is available. The complexity of environments depends on the geometry shape of the free space, and not just on the number of obstacles. To the best of our knowledge, there is no optimization-based method that incorporates the explicit geometry model of the free space into the trajectory planning problem formulation. Further, the curve model chosen in problem formation for trajectory planning also limits the ability of handling obstacles. For example, the quadratic polynomial curve model can only represent a single swerve motion. Therefore, the trajectory optimization based on a quadratic polynomial parametrization can only deal with one obstacle within its planning horizon. A piece-wise continuous curve model is able to resolve this limitation, but it leads to computation of optimization. This requires solving multiple coupled optimization problems at the same time. The intermediate states need to be chosen smartly as well. To sum up, optimization-based trajectory planning methods are good at providing high quality solutions with embedded high order curves or dense waypoint curves but poor at handling obstacles. Some of the methods can incorporate nonholonomic constraints in the optimization, but including obstacle avoidance within the optimization is still problematic.
B. Contributions
In order to solve the motion planning problem in real time for autonomous driving, we propose a hybrid trajectory planning algorithm by combining the strengths of different methods. We assume the drivable region and the global path, which may be or may not be collision-free, are provided. As an optimization problem with both nonholonomic and geometry constraints is PSPACE-hard [4], [5], the trajectory planning problem is decomposed into spatial path planning and speed planning sub-problems. The spatial path planning problem is further decomposed to a global path modification layer within the given drivable region and a multi-phase state space sampling planner layer. The speed planning sub-problem is solved by an optimization-based speed planning layer along the fixed path. In this way, the combinatorial constraints of the motion planning problems are separated, which is convenient to address different constraints by taking advantages of different methods. Besides, the decomposition makes the planner be able to limit the search space by leveraging the constraint information while still maintaining richness of the feasible solution space in different layers. Our contributions are:
We propose an efficient layered trajectory planning framework. This framework handles each type of constraint using distinct methods. We first handle the geometry constraints using a search-based global path modification layer, which identifies the shortest path through the environment without regard for vehicle motion constraints. The second layer, a multi-stage state sampling method, samples in the neighbourhood around the shortest path to generate a kinematically-feasible path, which resolves the nonholonomic constraints of the vehicle. In this way, the framework reduces the infeasible state space region from the potential sampling space significantly. More precisely, it prevents the state space sampling method from spending computation resources on generating high-cost kinematically-feasible paths to sample the infeasible region that is limited by constraints, which improves the sampling efficiency. Once the best path is found in the sampling stage, the dynamical constraints of the vehicle (lateral accelerations and longitudinal accelerations and decelerations) are imposed to define a speed profile. This approach differs from the hybrid A* and RRT* families of methods, which first impose nonholonomic constraints to generate kinematically-feasible motion primitives, then incrementally construct a sampling graph using motion primitives to resolve the geometry constraint. Their strategy leads to swerving paths due to the discretized or randomized motion primitives. Our method results in more human-like solutions, by finding the best coarse path through the environment first, and then refining the path to meet kinodynamic constraints.
We introduce a general global path modification algorithm with a derivative-free smoothing process to extract high order state information for the state space sampling. A big difference from the origin space exploration method used in the heuristic search path planning framework [46] is that we provide a derivative free path smoothing algorithm based on the curve energy function and fit a B-spline to get the precise orientation and curvature information of the path. Chen [46] uses the resulting circle path to limit the search region for the hybrid A*, which only leverages the position information of the circle path. We instead exploit the position, orientation and curvature information of the smoothed circle path, leading to more drivable paths. Gu et al. also propose global path deformation methods (dynamic programming method [47], elastic band method [48]). However, these methods require precise road geometry information to construct the search graph. Our method only require traversable region information, which can be easily extended to free space planning scenarios.
We extend the regular state space sampling method to a multi-phase deterministic state space sampling method to handle navigation problems in complex and crowded environment. Different from the regular state space sampling methods [21], [25], [49] that use a single polynomial function to represent naive maneuvers with only one swerve, our method divides the path planning problem with nonholonomic constraints to several consecutive stages and uses curvature-continuous piece-wise cubic spirals to represent complex maneuvers (consecutive s shape paths) subject to nonholonomic constraints of cars. In this way, our planner is not only able to get rid of high order polynomials that leads to heavy computations but also provides a long-term path with a continuous curvature profile aligned with the geometry of the modified global path.
We developed a more efficient and accurate collision checking method by using a different footprint approximation strategy and a two-phase collision checking routine.
Methodology
The overall structure of the hybrid trajectory planning framework is shown in Fig. 3. We first create a traversable region around the global path and set the intersection of the traversable region and on-board free-space perception results as the search space of the global path modification layer. This pre-processing step restricts the region of interest and filters irrelevant obstacles from the motion planning problem. Next, the global path modification layer employs a novel space exploration method to identify a collision-free and smooth path inside the aforementioned search space. A multiple stage state sampling layer is then applied to sample along the new reference path and identifies a collision-free, kinematically-feasible, curvature-continuous desired path. Finally, an optimization-based time-optimal speed planning layer is employed to construct a speed profile along the path, taking into account the dynamic constraints of the vehicle.
A. Global Path Modification
The goal of the global path modification layer is to get a collision-free global path within the region limited by the original global path and the traversable region from the perception module. In realistic on-road driving scenarios, the original global path provided by a high-level route planning module will not be optimal, and may not even be feasible due to the presence of obstacles such as parked cars along the roads and reconstruction cones which appear temporarily. In a highly curved lane with tight turning radius without obstacles, following the center line of the lane results in more control efforts and larger lateral accelerations for the car than are necessary [25]. Improvements to the path cost can be made by short-cutting the corner within the road boundaries in this case.
In order to solve these problems, we propose a global path modification method to provide correct guidance information for obstacle avoidance of the multiple phase state sampling layer. The core idea is to reconstruct the topology of the on-road free space and generate a new smooth global path embedded with the geometric information of the free space within the boundary defined by the original global path, shown in Fig. 4. The resulting path in this step does not necessarily have to consider the nonholonomic constraints, but needs to be as continuous and short as possible. We adapt existing space exploration methods to modify the non-collision-free global path according to the on-board perception information. After that, a derivative-free iterative path smoothing algorithm is developed to reduce the slackness of the path generated from the search. Finally, a B-spline curve fitting algorithm is applied to generate the high order geometry information of the modified global path.
Due to the presence of obstacles, the geometry of the roads is changed. The modified path captures the geometry properties of the free space, which provides more high-order state information for state sampling.
For completeness, we recall the original space explore algorithm from [46]. Given the current start position of the car and the desired goal state on the global path, the space exploration algorithm is to find a sequential overlapped circle path in workspace using a heuristic A* graph search algorithm. The centers of the circles are waypoints of the path. The circle node used to construct the search graph is a tuple \begin{equation*} r_{i}= \begin{cases} R_{clearance},& if~R_{clearance} \in [R_{min}, R_{max}]\\ R_{min},& if~R_{clearance} < R_{min}\\ R_{max},& if~R_{clearance} > R_{max}, \end{cases} \end{equation*}
The node expanding pattern. The
The output of this process is a discrete curve connecting the start and goal nodes through the free space in the environment. More precisely, a discrete curve is an ordered tuple (
Although the space exploration layer is able to extract the free space knowledge to approximate the optimal corridors to reach the temporary goal in 2D workspace in terms of the path length, the resulting path (red curve) generated by this algorithm is only \begin{equation} J_{d} = \sum _{i = 2}^{N}\frac {(\kappa _{p_{i-1}}^{2} + \kappa _{p_{i}}^{2}) \Delta s_{p_{i}}}{2} \end{equation}
This is an approximation of the continuous version of the bending energy representation \begin{equation*} J = \int _{0}^{s} \kappa ^{2}~ds \end{equation*}
The update direction of
The path smoothing results in unstructured environment. The black region represents obstacles and white region is free space. The red curve represents the circle path generated by the space explore algorithm. The colorred dots show the centers of circle nodes. The grey curves are the intermediate path smoothing results. The blue curve is the final circle path generated by the smoothing algorithm. The green curve is the curve fitting result with dense way points.
As the update rule and objective function are defined, the path smoothing algorithm performs as in Algorithm 4. Every iteration the algorithm will work to decrease the slackness of the path by performing a binary search for a feasible updated circle center, subject to the triangle inequality rule, curvature upper boundary and the clearance constraint. If the distance between the new circle center (e.g.
B. Multiple-Phase Deterministic State Sampling
This section is interested in solving a path planning problem of the following class: Given an initial state of a vehicle and a reference path, plan a smooth collision-free path aligned with the reference path while respecting nonholonomic constraints of vehicles.
Once a modified smooth global reference path is generated, a multiple stage deterministic state sampling method is used to generate collision-free, kinematically-feasible paths for cars by sampling along the modified global path. Different from the regular state sampling methods [20], [21], [25] that treat state sampling as a single stage sampling problem, our method divides state sampling into several consecutive stages, as shown in Fig. 8. In every stage, state sampling is employed to generate a finite set of seeding paths with different lateral offsets shifting from the reference path, which results in solving several two-point boundary value problems (TPBVPs). The closest collision-free path to the reference path at every stage is selected as the start state of the next stage. By doing so, a greedy search strategy is employed. The rational behind this will be explained in II-B.2.b part (Path Selection in Single Phase).
1) Reference Path Segmenting
Unlike the simple, single swerve, reference paths aligned with road geometry used in [20], [21], and [25], our smooth reference path may include several swerves with different turning directions when navigating through environments with dense obstacles. More waypoints or higher order polynomials are needed to approximate the exact shape of a path, which could lead to heavy computational requirements for our system. Instead, we divide the complex reference path into several segments sampled with simple motion primitives and use a cubic spiral representing each path segment to reduce the dimensions of the parameter space while still maintaining strong expressiveness over the set of possible paths. The reference path can be segmented based on either arc-length (distance along a curve) of the motion primitives or the curvature profile of the reference path. In our implementation, we use the former, which is set to
2) Single Phase State Space Sampling
In single phase state space sampling, the base goal state is acquired from the reference path segmenting module, and a set of goal states are generated with different lateral offsets from the base goal state at every stage. Different from the goal states lateral offsetting strategy used in [20], [21], [25], and [51], we exploit an adaptive offset sampling to determine feasible goal states to generate a kinematic-feasible path. The lazy sampling strategy used in [20], [21], [25], and [51] is shown in Fig. 9, which keeps a large fixed number of sampling points with equidistant offsets to cover the road region and generates computationally-expensive paths without checking the feasibility of the sampling points. When the dimension of the obstacle increases, more samples are needed to generate collision-free path candidates, and the number of samples required is challenging to determine for different scenarios. The calculation time increases as well in this case. In contrast, thanks to the guidance information provided by the global path modification layer, our method only needs to maintain a small set of sampling points to nudge around the modified global path and get collision-free and kinematic-feasible path candidates (see Fig. 10), since the modified global path already lies in free space. The total sample count of our method for one stage will not be affected by the dimension of obstacle as the locations of samples depend on the modified global path. Further, we check every sampling point for collision using the footprint of the car and the infeasible sample points are filtered out of the total sample set. Only collision-free goal states (effective sampling points in Fig. 10) that are picked adaptively according to environments, based on the car footprint, are passed to the path generation module. In this way, the computationally-expensive task of path generation is avoided when a goal state cannot be reached.
As the current vehicle state and the goal state are known, the path generation can be formulated as a classical Two-Point-Boundary-Value problem (TPBVP) then solved using nonlinear programming techniques. Before converting a TPBVP problem to a constrained nonlinear programming problem, a parameter representation of the path needs to be determined to formulate the problem. Several parameterized path representations have been proposed, including B-spline [40], [41], Bezier Curve [52], [53], piecewise linear curve [38], clothoid [54]–[56], polynomial curve [43], [44], and polynomial spiral (greater than second order) [37], [42]. The B-spline, Bezier curve, piecewise linear curve and polynomial curve do not satisfy kinematic constraints of the car model according to their curve definitions and independent parametrization for \begin{equation} \kappa (s) = a + bs + cs^{2} + ds^{3} \quad ~\end{equation}
A motion model for a vehicle can be formulated as a set of nonlinear equations in terms of arc-length based on the single track vehicle model [60],\begin{align} x(s)=&x_{0} + \int _{0}^{s_{f}}\cos (\theta (s))ds\notag \\ y(s)=&y_{0} + \int _{0}^{s_{f}}\sin (\theta (s))ds\notag \\ \theta (s)=&\theta _{0} + \int _{0}^{s_{f}} \kappa (s)ds \end{align}
Such a parametrization that combines (2) and (3) enables our algorithm to optimize the curve depending on the geometric shape of the path embedded with the motion model of the vehicle. In practice, however, it is very difficult to find an analytical expression for the arc-length parameterized curve, due to the fact that a length equation is challenging to integrate analytically. Instead, we can approximate the integral numerically by using the Trapezoidal rule or Simpson’s rule [62].
Based on the prior discussion, the arc-length parameterized representation for the path in Cartesian coordinates becomes: \begin{align} \boldsymbol r(\boldsymbol p)=&(x(\boldsymbol p),y(\boldsymbol p)) \notag \\ s.t.~x(\boldsymbol p)=&\int _{0}^{s} \cos \left ({\int _{0}^{s}\kappa (\boldsymbol p)ds}\right)ds\notag \\ y(\boldsymbol p)=&\int _{0}^{s}sin\left ({\int _{0}^{s}\kappa (\boldsymbol p)ds}\right)ds\notag \\ \kappa (\boldsymbol p)=&a + bs + cs^{2} + ds^{3} \quad \forall s \in [0,s_{f}], \end{align}
Instead of using \begin{equation} \boldsymbol {p} = \begin{pmatrix} m_{1}\\ m_{2}\\ m_{3}\\ m_{4} \end{pmatrix}= \begin{pmatrix} \kappa \left({\dfrac {s_{f}}{3}}\right)\\ \kappa \left({\dfrac {2s_{f}}{3}}\right)\\ \kappa (s_{f})\\ s_{f} \end{pmatrix} =T \cdot \boldsymbol {p_{c}}, \end{equation}
\begin{equation} T = \begin{pmatrix} \dfrac {s_{f}}{3} & \left({\dfrac {s_{f}}{3}}\right)^{2} & \left({\dfrac {s_{f}}{3}}\right)^{3} & 0 \\ ~\dfrac {2s_{f}}{3} & \left({\dfrac {2s_{f}}{3}}\right)^{2} & \left({\dfrac {2s_{f}}{3}}\right)^{3} & 0\\ ~s_{f} & (s_{f})^{2} & (s_{f})^{3} & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}\!. \end{equation}
As
In addition, this re-parameterization makes the algorithm optimize the parameters that are not merely abstract mathematical symbols, but objects having physical interpretations. In the coefficient parameter space, it is impossible to give a lower and upper bound for parameter values for our problem. But this is trivial in the knot parameter space. A lower boundary,
a: Path Generation Problem Formulation
Given the current vehicle state \begin{align}&{\textbf{minimize}}~J = J_{smoothness}(\boldsymbol p_{r}) = \int _{0}^{s_{f}} \lVert \boldsymbol {\kappa (p_{r})} \rVert ^{2}ds \notag \\&{\textbf {s.t.}}~q(r(\boldsymbol p_{r}))=q_{init} \quad \text {when}~s = 0\notag \\&~~\,\,\quad q(r(\boldsymbol p_{r}))=q_{end} \quad \text {when}~s = s_{f}\notag \\&~~\,\, \quad 0 \leq s_{f} \leq s_{max}, \end{align}
\begin{equation} J_{smoothness} = \int _{0}^{s_{f}} \lVert \boldsymbol {\kappa (p_{r})} \rVert ^{2}ds \end{equation}
b: Path Selection in Single Phase
In the path selection stage, an efficient collision checking algorithm is employed to filter out paths in collision, which will be further described in the II-D section. Instead of considering multiple objectives to choose the best path among these collision-free paths, we use a single objective, the distance to the reference path, to select the best path. We argue that multiple objectives may conflict with each other, which can lead to hesitation and rapid variation in the selected path. Further, a single weighting coefficient matrix of the objectives may not be suitable for all scenarios encountered, and may require repeated tuning and careful selection of coefficients to achieve the desired behaviour throughout the set of operating conditions. It is non-trivial to find perfect coefficient matrix for every situation. Since the global path modification module has already refined the original global path and provided rational geometry information to guide the state sampling, the goal of the single phase state sampling step is to follow the modified reference path while satisfying nonholonomic constraints and keeping the selected paths collision-free. The multiple state space sampling method produces a curvature-continuous, collision-free, kinematic-feasible path, which satisfies all the requirements imposed on the path from the outset.
C. Speed Planning Along the Fixed Path
Speed planning plays an important role in guaranteeing the ride comfort and safety of the vehicle. Dynamic constraints of the vehicle are also enforced through the speed profile selection, by considering the slip circle. As a path with continuous curvature is provided, this section focuses on finding a minimum time speed profile traveling along a fixed path subject to the vehicle dynamics constraints, slip circle constraints, and actuator limits. The determination of an optimal speed profile along a fixed path has been shown to be a convex optimization problem [66], [67].
A workspace path, \begin{equation} r(s) = (x(s), y(s)), s \in [0, s_{f}] \end{equation}
\begin{equation} \vec {\boldsymbol {v}} = \dot {r}(s) = r^{\prime }(s)\dot {f}, \end{equation}
\begin{equation} r^{\prime }(s) = \big (\cos \left ({\theta (s)}\right), \sin \left ({\theta (s)}\right)\big) = \big (x'(s), y'(s)\big). \end{equation}
\begin{equation} \vec {\boldsymbol {a}} = \ddot r(s) = r^{\prime \prime }(s) \dot f^{2} + r^{\prime } \ddot f, \end{equation}
\begin{equation} \kappa = \lVert r'' \rVert \end{equation}
\begin{equation} R\boldsymbol {u} = m\ddot {r}, \end{equation}
\begin{equation*} R = \begin{bmatrix} \cos (\theta (s)) & -\sin (\theta (s)) \\ \sin (\theta (s)) & \cos (\theta (s)) \end{bmatrix} \end{equation*}
\begin{equation} \lVert \boldsymbol {u} \rVert \le \mu ~mg, \end{equation}
\begin{equation} \lVert \boldsymbol {u} \rVert \leq (a_{max}^{lat})^{2} + (a_{max}^{long})^{2} \leq (\mu ~mg)^{2}. \end{equation}
We now replace the \begin{equation} \alpha (s) = \ddot f,\quad \beta (s) = \dot f^{2}. \end{equation}
\begin{equation} \beta ^{\prime }(s) = 2\alpha (s), s\in [0, s_{f}]. \end{equation}
\begin{align}&\underset {\alpha (s),\beta (s), \boldsymbol {u}(s)}{{\textbf {minimize}}}~T = \int _{f(0)}^{f(t_{f})} \frac {1}{\dot {f}}ds = \int _{0}^{s_{f}} \beta (s)^{-\frac {1}{2}}ds \notag \\& {\textbf {s.t.}}~(14),(18) \notag \\&~~\,\quad \big (\alpha (s), \beta (s), \boldsymbol {u}(s)\big) \in \bigg \{ \big (\ddot r(s),\dot r^{2}(s), \boldsymbol {u}(s)\big) ~\big \vert \notag \\&~~\,\,\qquad \qquad \quad \lVert \boldsymbol {u} \rVert \leq \mu ~mg, u_{long} \leq ma_{max}^{long} \bigg \} \end{align}
D. Collision Checking
Collision checking is one of the most time-consuming processes in sampling-based motion planning module. For collision checking, we employ a similar method to that used in [25] and [38], but with an alternate footprint approximation strategy and a different collision checking routine to improve accuracy and efficiency, respectively. By applying the distance transform explained in [68] to the occupancy grid map, a clearance map that represents the distance to the closest obstacle is generated, as shown in Fig. 12. The footprint of the car is approximated by a cluster of circles. Given the footprint of a car, we first calculate a circumcircle of the footprint rectangle called the bounding circle,
(a) The grid map. (b) The clearance map by applying distance transform algorithms to the grid map.
(a) The footprint of a car. (b) Six-circle decomposition. (c) Four-circle decomposition. (d) Dimension and area errors of both decomposition strategies in percentage.
Since obstacles are represented in an occupancy grid map that can be easily generated from a practical perception system, our method works well on obstacles with general shapes in a realistic on-road autonomous driving system. Compared to the fast collision checking method used in [69], our method is able to avoid computationally-intensive calculations of
(a) An example of benchmark tests. The corresponding obstacle density is close to 20%. Colored rectangles depict car footprints and black disks represent obstacles. (b) Runtimes of the proposed two phase collision checking routine and single phase collision checking routine with the same 6 circle approximation for tests in (a).
Simulation Results
In order to highlight the performance and features of the proposed algorithm, we evaluate its performance in multiple challenging simulated scenarios, in presence of multiple obstacles. The proposed planning algorithm is implemented in C++ running on a PC with an Intel Xeon E3 processor at 2.8GHz and 8GB RAM in a Linux system. We compare the proposed algorithm with the hybrid A* path planning algorithm from Autoware6 [71] and the conjugate-gradient (CG) descent path smoother of [35]. We compare with the hybrid A* as it is a well tested planner and is used for both on-road driving and free-space driving scenarios in Autoware. The hybrid A* planner employs a customized collision checking method by checking grid cells of the footprint of the car for collision in the grid map. It is also an approximated collision checker due to the discrete grid representation. For the CG path smoother, we consider the obstacle avoidance term, the change of headings term, and the square of curvatures term mentioned in [35] as objectives to smooth the path of hybrid A* using the CG descent method. The corresponding coefficients of the aforementioned three terms are
Single phase state space sampling failures with a long planning horizon along a curvy road.
The vehicle model parameters are based on the dimensions of the Lincoln MKZ, shown in Fig. 16. The kinematics and dynamics of the vehicle are simulated in the high-fidelity V-REP simulator [72]. The global path and the road boundaries for traversable region extraction are predefined by Lanelet maps [73]. The proposed planner communicates with other support modules through ROS7. The vehicle model and other parameters used by the proposed planner are listed in Table 1. The curvature bounds are
A. Curvy Road Driving Without Obstacles
We set up a challenging test scenario on a curvy, single lane road with a width of 8 m. Fig. 18, Fig. 19, and Fig. 20 illustrate the scenario along with resulting paths, heading profiles, and curvature profiles respectively for the proposed planner, and the hybrid A* planner and its CG path smoother. It should be noted that the CG path smoother needs an initial path that is collision-free to get a result, or it may not be able to provide a solution. The resulting path of the hybrid A* planner is used as the input of the CG path smoother. Since the obstacle avoidance term in the CG path smoother is a soft constraint, the smoothed path is not guaranteed to be collision-free. Thus we conduct three experiments with different parameter settings (see Fig. 17) to find the best feasible path to compare with and show the limitations of their method as well. The S-CG path is not collision-free since the coefficient
CG paths with different coefficient settings. S-CG:
B. Curvy Road Driving With Dense Obstacles.
In the second scenario, we placed several consecutive static obstacles close together on the curvy road to investigate the obstacle avoidance ability and resulting path quality of the proposed planner, as shown in Fig. 22, Fig. 23, and Fig. 24. Similar to the previous tests, we conduct three experiments for the CG path smoother using different parameter settings to get a reasonable well result to compare with, as shown in Fig. 21. The results of S-CG and L-CG both collide with the obstacle or boundary of the road due to the reasons that have been stated in last subsection. Thus only detailed results of the M-CG path smoother are presented in the following comparison. As the hybrid A* planner cannot exactly reach the goal state with discretized motion primitives, we set a 0.3 m tolerance on the position dimension to prevent unbounded search or failures for the hybrid A* planner. All the listed planners are able to generate collision-free, kinematically-feasible paths to reach the goal, as depicted in Fig. 22. According to results in Table 3, the path length of the hybrid A* planner is slightly shorter (0.18 m) than that of the proposed planner in this scenario. However, the path endpoint of the hybrid A* did not exactly reach the goal according to the
CG paths with different coefficient settings. S-CG:
To compare the runtime, we ran all the planners 1000 times for the same scenario with the same start and goal, then calculated the mean and the standard deviation of the runtime for a single planning loop in both cases. To keep the comparison fair, we only compare the running time of path generation part of the both planners since there is no speed planning module available for the hybrid A* planner and the CG path smoother. The running time of the speed planning layer for our planner is also listed separately for reference. The related results are presented in Table 3. The proposed planner only consumed 17.81% and 22.26% of time of the hybrid A* planner in Fig. 18 and Fig. 22 cases with the presented planning horizon, respectively. It should be noted the runtimes of the CG path smoother listed in Table 3 only show the time consumed in the smoothing process. The final runtime for the result of the CG path smoother should be the summation of runtimes of the hybrid A* path generation part and the CG path smoothing part. Thus, the proposed method also outperforms the overall CG path smoother in run-time performance. Since the first running of the hybrid A* planner took over 2000 ms for setting up, we removed it from the results for fairness. As the hybrid A* planner needs to build a huge 3D search space to explore, it took up to 3072MB memory while the proposed planner requires only 20MB memory. The CG path smoother itself takes memory beween 60MB and 90MB roughly for one planning cycle. For both planning scenarios, the optimized global path generated by the global path modification (GPM) layer is shorter and smoother than the final path. This is due to the fact that the GPM layer searches a 2D workspace and optimizes the path without considering the nonholonomic constraints and current heading of the car. The GPM provides the shortest path through the environment subject to the given constraints, but non-collision and kinematic feasibility of the path are not guaranteed. The small deviation between the optimized global path and final path, as well as the curvature profiles in Fig. 18 and Fig. 22 justify the three layer decomposition presented in this work, as each layer refines the previous result without drastically altering it.
Interested readers are encouraged to view a video of the proposed planner for this scenario, available at https://vimeo.com/257666203. An MPC controller is integrated into the system to track the resulting final path in the video. Note that we did not deliberately tune the weight matrix of the MPC controller for this case. The car is still able avoid the consecutive obstacles. In addition, the grid map data is noisy between frames in simulation, and the proposed planner handled it well through rapid re-planning. We also include several planning results of different on-road driving scenarios without quantity analyses, shown in Fig. 26.
In terms of dynamic constraints of cars, the normalized longitudinal and lateral accelerations results of the speed planning portion are plotted with a friction circle (“g-g” diagram [74], [75]) in Fig. 25 for the obstacle free scenario of Fig. 18. As depicted in Fig. 25, the accelerations at every point of the trajectory were limited within the friction circle and all the longitudinal accelerations are below the max longitudinal acceleration threshold. As the objective of speed planning is minimum time of travel along the path, most acceleration points tend to stay close to the acceleration limits imposed on the solution.
Conclusion
In this paper, we have presented a novel and efficient hybrid trajectory planning framework to handle geometry constraints, nonholonomic constraints and dynamics constraints nicely in a human-like and layered fashion. The proposed method employs a derivative-free global path modification algorithm to refine the reference path and extract high-order state information in free space for state sampling, which provides correct guidance information for sampling and increases sampling efficiency as well. By extending a single phase state space sampling to a multi-phase state space sampling, our method is able to approximate complex motions without bringing in too much computation burden. The proposed method also exploits a more accurate and efficient collision checking algorithm to filter out sampling paths in collision. The results show our method is able to generate curvature-continuous, kinodynamic-feasible, smooth and collision-free trajectories in real-time while using fewer computational resources and outperforming the hybrid A* planner, the CG path smoother and the single phase state space sampling method in multiple challenging planning scenarios.
Although we have addressed the trajectory planning problem with several essential constraints for autonomous driving in highly constrained environments, our method does not consider dynamic obstacles explicitly. By fast re-planning, our method is able to avoid some of the dynamic obstacles in a reactive way. But it’s not ideal and safety-guaranteed. We will consider dynamic obstacles in both spatial and temporal domain in our future research and investigate how to manipulate lateral motions and longitudinal motions of cars to avoid dynamic obstacles smartly.
ACKNOWLEDGMENT
The authors would also like to thank the anonymous reviewers for their comments and suggestions.