Research Article | Open Access

Domokos Kiss, Gábor Tevesz, "Autonomous Path Planning for Road Vehicles in Narrow Environments: An Efficient Continuous Curvature Approach", *Journal of Advanced Transportation*, vol. 2017, Article ID 2521638, 27 pages, 2017. https://doi.org/10.1155/2017/2521638

# Autonomous Path Planning for Road Vehicles in Narrow Environments: An Efficient Continuous Curvature Approach

**Academic Editor:**Mohammad Hamdan

#### Abstract

In this paper we introduce a novel method for obtaining good quality paths for autonomous road vehicles (e.g., cars or buses) in narrow environments. There are many traffic situations in urban scenarios where nontrivial maneuvering in narrow places is necessary. Navigating in cluttered parking lots or having to avoid obstacles blocking the way and finding a detour even in narrow streets are challenging, especially if the vehicle has large dimensions like a bus. We present a combined approximation-based approach to solve the path planning problem in such situations. Our approach consists of a global planner which generates a preliminary path consisting of straight and turning-in-place primitives and a local planner which is used to make the preliminary path feasible to car-like vehicles. The approximation methodology is well known in the literature; however, both components proposed in this paper differ from existing similar planning methods. The approximation process with the proposed local planner is proven to be convergent for any preliminary global paths. The resulting path has continuous curvature which renders our method well suited for application on real vehicles. Simulation experiments show that the proposed method outperforms similar approaches in terms of path quality in complicated planning tasks.

#### 1. Introduction

Looking around in the automotive industry, we can see a great amount of automation and an accelerating pursuit to develop intelligent self-driving vehicles. According to the popularity of the field, research is considerably active in the last decades [1–5]. The navigation task of autonomous robotic vehicles consists of many subproblems, involving sensing, perception and recognition of situations, localization, motion planning, and execution. Amongst these, we treat here the problem of generating appropriate paths for robotic cars in the presence of obstacles. As usual in case of cars, we assume the workspace of interest being a planar surface. From a control theoretic view, the rolling without slipping constraint of wheels induces nonholonomic constraints, which do not prohibit the controllability of a system but cause remarkable difficulties (it is enough to think of parallel parking a car). Although controlling a nonholonomic vehicle is a control theoretic challenge, it is worth incorporating knowledge about the specific system in the path planning task as well.

This paper describes a path planning algorithm which is intended to solve navigation problems where the vehicle has to cross narrow or cluttered areas in order to reach the goal. Since cars have a nonzero minimum turning radius, such environments require in many cases nontrivial maneuvering (including more reversals) between narrowing. Our solution is appropriate for the continuous steering car, which means that the finite steering rate is taken into account as well beyond the turning radius. In other words, steering at standstill is avoided by forcing the path to have a continuous curvature profile. This is achieved by using clothoid curves between straight and circular path segments. The proposed algorithm is an approximation-based method consisting of a local and a global planner. The local planner generates feasible paths in the absence of obstacles. The global planner delivers a preliminary collision-free path by omitting the minimum turning radius constraint of the vehicle. It is shown that the proposed local and global planners are appropriate to be applied together and guarantee finding a feasible solution in the presence of obstacles if the planning task is solvable. Moreover, the local paths are designed to be similar to those a human driver would find.

Although different human drivers and passengers prefer different types of paths, we try to summarize the main characteristics of a “human-like” path as follows. Existing optimal planners strive to return the shortest possible solution which results in sharp (mostly maximal curvature) turns and many reversals in most cases. In our opinion optimal length is not as important for a passenger as feeling comfortable. If a path is longer than optimal (to a meaningful extent, of course) but contains less sharp turns and reversals, then we treat it better from the passenger’s perspective. Our proposed approach is designed with these preferences in mind: the preliminary global path consists only of straight segments (with in-place turning between them), and the local planner has the task of connecting these segments with smooth and not necessarily maximal curvature turns.

