This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Continuous-Curvature Target Tree Algorithm for Path Planning in Complex Parking Environments

Minsoo Kim1, Joonwoo Ahn1, and Jaeheung Park1,2 1The authors are with DYROS Lab, Graduate School of Convergence Science and Technology, Seoul National University, Seoul, Republic of Korea. (msk930512, joonwooahn, park73)@snu.ac.kr2Jaeheung Park is also with Advanced Institutes of Convergence Technology(AICT), Suwon, Republic of Korea. He is the corresponding author of this paperThis work has been submitted to the IEEE for possible publication. Copyright may be transferred without notice, after which this version may no longer be accessible.
Abstract

Rapidly-exploring random tree (RRT) has been applied for autonomous parking due to quickly solving high-dimensional motion planning and easily reflecting constraints. However, planning time increases by the low probability of extending toward narrow parking spots without collisions. To reduce the planning time, the target tree algorithm was proposed, substituting a parking goal in RRT with a set (target tree) of backward parking paths. However, it consists of circular and straight paths, and an autonomous vehicle cannot park accurately because of curvature-discontinuity. Moreover, the planning time increases in complex environments; backward paths can be blocked by obstacles. Therefore, this paper introduces the continuous-curvature target tree algorithm for complex parking environments. First, a target tree includes clothoid paths to address such curvature-discontinuity. Second, to reduce the planning time further, a cost function is defined to construct a target tree that considers obstacles. Integrated with optimal-variant RRT and searching for the shortest path among the reached backward paths, the proposed algorithm obtains a near-optimal path as the sampling time increases. Experiment results in real environments show that the vehicle more accurately parks, and continuous-curvature paths are obtained more quickly and with higher success rates than those acquired with other sampling-based algorithms.

Index Terms:
Path Planning, Autonomous Parking, Target Tree algorithm, Rapidly-exploring Random Tree.

I Introduction

Path planning is a key component in autonomous parking tasks [1, 2]. Path planning methods for parking need to satisfy the following conditions. First, a collision-free path should be planned considering various obstacles around the parking spot. Second, the parking path should be obtained within a short planning time, even in complex parking situations. Third, the path needs to be a continuous-curvature path for the autonomous vehicle to track and park accurately. In other words, the method needs to consider the vehicle’s kinematic constraints, such as minimum turning radius and maximum steering velocity.

Various path planning methods take the abovementioned conditions into account, such as geometric, optimization-based, grid search-based, and sampling-based methods. A geometric method plans the parking path in a short planning time by a combination of simple geometric curves that considers the vehicle’s constraints [3, 4, 5, 6, 7]. However, this approach may fail to find the path in complex parking environments where the road is narrow due to obstacles near the parking spot. Optimization-based methods have been applied in various parking situations [8, 9, 10]; they formulate the path planning problem as an optimization problem. This optimization problem needs to be convexified to find the path within a short planning time. A grid search-based method searches the parking path in a grid unit while considering the vehicle’s constraints [11, 12, 13]. This technique can certainly find the path and needs a short planning time in simple parking situations. However, the path quality depends on the grid resolution. The planning time can increase with a higher grid resolution.

Rapidly-exploring random tree (RRT) [14], a typical sampling-based method, was studied for parking in [15, 16, 17, 18]. RRT is guaranteed to find a collision-free path, if one exists, and the path does not depend on the discretization. Compared with the optimization- and grid search-based methods, RRT can plan the path within a shorter planning time when the road is narrow and obstacles surround the parking spot. Nevertheless, the planned path may vary in accordance with random samples. Furthermore, the planning time can be further increased by the low probability that the random sample is connected to the tree without collisions at a narrow parking spot and in a narrow road.

The target tree algorithm [19] was proposed to find the parking path in a shorter planning time than RRT path planning algorithm. The target tree algorithm substitutes a parking goal in RRT with a set (target tree) of backward parking paths, and each backward path consists of candidate goals. If one of the candidate goals is reached by RRT, then the parking path is found. The target tree algorithm can reduce the planning time by building the backward parking paths in advance such that narrow regions need not be searched by RRT. However, the autonomous vehicle cannot easily track the path and park accurately due to the curvature-discontinuity between the circular and straight paths in the target tree. A parking path with such curvature-discontinuity does not take into account the vehicle’s steering velocity. Moreover, the target tree should be constructed considering the obstacles in complex parking environments to reduce the planning time. This is because the planning time can be further increased or decreased according to the narrow regions covered by the target tree.

To address these limitations, this paper presents the continuous-curvature target tree algorithm for complex autonomous parking situations. First, the proposed target tree algorithm builds a continuous-curvature target tree, which considers the vehicle’s maximum steering velocity. This target tree allows the vehicle to track the path and park more accurately than it can with using the original target tree algorithm. Second, a cost function is proposed to construct a target tree that considers obstacles in complex parking situations. The target tree that can minimize the area to be searched by RRT is identified by using this cost function, and the planning time is reduced. The proposed algorithm is integrated with optimal-variant RRT (RRT*) and searches for the minimum-length path among the randomly reached candidate goals, thereby obtaining a shorter parking path within the given sampling time.

The rest of this paper is organized as follows. In Section II, other path planning methods for parking are introduced. In Section III, the background of the target tree algorithm [19] and its limitations are discussed. Section IV details the proposed path planning algorithm in three parts: i) continuous-curvature target tree, ii) cost function for reducing the planning time, and iii) minimum-length path selection. The experimental results are presented in Section V. Section VI concludes this study.

II Related Works

The path planning methods for autonomous parking can be categorized into four groups [20]: geometric, optimization-based, grid search-based, and sampling-based methods.

Geometric methods are presented in [3, 4, 5, 6, 7]. These methods plan a path on which the vehicle drives out of the parking spot with a set of geometric curves, such as a circular arc or a straight line, and find a path connecting this path to the vehicle’s initial pose using other geometric curves. Geometric methods are simple and can plan the parking path with a shorter planning time than can optimization-, grid search-, and sampling-based methods. However, geometric approaches may fail to find the path in complex parking situations where the road is narrow due to obstacles near the parking spot. Moreover, their use can be limited due to the assumption that the path contains one forward/backward direction switch [3, 5, 6].

