Continuous-Curvature Target Tree Algorithm for Path Planning in Complex Parking Environments
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 (). 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 {, …, }. 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 (). 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.



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 (), 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
(1) |
where is the position of the center of the rear axle. means the orientation of the vehicle. is the wheelbase of the vehicle, and is the vehicle’s steering angle. is the forward or backward direction of the vehicle. means the derivative with respect to the path length. () is the curvature of the path. means the sharpness, the curvature derivative. The sharpness is related to , the vehicle’s steering velocity of the front wheels (). The curvature of the path and its derivative are constrained by and .



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.

The clothoid path is a path of which curvature is changed linearly by the path length. The curvature, , is described as
(2) |
where 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, , by the sharpness, , as the slope in the path length and curvature plot. After the clothoid path, the vehicle’s configuration, , can be derived with respect to the -axis in Fig. 2(a), given as
(3) |
where is the vehicle’s pose after the curvature changes from zero to through the clothoid path. and are Fresnel Integrals [30] defined as and .
The sharpness, , is changed within 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 . As the sharpness, , decreases from to , the other branches are formed. At each branch, when the clothoid path’s curvature becomes the maximum curvature, , the circular path whose radius is (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, , 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 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 -axis (-axis). The cost function is defined as
(4) |
where and are the coordinates at the end of each branch in the target tree. means the set of the branches at {Left, Right} in the target tree in Fig. 3. and are the length and width, respectively. Thus, means the area of each red rectangle, and means the area covered by the turning paths of the target tree (see Fig. 3). and 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), becomes the length of the turning path. is calculated by the distance of the turning path along the -axis, in the leftmost branch. Hence, in (4) denotes the area covered by the target tree when there are no obstacles, and it is depicted as the green rectangles. 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.
For determining the target tree that considers obstacles, continuous-curvature target trees are built by changing the length of the straight path, , from zero to the length of the parking spot, , by intervals of (lines 2-6 in Algorithm 2). The 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 of the target tree is calculated with different lengths of the straight path, . The continuous-curvature target tree, , with minimum 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 in Algorithm 1) to reduce the length of the RRT* path that connects to a reached candidate goal, . 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 ( 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, , 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,
(5) |
where is the candidate goal in the target tree reached by the RRT* tree, . is a set of these goals. Next, the minimum-length path selection step is added as follows,
(6) |
In the GetMinimumLenPath function, the shortest parking path is returned among a set of the reached candidate goals, . This function is executed when one of the candidate goals is reached or when the RRT* tree, , 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.
Parameter | Value |
---|---|
vehicle length | 4.910 m |
vehicle width | 1.860 m |
wheel base () | 2.845 m |
max. curvature () | 1/6.000 m-1 |
max. sharpness () | 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.

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 s were built in each parking situation. Each target tree was built by discretely changing the length of the straight path by the interval, (Algorithm 2). The interval, was set to 0.2 m considering the road width and the dimensions of the parallel-parked vehicle. The proposed algorithm (using the minimum- target tree) was compared with the target tree algorithm with higher-s 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* ( 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.

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)

The results of the path planning experiments in parking environments with narrow regions are shown in Table II. ‘#number-a, b, c, d ()’ represent the target tree algorithms with different target tree, integrated with RRT*. The time for search, , is the time for determining the minimum- target tree by Algorithm 2. The time to the first path, , 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 with respect to the length of the straight path. In the case of #number-a, the minimum- 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.
Path planning algorithm |
|
|
|
|
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
perpendicular (#1) | #1-a (0.572, min-) | 20.6 2.9 | 82 2 | 45 30 | 127 | 100 | ||||||||||
#1-b (0.770) | 25.8 3.6 | - | 952 771 | 952 | 75 | |||||||||||
#1-c (0.878) | 28.2 3.9 | - | 1123 883 | 1123 | 47 | |||||||||||
#1-d (0.743) [19] | 25.6 3.9 | - | 767 702 | 767 | 76 | |||||||||||
Informed-RRT* [35] | 27.4 5.0 | - | 715 788 | 715 | 84 | |||||||||||
Bidirectional-RRT* [26] | 25.9 4.7 | - | 737 698 | 737 | 89 | |||||||||||
parallel (#2) | #2-a (0.891, min-) | 16.8 2.3 | 12 1 | 21 9 | 33 | 100 | ||||||||||
#2-b (0.966) | 19.2 2.8 | - | 97 195 | 97 | 100 | |||||||||||
#2-c (0.983) | 21.3 4.7 | - | 249 499 | 249 | 96 | |||||||||||
#2-d (0.952) [19] | 18.9 3.1 | - | 51 89 | 51 | 100 | |||||||||||
Informed-RRT* [35] | 21.3 2.9 | - | 350 559 | 350 | 89 | |||||||||||
Bidirectional-RRT* [26] | 17.6 2.8 | - | 161 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- target tree (-a, proposed) obtained parking paths with a shorter planning time than did the target trees with higher (-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- target tree by Algorithm 2, the total planning time, , was reduced.
About the target trees with higher s, 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, , 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 (); i.e., the target tree algorithm is complete with respect to these poses. In this regard, the target tree, , can be an extended goal region () that includes not only the original goal () 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, . 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- 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.


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.
![]() |
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. |
![]() |
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. |
![]() |
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. |