The remaining part of the paper is organized as follows. The next section summarizes related work in path planning for car-like vehicles. Section 3 introduces the main characteristics of the proposed approach and the previous work of the authors in this field. In Section 4 we describe the local planning component (TTS-planner) in detail, in which we discuss the applied path elements, the properties of local paths, and a topological admissible steering method based on these. In Section 5 the global planning tool (RTR-planner) is described which generates the collision-free preliminary path. Finally, simulation examples are presented which confirm the advantageous characteristics of the proposed approach.

#### 2. Related Work

The path planning task for nonholonomic systems is difficult, caused by the concurrent presence of global geometric (environmental) and local kinematic constraints. For this reason most available approaches decouple the treatment of these in two separate phases of the planning process. Basically we can distinguish between global and local path planning methods, which account for the two subproblems. In some approaches the configuration space of the vehicle is sampled and a graph-based description is used to grasp the topological structure of the environment [6]. For example, the Probabilistic Roadmap Method [7] uses general graphs with an offline sampling; the Rapidly Exploring Random Tree approach [8–10] builds one or more trees online to cover the free space. These sampling-based frameworks make use of a vehicle-specific local planner module (also denoted as a* steering method*), which accounts for connecting two arbitrary configurations of the nonholonomic car. Graph vertices represent configurations, while edges in the graphs correspond to local paths in these approaches. The global admissibility of these is checked by an appropriate collision detector module.

Other approaches are based on the Holonomic Path Approximation Algorithm [11], which recommends planning a preliminary holonomic (kinematically unconstrained) path first and approximating it using a steering method in a second step. In this framework, the holonomic global path is iteratively subdivided and the steering method together with a collision detector is applied to replace the parts. To ensure the convergence of this algorithm, the steering method has to verify the* topologically property*, which is defined in [12].

Steering nonholonomic systems is a difficult task even in the absence of obstacles. Exact algorithms are not available in general but only for special classes, for example, nilpotentizable [13], chain-formed [14–16], and differentially flat systems [17]. Common examples for the above-mentioned system classes include wheeled vehicles with or without trailers. There exist elegant solutions of path planning and control especially for differentially driven and car-like robots [18–21] and mobile manipulators [22–24]. Most of the available work investigates differentially driven robots with one trailer [19] or more trailers [18, 20]. The steering methods presented in [19, 20] are shown to verify the topological property as well. Since the kinematics of a car is equivalent to a differentially driven robot towing a trailer hitched on top of the wheel axis, these flatness-based methods were shown to be applicable for cars [21] as well. In these approaches a sufficiently smooth planar curve is planned for the flat output of the system, which is the axle midpoint of the last trailer, or simply the rear axle midpoint in case of a single car. Although the method proposed in [21] is a simple and elegant way of generating local paths for cars with continuous curvature, it does not take into account the upper-bounded curvature constraint (except at the start and end configurations).

An important and widely used family of steering approaches is based on optimal control. For general systems only approximate methods exist [25]. However, exact methods for computing optimal (e.g., shortest length) local paths are available for cars moving only forward (Dubins-car [26]) or both forward and backward (Reeds–Shepp-car [27–30]). For the Reeds–Shepp-car, it is shown in [27] that for any pair of configurations the shortest path can be chosen from 48 possible sets of paths, each of which consisting of maximum five circular or straight segments and having maximum two cusps. The number of sets was reduced to 46 in [28] and to 26 in [30]. Because these optimal paths consist of linear and circular segments, the resulting curvature profile contains abrupt changes, which can be traversed precisely only when the car is stopped at points where the curvature changes, in order to reorient its wheels. To overcome this limitation, a steering method is introduced in [31] which approximates Reeds–Shepp paths using continuous curvature turns, which contain clothoid curves to connect linear and circular parts. It was shown that although these paths are not optimal, they converge to the optimal Reeds–Shepp paths when the allowed sharpness of the clothoids tends to infinity. Both the Reeds–Shepp planner and its continuous curvature generalization (let us denote it as CCRS planner in the sequel) is proved to be topological admissible.