Optimization-based methods formulate parking path planning as an optimal control problem (OCP) [8, 9, 10], and solve it by numerical optimization. These methods can consider desired parking behaviors as the objective function, such as minimization of the number of forward/backward direction switches, minimization of path length, or maximization of the obstacle clearance of the path. Any vehicle’s kinematic constraints can be considered by the equality/inequality constraints. However, the optimization problem needs to be convexified to find the path within a relatively short time. Approximating complex parking situations to be convexified can be difficult, and an inaccurate path can be obtained.

Grid search-based methods were applied for parking path planning in [11, 12, 13]. A grid search-based path planning approach, such as Hybrid-A* [21], discretizes the configuration space as a set of grids and incrementally searches these grids to find the path. This method is guaranteed to find a collision-free path if the path exists, and this parking path can be obtained within a short planning time in simple parking situations. However, high-resolution grids can be required for parking paths when parking needs several forward/backward direction switches. These high-resolution grids can exponentially increase the planning time.

A sampling-based method, typically RRT [15, 16, 17, 18], finds the path by incrementally searching the configuration space through random samples. It does not depend on the discretization of the grids, and the path can be obtained within a shorter planning time in complex parking situations than can optimization- and grid search-based methods. However, as mentioned in Section I, the parking path may vary, and the planning time can be increased by narrow regions. RRT* [22] can keep the parking path from varying through a tree-rewiring step, but this step requires further planning time. There are bidirectional approaches [23, 24, 25, 26] that reduce the planning time by growing another tree from the parking spot and connecting the two trees. These approaches can search for a narrow parking spot in advance. However, the planning time can increase if the two trees grow toward directions that are difficult to connect.

III Background:
Target Tree Algorithm and its Limitations

The target tree algorithm was proposed in [19] for parking path planning with RRT to reduce planning time. The target tree algorithm is detailed in Algorithm 1. First, the target tree is initialized (line 1 in Algorithm 1), as shown in Fig. 1(a). The algorithm builds a set of backward parking paths on which the parked vehicle drives out of the parking spot without collisions, and this set is defined as the target tree (TtargetT_{target}). Each backward parking path, as a branch of the target tree, consists of a straight path and a circular path. The straight path is determined by the vehicle driving straight out of the parking spot. The circular path is built from the end of this straight path. Each backward parking path is built by changing the circular path’s curvature within {κmax-\kappa_{\text{max}}, …, κmax\kappa_{\text{max}}}. The backward parking path of the target tree is discretized as a set of poses (black arrows in Fig. 1), and each pose becomes a candidate goal to be reached by the RRT tree (TT). If one of these goals is reached, then the parking path is obtained (lines 9-11 in Algorithm 1). However, the target tree algorithm has two limitations.

