{'fraction_non_alphanumeric': 0.034630618845161526, 'fraction_numerical': 0.009847741560376468, 'mean_word_length': 4.517241379310345, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Trajectory Planner CDT-RRT* for Car-Like Mobile Robots toward Narrow and Cluttered Environments

In order to achieve the safe and efficient navigation of mobile robots, it is essential to consider both the environmental geometry and kinodynamic constraints of robots. We propose a trajectory planner for car-like robots on the basis of the Dual-Tree RRT (DT-RRT). DT-RRT utilizes two tree structures in order to generate fast-growing trajectories under the kinodynamic constraints of robots. A local trajectory generator has been newly designed for car-like robots. The proposed scheme of searching a parent node enables the efficient generation of safe trajectories in cluttered environments. The presented simulation results clearly show the usefulness and the advantage of the proposed trajectory planner in various environments.


Introduction
Recently, outdoor mobile robots have been receiving much attention because of the increased demand in the field of delivery and transportation. There are various wheel structures built according to target applications and environments. Two-wheel differential robots have been widely used owing to their simple structures. However, two-wheel robots have a lot of limitations in outdoor applications because it is difficult to overcome uneven ground conditions. Car-like robots are preferred in outdoor applications. The major drawback of car-like robots is that control problems become difficult due to nonholonomic constraints.
Path planning schemes are divided into two major groups. The first group includes search-based schemes and the second group includes sampling-based approaches. The search-based planner divides a space into small units such as grid-like graph structures or state lattice space as presented in [1]. Then, various search algorithms, including the Dijkstra's algorithm, A* in [2] and D* in [3], can be applied to find solutions. Optimality can be obtained at the price of high computational cost. The search-based planner for various types of robots was proposed in [4,5]. The state lattice-based motion planning was applied not only to ground vehicles in [6], but also to aerial vehicles in [7].
The sampling-based planner extends trees or graph structures as shown in [8,9], respectively. Rapidly exploring Random Tree (RRT), shown in [10], is widely used because RRT may efficiently find feasible paths in high dimensional spaces with low computational cost as shown in [11][12][13]. Recently, RRT solutions in high dimensional spaces, such as temporal logic specifications, were proposed in [14].
There are two main issues in kinodynamic planning on the basis of RRTs. The first issue is to design proper sampling methods for the fast extension of random trees. In [20,21], sampling methods for RRT were proposed. The second issue is to define an appropriate distance metric for evaluating candidate paths. As Lavalle pointed out in [22], the distance metric considerably affects the performance of RRT planners. Euclidian distances in planes are commonly used when the fast expansion of the tree is significant. However, the consideration of kinodynamic constraints is essential in order to obtain efficient and feasible paths. Sampling in the control input space in [23] is one useful candidate. The planner in [23] requires an additional search algorithm in order to find the nearest neighbor nodes. The cost metric for informed RRT was proposed in [24].
As one of the outcomes of the Defense Advanced Research Projects Agency Urban Challenge, the closed loop Rapidly exploring Random Tree (CL-RRT) [25] was proposed. The CL-RRT generated reference guidelines through random sampling. CL-RRT generated feasible trajectories in the finite road region with the guidelines. CL-RRT mainly focused on autonomous vehicles in the road environment. A sampling technique was especially designed for roadways and parking lots.
The RRT* algorithm in [26] was proposed towards optimal path planning. A rewiring procedure of RRT* guaranteed asymptotic convergence to optimal solutions with a proper nearest range limit. Various planners based on RRT* were proposed in [27,28]. An RRT*based planner was proposed for the high-speed maneuvering of autonomous vehicles in [23]. The scheme in [23] considered dynamic constraints including slip conditions. The distance metrics in [23] were designed for a relatively simple roadway without obstacles.
The Dual-Tree Rapidly exploring Random Tree (DT-RRT) was proposed for two-wheel differential mobile robots in [29]. DT-RRT utilized two separate trees with different distance metrics. DT-RRT efficiently generated feasible trajectories and local control inputs. A replanning algorithm and tree updating process support real-time trajectory generation by reflecting the latest sensor information.
This paper aims to generate a feasible trajectory for car-like mobile robots in cluttered environments. Various planners were proposed for handling kinodynamic constraints or the fast extension of RRT. However, it is difficult to find the existing controller that is appropriate for a car-like robot in cluttered environments. Since the target application is the outdoor delivery robots, target environments are different from the environments of autonomous vehicles. Therefore, we propose the new path planning and motion control scheme CDT-RRT*, which is especially designed for car-like mobile robots. CDT-RRT* provides feasible trajectories and control inputs. CDT-RRT* can generate a kinodynamically feasible and goal-reachable trajectory with low computational cost. We propose a new parent searching algorithm of the dual-tree structure. The proposed replanning procedure includes re-propagation and tree-branching. Owing to the new searching algorithm, CDT-RRT* shows an outstanding performance in cluttered and narrow environments. The presented simulation results clearly demonstrate advantages over prior works.
The rest of this paper is organized as follows: Section 2 introduces the kinematic model and DT-RRT in [29]. The proposed CDT-RRT* scheme is presented in Section 3. The simulation results are presented in Section 4. Some concluding remarks are illustrated in Section 5.

Kinematic Model of a Car-Like Robot
The kinematic model of a car-like robot is shown in Figure 1. The reference point of the robot pose is on the center of the rear axle.
The workspace is defined by q ∈ R 2 where q = (x, y). It is assumed that maps and obstacles are updated in real-time. The objective of the controller is to generate feasible trajectories τ : [0, T] → C f ree in finite time. The initial and goal conditions are given by τ(0) = x(0) and τ(T) ∈ B goal , respectively, whereas B goal = {x| q goal − x < }. L f w , l fw and η are control parameters that will be explained in Section 3.1. The target point implies the desired target point for forward simulations.

Dual-Tree RRT
The Dual-Tree RRT (DT-RRT) was proposed in [29]. The dual-tree signifies the workspace tree and the state tree. The workspace tree is generated in 2D space q = (x, y). The distance metric is the Euclidean distance in a 2D plane. The workspace tree can be quickly extended by the node sampling technique that is similar to the conventional RRT. The state tree is generated in the state space x = (x, y, θ, δ, v) T . The cost is defined as the travel time of a candidate trajectory that is generated by reflecting the kinodynamic constraints of a robot. Therefore, smooth trajectories can be quickly generated by DT-RRT.
The workspace tree is extended by sampling new nodes. The state tree is extended by the utilization of newly created workspace tree nodes. During the extension, the lowest cost trajectory is selected out of many candidates. The quality of a trajectory is remarkably improved through the proposed parent node search and the reconnecting process.
The state node of DT-RRT has two node types including a stop state and a moving state. The stop state represents the state in which the robot has zero velocity, and a moving state represents the non-zero velocity. Four edge types of state trees generate a sequence of discrete motions, including turn-on-the-spot in cluttered environments. With the four edge types of DT-RRT, holonomic trajectories can be generated, and the probabilistic completeness of DT-RRT is guaranteed.

Motion Controller for Trajectory Generations
The major scope of this paper is to propose CDT-RRT* (Car-like DT-RRT*), which computes the control inputs of car-like mobile robots towards smooth and efficient motions. Two motion controllers in [30,31] were adopted in DT-RRT. Since the kinodynamic characteristics of car-like robots are completely different, motion controllers should be carefully redesigned.
The Pure-Pursuit Controller (PPC) in [32] was exploited as a local motion controller for CDT-RRT*. PPC has been widely used for the trajectory tracking of car-like robots and vehicles as shown in [25]. PPC does not guarantee that a robot can be steered to the desired target pose. Therefore, it is important to investigate whether PPC can be a useful local controller when target positions are given from the workspace tree. The control input of PPC in CDT-RRT* is redesigned as follows.
δ denotes a steering angle input. L f w is a look ahead distance. l fw is the distance from the rear axle to the forward anchor point. η is the heading of the look-ahead point from the forward anchor point [25]. v denotes a velocity input of car-like robots. v re f is a reference linear velocity. Maximum speed trajectories will be generated when v re f = v max . t cycle is the cycle time of the controller.
The local controller computes control inputs through forward simulations. A local controller should satisfy three requirements. Firstly, the local controller should be able to cope with the changes in path length and velocity through appropriate parameter adjustment. The second requirement is that the final positioning error should be acceptably small. Finally, the positioning errors should converge through iterations.
In order to investigate whether PPC satisfies three requirements, simulations are carried out. Figure 2 shows the simulation results. The robot is driven to 35 target positions from the origin through the PPC. If the final positioning error is smaller than 10 cm, then the positioning is successful. We assume that the proposed method will be applied to outdoor delivery robots. The positioning accuracy of 10 cm is sufficient for an outdoor delivery robot because the human will handle the loading and unloading procedures.  The state node of CDT-RRT* has two node types including a stop node and a moving node. The stop node is generated around the neighborhood of obstacles. The move node is generated in collision-free space. An edge type between two nodes is defined by the node type of a parent node and a child node.
There are four edge types in CDT-RRT*, including stop-move, stop-stop, move-move and move-stop. At each node, various different motion primitives can be selected according to the node types. By the selection of stop-move or stop-stop, CDT-RRT* generates a variety of trajectories that include stopping motions. This fact implies that rich behavior can be obtained by the sequential combination of piecewise smooth motions.

Dual-Tree Structure of CDT-RRT*
Tree extension puts an emphasis on fast-growing and tree restructuring plays a significant role in improving performance. Restructuring is composed of the parent node search and reconnect processes. The parent node search of the conventional DT-RRT started from the closest node to the newly created node q new . Then the least cost trajectory was selected out of multiple candidate trajectories that were generated from parent nodes to q new . Figure 3 illustrates the difference between the conventional DT-RRT and the proposed CDT-RRT*. Black trees are workspace trees. Dashed red lines show state trees. Once new node q new is created, the conventional DT-RRT connects between q new and parent nodes of closest node q n1 as shown in Figure 3a. Nodes with blue circles in Figure 3a correspond to parent nodes. Figure 3b shows that the trajectory from q n3 to q new was selected because of the lowest cost.
Although DT-RRT showed excellent performances in many practical applications, there are also limitations. One of the drawbacks is its limited restructuring capability. Since DT-RRT only selects the closest parent node, a better solution can be found according to the strategy of the parent node selection.
The proposed CDT-RRT* adopts multiple parent node candidates. As shown in Figure 3c, Q nearlist is defined as the close neighborhood of q new in the range of B r . Then all nodes Q nearlist = {q n1 , q n2 } in Figure 3c become parent node candidates. Finally, the minimum cost trajectory is selected out of all candidate trajectories from all parent nodes to q new . Algorithm 1 shows the proposed tree extension scheme. TW and TX are the workspace tree and the state tree. RANDOMSAMPLE() randomly picks a single point in 2D workspace (x,y). EXTWORKSPACE(TW, q rand ) finds Q near , which is a nearest neighbor of q rand . EXTWORKSPACE(TW, q rand ) connects Q near to Q new . Q new is generated by q rand and has a position q new = (x new , y new ). The position of q new can be different from q rand , because q new moved towards Q near by the maximum length of the tree extension. The subroutine NEARNODELIST(Q new , B r ) finds the near nodes of Q new in the range of B r . TW.Add(Q near , Q new ) implies that the workspace tree obtains a new child node Q new . The parent node of Q new is Q near . TX.Add(X p , X min ) implies that the state tree acquires new child node X min . The parent node of X min is X p . RECONNECTTREES(Q new , X min ) restructures the state tree after the addition of new nodes. Existing state nodes nearby X min are temporarily connected from X min , while RECONNECTTREES(Q new , X min ) operates. If the cost of a temporarily connected path is lower than the original cost, the existing state node will be reconnected as a child of X min .
Algorithm 2 describes the proposed strategy of selecting parent nodes for restructuring. Algorithm 2 returns minimum cost parent node X p after computing all trajectory costs from candidate nodes to q new . GETSTATENODE(Q near ) returns the state node that is derived from the workspace node Q near . EXTENDSTATE(q new , X cur , type) generates a trajectory from X cur to q new in the range of e r . The proposed motion controller in Section 3.1 is employed for trajectory generation. q new is the target point of the forward simulation in Figure 1.
; if X p = nil then continue; end if TW.Add(Q near , Q new ); TX.Add(X p , X min ); RECONNECTTREES(Q new , X min ); end while return; B r is a boundary of near nodes. It affects path quality and planning time. Large B r increases the number of candidate nodes. Therefore, the path quality can be improved and the computational cost of planning increases with the increase of B r . Small B r may save planning time at the sacrifice of the path quality. In RRT* [26], a scheme that dynamically decreased B r was proposed. The asymptotic optimality of RRT-based planning with decreasing B r was shown in [26]. The determination of B r in CDT-RRT* exploited a similar approach of the conventional RRT*. As described in [26], card(V) is a cardinal number of workspace tree size. d is a dimension of the workspace, which is two in CDT-RRT*. µ(X f ree ) denotes the Lebesgue measure of the obstacle-free space, and ζ d is the volume of the unit ball in the d-dimensional Euclidean space. η is provided by the local steering function, which is EXTENDSTATE in CDT-RRT*. η of CDT-RRT* is 3 × the maximum length of the tree extension (which is 3 m).
In Figure 3c, the proposed CDT-RRT* selects q n2 in addition to q n1 as the parent node candidates. DT-RRT selected only q n1 and parent nodes of q n1 under the same condition as shown in Figure 3a. Figure 3d shows the completely different trajectory of the proposed CDT-RRT*. The resultant trajectory cost of CDT-RRT* is significantly lower than the cost of the DT-RRT trajectory in Figure 3b. The major advantage of CDT-RRT* is that restructuring is carried out with a wide variety of diverse candidate trajectories. Therefore, CDT-RRT* shows superior performances over prior works, especially in narrow and cluttered environments, because the minimum cost trajectory can be efficiently found from many trajectories with different homotopy.
CDT-RRT* includes replanning procedures for practical trajectory following. The replanning algorithm carries out translation of the existing tree to deal with localization error and disturbance of the controller. After translation of the whole tree, the lowest cost trajectory to the goal is selected. Then, collision checking for the lowest cost trajectory is carried out. If any collision occurs due to a map update or translation of the tree, unreachable nodes due to the collision are deleted. Then, the remaining orphan nodes are reconstructed based on the workspace tree. This reconstruction possibly saves planning time owing to the conservation of orphan nodes. The branching tree sequence is carried out after reconstruction. While branching the tree, the root node of the tree is generated as the robot moves forward. Table 1 shows the qualitative comparison among kinodynamic planners. Six significant considerations are summarized towards kinodynamic planning in cluttered environments. Table 1 clearly visualizes unsolved problems and the differences among controllers. It is clear that the proposed CDT-RRT* is advantageous from a variety of aspects. CDT-RRT* can handle the kinodynamic constraints of car-like robots and generate piecewise smooth motions. By sampling in the R 2 configuration space, CDT-RRT* could extend the tree rapidly with goal bias. The proposed parent node selection and re-connect scheme greatly contribute to finding asymptotic optimal trajectories in cluttered environments. The proposed replanning scheme can maintain the dual-tree structure by conserving orphan nodes while robots keep moving and updating sensor information.

Simulation Results
Seven simulations are carried out for verification. Simulation conditions are listed in Table 2.  Figure 4 shows the result of simulation 1. Boundary conditions of simulation 1 were initial condition x s = (10, 10, 0, 0, 0) and goal q g = (40, 40). The environment was free of obstacles. Three schemes were tested for comparison. One was the conventional RRT, the second was the conventional DT-RRT and the third was the proposed CDT-RRT*. Each scheme tried to generate 100 trajectories. If a trajectory could not be generated in 30 s, the trial was counted as a failure. In Table 3  The conventional RRT was implemented for comparison. The conventional RRT sampled a random point in the 2-dimensional configuration space. The sampled point and the nearest node of the sampled point were connected by EXTENDSTATE of CDT-RRT*. If the connection fails, the conventional RRT samples another point until finding a feasible path. The conventional RRT showed a significantly low success rate of node extension. From Table 3, it can be seen that the success rate of RRT trajectory generation was only 34%. The travel time and computing time were much longer than those of DT-RRT or CDT-RRT*. In the case of a car-like robot, the limitation of steering angles limits the motion of the robot. Therefore, most of the newly created RRT nodes become infeasible because new nodes were generated without consideration of kinematic constraints. It is desirable to obtain smooth and efficient trajectories from the viewpoint of quality. From Figure 4a, it is clear that the quality of RRT trajectories is poor. The poor performance of RRT was caused by the lack of restructuring processes. Table 3 shows that DT-RRT and CDT-RRT* successfully generated 100 trajectories without any failure. This result was made possible owing to the application of local controllers where kinodynamic constraints were considered. From the viewpoint of trajectory quality, there were no significant differences between DT-RRT and CDT-RRT* in the obstacle-free environment. Figure 4b,c show that the two schemes have similar performances and provide satisfactory results.
Simulation 2 was carried out to investigate the trajectory expansion of CDT-RRT*. Figure 5 shows the planning result of CDT-RRT* in simulation 2. The blue lines show the state tree of CDT-RRT*. The thick red line indicates the solution path. The grey circle describes the goal region. CDT-RRT* returns the path nearest to the goal until securing a goal-reachable path as shown in Figure 5a,b. The cost of the solution path increased during that period as shown in zone (A) of Figure 6. After securing a goal-reachable path as in Figure 5c, the tree of CDT-RRT* kept extending and searching for a better solution, as shown in zone (B). If CDT-RRT* finds a lower-cost solution, the cost decreases as shown in zone (C).
Simulation 3 was carried out in the consecutive U-shaped corridor environment as shown in Figure 7. In simulation 2, the robot was driven from x s = (3, 40, 0, 0, 0) to q g = (95, 20). Table 4 shows the quantitative results of the comparison. It can be seen that RRT could not generate trajectories in most cases. Therefore, RRT is inapplicable in the cluttered environment, as in Figure 7. It is noteworthy that the success rate of CDT-RRT* trajectory generation was 100%, while the success rate of DT-RRT was only 74%. In addition, the computing time of the trajectories can be remarkably saved by the use of CDT-RRT*. The mean computing time of CDT-RRT* is only 23% of DT-RRT's computing time. Figure 8 shows the histograms of the computing times for DT-RRT and CDT-RRT*. It can be seen that solutions can be obtained in a short time for the case of CDT-RRT*. From the result, it is evident that the proposed CDT-RRT* shows superior performances in a cluttered environment owing to its excellent restructuring capability. The high success rate of trajectory generation and reduced computing cost enable real-time computation and high-speed obstacle avoidance motions.    Simulation 4 was carried out in the cluttered narrow environment as shown in Figure 9. The robot was driven from x s = (10, 25, 0, 0, 0) to q g = (85, 25). Table 5 shows the result of a quantitative comparison among the three schemes. It is obvious that RRT fails to generate feasible trajectories because the success rate of trajectory generation is only 1%. The failure rate of DT-RRT is 23% and it is much higher than the 3% failure rate of CDT-RRT*. The computing time of DT-RRT was 50% longer than that of CDT-RRT*. Figure 10 shows the histograms of the computing times for DT-RRT and CDT-RRT*. It can be seen that we can expect quick and stable performances for CDT-RRT* in most trials. Although the travel time of the two schemes did not show a significant difference, the difference in terms of the computing time and the success rate greatly affects the real-time performance of robot navigation.  Simulation 5 was carried out in the maze environment as shown in Figure 11. The robot was driven from x s = (5, 55, 0, 0, 0) to q g = (85, 5). Table 6 shows the comparative results among the three schemes. RRT showed complete failure in the long cluttered environment. The proposed CDT-RRT* did not fail to find the trajectory in any trial, while the failure rate of DT-RRT was 36%. The mean computing time of DT-RRT was 2.2 times longer than that of CDT-RRT*. Figure 12 shows the histograms of the computing times for DT-RRT and CDT-RRT*. It is evident that all CDT-RRT* trajectories were obtained in a short time, while DT-RRT showed excessive computing time and unstable performances in many trials. From the viewpoint of the mean travel time, CDT-RRT* took only 66 s, while DT-RRT took 72 s-10% longer than that of the proposed method.  Simulation 6 was carried out in a cluttered environment as shown in Figure 13. The robot was driven from x s = (5, 25, 0, 0, 0) to q g = (85, 25). Table 7 shows the comparative results among the three schemes. RRT showed complete failure in the long cluttered environment. The proposed CDT-RRT* did not fail to find the trajectory at any trial, while the failure rate of DT-RRT was 14%. The mean computing time of DT-RRT was 1.4 times longer than that of CDT-RRT*. Figure 14 shows the histograms of the computing times for DT-RRT and CDT-RRT*. It is evident that all CDT-RRT* trajectories were obtained in a short time, while DT-RRT showed excessive computing time and unstable performances in many trials. From the viewpoint of the mean travel time, CDT-RRT* took only 61 s, while DT-RRT took 62 s. Although the travel time of the two schemes did not show a significant difference, the difference in terms of the computing time and the success rate greatly affects the real-time performance of robot navigation.  Simulation 7 was carried out in a narrow environment as shown in Figure 15. The robot was driven from x s = (5, 25, 0, 0, 0) to q g = (90, 25). Table 8 shows the comparative results among the three schemes. RRT showed complete failure in the long cluttered environment. The proposed CDT-RRT* did not fail to find the trajectory in any trial, while the failure rate of DT-RRT was 1%. The mean computing time of DT-RRT was 2.0 times longer than that of CDT-RRT*. Figure 16 shows the histograms of the computing times for DT-RRT and CDT-RRT*. It is evident that all CDT-RRT* trajectories were obtained in a short time, while DT-RRT showed excessive computing time and unstable performances in many trials. From the viewpoint of the mean travel time, CDT-RRT* took 46 s, while DT-RRT took 47 s. Although the travel time of the two schemes did not show a significant difference, the difference in terms of the computing time and the success rate greatly affects the real-time performance of robot navigation.  Therefore, it can be concluded that the proposed CDT-RRT* generates feasible trajectories with short travel times. In addition, the proposed parent search algorithm shows outstanding performances especially in narrow cluttered environments where conventional schemes show limited performances.

Conclusions
This paper proposed a new trajectory planner, CDT-RRT*, for car-like mobile robots. CDT-RRT* utilizes the workspace tree and the state tree for the fast-growing of trees as well as for kinodynamically feasible trajectory generation. The proposed restructuring scheme provides outstanding performances over prior works owing to its superior search capability out of diverse candidate trajectories. CDT-RRT* is especially useful when the robot moves in narrow cluttered environments. Owing to the appropriate design of the tree search algorithm, a high success rate of trajectory generation and a reduced computing time have been achieved. Those two advantages greatly contribute to real-time applications. The presented simulation results clearly show the advantage of the proposed CDT-RRT* in various environments.
Although it is possible to generate the maneuvering, including both forward and backward motions, CDT-RRT* may fail to generate feasible trajectories in extremely narrow and cluttered environments. Future works will include the development of different local controllers or improved node sampling strategies in order to overcome extreme situations.