Other continuous curvature planning approaches fall into the “path smoothing” class, where a sequence of configurations or a preliminary polygonal route is given and the goal is turning it to a smooth curve. These make use of clothoids [32] and higher order polynomial curves [33–35], or curves with closed form expressions such as Bézier curves [36, 37] or -splines [38]. Unfortunately these are not treating issues such as topological admissibility or convergence guarantees in general planning tasks.

Beyond these approaches, there are specialized algorithms, which were designed to solve a specific planning task, for example, parallel or garage parking. These are not suited to solve more general planning problems in case of arbitrary obstacle distributions. For example, [39, 40] use circle segments and straight lines to generate trajectories for car parking. In [40] these are denoted as translation (TM) and rotation movements (RM), and a number of TM–RM–TM combinations are linked together, depending on the maneuvering complexity of the parking task. An exhaustive search is performed in every step; thus the computational complexity increases heavily with the number of necessary maneuvers. The method of Müller et al. [41] proposes solving the parking task by the general two-step path approximation approach, where they use the CCRS local planner [31] and the global planner described in [42]. Although a general framework is applied, they exploit some simplifications and assumptions (e.g., regarding the shape of obstacles and symmetry of their distribution) in order to make computations tractable for real-time applications.

A recent publication [43] introduces a planning approach which generalizes a parking planner to handle more difficult obstacle distributions, for example, navigation in a narrow parking lot containing some additional obstacles. It is shown that the algorithm can be applied in real time thanks to the fast optimization strategy it is based on. However, completeness or guaranteed convergence is not proven.

#### 3. The RTR + TTS-Planner

Many of the mentioned planning methods were seminal for the development of our approach presented in this paper. Our goal was to design an algorithm with the following properties:(i)It should solve the general planning task; that is, no assumptions are made regarding the obstacle distribution or the starting and goal configurations of the vehicle. At the same time, it should perform well also in the specialized parking situations.(ii)The resulting paths should have continuous curvature profile.(iii)The aim is to generate “human-like” paths, which are simple and contain a “meaningful” number of maneuvers needed by the task at hand.

We chose the following methodology during the design of this planning method. A two-step approximation approach similar to [11, 41] was chosen; however, our global planner already takes some nonholonomic properties of the vehicle into account. The main contributions of this paper are the introduction of our novel topological admissible continuous curvature local planning method (TTS-planner) which facilitates the construction of “human-like” paths, as well as the detailed description of the global RTR-planner.

This paper extends our previous work [45] giving a thorough theoretical treatment, detailed derivation, and proofs regarding the local planning method, as well as a more detailed description of the global planner.

Previous versions of the proposed two-step planning approach can be found in [46–49], where the local planner used only straight and circular segments, resulting in a discontinuous curvature profile. The currently proposed generalized version uses clothoids as well (similarly to [31]). In the derivation we rely on the results of Wilde [50] regarding the parametrization of clothoids. Our approach is mostly comparable to the CCRS planner [31] or the two-step planning method [41] based on it, because they have similar theoretical properties. However, the simulation examples in Section 6 show that our local planner generates better quality paths and has a higher success rate in narrow environments than a CCRS-based approach.

In the sequel we introduce the local TTS-planner first, by deriving it from the kinematic properties of the car and choosing path primitives with clothoids as building blocks. The global RTR-planner is introduced after that where we explain the reason of using only straight movement and in-place turning primitives in the preliminary planning phase.

#### 4. Local Planning: The TTS-Planner

Before going into details of the local path planning method, we give mathematical definitions of the solvable problem. First the vehicle model is introduced, followed by basic properties of the feasible paths, which will serve as a basis for choosing the geometric building elements of the local planner module.

##### 4.1. Vehicle Model

The geometrical model of a car can be seen in Figure 1. In this approach we use the one-track (or bicycle) motion model of a continuous steering kinematic car [41]: where and are the position coordinates of the back axle midpoint (treated as the reference point of the model), is the orientation of the car, denotes the steering angle, and is the distance of the front and rear wheel axles. The signed velocity of the reference point is (positive means forward motion), and stands for the steering rate. The absolute values of the steering angle and its rate of change are limited to The instantaneous turning radius (the reciprocal of the path curvature ) is given by The steering angle limit implies an upper bound on the path curvature