Refer to caption
Refer to caption
Refer to caption
Figure 1: Path planning for parking with the target tree algorithm and RRT. The set of black arrows is the target tree, and the set of blue arrows is the RRT tree. The green trajectory is the planned path. (a) The path includes discontinuous-curvature points (yellow dots). (b) The planning time increases when the target tree does not cover the narrow region (yellow rectangle). (c) It can be reduced by the target tree covering larger areas that include this narrow region.
0:  qinitq_{init}, qgoalq_{goal}
0:  pathpath
1:  TtargetT_{target}\leftarrow InitializeTargetTree(qgoalq_{goal});
// The continuous-curvature target tree is initialized
by using a cost function (Algorithm 2, in Section IV-B)
2:  TT\leftarrow InitializeTree(qinitq_{init});
3:  while t<tmaxt<t_{max} do
4:     qrandq_{rand}\leftarrow Sample(TtargetT_{target}, τ\tau);
5:     qnearestq_{nearest}\leftarrow Nearest(qrand,Tq_{rand},T);
6:     qnewq_{new}\leftarrow Steer(qnearest,qrandq_{nearest},q_{rand});
7:     if ObstacleFree(qnearestq_{nearest}, qnewq_{new}then
8:        TT\leftarrow InsertNode(qnewq_{new});
9:        if  qnewTtargetq_{new}\in T_{target}  then
10:           pathpath\leftarrow ExtractPath(T,qnew,TtargetT,q_{new},T_{target});
11:           break;
// Lines 10 and 11 are replaced by Eqs. 5 and 6
to find a shorter parking path (in Section IV-C)
12:        end if
13:     end if
14:  end while
15:  return  pathpath
* The blue font details the proposed algorithm.
Algorithm 1 Target tree algorithm [19]
* The blue font details the proposed algorithm.

First, the target tree includes a discontinuous-curvature point (yellow dot in Fig. 1(a)) between the straight and circular paths. This point can increase the probability of collision while the autonomous vehicle tracks the path and parking alignment error when the vehicle is parked. This is because when the vehicle tracks from the circular path to the straight path, it needs to instantly change the steering angle from the maximum steering to zero at this discontinuous point. A real vehicle cannot achieve this due to its maximum steering velocity. Thus, the vehicle may deviate from the path and cannot be parked accurately at the parking spot. This problem may be addressed by an additional path-smoothing step that converts this discontinuous-curvature path to a continuous-curvature one. However, it requires additional computational time because the vehicle’s kinematic constraints and collisions will be re-considered at a narrow parking spot. This curvature-discontinuity problem is addressed by the proposed continuous-curvature target tree in Section IV-A.

Second, a target tree that does not consider obstacles can increase the planning time in complex parking environments. This is because, the area of the road covered by the target tree (cyan rectangles in Fig. 1) varies depending on the environment, and the planning time can be further increased or decreased. For example, Fig. 1(b) shows an area that the target tree cannot cover due to obstacles (yellow rectangle). Accordingly, this area needs to be searched by the RRT tree, and the planning time may increase. In Fig. 1(c), if the length of the straight path in the target tree is increased to cover a larger area of the road, then the planning time can be reduced. However, the target tree needs to be constructed manually for each parking situation. The proposed cost function deals with this problem by calculating the cost of the target tree and identifying a proper target tree for each parking situation. This process is detailed in Section IV-B.

The proposed target tree algorithm is integrated with RRT* instead of RRT and searches for a shorter path (i.e., minimum-length path selection). This integration allows the target tree algorithm to obtain the minimum-length parking path (near-optimal path) within the given sampling time (tmaxt_{max}), even after the first parking path is found (lines 10 and 11 in Algorithm 1). This procedure is described in Section IV-C.

IV Continuous-Curvature Target Tree Algorithm for Complex Parking Environments

IV-A Continuous-Curvature Target Tree

The proposed continuous-curvature target tree addresses the curvature-discontinuity of the original target tree [19] by using a clothoid path. A clothoid path was used to find a continuous-curvature path by addressing the curvature-discontinuity between straight lines and circular arcs in [27, 28]. Motivated by these works, the continuous-curvature target tree in the present work is defined as a set of backward parking paths with continuous curvature by including a clothoid path between the straight and circular paths. In contrast to the original target tree, the continuous-curvature target tree considers not only the vehicle’s minimum turning radius but also its steering velocity.

The vehicle model for the continuous-curvature target tree is defined as a kinematic bicycle model [29], and additionally considers the curvature derivative of the path. The vehicle model is defined as

(xyθκ)=(cos(θ)sin(θ)tan(δ)L0)d+(000σ),\displaystyle\begin{pmatrix}x^{\prime}\\ y^{\prime}\\ \theta^{\prime}\\ \kappa^{\prime}\end{pmatrix}=\begin{pmatrix}cos(\theta)\\ sin(\theta)\\ \dfrac{tan(\delta)}{L}\\ 0\end{pmatrix}d+\begin{pmatrix}0\\ 0\\ 0\\ \sigma\end{pmatrix}, (1)

where (x,y)(x,y) is the position of the center of the rear axle. θ\theta means the orientation of the vehicle. LL is the wheelbase of the vehicle, and δ\delta is the vehicle’s steering angle. dd is the forward or backward direction of the vehicle. ()(\bullet^{\prime}) means the derivative with respect to the path length. κ\kappa (=θ=\theta^{\prime}) is the curvature of the path. σ\sigma means the sharpness, the curvature derivative. The sharpness is related to δ\delta^{\prime}, the vehicle’s steering velocity of the front wheels (κ=δLcos2(δ)\kappa^{\prime}=\dfrac{\delta^{\prime}}{Lcos^{2}(\delta)}). The curvature of the path κ\kappa and its derivative σ\sigma are constrained by |κ|κmax|\kappa|\leq\kappa_{\text{max}} and |σ|σmax|\sigma|\leq\sigma_{\text{max}}.

Refer to caption
Refer to caption
Refer to caption
Figure 2: Descriptions of the continuous-curvature target tree. (a) Continuous-curvature target tree for perpendicular and parallel parking. The target tree is represented as the set of the black arrows. The green, cyan, and red solid lines are the straight, clothoid, and circular paths, respectively. (b) The plot represents the leftmost path of the target tree for perpendicular parking. (c) A set of circular paths, and a clothoid path are added for parallel parking.

The continuous-curvature target tree is divided into perpendicular and parallel parking cases (see Fig. 2). For perpendicular parking, the continuous-curvature target tree consists of straight, clothoid, and circular paths (left part of Fig. 2(a)). For parallel parking, the continuous-curvature target tree is designed by adding a set of backward and forward circular paths, and a clothoid path (right part of Fig. 2(a)). The vehicle can be parked by aligning it to the parking spot by moving forward and backward via these additional paths.

Refer to caption
Figure 3: Description of the cost for each target tree. The light gray grid measures 1 m ×\times 1 m. BLeftB_{Left} and BRightB_{Right} are the left and right branches, respectively, of the target tree with respect to the xx-axis. lmaxl_{\text{max}} and wmaxw_{\text{max}} are the maximum length and width of the rectangle, respectively, when there are no obstacles (situation #0). The green rectangles denote the area that the target tree covers when there are no obstacles. The red shaded area is ΣkAk\Sigma_{k}A_{k}, which the target tree covers when there are obstacles.

The clothoid path is a path of which curvature is changed linearly by the path length. The curvature, κ\kappa, is described as

θ(s)=κ(s)=σs,\displaystyle\theta^{\prime}(s)=\kappa(s)=\sigma s, (2)

where ss is the path length. In Fig. 2(b), the curvature of the clothoid path (cyan line) is initially zero. It is changed linearly from zero to the maximum curvature, κmax\kappa_{\text{max}}, by the sharpness, σ\sigma, as the slope in the path length and curvature plot. After the clothoid path, the vehicle’s configuration, qclq_{cl}, can be derived with respect to the xyxy-axis in Fig. 2(a), given as

qcl=(xclyclθclκcl)=(π/σCf(κmax2/(πσ))π/σSf(κmax2/(πσ))κmax2/(2σ)κmax),\displaystyle q_{cl}=\begin{pmatrix}x_{cl}\\ y_{cl}\\ \theta_{cl}\\ \kappa_{cl}\end{pmatrix}=\begin{pmatrix}\sqrt{\pi/\sigma}C_{f}(\sqrt{\kappa_{\text{max}}^{2}/(\pi\sigma)})\\ \sqrt{\pi/\sigma}S_{f}(\sqrt{\kappa_{\text{max}}^{2}/(\pi\sigma)})\\ \kappa_{\text{max}}^{2}/(2\sigma)\\ \kappa_{\text{max}}\end{pmatrix}, (3)

where (xcl,ycl,θcl)(x_{cl},y_{cl},\theta_{cl}) is the vehicle’s pose after the curvature changes from zero to κmax\kappa_{\text{max}} through the clothoid path. Cf(s)C_{f}(s) and Sf(s)S_{f}(s) are Fresnel Integrals [30] defined as Cf(s)=0scos(π2u2)𝑑uC_{f}(s)=\int_{0}^{s}cos(\frac{\pi}{2}u^{2})du and Sf(s)=0ssin(π2u2)𝑑uS_{f}(s)=\int_{0}^{s}sin(\frac{\pi}{2}u^{2})du.

The sharpness, σ\sigma, is changed within {σmax,,σmax}\{-\sigma_{\text{max}},...,\sigma_{\text{max}}\} to build the branches of the continuous-curvature target tree. For example, the branch of the target tree in the left part of Fig. 2(a) (the green, cyan and red lines) is constructed by setting the sharpness as σmax\sigma_{\text{max}}. As the sharpness, σ\sigma, decreases from σmax\sigma_{\text{max}} to σmax-\sigma_{\text{max}}, the other branches are formed. At each branch, when the clothoid path’s curvature becomes the maximum curvature, κmax\kappa_{\text{max}}, the circular path whose radius is κmax1\kappa_{\text{max}}^{-1} (red line) is added to the end of the clothoid path (see Fig. 2(b)). If the curvature does not reach the maximum curvature due to collisions, the branch will consist of straight and clothoid paths.

For parallel parking, a set of circular paths, and a clothoid path are added to the straight and turning paths. This set of circular paths was proposed in [31] as a method by which a vehicle drives out of a parking spot in parallel parking. The continuous-curvature target tree for parallel parking is described in Fig. 2(c). The backward circular path is built by the vehicle driving backward from the parking spot, qgoalq_{goal}, to approach the rear obstacle without collisions. The vehicle’s direction is switched to forward, and the forward circular path is added. If the vehicle can drive out of the parking spot with these circular paths, the clothoid path whose curvature is changed from κmax\kappa_{\text{max}} to zero is added to the end of this forward circular path. Otherwise, another set of backward and forward circular paths is added, and the above steps is repeated. For example, in the right part of Fig. 2(a), two sets of backward and forward circular paths, and the clothoid path are built. The number of sets of circular paths is increased as the dimensions of the parking spot are decreased [31].

IV-B Cost Function for Reducing Planning Time in Complex Parking Environments

The cost function is proposed to determine the target tree that can reduce the planning time. The target tree that covers a larger area of the road for a parking situation is identified, by calculating the cost of the target tree. This is because the area to be searched by RRT can be reduced if the road could be covered widely by the target tree. In this regard, the planning time can be reduced further if the target tree covers a larger area of the road. The larger the area that the target tree covers, the lower the cost of the target tree.

Examples for calculating the cost of the target tree are shown in Fig. 3. The cost function uses the area covered by the turning path of the target tree. The area is divided into two portions with respect to the straight path of the target tree. It is represented as the red rectangles. Each portion is calculated by the length and width of each rectangle. The length (width) is defined as the maximum distance of the turning path along the xx-axis (yy-axis). The cost function is defined as

cost=1(ΣkAk)/(2lmaxwmax),Ak=maxbBk|xb|×maxbBk|yb|,\displaystyle\begin{aligned} cost&=1-(\Sigma_{k}A_{k})/(2l_{\text{max}}w_{\text{max}}),\\ A_{k}&=\max_{\forall b\in B_{k}}\lvert x_{b}\rvert\times\max_{\forall b\in B_{k}}\lvert y_{b}\rvert,\end{aligned} (4)

where xbx_{b} and yby_{b} are the coordinates at the end of each branch bb in the target tree. BkB_{k} means the set of the branches at {Left, Right} in the target tree in Fig. 3. maxbBk|xb|\max_{\forall b\in B_{k}}\lvert x_{b}\rvert and maxbBk|yb|\max_{\forall b\in B_{k}}\lvert y_{b}\rvert are the length and width, respectively. Thus, AkA_{k} means the area of each red rectangle, and ΣkAk\Sigma_{k}A_{k} means the area covered by the turning paths of the target tree (see Fig. 3). lmaxl_{\text{max}} and wmaxw_{\text{max}} are the length and width, respectively, when there are no obstacles blocking the turning paths of the target tree. In the case of Fig. 3 (top-left), lmaxl_{\text{max}} becomes the length of the turning path. wmaxw_{\text{max}} is calculated by the distance of the turning path along the yy-axis, in the leftmost branch. Hence, 2lmaxwmax2l_{\text{max}}w_{\text{max}} in (4) denotes the area covered by the target tree when there are no obstacles, and it is depicted as the green rectangles. (ΣkAk)/(2lmaxwmax)(\Sigma_{k}A_{k})/(2l_{\text{max}}w_{\text{max}}) in (4) becomes the ratio of the area covered by the target tree in the parking situation to the area covered by the target tree when there are no obstacles around the turning paths.

The proposed target tree algorithm initializes the target tree using (4), as detailed in Algorithm 2.

0:  qgoalq_{goal}
0:  TtargetT_{target}
1:  T ==\varnothing;
2:  for l=0,α,2α,,lparkingl=0,\alpha,2\alpha,...,l_{parking} do
3:     TtargetT_{target}\leftarrow ContinuousCurvatureTargetTree(qgoalq_{goal}, ll);
4:     costcost\leftarrow CalculateCost(TtargetT_{target});
5:     T \leftarrow pushback((TtargetT_{target}, costcost));
6:  end for
7:  return  GetMinimumCostTree(T);
Algorithm 2 InitializeTargetTree(qgoalq_{goal})

For determining the target tree that considers obstacles, continuous-curvature target trees are built by changing the length of the straight path, ll, from zero to the length of the parking spot, lparkingl_{parking}, by intervals of α\alpha (lines 2-6 in Algorithm 2). The costcost of each target tree is calculated by the proposed cost function in (4) (line 4 in Algorithm 2). For example, in parking situation #1 in Fig. 3, the costcost of the target tree is calculated with different lengths of the straight path, ll. The continuous-curvature target tree, TtargetT_{target}, with minimum costcost is selected among those target trees (line 7 in Algorithm 2).

IV-C Minimum-Length Path Selection for Finding Shorter Parking Path

The proposed target tree algorithm finds a shorter parking path by integrating with RRT* and executing the minimum-length path selection step. RRT* rewires a tree (denoted as TT in Algorithm 1) to reduce the length of the RRT* path that connects qinitq_{init} to a reached candidate goal, qnewq_{new}. The proposed path selection step searches for a shorter parking path among the randomly reached candidate goals of the target tree within the sampling time (tmaxt_{max} in Algorithm 1).

The minimum-length path selection step replaces lines 10 and 11 in Algorithm 1. First, several candidate goals of the target tree reached by the RRT* tree, TT, are stored within the sampling time. This is because, even after the first parking path is obtained, RRT* paths that reach other candidate goals may be found during the additional time for a tree-rewiring step. Lines 10 and 11 in Algorithm 1 are replaced by,

QsolnQsoln{qnew},\displaystyle\begin{aligned} Q_{soln}\leftarrow Q_{soln}\cup\{q_{new}\},\end{aligned} (5)

where qnewq_{new} is the candidate goal in the target tree reached by the RRT* tree, TT. QsolnQ_{soln} is a set of these goals. Next, the minimum-length path selection step is added as follows,

pathGetMinimumLenPath(T,Qsoln,Ttarget).\displaystyle\begin{aligned} path\leftarrow\text{{GetMinimumLenPath}(}T,Q_{soln},T_{target}\text{)}.\end{aligned} (6)

In the GetMinimumLenPath function, the shortest parking path is returned among a set of the reached candidate goals, QsolnQ_{soln}. This function is executed when one of the candidate goals is reached or when the RRT* tree, TT, is rewired. This minimum-length path selection step allows the target tree algorithm to find a shorter parking path as the sampling time increases. It is similar to the RRT* path planning algorithm, which finds a shorter path by adding a tree-rewiring step to RRT. The path selection step can also be used when the cost function for tree rewiring considers not only the path length but also other costs such as the number of forward/backward direction switches, and obstacle clearance.

V Experiments and Discussions

V-A Experimental Setup

The proposed algorithm was tested with an autonomous vehicle in real parking environments. The hardware configuration of the autonomous vehicle is shown in Fig. 4. The proposed target tree algorithm was implemented with Open Motion Planning Library (OMPL) [32]. The vehicle’s dimensions and path planning parameters are described in Table I.

TABLE I: Vehicle dimensions and planning parameters for experiments
Parameter Value
vehicle length 4.910 m
vehicle width 1.860 m
wheel base (LL) 2.845 m
max. curvature (κmax\kappa_{\text{max}}) 1/6.000 m-1
max. sharpness (σmax\sigma_{\text{max}}) 0.200 m-2

The hybrid curvature (HC) tree-extension function [28] was used when the proposed target tree algorithm was integrated with RRT* for planning the continuous-curvature parking path. A kanayama controller [33] was used for tracking the parking path. The controller received the vehicle’s position and orientation relative to the path and curvature of the path as inputs, and the vehicle’s input steering angle was calculated. The vehicle’s maximum velocity was set to 4 km/h and 2 km/h when tracking the RRT path and the backward parking path of the target tree, respectively. The vehicle’s velocity was decreased in an inversely proportional manner to the path’s curvature. At the forward/backward direction switch, the vehicle stops for 3 s to change the steering angle. The LeGO-LOAM algorithm [34] was used to obtain the vehicle’s position and orientation relative to the path.

Refer to caption
Figure 4: Hardware configuration of the autonomous vehicle. The autonomous vehicle belongs to the Dynamic Robotic Systems (DYROS) laboratory at Seoul National University.

V-A1 Experiments for continuous-curvature target tree

In the first experiment, the effectiveness of the continuous-curvature target tree was evaluated. The continuous-curvature target tree algorithm with RRT* and HC tree-extension function was compared with i) the original target tree algorithm with RRT [19] and ii) the original target tree algorithm with RRT* and HC tree-extension function. The parking path was planned by each algorithm, and the autonomous vehicle tracked the path and parked in perpendicular and parallel parking situations. The first experiment was repeated five times for each algorithm, and the path tracking and parking alignment errors were measured.