The more widespread form of the motion equation is the following [51]: where denotes the curvature change rate. The vector is called the configuration (or state) of the vehicle and is the input vector of the system. The connection between (1) and (5) is given by An upper bound on the curvature change rate can be expressed as

##### 4.2. Feasible Paths

To elaborate the properties of feasible local paths of our car model, let the translational velocity of the car be written as , where stands for the magnitude of the velocity and represents the local direction of motion: Furthermore, let us introduce the translational displacement of the car along its path and express the translational velocity as Using (10) and the chain rule of differentiation, we reformulate the motion equation (5) as follows: After dividing by (10) and defining the* sharpness* of the path, we get the spatial description of feasible paths:

We can establish the following properties of these paths for our car model:(i)The orientation at is constrained by the local displacements along the - and -axes and by the motion direction . The path curvature is given by the first (spatial) derivative of and the motion direction. Thus every feasible path can be fully described by a planar curve labeled by the motion direction at every point. This fact actually arises from the differential flatness property of the car with the rear axle midpoint position as flat output [17, 21].(ii)The sharpness of the path is the second derivative of (the spatial change rate of the curvature along the path) and determines the maximal allowed velocity at every point on the path: If a nonzero minimal traveling speed is required, then the sharpness has an upper bound:

In other words, if we would like to obtain a path which can be followed by the continuous steering car (1) and we allow the car to stop only if the motion direction is reversed, then the path should be a planar curve with(i)bounded curvature and(ii)bounded sharpness (continuous curvature).

In Sections 4.3, 4.4, and 4.5 we are about to present specific paths fulfilling these requirements and the local path planner for generating such paths.

##### 4.3. Path Elements

Our aim is to choose geometric primitives which can serve as building elements in the process of path construction. We assume that the motion direction is the same along a primitive, but it can change between the primitives (which means a cusp in the path). The most simple planar curves with bounded curvature are straight lines (, called segments in the sequel) and curvature-limited circular arcs (, called segments). Paths constructed by these primitives have piecewise constant curvature with abrupt curvature changes (i.e., infinite sharpness) between the pieces. To obtain continuous curvature, we are about to use* clothoids*, which are the most simple parametric curves with changing curvature and bounded sharpness.

###### 4.3.1. Clothoids

A clothoid is a curve with constant sharpness According to (13), the equations describing a clothoid path can be obtained by integration. If we assume that , we get where denotes the sign of and and stand for the Fresnel cosine and sine integrals:

###### 4.3.2. Clothoid Types

From the point of view of path planning, eight different types of clothoids can be distinguished, based on the following properties:(i)Sign of the sharpness: , it can be positive or negative . Zero sharpness is omitted because it results in a straight or circular segment instead a clothoid.(ii)Direction of motion: , it can be forward () or backward ()(iii)Sign of the absolute curvature change: . The absolute curvature grows if the vehicle is entering a turn (called* in*-type clothoid) and vanishes if it returns to a straight segment (*out*-type clothoid).

Equations (17a) and (17b) describe in-type clothoids parametrized by the constants , and the running variable , starting from and arriving at some , where denotes the whole curve length. From every in-type clothoid we can derive an out-type counterpart by preserving the same geometry but reversing the motion direction: Note that these out-type clothoids start from some and arrive at . The eight different types of clothoids are illustrated in Figure 2.

Note that we deal here only with such clothoid path segments which have either their starting or their final configuration at the origin with zero orientation and curvature ( for in-type and for out-type clothoids). However, this causes no serious limitations. On the one hand, any can be transformed to by translation and rotation. On the other hand, or means that our final concatenated paths can consist of segments, -- triplets, and - pairs. Practically, the only limitation is that transitions between two segments of different curvatures are allowed only with a curvature profile crossing or touching zero, that is, by a --- sequence. As we will see later, this does not prohibit the creation of a complete path planner.

From now on, according to the nomenclature of [31], we will denote -- triplets as* CC-turns* or segments, and - pairs as* elementary paths* or segments. Note that an elementary path is a special case of a CC-turn.

###### 4.3.3. Reparametrization of Clothoids

By looking at (17a) and (17b), we can state that any point on an in-type clothoid starting from can be described by the pair , the sharpness and the signed displacement along the curve. It was shown by Wilde [50] that an equivalent representation is available using the pair , the curvature and the deflection of the curve at a certain point: As it can be seen, appears only as a multiplier in the expressions; thus it can be interpreted as a scaling factor. In this representation is responsible for the “shape” of the clothoid segment, and determines its “size.”

From a computational perspective, this parametrization is less convenient than the parametrization by . The reason is that and are constant values and only is variable along the path segment; thus the curve is described by some fixed parameters and exactly one free parameter, as usual. This makes the explicit computation of these curves simple, for example, for visualization or collision checking. Opposed to this, both and are varying along the curve, and coherency has to be maintained between them to obtain proper results. The coherency is ensured by the constant sharpness, which is related to and as For simplicity, let us choose fixed curvature and deflection values and at the endpoint of curve. This is the point with maximal absolute curvature and deflection: Based on (20a), (20b), (22a), and (22b), in-type clothoids can be fully described by where is the variable parameter and and are constant values. A shorter form for and can be obtained by defining the following functions: Using these, (23a), (23b), (23c), and (23d) will look like Note that if we look at the endpoint, and can be treated as the end position of and “unscaled” in-type clothoid of full deflection. The “scaling factor” can be used to obtain the real endpoint coordinates and .

Now, let us consider a pair of in-type and out-type clothoids having the same geometry (such pairs were shown in Figure 2, e.g., and ). In order to ensure the above-mentioned coherency between and , we define them according to (22a) and (22b) for out-type clothoids as well. However, in this case belongs to the starting point, while to the endpoint of the curve. Since an out-type clothoid has the same geometry as its in-type pair but opposite motion direction, we can obtain its equation as

###### 4.3.4. Elementary Paths and CC-Turns

As already mentioned, elementary paths ( segments) are symmetric curves, consisting of a pair of compatible and clothoids. The curvature of the first curve changes from 0 to , while the second from back to 0. Both curves have the same deflection . Compatibility is assured by the same motion direction and the same curvature at the end of the in-type part and at the beginning of the out-type part. The compatible pairs are(i) and ,(ii) and ,(iii) and ,(iv) and .

A CC-turn consists of a pair of compatible and curves, with an additional circular arc between them, which has curvature and deflection. As mentioned before, an elementary path is a special case of a CC-turn with (see Figure 3).

**(a)**

**(b)**

Let us characterize these path components. They can be described by a parametric configuration curve with . The curve is fully determined by the following parameters:(i)A starting configuration .(ii)The maximal curvature (in an absolute sense: ).(iii)Deflections of the clothoid () and circular () parts.

We use the following building elements to synthesize elementary paths and CC-turns:(i)An in-type clothoid of deflection , starting from and arriving at , as described by (23a), (23b), (23c), and (23d).(ii)A circular arc of deflection and curvature , starting from , described by (iii)A compatible out-type clothoid of deflection , starting from and arriving at , as described by (27a), (27b), (27c), and (27d).

The starting and end configurations of these parts have to be aligned in order to obtain the resulting elementary path or CC-turn. The alignment is performed by rotation and translation, described by homogeneous transformation matrices. Let us assign a transformation matrix to any configuration as follows: This transformation matrix represents the pose of the local coordinate frame attached to . The transformation of another configuration by can be performed as usual: This means that we interpret the coordinates of as local, relative to . Multiplying by we get , which represents the global coordinates of the transformed . Notice that the transformation does not affect the curvature part of the configuration. It follows that the original configuration can be obtained by applying the transformation to : The inverse transformation is given byThese transformation matrices have the following chaining property: where the upper “” index stands for the homogenous coordinate representation .