V-A2 Experiments for cost function

In the second experiment, the effectiveness of the proposed cost function was evaluated. The path planning time was measured when the parking path was planned with the target tree determined by the proposed cost function. The parking situations included a parallel-parked vehicle near the parking spot, in which parking required considering a narrow region (the road width was reduced to about 3.5 m), i.e., a complex parking environment. Continuous-curvature target trees with different costcosts were built in each parking situation. Each target tree was built by discretely changing the length of the straight path by the interval, α\alpha (Algorithm 2). The interval, α\alpha was set to 0.2 m considering the road width and the dimensions of the parallel-parked vehicle. The proposed algorithm (using the minimum-costcost target tree) was compared with the target tree algorithm with higher-costcosts target tree. Also, it was compared with other sampling-based algorithms for parking, which uses informed-RRT* [35] and bidirectional-RRT* [26], respectively. In [35], the RRT* tree was built from the parking spot, and informed sampling was applied to reduce the planing time. In [26], bidirectional tree growth was combined with RRT* to deal with a narrow parking spot. The path was planned 100 times for each algorithm. The path length, planning time, and planning success rate were measured. The maximum sampling time in RRT* (tmaxt_{max} in Algorithm 1) was set to 3 s for considering the tree-rewiring step. The path planning was deemed to have failed when the path was not found within the sampling time. The cost function for tree rewiring considered the path length.

Refer to caption
Figure 5: Path tracking results from five repetitions for each algorithm. In the tables, each error is described as ’mean ±\pm standard deviation’ in the five repetitions. An example of one of the results in the five repetitions is shown above each table. In a parking configuration, the red trajectory is the vehicle’s trajectory. In a steering angle plot, the red dashed line is the input steering angle by the controller, and the red solid line is the vehicle’s actual steering angle.

V-B Experimental Results

V-B1 Analysis of results and discussion of continuous-curvature target tree experiments (Section V-A1)

The results of the first experiment where the vehicle tracks the path and parks are shown in Fig. 5. The parking result of the proposed algorithm is shown in a video111https://youtu.be/8B7C-7Wg33w. The cross-track error, which is the shortest distance between the vehicle’s position and the closest point on the path while tracking the path, was calculated when the vehicle tracked the target tree path. The lateral/orientation parking alignment errors were calculated by comparing the vehicle’s pose and the parking goal when the vehicle was parked. These parking alignment errors are criteria for determining whether a vehicle is parked properly.

As seen in Fig. 5, the proposed target tree algorithm planned parking paths, where the vehicle tracked and parked with fewer tracking and parking errors. The input steering angle was calculated considering the steering velocity, and the vehicle’s steering angle (red solid line) was controlled with the input steering angle (red dashed line) without error. When the vehicle was parked, in the proposed algorithm, all four wheels of the vehicle did not invade the parking line in contrast to the original algorithm [19]. In the perpendicular parking case, the lateral and orientation alignment errors were reduced by more than half compared with the case of the original target tree. In the parallel parking case, the lateral alignment error was not significantly reduced because the vehicle moved forward and backward several times near the parking spot. Nevertheless, these direction switches reduced the orientation alignment error by one-third compared with the tracking with the original target tree.