Now, we have all the tools to assemble CC-turns and elementary paths. A general description of these is obtained as follows: where stands for a given arbitrary starting configuration with zero curvature and and are given by (23a), (23b), (23c), (23d), (27a), (27b), (27c), and (27d), respectively. This can be treated as a “direct” approach for generating a CC-turn or elementary path. One specifies the starting configuration , the maximal curvature , and the deflections and , and the end configuration is obtained directly using (34a), (34b), and (34c). Without loss of generality we can assume that . In this case we get because the endpoint of a standard out-type clothoid is the origin, according to (27a), (27b), (27c), and (27d). The components of have the following form: In order to obtain , we express first: and it follows from (32) that whereAfter multiplying the three matrices we get whereThe end configuration of the CC-turn is given by the elements in the last column of :

It is important to note that, in order to fully define a CC-turn, two of the deflections , , and should be given, together with the maximal curvature . The third deflection parameter is determined by (42).

The equations of an elementary path are similar to (45a), (45b), (45c), and (45d); we only need to substitute : where

##### 4.4. *TTS* Paths for Local Planning

Algorithms that generate feasible local paths for a wheeled system—such as our car model (5)—in the absence of obstacles are called local planners or steering methods. The exact definition of these is the following.

*Definition 1 (steering method). *Let us denote by the set of all feasible local paths regarding system equation . A steering method (or local planner module) is a functionsuch that

As already mentioned in Section 2, the most widely used local planners for the simple kinematic car model (without the requirement of curvature continuity) are based on the optimal length Reeds–Shepp (RS) paths [27]. These local paths consist of maximum five circular or straight segments and have at most two cusps, where the curvature of circular arcs is exactly . If the continuous steering car model (5) is used, the continuous curvature generalization proposed in [31] can be applied. This approximates Reeds–Shepp paths by replacing circular segments with CC-turns. It was shown that although the resulting CCRS paths are not optimal, they converge to the optimal RS paths when the allowed sharpness of the clothoids tends to infinity. The CC-turns in this approach consist of clothoids having the maximal allowed sharpness and circle segments of maximal curvature.

In the sequel we are doing something similar: introduce a new set of local paths for the continuous steering car. The main ideas which motivated the invention of our approach instead using the CCRS paths are the following:(i)The main goal is global planning in the presence of obstacles. Most existing planning methods use a concatenation of local paths, which has the consequence that the result will be not optimal, even if the parts were generated by an optimal planner. Even the CCRS paths are suboptimal. Thus, having the final application in our mind, we lifted the requirement of optimality of our local paths.(ii)Instead minimizing the global path length, we had the goal to achieve “natural” or “human-like” paths. What this means is informally described in the following points.(iii)The RS (resp., CCRS) paths consist of up to five circular (resp., CC-turn) and straight segments. We show in the sequel that three path segments are sufficient to connect any two configurations.(iv)The RS (resp., CCRS) paths use circular segments (resp., CC-turns) having the maximal allowed curvature (the steering wheel is turned to the end position in every curve). Our planner is not restricted to this. Only the limit is taken into account, but smaller curvatures are allowed.(v)The last segment of RS (resp., CCRS) paths is always circular (resp., CC-turn). We argue that this contradicts the behavior of human drivers. Because the car can only move forward or backward, in most cases the more natural behavior is to arrive at a given goal configuration by a straight movement. There are a few exceptions, for example, the case of parallel parking, but these can usually be transformed to the mentioned case by reversing the roles of initial and goal configurations. Consequently, we choose a straight segment as the last section of our local paths.

To simplify notation in the sequel, we will denote local paths as a concatenation of , , and letters, corresponding straight segments, CC-turns, and elementary paths, respectively. In our approach we use (as well as ) paths (note that in our previous work [45] we used the notations and where and represented “CC-turn or straight segment” and “elementary path or straight segment,” although we omit here the possibility of having a straight segment as the first element because our experiments showed that and paths are chosen very rarely by the implemented planning algorithm). In the sequel we present the construction of paths first (where we use only elementary paths in place of CC-turns) and show that this class of paths is sufficient to connect an arbitrary pair of configurations. After that we generalize segments to CC-turns.

###### 4.4.1. Construction of* EES* Paths