V-B2 Analysis of results and discussion of cost function experiments (Section V-A2)

Refer to caption
Figure 6: Parking situations for analyzing the relationship between the path planning performance and the cost of target tree under perpendicular (#1) and parallel (#2) parking. Each result with a different target tree is represented as ’#number (costcost): the mean time for the first solution by the target tree algorithm’. The target tree in ‘-a’ is the minimum-costcost target tree determined by using the proposed cost function. The target tree in ‘-d’ is the original target tree [19].

The results of the path planning experiments in parking environments with narrow regions are shown in Table II. ‘#number-a, b, c, d (costcost)’ represent the target tree algorithms with different costcost target tree, integrated with RRT*. The time for search, ttfst_{\text{tfs}}, is the time for determining the minimum-costcost target tree by Algorithm 2. The time to the first path, tttfpt_{\text{ttfp}}, means the time for finding the first parking path within the sampling time. Continuous-curvature target trees (#number-a, b, c) are shown in Fig. 6. Each target tree had a different costcost with respect to the length of the straight path. In the case of #number-a, the minimum-costcost target tree was obtained by Algorithm 2. For comparison with the original target tree algorithm [19], in #number-d, the original target tree was used with RRT* to plan the parking paths.

TABLE II: Experimental results for path planning. The path length, time for search (ttfst_{\text{tfs}}), time to the first solution path (tttfpt_{\text{ttfp}}), total planning time (ttotalt_{\text{total}}), and planning success rate are listed.
Path planning algorithm
Path
length [m]
ttfst_{\text{tfs}}
[ms]
tttfpt_{\text{ttfp}}
[ms]
ttotalt_{\text{total}}
[ms]
Success
rate [%]
perpendicular (#1) #1-a (0.572, min-costcost) 20.6 ±\pm 2.9 82 ±\pm 2 45 ±\pm 30 127 100
#1-b (0.770) 25.8 ±\pm 3.6 - 952 ±\pm 771 952 75
#1-c (0.878) 28.2 ±\pm 3.9 - 1123 ±\pm 883 1123 47
#1-d (0.743) [19] 25.6 ±\pm 3.9 - 767 ±\pm 702 767 76
Informed-RRT* [35] 27.4 ±\pm 5.0 - 715 ±\pm 788 715 84
Bidirectional-RRT* [26] 25.9 ±\pm 4.7 - 737 ±\pm 698 737 89
parallel (#2) #2-a (0.891, min-costcost) 16.8 ±\pm 2.3 12 ±\pm 1 21 ±\pm 9 33 100
#2-b (0.966) 19.2 ±\pm 2.8 - 97 ±\pm 195 97 100
#2-c (0.983) 21.3 ±\pm 4.7 - 249 ±\pm 499 249 96
#2-d (0.952) [19] 18.9 ±\pm 3.1 - 51 ±\pm 89 51 100
Informed-RRT* [35] 21.3 ±\pm 2.9 - 350 ±\pm 559 350 89
Bidirectional-RRT* [26] 17.6 ±\pm 2.8 - 161 ±\pm 168 161 100

The results show that the target tree which reduces the planning time could be determined by the proposed cost function. As shown in Table II, path planning with the minimum-costcost target tree (-a, proposed) obtained parking paths with a shorter planning time than did the target trees with higher costscosts (-b, -c, -d). In situation #1-a, in Fig 6, the parking path was obtained by the RRT* tree reaching the candidate goal of the target tree without searching the narrow region near the parallel-parked vehicle. Moreover, even though additional planning time was required for determining this minimum-costcost target tree by Algorithm 2, the total planning time, ttotalt_{\text{total}}, was reduced.

About the target trees with higher costcosts, the path planning time was increased, and path planning could fail. As for #1-b and #1-c, in Fig. 6, the RRT tree should be extended toward the target tree without collisions in the narrow region. This could cause path planning failure within the sampling time, and the path length was increased despite that the parking path was obtained. Consequently, further sampling time may be required. In #1-d, in Fig. 6, even if the parking path was obtained successfully within the sampling time, the planned path is curvature-discontinuous, so the vehicle could not easily track and park accurately (see Fig. 5).

Compared with other sampling-based algorithms for parking, the proposed algorithm planned a path within a shorter planning time. In particular, it reduced the path length and its deviation within the given sampling time by building backward parking paths (target tree) in advance, unlike the bidirectional-RRT* planning algorithm [26], which kept searching for a backward path using the tree built from the goal.

V-C Completeness and Optimality Analysis for continuous-curvature target tree algorithm

This section presents an analysis of whether the probabilistic completeness [36] of RRT or RRT* is maintained after the integration of the proposed target tree algorithm. Additional experiments show that the proposed algorithm can find a path close to the optimal path planned by RRT*, within a shorter sampling time than can the original target tree algorithm and other sampling-based planning algorithms for parking.

In the path planning problem, 𝒫(qinit,qgoal,Qfree)\mathcal{P}(q_{init},q_{goal},Q_{free}), the probabilistic completeness of the sampling-based planning algorithm means that if a collision-free path exists, the probability of finding the path will converge to one when the number of random samples approaches to infinity. The proposed target tree algorithm does not change the completeness of RRT*. The target tree is a set of poses constituting collision-free paths, and any pose can reach the original goal (qgoalq_{goal}); i.e., the target tree algorithm is complete with respect to these poses. In this regard, the target tree, TtargetT_{target}, can be an extended goal region (QtargetQ_{target}) that includes not only the original goal (qgoalQtargetq_{goal}\in Q_{target}) but also candidate goals that can reach this original goal. Accordingly, the proposed algorithm can be deemed to solve the path planning problem to reach this extended goal region with the RRT* path planning algorithm, 𝒫(qinit,Qtarget,Qfree)\mathcal{P}(q_{init},Q_{target},Q_{free}). Integration of the target tree algorithm and RRT*, which are both complete, maintains the probabilistic completeness.

Additional experiments were executed to discuss the optimality of the proposed algorithm, as shown in Fig. 7. The proposed target tree algorithm was compared with the original target tree algorithm [19] with RRT* and minimum-length path selection, and other sampling-based planning algorithms for parking [35, 26]. Each algorithm was run 100 times for 60 s. The dashed horizontal line in Fig. 7 is regarded as the minimum length (i.e., optimal cost) in the original RRT* after 7200 s. The results show that the proposed target tree algorithm can obtain a parking path close to the optimal-length path (i.e., near-optimal). There are two reasons for these results. First, integrating RRT* and the proposed minimum-length path selection step (Section IV-C) allows to find a shorter parking path (near-optimal path) as the sampling time increases (see Fig. 7). Second, the proposed minimum-costcost target tree (Section IV-B) contains backward parking paths similar to the backward path of the optimal path. For example, as shown in situation #1-a of Figs. 6 and 7(a), a shorter parking path was found when planning a path with the proposed target tree considering obstacles.

Refer to caption
Refer to caption
Figure 7: Comparison results of the mean path length with an increase in the sampling time, under perpendicular and parallel parking (Fig. 6)

VI Conclusion

This paper introduces the continuous-curvature target tree algorithm for complex parking, which addresses the limitations of the original target tree algorithm. The proposed algorithm uses a continuous-curvature target tree that additionally considers the vehicle’s steering velocity. The algorithm then searches the target tree, thereby possibly reducing the planning time further in complex parking environments. Integrated with RRT* and minimum-length path selection, the proposed algorithm finds a shorter parking path within a given sampling time. Experiment results show the practical advantages of the proposed algorithm in real parking environments. The autonomous vehicle accurately parked, with the cross-track error and lateral/orientation parking alignment error reduced by more than half compared with those of the original target tree algorithm. In addition, the continuous-curvature path was obtained within relatively short planning times of less than 127 ms for perpendicular parking and 33 ms for parallel parking, and the success rate was 100%. In particular, even in complex parking environments, the proposed algorithm found the near-optimal path more rapidly compared with not only the original target tree algorithm but also the informed-RRT* and bidirectional-RRT* path planning algorithms for parking. In future work, a target tree that considers the steering acceleration of the vehicle will be studied.

Acknowledgment

This work was supported by the research project, Automated Valet Parking Development (No. 490-20200034), funded By Phantom AI Inc. (U.S.).

References

  • [1] M. Wada, K. S. Yoon, and H. Hashimoto, “Development of advanced parking assistance system,” IEEE Transactions on Industrial Electronics, vol. 50, no. 1, pp. 4–17, 2003.
  • [2] M. I. Idris, Y. Leng, E. Tamil, N. Noor, Z. Razak et al., “Car park system: A review of smart parking system and its technology,” Information Technology Journal, vol. 8, no. 2, pp. 101–113, 2009.
  • [3] T. Inoue, M. Q. Dao, and K.-Z. Liu, “Development of an auto-parking system with physical limitations,” in SICE 2004 annual conference, vol. 2.   IEEE, 2004, pp. 1015–1020.
  • [4] K. Min, J. Choi, H. Kim, and H. Myung, “Design and implementation of path generation algorithm for controlling autonomous driving and parking,” in 2012 12th International Conference on Control, Automation and Systems.   IEEE, 2012, pp. 956–959.
  • [5] J. M. Kim, K. I. Lim, and J. H. Kim, “Auto parking path planning system using modified reeds-shepp curve algorithm,” in 2014 11th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI).   IEEE, 2014, pp. 311–315.
  • [6] J. Kim, “Perpendicular parking of car-like robots allowing a cusp on the path,” IEEE Access, 2020.
  • [7] Y. Yi, Z. Lu, Q. Xin, L. Jinzhou, L. Yijin, and W. Jianhang, “Smooth path planning for autonomous parking system,” in 2017 IEEE Intelligent Vehicles Symposium (IV), 2017, pp. 167–173.
  • [8] P. Zips, M. Böck, and A. Kugi, “Optimisation based path planning for car parking in narrow environments,” Robotics and Autonomous Systems, vol. 79, pp. 1–11, 2016.
  • [9] J. Moon, I. Bae, and S. Kim, “Real-time near-optimal path and maneuver planning in automatic parking using a simultaneous dynamic optimization approach,” in 2017 IEEE Intelligent Vehicles Symposium (IV).   IEEE, 2017, pp. 193–196.
  • [10] B. Li, T. Acarman, Y. Zhang, L. Zhang, C. Yaman, and Q. Kong, “Tractor-trailer vehicle trajectory planning in narrow environments with a progressively constrained optimal control approach,” IEEE Transactions on Intelligent Vehicles, vol. 5, no. 3, pp. 414–425, 2019.
  • [11] C. Siedentop, R. Heinze, D. Kasper, G. Breuel, and C. Stachniss, “Path-planning for autonomous parking with dubins curves,” in Uni-DAS Workshop Fahrerassistenzsysteme, 2015.
  • [12] C. Chen, M. Rickert, and A. Knoll, “Path planning with orientation-aware space exploration guided heuristic search for autonomous parking and maneuvering,” in 2015 IEEE Intelligent Vehicles Symposium (IV).   IEEE, 2015, pp. 1148–1153.
  • [13] S. Sedighi, D.-V. Nguyen, and K.-D. Kuhnert, “Guided hybrid a-star path planning algorithm for valet parking applications,” in 2019 5th international conference on control, automation and robotics (ICCAR).   IEEE, 2019, pp. 570–575.
  • [14] S. M. LaValle et al., “Rapidly-exploring random trees: A new tool for path planning,” 1998.
  • [15] L. Han, Q. H. Do, and S. Mita, “Unified path planner for parking an autonomous vehicle based on rrt,” in 2011 IEEE International Conference on Robotics and Automation.   IEEE, 2011, pp. 5622–5627.
  • [16] S. Shin, J. Ahn, and J. Park, “Desired orientation rrt (do-rrt) for autonomous vehicle in narrow cluttered spaces,” in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2016, pp. 4736–4741.
  • [17] Y. Wang, D. K. Jha, and Y. Akemi, “A two-stage rrt path planner for automated parking,” in 2017 13th IEEE Conference on Automation Science and Engineering (CASE).   IEEE, 2017, pp. 496–502.
  • [18] A. C. Manav and I. Lazoglu, “A novel cascade path planning algorithm for autonomous truck-trailer parking,” IEEE Transactions on Intelligent Transportation Systems, 2021.
  • [19] Z. Feng, S. Chen, Y. Chen, and N. Zheng, “Model-based decision making with imagination for autonomous parking,” in 2018 IEEE Intelligent Vehicles Symposium (IV).   IEEE, 2018, pp. 2216–2223.
  • [20] H. Banzhaf, D. Nienhüser, S. Knoop, and J. M. Zöllner, “The future of parking: A survey on automated valet parking with an outlook on high density parking,” in 2017 IEEE Intelligent Vehicles Symposium (IV).   IEEE, 2017, pp. 1827–1834.
  • [21] D. Dolgov, S. Thrun, M. Montemerlo, and J. Diebel, “Practical search techniques in path planning for autonomous driving,” Ann Arbor, vol. 1001, no. 48105, pp. 18–80, 2008.
  • [22] S. Karaman and E. Frazzoli, “Incremental sampling-based algorithms for optimal motion planning,” Robotics Science and Systems VI, vol. 104, no. 2, 2010.
  • [23] J. J. Kuffner and S. M. LaValle, “Rrt-connect: An efficient approach to single-query path planning,” in Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No. 00CH37065), vol. 2.   IEEE, 2000, pp. 995–1001.
  • [24] M. Jordan and A. Perez, “Optimal bidirectional rapidly-exploring random trees,” 2013.
  • [25] S. Klemm, J. Oberländer, A. Hermann, A. Roennau, T. Schamm, J. M. Zollner, and R. Dillmann, “Rrt*-connect: Faster, asymptotically optimal motion planning,” in 2015 IEEE international conference on robotics and biomimetics (ROBIO).   IEEE, 2015, pp. 1670–1677.
  • [26] J.-H. Jhang and F.-L. Lian, “An autonomous parking system of optimally integrating bidirectional rapidly-exploring random trees* and parking-oriented model predictive control,” IEEE Access, vol. 8, pp. 163 502–163 523, 2020.
  • [27] T. Fraichard and A. Scheuer, “From reeds and shepp’s to continuous-curvature paths,” IEEE Transactions on Robotics, vol. 20, no. 6, pp. 1025–1035, 2004.
  • [28] H. Banzhaf, L. Palmieri, D. Nienhüser, T. Schamm, S. Knoop, and J. M. Zöllner, “Hybrid curvature steer: A novel extend function for sampling-based nonholonomic motion planning in tight environments,” in 2017 IEEE 20th International Conference on Intelligent Transportation Systems (ITSC).   IEEE, 2017, pp. 1–8.
  • [29] R. Rajamani, Vehicle dynamics and control.   Springer Science & Business Media, 2011.
  • [30] J. McCrae and K. Singh, “Sketching piecewise clothoid curves,” Computers & Graphics, vol. 33, no. 4, pp. 452–461, 2009.
  • [31] H. Vorobieva, S. Glaser, N. Minoiu-Enache, and S. Mammar, “Automatic parallel parking in tiny spots: Path planning and control,” IEEE Transactions on Intelligent Transportation Systems, vol. 16, no. 1, pp. 396–410, 2014.
  • [32] I. A. Sucan, M. Moll, and L. E. Kavraki, “The open motion planning library,” IEEE Robotics & Automation Magazine, vol. 19, no. 4, pp. 72–82, 2012.
  • [33] Y. Kanayama, Y. Kimura, F. Miyazaki, and T. Noguchi, “A stable tracking control method for an autonomous mobile robot,” in Proceedings., IEEE International Conference on Robotics and Automation.   IEEE, 1990, pp. 384–389.
  • [34] T. Shan and B. Englot, “Lego-loam: Lightweight and ground-optimized lidar odometry and mapping on variable terrain,” in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2018, pp. 4758–4765.
  • [35] M. Kim, J. Ahn, M. Kim, M. Shin, and J. Park, “A comparative analysis of path planning and tracking performance according to the consideration of vehicle’s constraints in automated parking situations,” The Journal of Korea Robotics Society, vol. 16, no. 3, pp. 250–259, 2021.
  • [36] S. M. LaValle and J. J. Kuffner Jr, “Randomized kinodynamic planning,” The international journal of robotics research, vol. 20, no. 5, pp. 378–400, 2001.
[Uncaptioned image] Minsoo Kim received the B.S. degree in mechanical engineering from Hanyang University, Seoul, South Korea, in 2018. He is currently pursuing the Ph.D. degree in intelligent systems with the Department of Intelligence and Information, Seoul National University, Seoul. His research interests include autonomous vehicle, autonomous valet parking, and motion planning.
[Uncaptioned image] Joonwoo Ahn received the B.S. degree in robotics from Kwangwoon University, Seoul, Republic of Korea, in 2016. He is currently pursuing the Ph.D. degree in intelligent systems with the Department of Intelligence and Information, Seoul National University, Seoul. His research interests include autonomous valet parking, vision-based navigation, robot-applied deep learning, and path tracking.
[Uncaptioned image] Jaeheung park (Member, IEEE) received the B.S. and M.S. degrees in aerospace engineering from Seoul National University, South Korea, in 1995 and 1999, respectively, and the Ph.D. degree in aeronautics and astronautics from Stanford University, CA, USA, in 2006. From 2006 to 2009, he was a Postdoctoral Researcher and later a Research Associate with the Stanford Artificial Intelligence Laboratory. From 2007 to 2008, he worked part-time with Hansen Medical Inc., USA, a medical robotics company. Since 2009, he has been a Professor with the Graduate School of Convergence Science and Technology, Seoul National University. His research interests include robot-environment interaction, contact force control, robust haptic teleoperation, multicontact control, whole-body dynamic control, biomechanics, autonomous vehicle, and medical robotics.