Let us assume without loss of generality that the path starts from a given initial configuration and arrives at the origin as goal configuration . Any query pair can be transformed to this form by translation and rotation, and the designed path can be transformed back. Let us denote the intermediate configurations between the path segments by and . For every segment, denotes its index (1, 2 or 3) inside the path. A straight segment is parametrized by its absolute length and direction and an elementary path segment by its curvature and deflection at the middle point between the and parts. To simplify the notation, let us neglect the “” subscript from now on: let and .

The scheme of an path (illustrated in Figure 4) is the following:

The coordinates of can be obtained from by a transformation belonging to the first elementary path whereBy applying the matrix product we obtainLet us define the auxiliary functions and write (53a), (53b), (53c), and (53d) in a shorter form:

Alternatively, we can get from by “traveling backward” along the elementary path. This corresponds to a normal segment with inverse deflection. We can obtain this way by applying the transformation where is the same as (41) with parameters and : and looks like The result of the transformation is

By comparing (55a), (55b), (55c), (55d), (59a), (59b), (59c), and (59d) we can conclude that the path parameters , , , , and of an path fulfill the following constraints:

One can conclude that in an planning problem only one path segment can be parametrized freely; the others are determined. In the sequel we will use and as free parameters.

Let us pay some attention to the ranges of angle parameters in the above equations. The orientation parameter is treated as being in the interval /~, where “/~” means that the two boundary values are identified. Similarly to the geometric derivation of CC-turns, we introduce an upper bound on the whole deflection of both elementary paths, which results in . In order to ensure that , , and being in the given intervals fulfill the constraint (60c), we have to choose the set carefully from which and can be taken. Let us examine two cases:(i): choosing results in (ii): choosing results in These choices ensure both and being in for any values of . We can write these conditions in a single compact form:where is a special sign function with : An illustration of this set can be seen in Figure 5.

**(a)**

**(b)**

Up to now we have not taken the curvature bound into account. It can be proven that an arbitrary configuration pair can be connected by an path even if an upper bound on the absolute curvature is given. The following Lemma states this fact; the proof is elaborated in Appendix A.

Lemma 2. *In the absence of obstacles, any pair of initial and goal configurations of a continuous steering car can be connected by an path.*

Furthermore, it turns out that infinitely many solutions can be found even with bounded curvature, due to the infinitely many choices of and parameters. This means that can be chosen in infinitely many ways, as illustrated in Figure 6.

###### 4.4.2. From* EES* to* TTS* Paths

As we have already seen in Section 4.3.4, elementary paths are special CC-turns with . It follows that the results for elementary paths used in planning can be generalized to CC-turns as well. The equations of an elementary path starting from any and arriving at the -axis—the middle segment of an path—are given by (59a), (59b), (59c), and (59d). This can easily be generalized to the case when the deflection of the circular part is nonzero: where and stand for the deflections of the clothoid and the circular parts, respectively. The full deflection of the CC-turn is Let us introduce the relative amount of the circular part of a CC-turn as Using this, we can express (65b) as The maximal curvature and the sharpness of the CC-turn are given by Note that if we fix the full deflection and change the ratio only, then for a given the end configuration on the -axis remains the same; only and are affected. In other words, we can tune the shape of a CC-turn with without affecting the starting and final configurations. This is illustrated in Figure 7, where clothoids are drawn with solid black lines and the red dashed arcs represent circular segments.

When grows, the curvature is decreasing but the sharpness is increasing at the same time, independently from the full deflection of the path segment. This property can be examined in Figure 8, which shows surface and contour plots of the (absolute) curvature and sharpness of a CC-turn (with ), depending on the full deflection and the relative amount of the circular part.

**(a)**

**(b)**

**(c)**

**(d)**

It follows that if we already have obtained an segment between any two configurations, we can reshape it to a CC-turn having smaller curvature and higher sharpness by tuning the parameter. With this, we can define a maximal sharpness beyond the already treated constraint. If the sharpness of the initial segment is less than , then there exists an value such that . This is beneficial because the length of the path segment is decreasing, as can be seen in Figure 7.

If we have an path, we can do this reshaping for every segment to obtain a path. However, if any of the segments violates the constraint, then it is not so straightforward. Fortunately it can be shown that a solution obeying the constraint exists in all cases. If the second segment in the solution violates the sharpness constraint, we can write using (59c) and (69b) and (A.3) in Appendix A: where is the minimal value of the curvature upper bound ensuring that the second elementary path will have . If we would like to obtain a path from an solution, then by recalling (55b) and (A.6) in Appendix A we can state that can be decreased arbitrarily in order to fulfill condition (71) for the second segment and the maximal sharpness constraint for the first segment at the same time.

The only drawback of using paths instead solutions is that the sharpness tuning requires an iterative search of in the interval . This cannot be avoided, because is in the argument of the function in (69a) and (69b), which does not have an inverse because of the contained Fresnel integrals.

##### 4.5. A Steering Method Based on* EES* Paths

A path planner based on the conditions in proof of Lemma 2 and their generalization in Section 4.4.2 is not a steering method itself (in the sense of Definition 1), because it delivers not only one solution for a query pair. Instead of this, it delivers a parametrized class of solutions, which contains an infinite number of (and ) paths from to , fulfilling the maximum curvature (and sharpness) constraint. This property is useful in global planning problems (i.e., in the presence of obstacles), because one can more likely find a collision-free path from a solution class than from the one and only solution of an exact local planner.

This does not mean that in the presence of obstacles the existence of any collision-free (local) solution would be guaranteed. For successful global planning explicit reasoning about free space connectivity is necessary. As mentioned in Section 3, we apply the framework of the Holonomic Path Approximation Algorithm [11] for this purpose. A distinct global planner delivers a preliminary geometric path, which is iteratively subdivided and approximated by an appropriate steering method. To ensure the convergence of this algorithm, the local planner has to generate such paths that get closer to the original path as the local endpoints get closer to each other. This is called the* topological property* [12] which is formulated more precisely in Appendix B.

Therefore, if a collision-free geometric path is given and we have an appropriate steering method that verifies the topological property, then a complete (completeness means that the algorithm does not fail to return a solution if the problem is solvable) approximation algorithm can be constructed (which was a footnote in the manuscript). Hence, in order to design such a complete algorithm based on paths, we need a steering method which returns exactly one from the class of paths and verifies the topological property.

###### 4.5.1. Definition of Paths

In the sequel we take only paths into account for the purpose of designing the exact steering method. This choice will make possible proving the topological property, because paths have closed form expressions. In contrast to that, paths with a given sharpness can only be obtained by iterative deriving from solutions, as seen in Section 4.4.2.

More possibilities can be found to restrict the class of paths to exactly one specific solution for every query pair . For example, we may choose the sign of and the equality in condition (A.4) in Appendix A and fix to any chosen value except and . In this case the remaining parameter is determined unequivocally. This would result in an path with and having the intermediate orientation at the end of the first segment. This approach has the problem that it is hard to formulate any reasonable direct rule for choosing and the sign of for a given query. Instead of this we introduce the following approach. Let us choose such that is maximal. In this case we do not have to specify any other parameters. The resulting path has two segments with same maximal absolute curvature, but having opposite signs (the steering wheel is turned from right to left or reversely). This type of paths is denoted as paths in the sequel to emphasize that the resulting turning radii (reciprocal of the curvature) are opposite, equal, and minimal. The planning problem is formulated as follows: such that

Using (74) we can reformulate (60a), (60b), and (60c) as

The necessary and sufficient condition for existence of this kind of paths is obtained by (75) and (77b): In the sequel we use some properties of the function, which are established in Appendix C.

Lemma 3. *For any there exists such that .*

*Proof. *According to Properties C.6 and C.7 of the function we can state that for all there exist values for both and . Since is a continuous function, this means that, for all , can take an arbitrarily small value.

###### 4.5.2. The Steering Method

Based on the existence condition (78) and the optimization criterion (76) we can construct a steering method which generates a single path for any local planning query. We denote it as the *-planner*.

Let us examine the special case first, where the existence condition (78) takes the form According to the Proof of Property C.7 in Appendix, we can state that has a zero for all in the interval . Let us denote this solution as