Autonomous Path Planning for Road Vehicles in Narrow ...

28
Research Article Autonomous Path Planning for Road Vehicles in Narrow Environments: An Efficient Continuous Curvature Approach Domokos Kiss and Gábor Tevesz Department of Automation and Applied Informatics, Budapest University of Technology and Economics, Budapest, Hungary Correspondence should be addressed to Domokos Kiss; [email protected] Received 5 May 2017; Accepted 29 August 2017; Published 31 October 2017 Academic Editor: Mohammad Hamdan Copyright © 2017 Domokos Kiss and G´ abor Tevesz. is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 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. ere 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. e approximation methodology is well known in the literature; however, both components proposed in this paper differ from existing similar planning methods. e approximation process with the proposed local planner is proven to be convergent for any preliminary global paths. e 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]. e 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. is 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. is is achieved by using clothoid curves between straight and circular path segments. e proposed algorithm is an approximation-based method consisting of a local and a global planner. e local planner generates feasible paths in the absence of obstacles. e 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. Hindawi Journal of Advanced Transportation Volume 2017, Article ID 2521638, 27 pages https://doi.org/10.1155/2017/2521638

Transcript of Autonomous Path Planning for Road Vehicles in Narrow ...

Page 1: Autonomous Path Planning for Road Vehicles in Narrow ...

Research ArticleAutonomous Path Planning for Road Vehicles in NarrowEnvironments An Efficient Continuous Curvature Approach

Domokos Kiss and Gaacutebor Tevesz

Department of Automation and Applied Informatics Budapest University of Technology and Economics Budapest Hungary

Correspondence should be addressed to Domokos Kiss domokoskissautbmehu

Received 5 May 2017 Accepted 29 August 2017 Published 31 October 2017

Academic Editor Mohammad Hamdan

Copyright copy 2017 Domokos Kiss and Gabor Tevesz This is an open access article distributed under the Creative CommonsAttribution License which permits unrestricted use distribution and reproduction in any medium provided the original work isproperly cited

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

1 Introduction

Looking around in the automotive industry we can see agreat amount of automation and an accelerating pursuit todevelop intelligent self-driving vehicles According to thepopularity of the field research is considerably active in thelast decades [1ndash5]The navigation task of autonomous roboticvehicles consists of many subproblems involving sensingperception and recognition of situations localizationmotionplanning and execution Amongst these we treat here theproblem of generating appropriate paths for robotic cars inthe presence of obstacles As usual in case of cars we assumethe workspace of interest being a planar surface From acontrol theoretic view the rolling without slipping constraintof wheels induces nonholonomic constraints which do notprohibit the controllability of a system but cause remarkabledifficulties (it is enough to think of parallel parking a car)Although controlling a nonholonomic vehicle is a controltheoretic challenge it is worth incorporating knowledgeabout the specific system in the path planning task as well

This paper describes a path planning algorithm which isintended to solve navigation problems where the vehicle hasto cross narrow or cluttered areas in order to reach the goalSince cars have a nonzero minimum turning radius suchenvironments require in many cases nontrivial maneuvering(including more reversals) between narrowing Our solutionis appropriate for the continuous steering car which meansthat the finite steering rate is taken into account as wellbeyond the turning radius In other words steering atstandstill is avoided by forcing the path to have a continuouscurvature profile This is achieved by using clothoid curvesbetween straight and circular path segments The proposedalgorithm is an approximation-based method consisting of alocal and a global plannerThe local planner generates feasiblepaths in the absence of obstacles The global planner deliversa preliminary collision-free path by omitting the minimumturning radius constraint of the vehicle It is shown that theproposed local and global planners are appropriate to beapplied together and guarantee finding a feasible solutionin the presence of obstacles if the planning task is solvable

HindawiJournal of Advanced TransportationVolume 2017 Article ID 2521638 27 pageshttpsdoiorg10115520172521638

2 Journal of Advanced Transportation

Moreover the local paths are designed to be similar to thosea human driver would find

Although different human drivers and passengers preferdifferent types of paths we try to summarize the main char-acteristics of a ldquohuman-likerdquo path as follows Existing optimalplanners strive to return the shortest possible solution whichresults in sharp (mostly maximal curvature) turns and manyreversals in most cases In our opinion optimal length is notas important for a passenger as feeling comfortable If a pathis longer than optimal (to a meaningful extent of course) butcontains less sharp turns and reversals then we treat it betterfrom the passengerrsquos perspective Our proposed approach isdesigned with these preferences in mind the preliminaryglobal path consists only of straight segments (with in-placeturning between them) and the local planner has the task ofconnecting these segments with smooth and not necessarilymaximal curvature turns

The remaining part of the paper is organized as followsThe next section summarizes related work in path planningfor car-like vehicles Section 3 introduces the main charac-teristics of the proposed approach and the previous work ofthe authors in this field In Section 4 we describe the localplanning component (TTS-planner) in detail in which wediscuss the applied path elements the properties of localpaths and a topological admissible steeringmethod based onthese In Section 5 the global planning tool (RTR-planner)is described which generates the collision-free preliminarypath Finally simulation examples are presented whichconfirm the advantageous characteristics of the proposedapproach

2 Related Work

Thepath planning task for nonholonomic systems is difficultcaused by the concurrent presence of global geometric(environmental) and local kinematic constraints For thisreason most available approaches decouple the treatmentof these in two separate phases of the planning processBasically we can distinguish between global and local pathplanning methods which account for the two subproblemsIn some approaches the configuration space of the vehicle issampled and a graph-based description is used to grasp thetopological structure of the environment [6] For examplethe Probabilistic Roadmap Method [7] uses general graphswith an offline sampling the Rapidly Exploring RandomTree approach [8ndash10] builds one or more trees online tocover the free spaceThese sampling-based frameworksmakeuse of a vehicle-specific local planner module (also denotedas a steering method) which accounts for connecting twoarbitrary configurations of the nonholonomic car Graphvertices represent configurations while edges in the graphscorrespond to local paths in these approaches The globaladmissibility of these is checked by an appropriate collisiondetector module

Other approaches are based on the Holonomic PathApproximation Algorithm [11] which recommends planninga preliminary holonomic (kinematically unconstrained) pathfirst and approximating it using a steering method in asecond step In this framework the holonomic global path is

iteratively subdivided and the steering method together witha collision detector is applied to replace the parts To ensurethe convergence of this algorithm the steeringmethod has toverify the topologically property which is defined in [12]

Steering nonholonomic systems is a difficult task even inthe absence of obstacles Exact algorithms are not available ingeneral but only for special classes for example nilpotentiz-able [13] chain-formed [14ndash16] and differentially flat systems[17] Common examples for the above-mentioned systemclasses include wheeled vehicles with or without trailersThere exist elegant solutions of path planning and controlespecially for differentially driven and car-like robots [18ndash21]and mobile manipulators [22ndash24] Most of the available workinvestigates 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 wellSince the kinematics of a car is equivalent to a differentiallydriven robot towing a trailer hitched on top of the wheel axisthese flatness-basedmethods were shown to be applicable forcars [21] as well In these approaches a sufficiently smoothplanar curve is planned for the flat output of the systemwhich is the axlemidpoint of the last trailer or simply the rearaxle midpoint in case of a single car Although the methodproposed in [21] is a simple and elegant way of generatinglocal paths for carswith continuous curvature it does not takeinto account the upper-bounded curvature constraint (exceptat the start and end configurations)

An important and widely used family of steeringapproaches is based on optimal control For general sys-tems only approximate methods exist [25] However exactmethods for computing optimal (eg shortest length) localpaths are available for cars moving only forward (Dubins-car [26]) or both forward and backward (ReedsndashShepp-car [27ndash30]) For the ReedsndashShepp-car it is shown in [27]that for any pair of configurations the shortest path canbe chosen from 48 possible sets of paths each of whichconsisting of maximum five circular or straight segmentsand having maximum two cusps The number of sets wasreduced to 46 in [28] and to 26 in [30] Because theseoptimal paths consist of linear and circular segments theresulting curvature profile contains abrupt changes whichcan be traversed precisely only when the car is stopped atpoints where the curvature changes in order to reorient itswheels To overcome this limitation a steering method isintroduced in [31] which approximates ReedsndashShepp pathsusing continuous curvature turns which contain clothoidcurves to connect linear and circular parts It was shown thatalthough these paths are not optimal they converge to theoptimal ReedsndashShepp paths when the allowed sharpness ofthe clothoids tends to infinity Both the ReedsndashShepp plannerand its continuous curvature generalization (let us denote itas CCRS planner in the sequel) is proved to be topologicaladmissible

Other continuous curvature planning approaches fall intothe ldquopath smoothingrdquo class where a sequence of configura-tions or a preliminary polygonal route is given and the goalis turning it to a smooth curve These make use of clothoids[32] and higher order polynomial curves [33ndash35] or curveswith closed form expressions such as Bezier curves [36 37]

Journal of Advanced Transportation 3

or 119861-splines [38] Unfortunately these are not treating issuessuch as topological admissibility or convergence guaranteesin general planning tasks

Beyond these approaches there are specialized algo-rithms which were designed to solve a specific planningtask for example parallel or garage parking These are notsuited to solve more general planning problems in case ofarbitrary obstacle distributions For example [39 40] usecircle segments and straight lines to generate trajectories forcar parking In [40] these are denoted as translation (TM) androtation movements (RM) and a number of TMndashRMndashTMcombinations are linked together depending on the maneu-vering complexity of the parking task An exhaustive search isperformed in every step thus the computational complexityincreases heavily with the number of necessary maneuversThemethod of Muller et al [41] proposes solving the parkingtask by the general two-step path approximation approachwhere they use the CCRS local planner [31] and the globalplanner described in [42] Although a general framework isapplied they exploit some simplifications and assumptions(eg regarding the shape of obstacles and symmetry of theirdistribution) in order to make computations tractable forreal-time applications

A recent publication [43] introduces a planning approachwhich generalizes a parking planner to handle more difficultobstacle distributions for example navigation in a narrowparking lot containing some additional obstacles It is shownthat the algorithm can be applied in real time thanks to thefast optimization strategy it is based on However complete-ness or guaranteed convergence is not proven

3 The RTR + TTS-Planner

Many of the mentioned planning methods were seminal forthe development of our approach presented in this paper Ourgoal was to design an algorithmwith the following properties

(i) It should solve the general planning task that isno assumptions are made regarding the obstacledistribution or the starting and goal configurations ofthe vehicle At the same time it should perform wellalso in the specialized parking situations

(ii) The resulting paths should have continuous curvatureprofile

(iii) The aim is to generate ldquohuman-likerdquo paths whichare simple and contain a ldquomeaningfulrdquo number ofmaneuvers needed by the task at hand

We chose the followingmethodology during the design ofthis planning method A two-step approximation approachsimilar to [11 41] was chosen however our global planneralready takes some nonholonomic properties of the vehicleinto account The main contributions of this paper are theintroduction of our novel topological admissible continuouscurvature local planning method (TTS-planner) which facil-itates the construction of ldquohuman-likerdquo paths as well as thedetailed description of the global RTR-planner

This paper extends our previous work [45] giving a thor-ough theoretical treatment detailed derivation and proofs

L

v

1

x

y

Figure 1 Kinematic model of a car

regarding the local planning method as well as a moredetailed description of the global planner

Previous versions of the proposed two-step planningapproach can be found in [46ndash49] where the local plan-ner used only straight and circular segments resulting ina discontinuous curvature profile The currently proposedgeneralized 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 ismostly comparable to the CCRS planner [31] or the two-stepplanning method [41] based on it because they have similartheoretical properties However the simulation examples inSection 6 show that our local planner generates better qualitypaths and has a higher success rate in narrow environmentsthan a CCRS-based approach

In the sequel we introduce the local TTS-planner firstby deriving it from the kinematic properties of the carand choosing path primitives with clothoids as buildingblocksThe global RTR-planner is introduced after that wherewe explain the reason of using only straight movementand in-place turning primitives in the preliminary planningphase

4 Local Planning The TTS-Planner

Before going into details of the local path planning methodwe give mathematical definitions of the solvable problemFirst the vehicle model is introduced followed by basicproperties of the feasible paths which will serve as a basis forchoosing the geometric building elements of the local plannermodule

41 Vehicle Model The geometrical model of a car can beseen in Figure 1 In this approach we use the one-track (orbicycle) motionmodel of a continuous steering kinematic car[41]

4 Journal of Advanced Transportation

[[[[[[[120601]]]]]]] = [[[[[[[

cos 120579sin 1205791119871 tan1206010

]]]]]]] V + [[[[[[0001]]]]]]Ω (1)

where 119909 and 119910 are the position coordinates of the back axlemidpoint (treated as the reference point of the model) 120579 isthe orientation of the car 120601 denotes the steering angle and 119871is the distance of the front and rear wheel axles The signedvelocity of the reference point is V (positive means forwardmotion) and Ω stands for the steering rate The absolutevalues of the steering angle and its rate of change are limitedto 10038161003816100381610038161206011003816100381610038161003816 le 120601max lt 1205872|Ω| le Ωmax lt infin (2)

The instantaneous turning radius (the reciprocal of the pathcurvature 120581) is given by 1120581 = 119871

tan120601 (3)

The steering angle limit implies an upper bound on the pathcurvature |120581| le 120581max = tan120601max119871 (4)

The more widespread form of the motion equation is thefollowing [51]

[[[[[[120581]]]]]] = [[[[[[

cos 120579sin 1205791205810

]]]]]] V + [[[[[[0001]]]]]]120590 (5)

where 120590 denotes the curvature change rate The vector 119902 =(119909 119910 120579 120581) is called the configuration (or state) of the vehicleand 119906 = (V 120590) is the input vector of the system Theconnection between (1) and (5) is given by120581 = tan120601119871120590 = = 119871 cos2120601 = Ω119871 cos2120601 (6)

An upper bound on the curvature change rate can be ex-pressed as |120590| le 120590max = Ωmax119871 le Ωmax119871 cos2120601 (7)

42 Feasible Paths To elaborate the properties of feasiblelocal paths of our car model let the translational velocityof the car be written as V = 120574|V| where |V| stands for the

magnitude of the velocity and 120574 represents the local directionof motion

120574 = 1 if V ge 0 (forward motion)minus1 if V lt 0 (backward motion)(8)

Furthermore let us introduce the translational displacementof the car along its path119904 (119905) = int119905

0|V (120591)| 119889120591 (9)

and express the translational velocity as

V = 120574119889119904119889119905 (10)

Using (10) and the chain rule of differentiation we reformu-late the motion equation (5) as follows

119889119889119904 [[[[[[119909119910120579120581]]]]]] sdot 119889119904119889119905 = [[[[[[

cos 120579sin 1205791205810

]]]]]]120574119889119904119889119905 + [[[[[[0001]]]]]]120590 (11)

After dividing by (10) and defining120572 (119904) = 120590V= 120574119889120581119889119904 (119904) = 11988921205791198891199042 (119904) (12)

the sharpness of the path we get the spatial description offeasible paths

120574 119889119889119904 [[[[[[119909119910120579120581]]]]]] = [[[[[[

cos 120579sin 1205791205810

]]]]]] + [[[[[[0001]]]]]]120572 (13)

We can establish the following properties of these pathsfor our car model

(i) The orientation 120579 at 119904 is constrained by the local dis-placements along the119909- and119910-axes and by themotiondirection 120574 The path curvature 120581 is given by the first(spatial) derivative of 120579 and the motion directionThus every feasible path can be fully described by aplanar curve labeled by the motion direction at everypoint This fact actually arises from the differentialflatness property of the carwith the rear axlemidpointposition as flat output [17 21]

(ii) The sharpness of the path is the second derivative of120579 (the spatial change rate of the curvature along thepath) and determines themaximal allowed velocity atevery point on the path|V (119904)| le 120590max|120572 (119904)| (14)

Journal of Advanced Transportation 5

If a nonzero minimal traveling speed Vmin is requiredthen the sharpness has an upper bound|120572 (119904)| le 120572max = 120590max1003816100381610038161003816Vmin

1003816100381610038161003816 (15)

In otherwords if wewould like to obtain a pathwhich canbe followed by the continuous steering car (1) and we allowthe car to stop only if the motion direction is reversed thenthe path should be a planar curve with

(i) bounded curvature and(ii) bounded sharpness (continuous curvature)

In Sections 43 44 and 45 we are about to presentspecific paths fulfilling these requirements and the local pathplanner for generating such paths

43 Path Elements Our aim is to choose geometric primi-tives which can serve as building elements in the process ofpath construction We assume that the motion direction isthe same along a primitive but it can change between theprimitives (whichmeans a cusp in the path)Themost simpleplanar curves with bounded curvature are straight lines (120581 =0 called 119878 segments in the sequel) and curvature-limitedcircular arcs (|120581(119904)| = const le 120581max called119862 segments) Pathsconstructed by these primitives have piecewise constant cur-vature with abrupt curvature changes (ie infinite sharpness)between the pieces To obtain continuous curvature we areabout to use clothoids which are the most simple parametriccurves with changing curvature and bounded sharpness

431 Clothoids Aclothoid is a curvewith constant sharpness|120572 (119904)| = |120572| le 120572max lt infin forall119904 (16)

According to (13) the equations describing a clothoid pathcan be obtained by integration If we assume that 119902(0) = 0we get

119909 (119904) = 120574radic 120587|120572|119862119865(radic |120572|120587 119904) (17a)

119910 (119904) = 120574 sgn (120572)radic 120587|120572|119878119865(radic |120572|120587 119904) (17b)

where sgn(120572) denotes the sign of 120572 and 119862119865 and 119878119865 stand forthe Fresnel cosine and sine integrals119862119865 (119903) = int119903

0cos(1205872 1205832)119889120583 (18a)

119878119865 (119903) = int119903

0sin(1205872 1205832)119889120583 (18b)

432 Clothoid Types From the point of view of path plan-ning eight different types of clothoids can be distinguishedbased on the following properties

CCNBin

CCNFout

CCPFout

CCPBin

CCPFin

CCPBout

CCNBout

x

y

CCNFin

Figure 2 Clothoid types

(i) Sign of the sharpness sgn(120572) = 120574 sgn(119889120581119889119904) it canbe positive (119875 sgn(120572) = 1) or negative (119873 sgn(120572) =minus1) Zero sharpness is omitted because it results in astraight or circular segment instead a clothoid

(ii) Direction of motion 120574 it can be forward (119865) orbackward (119861)

(iii) Sign of the absolute curvature change sgn(119889|120581|119889119904)The absolute curvature grows if the vehicle is enteringa turn (called in-type clothoid) and vanishes if itreturns to a straight segment (out-type clothoid)

Equations (17a) and (17b) describe in-type clothoidsparametrized by the constants 120572 120574 and the running variable119904 isin [0 119904CC] starting from 119902in(0) = 0 and arriving at some119902in(119904CC) where 119904CC denotes the whole curve length Fromevery in-type clothoid we can derive an out-type counterpartby preserving the same geometry but reversing the motiondirection119909out (119904) = minus120574radic 120587|120572|119862119865(radic |120572|120587 (119904CC minus 119904)) (19a)

119910out (119904) = minus120574 sgn (120572)radic 120587|120572|119878119865(radic |120572|120587 (119904CC minus 119904)) (19b)

Note that these out-type clothoids start from some 119902out(0) =119902in(119904CC) and arrive at 119902out(119904CC) = 0 The eight different typesof clothoids are illustrated in Figure 2

Note that we deal here only with such clothoid pathsegments which have either their starting or their final con-figuration at the origin with zero orientation and curvature(119902(0) = 0 for in-type and 119902(119904CC) = 0 for out-type clothoids)However this causes no serious limitations On the one handany 119902 = (119909 119910 120579 0) can be transformed to 1199021015840 = (0 0 0 0)by translation and rotation On the other hand 120581(0) = 0or 120581(119904CC) = 0 means that our final concatenated pathscan consist of 119878 segments CCin-119862-CCout triplets and CCin-CCout pairs Practically the only limitation is that transitionsbetween two 119862 segments of different curvatures are allowedonly with a curvature profile crossing or touching zero thatis by a 119862-CCout-CCin-119862 sequence As we will see later thisdoes not prohibit the creation of a complete path planner

6 Journal of Advanced Transportation

From now on according to the nomenclature of [31] wewill denote CCin-119862-CCout triplets asCC-turns or119879 segmentsandCCin-CCout pairs as elementary paths or119864 segmentsNotethat an elementary path is a special case of a CC-turn

433 Reparametrization of Clothoids By looking at (17a) and(17b) we can state that any point on an in-type clothoidstarting from 119902(0) = 0 can be described by the pair (120572 120574119904)the sharpness and the signed displacement along the curve Itwas shown byWilde [50] that an equivalent representation isavailable using the pair (120581 120575) the curvature and the deflectionof the curve at a certain point

119909 (120581 120575) = sgn (120575) radic2120587 |120575|120581 119862119865(radic2 |120575|120587 ) (20a)

119910 (120581 120575) = radic2120587 |120575|120581 119878119865(radic2 |120575|120587 ) (20b)

As it can be seen 120581 appears only as a multiplier in theexpressions thus it can be interpreted as a scaling factor Inthis representation 120575 is responsible for the ldquoshaperdquo of theclothoid segment and 120581 determines its ldquosizerdquo

From a computational perspective this (120581 120575) parametri-zation is less convenient than the parametrization by (120572 120574119904)The reason is that 120572 and 120574 are constant values and only 119904 isvariable along the path segment thus the curve is describedby some fixed parameters and exactly one free parameter asusual This makes the explicit computation of these curvessimple for example for visualization or collision checkingOpposed to this both 120581 and 120575 are varying along the curveand coherency has to be maintained between them to obtainproper results The coherency is ensured by the constantsharpness which is related to 120581 and 120575 as120572 = 12058122120575 (21)

For simplicity let us choose fixed curvature and deflectionvalues 120581CC and 120575CC at the endpoint of curve This is the pointwith maximal absolute curvature and deflection120581CC = argmax

120581|120581| (22a)120575CC = argmax

120575|120575| (22b)

Based on (20a) (20b) (22a) and (22b) in-type clothoids canbe fully described by

119909in (120575) = sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 |120575|120587 ) (23a)

119910in (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 |120575|120587 ) (23b)

120579in (120575) = 120575 (23c)

120581in (120575) = 120581CCradic 120575120575CC (23d)

where 120575 isin [0 120575CC] is the variable parameter and 120575CC and 120581CCare constant values A shorter form for 119909in(120575) and 119910in(120575) canbe obtained by defining the following functions

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (24)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (25)

Using these (23a) (23b) (23c) and (23d) will look like

119909in (120575) = 119883 (2120575)120581CC radic120575CC120575 = 119883 (2120575)120581in (120575) (26a)

119910in (120575) = 119884 (2120575)120581CC radic120575CC120575 = 119884 (2120575)120581in (120575) (26b)120579in (120575) = 120575 (26c)120581in (120575) = 120581CCradic 120575120575CC (26d)

Note that if we look at the endpoint 119883(2120575CC) and 119884(2120575CC)can be treated as the end position of and ldquounscaledrdquo in-typeclothoid of 120575CC full deflectionThe ldquoscaling factorrdquo 1120581CC canbe used to obtain the real endpoint coordinates 119909in(120575CC) and119910in(120575CC)

Now let us consider a pair of in-type and out-typeclothoids having the same geometry (such pairs were shownin Figure 2 eg CC119875119865

in and CC119875119861out) In order to ensure the

above-mentioned coherency between 120581CC and 120575CC we definethem according to (22a) and (22b) for out-type clothoidsas well However in this case 120581CC belongs to the startingpoint while 120575CC to the endpoint of the curve Since an out-type clothoid has the same geometry as its in-type pair butopposite motion direction we can obtain its equation as119909out (120575)

= minus sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27a)

119910out (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27b)

120579out (120575) = 120575 minus 120575CC (27c)

120581out (120575) = 120581CCradic120575CC minus 120575120575CC (27d)

Journal of Advanced Transportation 7

CCout

CC

qs = 2CC

2

y

x

qe

CCin

(a)

y

qe

C

CCin

C

= 2CC + C

x

CCout

CCqs

(b)

Figure 3 Structure of (a) elementary paths and (b) CC-turns

434 Elementary Paths and CC-Turns As already men-tioned elementary paths (119864 segments) are symmetric curvesconsisting of a pair of compatible CCin and CCout clothoidsThe curvature of the first curve changes from 0 to 120581CC whilethe second from 120581CC back to 0 Both curves have the samedeflection 120575CC Compatibility is assured by the same motiondirection 120574 and the same curvature 120581CC at the end of thein-type part and at the beginning of the out-type part Thecompatible pairs are

(i) CC119875119865in and CC119873119865

out

(ii) CC119873119865in and CC119875119865

out

(iii) CC119875119861in and CC119873119861

out

(iv) CC119873119861in and CC119875119861

out

A CC-turn consists of a pair of compatible CCin andCCout curves with an additional circular arc between themwhich has 120581119862 = 120581CC curvature and 120575119862 deflection Asmentioned before an elementary path is a special case of aCC-turn with 120575119862 = 0 (see Figure 3)

Let us characterize these path components They canbe described by a parametric configuration curve 119902(120575) =(119909(120575) 119910(120575) 120579(120575) 120581(120575)) with 120575 isin [0 120575end] The curve is fullydetermined by the following parameters

(i) A starting configuration 119902(0) = 119902119904 = (119909119904 119910119904 120579119904 0)(ii) The maximal curvature 120581CC (in an absolute sense|120581CC| ge |120581(120575)| forall120575)(iii) Deflections of the clothoid (120575CC) and circular (120575119862)

parts

We use the following building elements to synthesize elemen-tary paths and CC-turns

(i) An in-type clothoid 119902in(120575) of deflection 120575CC startingfrom 119902in(0) = (0 0 0 0) and arriving at 119902in(120575CC) =(119909in(120575CC) 119910in(120575CC) 120575CC 120581CC) as described by (23a)(23b) (23c) and (23d)

(ii) A circular arc 119902119888(120575) of deflection 120575119862 and curvature120581CC starting from 119902119888(0) = (0 0 0 0) described by119909119888 (120575) = sin 120575120581CC (28a)

119910119888 (120575) = 1 minus cos 120575120581CC (28b)120579119888 (120575) = 120575 (28c)120581119888 (120575) = 120581CC (28d)

(iii) A compatible out-type clothoid 119902out(120575) of deflec-tion 120575CC starting from 119902out(0) = (119909out(0) 119910out(0)minus120575CC 120581CC) and arriving at 119902out(120575CC) = (0 0 0 0) asdescribed by (27a) (27b) (27c) and (27d)

The starting and end configurations of these parts have to bealigned in order to obtain the resulting elementary path orCC-turn The alignment is performed by rotation and trans-lation described by homogeneous transformation matricesLet us assign a transformation matrix to any configuration 1199020as follows

1199020 = (1199090119910012057901205810) 997888rarr

119879(1199020) = [[[[[[[[[cos 1205790 minus sin 1205790 0 0 1199090sin 1205790 cos 1205790 0 0 11991000 0 1 0 12057900 0 0 1 00 0 0 0 1

]]]]]]]]]

(29)

This transformation matrix represents the pose of the localcoordinate frame attached to 1199020 The transformation of

8 Journal of Advanced Transportation

another configuration 119902 by 119879(1199020) can be performed as usual(11990210158401) = 119879 (1199020) (1199021) (30)

This means that we interpret the coordinates of 119902 as localrelative to 1199020Multiplying by119879(1199020)we get 1199021015840 which representsthe global coordinates of the transformed 119902 Notice thatthe transformation does not affect the curvature part of theconfiguration It follows that the original configuration 1199020can be obtained by applying the transformation 119879(1199020) to 119902 =(0 0 0 1205810)

(11990201 ) = 119879 (1199020)(((

00012058101)))

(31)

The inverse transformation is given by119879minus1 (1199020)= [[[[[[[[[

cos 1205790 sin 1205790 0 0 minus1199090 cos 1205790 minus 1199100 sin 1205790minus sin 1205790 cos 1205790 0 0 1199090 sin 1205790 minus 1199100 cos 12057900 0 1 0 minus12057900 0 0 1 00 0 0 0 1]]]]]]]]] (32)

These transformation matrices have the following chainingproperty

1198671199021015840 = 119879 (1199020) sdot 119867119902 lArrrArr 119879(1199021015840) = 119879 (1199020) sdot 119879 (119902) (33)

where the upper ldquo119867rdquo index stands for the homogenouscoordinate representation 119867119902 = [119902 1]119879

Now we have all the tools to assemble CC-turns andelementary paths A general description of these is obtainedas follows

119867119902 (120575) = 119879 (119902119904) sdot 119867119902in (120575) if 120575 isin [0 120575CC] (34a)

119867119902 (120575) = 119879 (119902 (120575CC)) sdot 119867119902119888 (120575 minus 120575CC) if 120575 isin (120575119862119862 120575CC + 120575119862] (34b)

119867119902 (120575) = 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))sdot 119867119902out (120575 minus 120575CC minus 120575119862) if 120575 isin (120575CC + 120575119862 2120575CC + 120575119862] (34c)

where 119902119904 stands for a given arbitrary starting configurationwith zero curvature and 119902in(120575) and 119902out(120575) are given by(23a) (23b) (23c) (23d) (27a) (27b) (27c) and (27d)respectively This can be treated as a ldquodirectrdquo approach forgenerating a CC-turn or elementary path One specifies the

starting configuration 119902119904 the maximal curvature 120581CC andthe deflections 120575CC and 120575119862 and the end configuration 119902119890 =119902(2120575CC+120575119862) is obtained directly using (34a) (34b) and (34c)Without loss of generality we can assume that 119902119904 = (0 0 0 0)In this case we get

119867119902 (120575CC) = 119867119902in (120575CC) = 119879 (119902in (120575CC)) sdot 1198670 (35a)

119867119902 (120575CC + 120575119862) = 119879 (119902in (120575CC)) sdot 119867119902c (120575119862)= 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902(120575CC+120575119862))

sdot 1198670 (35b)

119867119902119890 = 119867119902 (2120575CC + 120575119862)= 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902119890)sdot 119867119902out (120575CC) = 119879 (119902119890) sdot 1198670

(35c)

because the endpoint of a standard out-type clothoid isthe origin according to (27a) (27b) (27c) and (27d) Thecomponents of119879 (119902119890) = 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862)) sdot 119879minus1 (119902out (0)) (36)

have the following form119879 (119902in (120575CC))=[[[[[[[[[[[[

cos 120575CC minus sin 120575CC 0 0 119883 (2120575CC)120581CCsin 120575CC cos 120575CC 0 0 119884 (2120575CC)120581CC0 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]]]]]119879 (119902119888 (120575119862)) =

[[[[[[[[[[[cos 120575119862 minus sin 120575119862 0 0 sin 120575119862120581CCsin 120575119862 cos 120575119862 0 0 1 minus cos 120575119862120581CC0 0 1 0 1205751198620 0 0 1 00 0 0 0 1

]]]]]]]]]]]

(37)

In order to obtain 119879minus1(119902out(0)) we express 119902out(0) first119902out (0) = (minus119909in (120575CC)119910in (120575CC)minus120575CC120581CC ) = ((

(minus119883(2120575CC)120581CC119884 (2120575CC)120581CCminus120575CC120581CC

)))

(38)

Journal of Advanced Transportation 9

and it follows from (32) that

119879minus1 (119902out (0)) = [[[[[[[[[cos 120575CC minus sin 120575CC 0 0 11990515sin 120575CC cos 120575CC 0 0 119905250 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]] (39)

where11990515 = 119883 (2120575CC)120581CC cos 120575CC + 119884 (2120575CC)120581CC sin 120575CC11990525 = 119883 (2120575CC)120581CC sin 120575CC minus 119884 (2120575CC)120581CC cos 120575CC (40)

After multiplying the three matrices we get119879 (119902119890)=[[[[[[[[[[[[

cos (120575end) minus sin (120575end) 0 0 119860 (2120575CC 120575119862)120581CCsin (120575end) cos (120575end) 0 0 119861 (2120575CC 120575119862)120581CC0 0 1 0 120575end0 0 0 1 00 0 0 0 1

]]]]]]]]]]]] (41)

where 120575end = 2120575CC + 120575119862 (42)119860 (2120575CC 120575119862) = 119883 (2120575CC) (1 + cos (2120575CC + 120575119862))+ 119884 (2120575CC) sin (2120575CC + 120575119862)+ sin (120575CC + 120575119862) minus sin 120575CC (43)

119861 (2120575CC 120575119862) = 119883 (2120575CC) sin (2120575CC + 120575119862)+ 119884 (2120575CC) (1 minus cos (2120575CC + 120575119862))minus cos (120575CC + 120575119862) + cos120575CC (44)

The end configuration of theCC-turn is given by the elementsin the last column of 119879(119902119890)119909119890 = 119860 (2120575CC 120575119862)120581CC (45a)

119910119890 = 119861 (2120575CC 120575119862)120581CC (45b)120579119890 = 2120575CC + 120575119862 (45c)120581119890 = 0 (45d)

It is important to note that in order to fully define aCC-turn two of the deflections 120575CC 120575119862 and 120575end should be

given together with the maximal curvature 120581CC The thirddeflection parameter is determined by (42)

The equations of an elementary path are similar to (45a)(45b) (45c) and (45d) we only need to substitute 120575119862 = 0119909119890 = 119860 (2120575CC 0)120581CC = 119860 (2120575CC)120581CC (46a)

119910119890 = 119861 (2120575CC 0)120581CC = 119861 (2120575CC)120581CC (46b)120579119890 = 2120575CC (46c)120581119890 = 0 (46d)

where 119860 (2120575CC) = 119883 (2120575CC) (1 + cos (2120575CC))+ 119884 (2120575CC) sin (2120575CC) 119861 (2120575CC) = 119883 (2120575CC) sin (2120575CC)+ 119884 (2120575CC) (1 minus cos (2120575CC)) (47)

44 TTS Paths for Local Planning Algorithms that generatefeasible local paths for a wheeled systemmdashsuch as our carmodel (5)mdashin the absence of obstacles are called localplanners or steering methods The exact definition of theseis the following

Definition 1 (steering method) Let us denote by Λ 119891 the setof all feasible local paths 120582119891 regarding system equation =119891(119902 119906) A steering method (or local planner module) is afunction

Steer C timesC 997888rarr Λ 119891 ie 120582119891 (sdot) = Steer (1199020 1199021) (48)

such that 120582119891 (0) = Steer (1199020 1199021) (0) = 1199020120582119891 (119878120582) = Steer (1199020 1199021) (119878120582) = 1199021 (49)

As already mentioned in Section 2 the most widely usedlocal planners for the simple kinematic car model (withoutthe requirement of curvature continuity) are based on theoptimal length ReedsndashShepp (RS) paths [27] These localpaths consist of maximum five circular or straight segmentsand have at most two cusps where the curvature of circulararcs is exactly plusmn120581max If the continuous steering car model(5) is used the continuous curvature generalization proposedin [31] can be applied This approximates ReedsndashShepp pathsby replacing circular segments with CC-turns It was shownthat although the resulting CCRS paths are not optimalthey converge to the optimal RS paths when the allowedsharpness of the clothoids tends to infinity The CC-turnsin this approach consist of clothoids having the maximalallowed sharpness and circle segments of maximal curvature

In the sequel we are doing something similar introducea new set of local paths for the continuous steering car Themain ideas which motivated the invention of our approachinstead using the CCRS paths are the following

10 Journal of Advanced Transportation

(i) The main goal is global planning in the presenceof obstacles Most existing planning methods use aconcatenation of local paths which has the conse-quence that the result will be not optimal even if theparts were generated by an optimal planner Even theCCRS paths are suboptimal Thus having the finalapplication in our mind we lifted the requirement ofoptimality of our local paths

(ii) Insteadminimizing the global path length we had thegoal to achieve ldquonaturalrdquo or ldquohuman-likerdquo pathsWhatthis means is informally described in the followingpoints

(iii) The RS (resp CCRS) paths consist of up to fivecircular (resp CC-turn) and straight segments Weshow in the sequel that three path segments aresufficient to connect any two configurations

(iv) The RS (resp CCRS) paths use circular segments(resp CC-turns) having the maximal allowed curva-ture (the steering wheel is turned to the end positionin every curve) Our planner is not restricted to thisOnly the limit is taken into account but smallercurvatures are allowed

(v) The last segment of RS (resp CCRS) paths is alwayscircular (resp CC-turn) We argue that this contra-dicts the behavior of human drivers Because the carcan only move forward or backward in most casesthe more natural behavior is to arrive at a givengoal configuration by a straight movement There area few exceptions for example the case of parallelparking but these can usually be transformed tothe mentioned case by reversing the roles of initialand goal configurations Consequently we choose astraight segment as the last section of our local paths

To simplify notation in the sequel we will denote localpaths as a concatenation of 119878 119879 and 119864 letters correspondingstraight segments CC-turns and elementary paths respec-tively In our approach we use 119879119879119878 (as well as 119864119864119878) paths(note that in our previous work [45] we used the notations119879lowast119879119878 and 119864lowast119864119878 where 119879lowast and 119864lowast represented ldquoCC-turn orstraight segmentrdquo and ldquoelementary path or straight segmentrdquoalthough we omit here the possibility of having a straightsegment as the first element because our experiments showedthat 119878119879119878 and 119878119864119878 paths are chosen very rarely by theimplemented planning algorithm) In the sequel we presentthe construction of 119864119864119878 paths first (where we use onlyelementary paths in place of CC-turns) and show that thisclass of paths is sufficient to connect an arbitrary pair ofconfigurations After that we generalize 119864 segments to CC-turns

441 Construction of EES Paths Let us assume withoutloss of generality that the path starts from a given initialconfiguration 119902119868 = (119909119868 119910119868 120579119868 0) and arrives at the origin asgoal configuration 119902119866 = (0 0 0 0) Any query pair (119902119868 119902119866)can be transformed to this form by translation and rotationand the designed path can be transformed back Let us denotethe intermediate configurations between the path segments

y

xqG qG

2

qI

1

1

2

2

1

qI

Figure 4 EES path

by 119868 and 119866 For every segment 119894 denotes its index (1 2or 3) inside the path A straight segment is parametrizedby its absolute length 119904119894 and direction 120574119894 and an elementarypath segment by its curvature 120581119894CC and deflection 120575119894CC at themiddle point between the CCin and CCout parts To simplifythe notation let us neglect the ldquoCCrdquo subscript from now onlet 120581119894 = 120581119894CC and 120575119894 = 120575119894CC

The scheme of an 119864119864119878 path (illustrated in Figure 4) is thefollowing 119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (50)

The coordinates of 119868 can be obtained from 119902119868 by atransformation belonging to the first elementary path

119867119868 = 119879 (119902119868) sdot 119879 (119902119890 (1205751 1205811)) sdot 1198670 (51)

where119879 (119902119890 (1205751 1205811))=[[[[[[[[[[[[

cos (21205751) minus sin (21205751) 0 0 119860 (21205751)1205811sin (21205751) cos (21205751) 0 0 119861 (21205751)12058110 0 1 0 212057510 0 0 1 00 0 0 0 1

]]]]]]]]]]]]

119879 (119902119868) = [[[[[[[[[cos (120579119868) minus sin (120579119868) 0 0 119909119868sin (120579119868) cos (120579119868) 0 0 1199101198680 0 1 0 1205791198680 0 0 1 00 0 0 0 1

]]]]]]]]]

(52)

By applying the matrix product we obtain119868 = 119860 (21205751)1205811 cos (120579119868) minus 119861 (21205751)1205811 sin (120579119868) + 119909119868 (53a)

119868 = 119860 (21205751)1205811 sin (120579119868) + 119861 (21205751)1205811 cos (120579119868) + 119910119868 (53b)

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 2: Autonomous Path Planning for Road Vehicles in Narrow ...

2 Journal of Advanced Transportation

Moreover the local paths are designed to be similar to thosea human driver would find

Although different human drivers and passengers preferdifferent types of paths we try to summarize the main char-acteristics of a ldquohuman-likerdquo path as follows Existing optimalplanners strive to return the shortest possible solution whichresults in sharp (mostly maximal curvature) turns and manyreversals in most cases In our opinion optimal length is notas important for a passenger as feeling comfortable If a pathis longer than optimal (to a meaningful extent of course) butcontains less sharp turns and reversals then we treat it betterfrom the passengerrsquos perspective Our proposed approach isdesigned with these preferences in mind the preliminaryglobal path consists only of straight segments (with in-placeturning between them) and the local planner has the task ofconnecting these segments with smooth and not necessarilymaximal curvature turns

The remaining part of the paper is organized as followsThe next section summarizes related work in path planningfor car-like vehicles Section 3 introduces the main charac-teristics of the proposed approach and the previous work ofthe authors in this field In Section 4 we describe the localplanning component (TTS-planner) in detail in which wediscuss the applied path elements the properties of localpaths and a topological admissible steeringmethod based onthese In Section 5 the global planning tool (RTR-planner)is described which generates the collision-free preliminarypath Finally simulation examples are presented whichconfirm the advantageous characteristics of the proposedapproach

2 Related Work

Thepath planning task for nonholonomic systems is difficultcaused by the concurrent presence of global geometric(environmental) and local kinematic constraints For thisreason most available approaches decouple the treatmentof these in two separate phases of the planning processBasically we can distinguish between global and local pathplanning methods which account for the two subproblemsIn some approaches the configuration space of the vehicle issampled and a graph-based description is used to grasp thetopological structure of the environment [6] For examplethe Probabilistic Roadmap Method [7] uses general graphswith an offline sampling the Rapidly Exploring RandomTree approach [8ndash10] builds one or more trees online tocover the free spaceThese sampling-based frameworksmakeuse of a vehicle-specific local planner module (also denotedas a steering method) which accounts for connecting twoarbitrary configurations of the nonholonomic car Graphvertices represent configurations while edges in the graphscorrespond to local paths in these approaches The globaladmissibility of these is checked by an appropriate collisiondetector module

Other approaches are based on the Holonomic PathApproximation Algorithm [11] which recommends planninga preliminary holonomic (kinematically unconstrained) pathfirst and approximating it using a steering method in asecond step In this framework the holonomic global path is

iteratively subdivided and the steering method together witha collision detector is applied to replace the parts To ensurethe convergence of this algorithm the steeringmethod has toverify the topologically property which is defined in [12]

Steering nonholonomic systems is a difficult task even inthe absence of obstacles Exact algorithms are not available ingeneral but only for special classes for example nilpotentiz-able [13] chain-formed [14ndash16] and differentially flat systems[17] Common examples for the above-mentioned systemclasses include wheeled vehicles with or without trailersThere exist elegant solutions of path planning and controlespecially for differentially driven and car-like robots [18ndash21]and mobile manipulators [22ndash24] Most of the available workinvestigates 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 wellSince the kinematics of a car is equivalent to a differentiallydriven robot towing a trailer hitched on top of the wheel axisthese flatness-basedmethods were shown to be applicable forcars [21] as well In these approaches a sufficiently smoothplanar curve is planned for the flat output of the systemwhich is the axlemidpoint of the last trailer or simply the rearaxle midpoint in case of a single car Although the methodproposed in [21] is a simple and elegant way of generatinglocal paths for carswith continuous curvature it does not takeinto account the upper-bounded curvature constraint (exceptat the start and end configurations)

An important and widely used family of steeringapproaches is based on optimal control For general sys-tems only approximate methods exist [25] However exactmethods for computing optimal (eg shortest length) localpaths are available for cars moving only forward (Dubins-car [26]) or both forward and backward (ReedsndashShepp-car [27ndash30]) For the ReedsndashShepp-car it is shown in [27]that for any pair of configurations the shortest path canbe chosen from 48 possible sets of paths each of whichconsisting of maximum five circular or straight segmentsand having maximum two cusps The number of sets wasreduced to 46 in [28] and to 26 in [30] Because theseoptimal paths consist of linear and circular segments theresulting curvature profile contains abrupt changes whichcan be traversed precisely only when the car is stopped atpoints where the curvature changes in order to reorient itswheels To overcome this limitation a steering method isintroduced in [31] which approximates ReedsndashShepp pathsusing continuous curvature turns which contain clothoidcurves to connect linear and circular parts It was shown thatalthough these paths are not optimal they converge to theoptimal ReedsndashShepp paths when the allowed sharpness ofthe clothoids tends to infinity Both the ReedsndashShepp plannerand its continuous curvature generalization (let us denote itas CCRS planner in the sequel) is proved to be topologicaladmissible

Other continuous curvature planning approaches fall intothe ldquopath smoothingrdquo class where a sequence of configura-tions or a preliminary polygonal route is given and the goalis turning it to a smooth curve These make use of clothoids[32] and higher order polynomial curves [33ndash35] or curveswith closed form expressions such as Bezier curves [36 37]

Journal of Advanced Transportation 3

or 119861-splines [38] Unfortunately these are not treating issuessuch as topological admissibility or convergence guaranteesin general planning tasks

Beyond these approaches there are specialized algo-rithms which were designed to solve a specific planningtask for example parallel or garage parking These are notsuited to solve more general planning problems in case ofarbitrary obstacle distributions For example [39 40] usecircle segments and straight lines to generate trajectories forcar parking In [40] these are denoted as translation (TM) androtation movements (RM) and a number of TMndashRMndashTMcombinations are linked together depending on the maneu-vering complexity of the parking task An exhaustive search isperformed in every step thus the computational complexityincreases heavily with the number of necessary maneuversThemethod of Muller et al [41] proposes solving the parkingtask by the general two-step path approximation approachwhere they use the CCRS local planner [31] and the globalplanner described in [42] Although a general framework isapplied they exploit some simplifications and assumptions(eg regarding the shape of obstacles and symmetry of theirdistribution) in order to make computations tractable forreal-time applications

A recent publication [43] introduces a planning approachwhich generalizes a parking planner to handle more difficultobstacle distributions for example navigation in a narrowparking lot containing some additional obstacles It is shownthat the algorithm can be applied in real time thanks to thefast optimization strategy it is based on However complete-ness or guaranteed convergence is not proven

3 The RTR + TTS-Planner

Many of the mentioned planning methods were seminal forthe development of our approach presented in this paper Ourgoal was to design an algorithmwith the following properties

(i) It should solve the general planning task that isno assumptions are made regarding the obstacledistribution or the starting and goal configurations ofthe vehicle At the same time it should perform wellalso in the specialized parking situations

(ii) The resulting paths should have continuous curvatureprofile

(iii) The aim is to generate ldquohuman-likerdquo paths whichare simple and contain a ldquomeaningfulrdquo number ofmaneuvers needed by the task at hand

We chose the followingmethodology during the design ofthis planning method A two-step approximation approachsimilar to [11 41] was chosen however our global planneralready takes some nonholonomic properties of the vehicleinto account The main contributions of this paper are theintroduction of our novel topological admissible continuouscurvature local planning method (TTS-planner) which facil-itates the construction of ldquohuman-likerdquo paths as well as thedetailed description of the global RTR-planner

This paper extends our previous work [45] giving a thor-ough theoretical treatment detailed derivation and proofs

L

v

1

x

y

Figure 1 Kinematic model of a car

regarding the local planning method as well as a moredetailed description of the global planner

Previous versions of the proposed two-step planningapproach can be found in [46ndash49] where the local plan-ner used only straight and circular segments resulting ina discontinuous curvature profile The currently proposedgeneralized 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 ismostly comparable to the CCRS planner [31] or the two-stepplanning method [41] based on it because they have similartheoretical properties However the simulation examples inSection 6 show that our local planner generates better qualitypaths and has a higher success rate in narrow environmentsthan a CCRS-based approach

In the sequel we introduce the local TTS-planner firstby deriving it from the kinematic properties of the carand choosing path primitives with clothoids as buildingblocksThe global RTR-planner is introduced after that wherewe explain the reason of using only straight movementand in-place turning primitives in the preliminary planningphase

4 Local Planning The TTS-Planner

Before going into details of the local path planning methodwe give mathematical definitions of the solvable problemFirst the vehicle model is introduced followed by basicproperties of the feasible paths which will serve as a basis forchoosing the geometric building elements of the local plannermodule

41 Vehicle Model The geometrical model of a car can beseen in Figure 1 In this approach we use the one-track (orbicycle) motionmodel of a continuous steering kinematic car[41]

4 Journal of Advanced Transportation

[[[[[[[120601]]]]]]] = [[[[[[[

cos 120579sin 1205791119871 tan1206010

]]]]]]] V + [[[[[[0001]]]]]]Ω (1)

where 119909 and 119910 are the position coordinates of the back axlemidpoint (treated as the reference point of the model) 120579 isthe orientation of the car 120601 denotes the steering angle and 119871is the distance of the front and rear wheel axles The signedvelocity of the reference point is V (positive means forwardmotion) and Ω stands for the steering rate The absolutevalues of the steering angle and its rate of change are limitedto 10038161003816100381610038161206011003816100381610038161003816 le 120601max lt 1205872|Ω| le Ωmax lt infin (2)

The instantaneous turning radius (the reciprocal of the pathcurvature 120581) is given by 1120581 = 119871

tan120601 (3)

The steering angle limit implies an upper bound on the pathcurvature |120581| le 120581max = tan120601max119871 (4)

The more widespread form of the motion equation is thefollowing [51]

[[[[[[120581]]]]]] = [[[[[[

cos 120579sin 1205791205810

]]]]]] V + [[[[[[0001]]]]]]120590 (5)

where 120590 denotes the curvature change rate The vector 119902 =(119909 119910 120579 120581) is called the configuration (or state) of the vehicleand 119906 = (V 120590) is the input vector of the system Theconnection between (1) and (5) is given by120581 = tan120601119871120590 = = 119871 cos2120601 = Ω119871 cos2120601 (6)

An upper bound on the curvature change rate can be ex-pressed as |120590| le 120590max = Ωmax119871 le Ωmax119871 cos2120601 (7)

42 Feasible Paths To elaborate the properties of feasiblelocal paths of our car model let the translational velocityof the car be written as V = 120574|V| where |V| stands for the

magnitude of the velocity and 120574 represents the local directionof motion

120574 = 1 if V ge 0 (forward motion)minus1 if V lt 0 (backward motion)(8)

Furthermore let us introduce the translational displacementof the car along its path119904 (119905) = int119905

0|V (120591)| 119889120591 (9)

and express the translational velocity as

V = 120574119889119904119889119905 (10)

Using (10) and the chain rule of differentiation we reformu-late the motion equation (5) as follows

119889119889119904 [[[[[[119909119910120579120581]]]]]] sdot 119889119904119889119905 = [[[[[[

cos 120579sin 1205791205810

]]]]]]120574119889119904119889119905 + [[[[[[0001]]]]]]120590 (11)

After dividing by (10) and defining120572 (119904) = 120590V= 120574119889120581119889119904 (119904) = 11988921205791198891199042 (119904) (12)

the sharpness of the path we get the spatial description offeasible paths

120574 119889119889119904 [[[[[[119909119910120579120581]]]]]] = [[[[[[

cos 120579sin 1205791205810

]]]]]] + [[[[[[0001]]]]]]120572 (13)

We can establish the following properties of these pathsfor our car model

(i) The orientation 120579 at 119904 is constrained by the local dis-placements along the119909- and119910-axes and by themotiondirection 120574 The path curvature 120581 is given by the first(spatial) derivative of 120579 and the motion directionThus every feasible path can be fully described by aplanar curve labeled by the motion direction at everypoint This fact actually arises from the differentialflatness property of the carwith the rear axlemidpointposition as flat output [17 21]

(ii) The sharpness of the path is the second derivative of120579 (the spatial change rate of the curvature along thepath) and determines themaximal allowed velocity atevery point on the path|V (119904)| le 120590max|120572 (119904)| (14)

Journal of Advanced Transportation 5

If a nonzero minimal traveling speed Vmin is requiredthen the sharpness has an upper bound|120572 (119904)| le 120572max = 120590max1003816100381610038161003816Vmin

1003816100381610038161003816 (15)

In otherwords if wewould like to obtain a pathwhich canbe followed by the continuous steering car (1) and we allowthe car to stop only if the motion direction is reversed thenthe path should be a planar curve with

(i) bounded curvature and(ii) bounded sharpness (continuous curvature)

In Sections 43 44 and 45 we are about to presentspecific paths fulfilling these requirements and the local pathplanner for generating such paths

43 Path Elements Our aim is to choose geometric primi-tives which can serve as building elements in the process ofpath construction We assume that the motion direction isthe same along a primitive but it can change between theprimitives (whichmeans a cusp in the path)Themost simpleplanar curves with bounded curvature are straight lines (120581 =0 called 119878 segments in the sequel) and curvature-limitedcircular arcs (|120581(119904)| = const le 120581max called119862 segments) Pathsconstructed by these primitives have piecewise constant cur-vature with abrupt curvature changes (ie infinite sharpness)between the pieces To obtain continuous curvature we areabout to use clothoids which are the most simple parametriccurves with changing curvature and bounded sharpness

431 Clothoids Aclothoid is a curvewith constant sharpness|120572 (119904)| = |120572| le 120572max lt infin forall119904 (16)

According to (13) the equations describing a clothoid pathcan be obtained by integration If we assume that 119902(0) = 0we get

119909 (119904) = 120574radic 120587|120572|119862119865(radic |120572|120587 119904) (17a)

119910 (119904) = 120574 sgn (120572)radic 120587|120572|119878119865(radic |120572|120587 119904) (17b)

where sgn(120572) denotes the sign of 120572 and 119862119865 and 119878119865 stand forthe Fresnel cosine and sine integrals119862119865 (119903) = int119903

0cos(1205872 1205832)119889120583 (18a)

119878119865 (119903) = int119903

0sin(1205872 1205832)119889120583 (18b)

432 Clothoid Types From the point of view of path plan-ning eight different types of clothoids can be distinguishedbased on the following properties

CCNBin

CCNFout

CCPFout

CCPBin

CCPFin

CCPBout

CCNBout

x

y

CCNFin

Figure 2 Clothoid types

(i) Sign of the sharpness sgn(120572) = 120574 sgn(119889120581119889119904) it canbe positive (119875 sgn(120572) = 1) or negative (119873 sgn(120572) =minus1) Zero sharpness is omitted because it results in astraight or circular segment instead a clothoid

(ii) Direction of motion 120574 it can be forward (119865) orbackward (119861)

(iii) Sign of the absolute curvature change sgn(119889|120581|119889119904)The absolute curvature grows if the vehicle is enteringa turn (called in-type clothoid) and vanishes if itreturns to a straight segment (out-type clothoid)

Equations (17a) and (17b) describe in-type clothoidsparametrized by the constants 120572 120574 and the running variable119904 isin [0 119904CC] starting from 119902in(0) = 0 and arriving at some119902in(119904CC) where 119904CC denotes the whole curve length Fromevery in-type clothoid we can derive an out-type counterpartby preserving the same geometry but reversing the motiondirection119909out (119904) = minus120574radic 120587|120572|119862119865(radic |120572|120587 (119904CC minus 119904)) (19a)

119910out (119904) = minus120574 sgn (120572)radic 120587|120572|119878119865(radic |120572|120587 (119904CC minus 119904)) (19b)

Note that these out-type clothoids start from some 119902out(0) =119902in(119904CC) and arrive at 119902out(119904CC) = 0 The eight different typesof clothoids are illustrated in Figure 2

Note that we deal here only with such clothoid pathsegments which have either their starting or their final con-figuration at the origin with zero orientation and curvature(119902(0) = 0 for in-type and 119902(119904CC) = 0 for out-type clothoids)However this causes no serious limitations On the one handany 119902 = (119909 119910 120579 0) can be transformed to 1199021015840 = (0 0 0 0)by translation and rotation On the other hand 120581(0) = 0or 120581(119904CC) = 0 means that our final concatenated pathscan consist of 119878 segments CCin-119862-CCout triplets and CCin-CCout pairs Practically the only limitation is that transitionsbetween two 119862 segments of different curvatures are allowedonly with a curvature profile crossing or touching zero thatis by a 119862-CCout-CCin-119862 sequence As we will see later thisdoes not prohibit the creation of a complete path planner

6 Journal of Advanced Transportation

From now on according to the nomenclature of [31] wewill denote CCin-119862-CCout triplets asCC-turns or119879 segmentsandCCin-CCout pairs as elementary paths or119864 segmentsNotethat an elementary path is a special case of a CC-turn

433 Reparametrization of Clothoids By looking at (17a) and(17b) we can state that any point on an in-type clothoidstarting from 119902(0) = 0 can be described by the pair (120572 120574119904)the sharpness and the signed displacement along the curve Itwas shown byWilde [50] that an equivalent representation isavailable using the pair (120581 120575) the curvature and the deflectionof the curve at a certain point

119909 (120581 120575) = sgn (120575) radic2120587 |120575|120581 119862119865(radic2 |120575|120587 ) (20a)

119910 (120581 120575) = radic2120587 |120575|120581 119878119865(radic2 |120575|120587 ) (20b)

As it can be seen 120581 appears only as a multiplier in theexpressions thus it can be interpreted as a scaling factor Inthis representation 120575 is responsible for the ldquoshaperdquo of theclothoid segment and 120581 determines its ldquosizerdquo

From a computational perspective this (120581 120575) parametri-zation is less convenient than the parametrization by (120572 120574119904)The reason is that 120572 and 120574 are constant values and only 119904 isvariable along the path segment thus the curve is describedby some fixed parameters and exactly one free parameter asusual This makes the explicit computation of these curvessimple for example for visualization or collision checkingOpposed to this both 120581 and 120575 are varying along the curveand coherency has to be maintained between them to obtainproper results The coherency is ensured by the constantsharpness which is related to 120581 and 120575 as120572 = 12058122120575 (21)

For simplicity let us choose fixed curvature and deflectionvalues 120581CC and 120575CC at the endpoint of curve This is the pointwith maximal absolute curvature and deflection120581CC = argmax

120581|120581| (22a)120575CC = argmax

120575|120575| (22b)

Based on (20a) (20b) (22a) and (22b) in-type clothoids canbe fully described by

119909in (120575) = sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 |120575|120587 ) (23a)

119910in (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 |120575|120587 ) (23b)

120579in (120575) = 120575 (23c)

120581in (120575) = 120581CCradic 120575120575CC (23d)

where 120575 isin [0 120575CC] is the variable parameter and 120575CC and 120581CCare constant values A shorter form for 119909in(120575) and 119910in(120575) canbe obtained by defining the following functions

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (24)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (25)

Using these (23a) (23b) (23c) and (23d) will look like

119909in (120575) = 119883 (2120575)120581CC radic120575CC120575 = 119883 (2120575)120581in (120575) (26a)

119910in (120575) = 119884 (2120575)120581CC radic120575CC120575 = 119884 (2120575)120581in (120575) (26b)120579in (120575) = 120575 (26c)120581in (120575) = 120581CCradic 120575120575CC (26d)

Note that if we look at the endpoint 119883(2120575CC) and 119884(2120575CC)can be treated as the end position of and ldquounscaledrdquo in-typeclothoid of 120575CC full deflectionThe ldquoscaling factorrdquo 1120581CC canbe used to obtain the real endpoint coordinates 119909in(120575CC) and119910in(120575CC)

Now let us consider a pair of in-type and out-typeclothoids having the same geometry (such pairs were shownin Figure 2 eg CC119875119865

in and CC119875119861out) In order to ensure the

above-mentioned coherency between 120581CC and 120575CC we definethem according to (22a) and (22b) for out-type clothoidsas well However in this case 120581CC belongs to the startingpoint while 120575CC to the endpoint of the curve Since an out-type clothoid has the same geometry as its in-type pair butopposite motion direction we can obtain its equation as119909out (120575)

= minus sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27a)

119910out (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27b)

120579out (120575) = 120575 minus 120575CC (27c)

120581out (120575) = 120581CCradic120575CC minus 120575120575CC (27d)

Journal of Advanced Transportation 7

CCout

CC

qs = 2CC

2

y

x

qe

CCin

(a)

y

qe

C

CCin

C

= 2CC + C

x

CCout

CCqs

(b)

Figure 3 Structure of (a) elementary paths and (b) CC-turns

434 Elementary Paths and CC-Turns As already men-tioned elementary paths (119864 segments) are symmetric curvesconsisting of a pair of compatible CCin and CCout clothoidsThe curvature of the first curve changes from 0 to 120581CC whilethe second from 120581CC back to 0 Both curves have the samedeflection 120575CC Compatibility is assured by the same motiondirection 120574 and the same curvature 120581CC at the end of thein-type part and at the beginning of the out-type part Thecompatible pairs are

(i) CC119875119865in and CC119873119865

out

(ii) CC119873119865in and CC119875119865

out

(iii) CC119875119861in and CC119873119861

out

(iv) CC119873119861in and CC119875119861

out

A CC-turn consists of a pair of compatible CCin andCCout curves with an additional circular arc between themwhich has 120581119862 = 120581CC curvature and 120575119862 deflection Asmentioned before an elementary path is a special case of aCC-turn with 120575119862 = 0 (see Figure 3)

Let us characterize these path components They canbe described by a parametric configuration curve 119902(120575) =(119909(120575) 119910(120575) 120579(120575) 120581(120575)) with 120575 isin [0 120575end] The curve is fullydetermined by the following parameters

(i) A starting configuration 119902(0) = 119902119904 = (119909119904 119910119904 120579119904 0)(ii) The maximal curvature 120581CC (in an absolute sense|120581CC| ge |120581(120575)| forall120575)(iii) Deflections of the clothoid (120575CC) and circular (120575119862)

parts

We use the following building elements to synthesize elemen-tary paths and CC-turns

(i) An in-type clothoid 119902in(120575) of deflection 120575CC startingfrom 119902in(0) = (0 0 0 0) and arriving at 119902in(120575CC) =(119909in(120575CC) 119910in(120575CC) 120575CC 120581CC) as described by (23a)(23b) (23c) and (23d)

(ii) A circular arc 119902119888(120575) of deflection 120575119862 and curvature120581CC starting from 119902119888(0) = (0 0 0 0) described by119909119888 (120575) = sin 120575120581CC (28a)

119910119888 (120575) = 1 minus cos 120575120581CC (28b)120579119888 (120575) = 120575 (28c)120581119888 (120575) = 120581CC (28d)

(iii) A compatible out-type clothoid 119902out(120575) of deflec-tion 120575CC starting from 119902out(0) = (119909out(0) 119910out(0)minus120575CC 120581CC) and arriving at 119902out(120575CC) = (0 0 0 0) asdescribed by (27a) (27b) (27c) and (27d)

The starting and end configurations of these parts have to bealigned in order to obtain the resulting elementary path orCC-turn The alignment is performed by rotation and trans-lation described by homogeneous transformation matricesLet us assign a transformation matrix to any configuration 1199020as follows

1199020 = (1199090119910012057901205810) 997888rarr

119879(1199020) = [[[[[[[[[cos 1205790 minus sin 1205790 0 0 1199090sin 1205790 cos 1205790 0 0 11991000 0 1 0 12057900 0 0 1 00 0 0 0 1

]]]]]]]]]

(29)

This transformation matrix represents the pose of the localcoordinate frame attached to 1199020 The transformation of

8 Journal of Advanced Transportation

another configuration 119902 by 119879(1199020) can be performed as usual(11990210158401) = 119879 (1199020) (1199021) (30)

This means that we interpret the coordinates of 119902 as localrelative to 1199020Multiplying by119879(1199020)we get 1199021015840 which representsthe global coordinates of the transformed 119902 Notice thatthe transformation does not affect the curvature part of theconfiguration It follows that the original configuration 1199020can be obtained by applying the transformation 119879(1199020) to 119902 =(0 0 0 1205810)

(11990201 ) = 119879 (1199020)(((

00012058101)))

(31)

The inverse transformation is given by119879minus1 (1199020)= [[[[[[[[[

cos 1205790 sin 1205790 0 0 minus1199090 cos 1205790 minus 1199100 sin 1205790minus sin 1205790 cos 1205790 0 0 1199090 sin 1205790 minus 1199100 cos 12057900 0 1 0 minus12057900 0 0 1 00 0 0 0 1]]]]]]]]] (32)

These transformation matrices have the following chainingproperty

1198671199021015840 = 119879 (1199020) sdot 119867119902 lArrrArr 119879(1199021015840) = 119879 (1199020) sdot 119879 (119902) (33)

where the upper ldquo119867rdquo index stands for the homogenouscoordinate representation 119867119902 = [119902 1]119879

Now we have all the tools to assemble CC-turns andelementary paths A general description of these is obtainedas follows

119867119902 (120575) = 119879 (119902119904) sdot 119867119902in (120575) if 120575 isin [0 120575CC] (34a)

119867119902 (120575) = 119879 (119902 (120575CC)) sdot 119867119902119888 (120575 minus 120575CC) if 120575 isin (120575119862119862 120575CC + 120575119862] (34b)

119867119902 (120575) = 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))sdot 119867119902out (120575 minus 120575CC minus 120575119862) if 120575 isin (120575CC + 120575119862 2120575CC + 120575119862] (34c)

where 119902119904 stands for a given arbitrary starting configurationwith zero curvature and 119902in(120575) and 119902out(120575) are given by(23a) (23b) (23c) (23d) (27a) (27b) (27c) and (27d)respectively This can be treated as a ldquodirectrdquo approach forgenerating a CC-turn or elementary path One specifies the

starting configuration 119902119904 the maximal curvature 120581CC andthe deflections 120575CC and 120575119862 and the end configuration 119902119890 =119902(2120575CC+120575119862) is obtained directly using (34a) (34b) and (34c)Without loss of generality we can assume that 119902119904 = (0 0 0 0)In this case we get

119867119902 (120575CC) = 119867119902in (120575CC) = 119879 (119902in (120575CC)) sdot 1198670 (35a)

119867119902 (120575CC + 120575119862) = 119879 (119902in (120575CC)) sdot 119867119902c (120575119862)= 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902(120575CC+120575119862))

sdot 1198670 (35b)

119867119902119890 = 119867119902 (2120575CC + 120575119862)= 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902119890)sdot 119867119902out (120575CC) = 119879 (119902119890) sdot 1198670

(35c)

because the endpoint of a standard out-type clothoid isthe origin according to (27a) (27b) (27c) and (27d) Thecomponents of119879 (119902119890) = 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862)) sdot 119879minus1 (119902out (0)) (36)

have the following form119879 (119902in (120575CC))=[[[[[[[[[[[[

cos 120575CC minus sin 120575CC 0 0 119883 (2120575CC)120581CCsin 120575CC cos 120575CC 0 0 119884 (2120575CC)120581CC0 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]]]]]119879 (119902119888 (120575119862)) =

[[[[[[[[[[[cos 120575119862 minus sin 120575119862 0 0 sin 120575119862120581CCsin 120575119862 cos 120575119862 0 0 1 minus cos 120575119862120581CC0 0 1 0 1205751198620 0 0 1 00 0 0 0 1

]]]]]]]]]]]

(37)

In order to obtain 119879minus1(119902out(0)) we express 119902out(0) first119902out (0) = (minus119909in (120575CC)119910in (120575CC)minus120575CC120581CC ) = ((

(minus119883(2120575CC)120581CC119884 (2120575CC)120581CCminus120575CC120581CC

)))

(38)

Journal of Advanced Transportation 9

and it follows from (32) that

119879minus1 (119902out (0)) = [[[[[[[[[cos 120575CC minus sin 120575CC 0 0 11990515sin 120575CC cos 120575CC 0 0 119905250 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]] (39)

where11990515 = 119883 (2120575CC)120581CC cos 120575CC + 119884 (2120575CC)120581CC sin 120575CC11990525 = 119883 (2120575CC)120581CC sin 120575CC minus 119884 (2120575CC)120581CC cos 120575CC (40)

After multiplying the three matrices we get119879 (119902119890)=[[[[[[[[[[[[

cos (120575end) minus sin (120575end) 0 0 119860 (2120575CC 120575119862)120581CCsin (120575end) cos (120575end) 0 0 119861 (2120575CC 120575119862)120581CC0 0 1 0 120575end0 0 0 1 00 0 0 0 1

]]]]]]]]]]]] (41)

where 120575end = 2120575CC + 120575119862 (42)119860 (2120575CC 120575119862) = 119883 (2120575CC) (1 + cos (2120575CC + 120575119862))+ 119884 (2120575CC) sin (2120575CC + 120575119862)+ sin (120575CC + 120575119862) minus sin 120575CC (43)

119861 (2120575CC 120575119862) = 119883 (2120575CC) sin (2120575CC + 120575119862)+ 119884 (2120575CC) (1 minus cos (2120575CC + 120575119862))minus cos (120575CC + 120575119862) + cos120575CC (44)

The end configuration of theCC-turn is given by the elementsin the last column of 119879(119902119890)119909119890 = 119860 (2120575CC 120575119862)120581CC (45a)

119910119890 = 119861 (2120575CC 120575119862)120581CC (45b)120579119890 = 2120575CC + 120575119862 (45c)120581119890 = 0 (45d)

It is important to note that in order to fully define aCC-turn two of the deflections 120575CC 120575119862 and 120575end should be

given together with the maximal curvature 120581CC The thirddeflection parameter is determined by (42)

The equations of an elementary path are similar to (45a)(45b) (45c) and (45d) we only need to substitute 120575119862 = 0119909119890 = 119860 (2120575CC 0)120581CC = 119860 (2120575CC)120581CC (46a)

119910119890 = 119861 (2120575CC 0)120581CC = 119861 (2120575CC)120581CC (46b)120579119890 = 2120575CC (46c)120581119890 = 0 (46d)

where 119860 (2120575CC) = 119883 (2120575CC) (1 + cos (2120575CC))+ 119884 (2120575CC) sin (2120575CC) 119861 (2120575CC) = 119883 (2120575CC) sin (2120575CC)+ 119884 (2120575CC) (1 minus cos (2120575CC)) (47)

44 TTS Paths for Local Planning Algorithms that generatefeasible local paths for a wheeled systemmdashsuch as our carmodel (5)mdashin the absence of obstacles are called localplanners or steering methods The exact definition of theseis the following

Definition 1 (steering method) Let us denote by Λ 119891 the setof all feasible local paths 120582119891 regarding system equation =119891(119902 119906) A steering method (or local planner module) is afunction

Steer C timesC 997888rarr Λ 119891 ie 120582119891 (sdot) = Steer (1199020 1199021) (48)

such that 120582119891 (0) = Steer (1199020 1199021) (0) = 1199020120582119891 (119878120582) = Steer (1199020 1199021) (119878120582) = 1199021 (49)

As already mentioned in Section 2 the most widely usedlocal planners for the simple kinematic car model (withoutthe requirement of curvature continuity) are based on theoptimal length ReedsndashShepp (RS) paths [27] These localpaths consist of maximum five circular or straight segmentsand have at most two cusps where the curvature of circulararcs is exactly plusmn120581max If the continuous steering car model(5) is used the continuous curvature generalization proposedin [31] can be applied This approximates ReedsndashShepp pathsby replacing circular segments with CC-turns It was shownthat although the resulting CCRS paths are not optimalthey converge to the optimal RS paths when the allowedsharpness of the clothoids tends to infinity The CC-turnsin this approach consist of clothoids having the maximalallowed sharpness and circle segments of maximal curvature

In the sequel we are doing something similar introducea new set of local paths for the continuous steering car Themain ideas which motivated the invention of our approachinstead using the CCRS paths are the following

10 Journal of Advanced Transportation

(i) The main goal is global planning in the presenceof obstacles Most existing planning methods use aconcatenation of local paths which has the conse-quence that the result will be not optimal even if theparts were generated by an optimal planner Even theCCRS paths are suboptimal Thus having the finalapplication in our mind we lifted the requirement ofoptimality of our local paths

(ii) Insteadminimizing the global path length we had thegoal to achieve ldquonaturalrdquo or ldquohuman-likerdquo pathsWhatthis means is informally described in the followingpoints

(iii) The RS (resp CCRS) paths consist of up to fivecircular (resp CC-turn) and straight segments Weshow in the sequel that three path segments aresufficient to connect any two configurations

(iv) The RS (resp CCRS) paths use circular segments(resp CC-turns) having the maximal allowed curva-ture (the steering wheel is turned to the end positionin every curve) Our planner is not restricted to thisOnly the limit is taken into account but smallercurvatures are allowed

(v) The last segment of RS (resp CCRS) paths is alwayscircular (resp CC-turn) We argue that this contra-dicts the behavior of human drivers Because the carcan only move forward or backward in most casesthe more natural behavior is to arrive at a givengoal configuration by a straight movement There area few exceptions for example the case of parallelparking but these can usually be transformed tothe mentioned case by reversing the roles of initialand goal configurations Consequently we choose astraight segment as the last section of our local paths

To simplify notation in the sequel we will denote localpaths as a concatenation of 119878 119879 and 119864 letters correspondingstraight segments CC-turns and elementary paths respec-tively In our approach we use 119879119879119878 (as well as 119864119864119878) paths(note that in our previous work [45] we used the notations119879lowast119879119878 and 119864lowast119864119878 where 119879lowast and 119864lowast represented ldquoCC-turn orstraight segmentrdquo and ldquoelementary path or straight segmentrdquoalthough we omit here the possibility of having a straightsegment as the first element because our experiments showedthat 119878119879119878 and 119878119864119878 paths are chosen very rarely by theimplemented planning algorithm) In the sequel we presentthe construction of 119864119864119878 paths first (where we use onlyelementary paths in place of CC-turns) and show that thisclass of paths is sufficient to connect an arbitrary pair ofconfigurations After that we generalize 119864 segments to CC-turns

441 Construction of EES Paths Let us assume withoutloss of generality that the path starts from a given initialconfiguration 119902119868 = (119909119868 119910119868 120579119868 0) and arrives at the origin asgoal configuration 119902119866 = (0 0 0 0) Any query pair (119902119868 119902119866)can be transformed to this form by translation and rotationand the designed path can be transformed back Let us denotethe intermediate configurations between the path segments

y

xqG qG

2

qI

1

1

2

2

1

qI

Figure 4 EES path

by 119868 and 119866 For every segment 119894 denotes its index (1 2or 3) inside the path A straight segment is parametrizedby its absolute length 119904119894 and direction 120574119894 and an elementarypath segment by its curvature 120581119894CC and deflection 120575119894CC at themiddle point between the CCin and CCout parts To simplifythe notation let us neglect the ldquoCCrdquo subscript from now onlet 120581119894 = 120581119894CC and 120575119894 = 120575119894CC

The scheme of an 119864119864119878 path (illustrated in Figure 4) is thefollowing 119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (50)

The coordinates of 119868 can be obtained from 119902119868 by atransformation belonging to the first elementary path

119867119868 = 119879 (119902119868) sdot 119879 (119902119890 (1205751 1205811)) sdot 1198670 (51)

where119879 (119902119890 (1205751 1205811))=[[[[[[[[[[[[

cos (21205751) minus sin (21205751) 0 0 119860 (21205751)1205811sin (21205751) cos (21205751) 0 0 119861 (21205751)12058110 0 1 0 212057510 0 0 1 00 0 0 0 1

]]]]]]]]]]]]

119879 (119902119868) = [[[[[[[[[cos (120579119868) minus sin (120579119868) 0 0 119909119868sin (120579119868) cos (120579119868) 0 0 1199101198680 0 1 0 1205791198680 0 0 1 00 0 0 0 1

]]]]]]]]]

(52)

By applying the matrix product we obtain119868 = 119860 (21205751)1205811 cos (120579119868) minus 119861 (21205751)1205811 sin (120579119868) + 119909119868 (53a)

119868 = 119860 (21205751)1205811 sin (120579119868) + 119861 (21205751)1205811 cos (120579119868) + 119910119868 (53b)

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 3: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 3

or 119861-splines [38] Unfortunately these are not treating issuessuch as topological admissibility or convergence guaranteesin general planning tasks

Beyond these approaches there are specialized algo-rithms which were designed to solve a specific planningtask for example parallel or garage parking These are notsuited to solve more general planning problems in case ofarbitrary obstacle distributions For example [39 40] usecircle segments and straight lines to generate trajectories forcar parking In [40] these are denoted as translation (TM) androtation movements (RM) and a number of TMndashRMndashTMcombinations are linked together depending on the maneu-vering complexity of the parking task An exhaustive search isperformed in every step thus the computational complexityincreases heavily with the number of necessary maneuversThemethod of Muller et al [41] proposes solving the parkingtask by the general two-step path approximation approachwhere they use the CCRS local planner [31] and the globalplanner described in [42] Although a general framework isapplied they exploit some simplifications and assumptions(eg regarding the shape of obstacles and symmetry of theirdistribution) in order to make computations tractable forreal-time applications

A recent publication [43] introduces a planning approachwhich generalizes a parking planner to handle more difficultobstacle distributions for example navigation in a narrowparking lot containing some additional obstacles It is shownthat the algorithm can be applied in real time thanks to thefast optimization strategy it is based on However complete-ness or guaranteed convergence is not proven

3 The RTR + TTS-Planner

Many of the mentioned planning methods were seminal forthe development of our approach presented in this paper Ourgoal was to design an algorithmwith the following properties

(i) It should solve the general planning task that isno assumptions are made regarding the obstacledistribution or the starting and goal configurations ofthe vehicle At the same time it should perform wellalso in the specialized parking situations

(ii) The resulting paths should have continuous curvatureprofile

(iii) The aim is to generate ldquohuman-likerdquo paths whichare simple and contain a ldquomeaningfulrdquo number ofmaneuvers needed by the task at hand

We chose the followingmethodology during the design ofthis planning method A two-step approximation approachsimilar to [11 41] was chosen however our global planneralready takes some nonholonomic properties of the vehicleinto account The main contributions of this paper are theintroduction of our novel topological admissible continuouscurvature local planning method (TTS-planner) which facil-itates the construction of ldquohuman-likerdquo paths as well as thedetailed description of the global RTR-planner

This paper extends our previous work [45] giving a thor-ough theoretical treatment detailed derivation and proofs

L

v

1

x

y

Figure 1 Kinematic model of a car

regarding the local planning method as well as a moredetailed description of the global planner

Previous versions of the proposed two-step planningapproach can be found in [46ndash49] where the local plan-ner used only straight and circular segments resulting ina discontinuous curvature profile The currently proposedgeneralized 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 ismostly comparable to the CCRS planner [31] or the two-stepplanning method [41] based on it because they have similartheoretical properties However the simulation examples inSection 6 show that our local planner generates better qualitypaths and has a higher success rate in narrow environmentsthan a CCRS-based approach

In the sequel we introduce the local TTS-planner firstby deriving it from the kinematic properties of the carand choosing path primitives with clothoids as buildingblocksThe global RTR-planner is introduced after that wherewe explain the reason of using only straight movementand in-place turning primitives in the preliminary planningphase

4 Local Planning The TTS-Planner

Before going into details of the local path planning methodwe give mathematical definitions of the solvable problemFirst the vehicle model is introduced followed by basicproperties of the feasible paths which will serve as a basis forchoosing the geometric building elements of the local plannermodule

41 Vehicle Model The geometrical model of a car can beseen in Figure 1 In this approach we use the one-track (orbicycle) motionmodel of a continuous steering kinematic car[41]

4 Journal of Advanced Transportation

[[[[[[[120601]]]]]]] = [[[[[[[

cos 120579sin 1205791119871 tan1206010

]]]]]]] V + [[[[[[0001]]]]]]Ω (1)

where 119909 and 119910 are the position coordinates of the back axlemidpoint (treated as the reference point of the model) 120579 isthe orientation of the car 120601 denotes the steering angle and 119871is the distance of the front and rear wheel axles The signedvelocity of the reference point is V (positive means forwardmotion) and Ω stands for the steering rate The absolutevalues of the steering angle and its rate of change are limitedto 10038161003816100381610038161206011003816100381610038161003816 le 120601max lt 1205872|Ω| le Ωmax lt infin (2)

The instantaneous turning radius (the reciprocal of the pathcurvature 120581) is given by 1120581 = 119871

tan120601 (3)

The steering angle limit implies an upper bound on the pathcurvature |120581| le 120581max = tan120601max119871 (4)

The more widespread form of the motion equation is thefollowing [51]

[[[[[[120581]]]]]] = [[[[[[

cos 120579sin 1205791205810

]]]]]] V + [[[[[[0001]]]]]]120590 (5)

where 120590 denotes the curvature change rate The vector 119902 =(119909 119910 120579 120581) is called the configuration (or state) of the vehicleand 119906 = (V 120590) is the input vector of the system Theconnection between (1) and (5) is given by120581 = tan120601119871120590 = = 119871 cos2120601 = Ω119871 cos2120601 (6)

An upper bound on the curvature change rate can be ex-pressed as |120590| le 120590max = Ωmax119871 le Ωmax119871 cos2120601 (7)

42 Feasible Paths To elaborate the properties of feasiblelocal paths of our car model let the translational velocityof the car be written as V = 120574|V| where |V| stands for the

magnitude of the velocity and 120574 represents the local directionof motion

120574 = 1 if V ge 0 (forward motion)minus1 if V lt 0 (backward motion)(8)

Furthermore let us introduce the translational displacementof the car along its path119904 (119905) = int119905

0|V (120591)| 119889120591 (9)

and express the translational velocity as

V = 120574119889119904119889119905 (10)

Using (10) and the chain rule of differentiation we reformu-late the motion equation (5) as follows

119889119889119904 [[[[[[119909119910120579120581]]]]]] sdot 119889119904119889119905 = [[[[[[

cos 120579sin 1205791205810

]]]]]]120574119889119904119889119905 + [[[[[[0001]]]]]]120590 (11)

After dividing by (10) and defining120572 (119904) = 120590V= 120574119889120581119889119904 (119904) = 11988921205791198891199042 (119904) (12)

the sharpness of the path we get the spatial description offeasible paths

120574 119889119889119904 [[[[[[119909119910120579120581]]]]]] = [[[[[[

cos 120579sin 1205791205810

]]]]]] + [[[[[[0001]]]]]]120572 (13)

We can establish the following properties of these pathsfor our car model

(i) The orientation 120579 at 119904 is constrained by the local dis-placements along the119909- and119910-axes and by themotiondirection 120574 The path curvature 120581 is given by the first(spatial) derivative of 120579 and the motion directionThus every feasible path can be fully described by aplanar curve labeled by the motion direction at everypoint This fact actually arises from the differentialflatness property of the carwith the rear axlemidpointposition as flat output [17 21]

(ii) The sharpness of the path is the second derivative of120579 (the spatial change rate of the curvature along thepath) and determines themaximal allowed velocity atevery point on the path|V (119904)| le 120590max|120572 (119904)| (14)

Journal of Advanced Transportation 5

If a nonzero minimal traveling speed Vmin is requiredthen the sharpness has an upper bound|120572 (119904)| le 120572max = 120590max1003816100381610038161003816Vmin

1003816100381610038161003816 (15)

In otherwords if wewould like to obtain a pathwhich canbe followed by the continuous steering car (1) and we allowthe car to stop only if the motion direction is reversed thenthe path should be a planar curve with

(i) bounded curvature and(ii) bounded sharpness (continuous curvature)

In Sections 43 44 and 45 we are about to presentspecific paths fulfilling these requirements and the local pathplanner for generating such paths

43 Path Elements Our aim is to choose geometric primi-tives which can serve as building elements in the process ofpath construction We assume that the motion direction isthe same along a primitive but it can change between theprimitives (whichmeans a cusp in the path)Themost simpleplanar curves with bounded curvature are straight lines (120581 =0 called 119878 segments in the sequel) and curvature-limitedcircular arcs (|120581(119904)| = const le 120581max called119862 segments) Pathsconstructed by these primitives have piecewise constant cur-vature with abrupt curvature changes (ie infinite sharpness)between the pieces To obtain continuous curvature we areabout to use clothoids which are the most simple parametriccurves with changing curvature and bounded sharpness

431 Clothoids Aclothoid is a curvewith constant sharpness|120572 (119904)| = |120572| le 120572max lt infin forall119904 (16)

According to (13) the equations describing a clothoid pathcan be obtained by integration If we assume that 119902(0) = 0we get

119909 (119904) = 120574radic 120587|120572|119862119865(radic |120572|120587 119904) (17a)

119910 (119904) = 120574 sgn (120572)radic 120587|120572|119878119865(radic |120572|120587 119904) (17b)

where sgn(120572) denotes the sign of 120572 and 119862119865 and 119878119865 stand forthe Fresnel cosine and sine integrals119862119865 (119903) = int119903

0cos(1205872 1205832)119889120583 (18a)

119878119865 (119903) = int119903

0sin(1205872 1205832)119889120583 (18b)

432 Clothoid Types From the point of view of path plan-ning eight different types of clothoids can be distinguishedbased on the following properties

CCNBin

CCNFout

CCPFout

CCPBin

CCPFin

CCPBout

CCNBout

x

y

CCNFin

Figure 2 Clothoid types

(i) Sign of the sharpness sgn(120572) = 120574 sgn(119889120581119889119904) it canbe positive (119875 sgn(120572) = 1) or negative (119873 sgn(120572) =minus1) Zero sharpness is omitted because it results in astraight or circular segment instead a clothoid

(ii) Direction of motion 120574 it can be forward (119865) orbackward (119861)

(iii) Sign of the absolute curvature change sgn(119889|120581|119889119904)The absolute curvature grows if the vehicle is enteringa turn (called in-type clothoid) and vanishes if itreturns to a straight segment (out-type clothoid)

Equations (17a) and (17b) describe in-type clothoidsparametrized by the constants 120572 120574 and the running variable119904 isin [0 119904CC] starting from 119902in(0) = 0 and arriving at some119902in(119904CC) where 119904CC denotes the whole curve length Fromevery in-type clothoid we can derive an out-type counterpartby preserving the same geometry but reversing the motiondirection119909out (119904) = minus120574radic 120587|120572|119862119865(radic |120572|120587 (119904CC minus 119904)) (19a)

119910out (119904) = minus120574 sgn (120572)radic 120587|120572|119878119865(radic |120572|120587 (119904CC minus 119904)) (19b)

Note that these out-type clothoids start from some 119902out(0) =119902in(119904CC) and arrive at 119902out(119904CC) = 0 The eight different typesof clothoids are illustrated in Figure 2

Note that we deal here only with such clothoid pathsegments which have either their starting or their final con-figuration at the origin with zero orientation and curvature(119902(0) = 0 for in-type and 119902(119904CC) = 0 for out-type clothoids)However this causes no serious limitations On the one handany 119902 = (119909 119910 120579 0) can be transformed to 1199021015840 = (0 0 0 0)by translation and rotation On the other hand 120581(0) = 0or 120581(119904CC) = 0 means that our final concatenated pathscan consist of 119878 segments CCin-119862-CCout triplets and CCin-CCout pairs Practically the only limitation is that transitionsbetween two 119862 segments of different curvatures are allowedonly with a curvature profile crossing or touching zero thatis by a 119862-CCout-CCin-119862 sequence As we will see later thisdoes not prohibit the creation of a complete path planner

6 Journal of Advanced Transportation

From now on according to the nomenclature of [31] wewill denote CCin-119862-CCout triplets asCC-turns or119879 segmentsandCCin-CCout pairs as elementary paths or119864 segmentsNotethat an elementary path is a special case of a CC-turn

433 Reparametrization of Clothoids By looking at (17a) and(17b) we can state that any point on an in-type clothoidstarting from 119902(0) = 0 can be described by the pair (120572 120574119904)the sharpness and the signed displacement along the curve Itwas shown byWilde [50] that an equivalent representation isavailable using the pair (120581 120575) the curvature and the deflectionof the curve at a certain point

119909 (120581 120575) = sgn (120575) radic2120587 |120575|120581 119862119865(radic2 |120575|120587 ) (20a)

119910 (120581 120575) = radic2120587 |120575|120581 119878119865(radic2 |120575|120587 ) (20b)

As it can be seen 120581 appears only as a multiplier in theexpressions thus it can be interpreted as a scaling factor Inthis representation 120575 is responsible for the ldquoshaperdquo of theclothoid segment and 120581 determines its ldquosizerdquo

From a computational perspective this (120581 120575) parametri-zation is less convenient than the parametrization by (120572 120574119904)The reason is that 120572 and 120574 are constant values and only 119904 isvariable along the path segment thus the curve is describedby some fixed parameters and exactly one free parameter asusual This makes the explicit computation of these curvessimple for example for visualization or collision checkingOpposed to this both 120581 and 120575 are varying along the curveand coherency has to be maintained between them to obtainproper results The coherency is ensured by the constantsharpness which is related to 120581 and 120575 as120572 = 12058122120575 (21)

For simplicity let us choose fixed curvature and deflectionvalues 120581CC and 120575CC at the endpoint of curve This is the pointwith maximal absolute curvature and deflection120581CC = argmax

120581|120581| (22a)120575CC = argmax

120575|120575| (22b)

Based on (20a) (20b) (22a) and (22b) in-type clothoids canbe fully described by

119909in (120575) = sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 |120575|120587 ) (23a)

119910in (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 |120575|120587 ) (23b)

120579in (120575) = 120575 (23c)

120581in (120575) = 120581CCradic 120575120575CC (23d)

where 120575 isin [0 120575CC] is the variable parameter and 120575CC and 120581CCare constant values A shorter form for 119909in(120575) and 119910in(120575) canbe obtained by defining the following functions

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (24)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (25)

Using these (23a) (23b) (23c) and (23d) will look like

119909in (120575) = 119883 (2120575)120581CC radic120575CC120575 = 119883 (2120575)120581in (120575) (26a)

119910in (120575) = 119884 (2120575)120581CC radic120575CC120575 = 119884 (2120575)120581in (120575) (26b)120579in (120575) = 120575 (26c)120581in (120575) = 120581CCradic 120575120575CC (26d)

Note that if we look at the endpoint 119883(2120575CC) and 119884(2120575CC)can be treated as the end position of and ldquounscaledrdquo in-typeclothoid of 120575CC full deflectionThe ldquoscaling factorrdquo 1120581CC canbe used to obtain the real endpoint coordinates 119909in(120575CC) and119910in(120575CC)

Now let us consider a pair of in-type and out-typeclothoids having the same geometry (such pairs were shownin Figure 2 eg CC119875119865

in and CC119875119861out) In order to ensure the

above-mentioned coherency between 120581CC and 120575CC we definethem according to (22a) and (22b) for out-type clothoidsas well However in this case 120581CC belongs to the startingpoint while 120575CC to the endpoint of the curve Since an out-type clothoid has the same geometry as its in-type pair butopposite motion direction we can obtain its equation as119909out (120575)

= minus sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27a)

119910out (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27b)

120579out (120575) = 120575 minus 120575CC (27c)

120581out (120575) = 120581CCradic120575CC minus 120575120575CC (27d)

Journal of Advanced Transportation 7

CCout

CC

qs = 2CC

2

y

x

qe

CCin

(a)

y

qe

C

CCin

C

= 2CC + C

x

CCout

CCqs

(b)

Figure 3 Structure of (a) elementary paths and (b) CC-turns

434 Elementary Paths and CC-Turns As already men-tioned elementary paths (119864 segments) are symmetric curvesconsisting of a pair of compatible CCin and CCout clothoidsThe curvature of the first curve changes from 0 to 120581CC whilethe second from 120581CC back to 0 Both curves have the samedeflection 120575CC Compatibility is assured by the same motiondirection 120574 and the same curvature 120581CC at the end of thein-type part and at the beginning of the out-type part Thecompatible pairs are

(i) CC119875119865in and CC119873119865

out

(ii) CC119873119865in and CC119875119865

out

(iii) CC119875119861in and CC119873119861

out

(iv) CC119873119861in and CC119875119861

out

A CC-turn consists of a pair of compatible CCin andCCout curves with an additional circular arc between themwhich has 120581119862 = 120581CC curvature and 120575119862 deflection Asmentioned before an elementary path is a special case of aCC-turn with 120575119862 = 0 (see Figure 3)

Let us characterize these path components They canbe described by a parametric configuration curve 119902(120575) =(119909(120575) 119910(120575) 120579(120575) 120581(120575)) with 120575 isin [0 120575end] The curve is fullydetermined by the following parameters

(i) A starting configuration 119902(0) = 119902119904 = (119909119904 119910119904 120579119904 0)(ii) The maximal curvature 120581CC (in an absolute sense|120581CC| ge |120581(120575)| forall120575)(iii) Deflections of the clothoid (120575CC) and circular (120575119862)

parts

We use the following building elements to synthesize elemen-tary paths and CC-turns

(i) An in-type clothoid 119902in(120575) of deflection 120575CC startingfrom 119902in(0) = (0 0 0 0) and arriving at 119902in(120575CC) =(119909in(120575CC) 119910in(120575CC) 120575CC 120581CC) as described by (23a)(23b) (23c) and (23d)

(ii) A circular arc 119902119888(120575) of deflection 120575119862 and curvature120581CC starting from 119902119888(0) = (0 0 0 0) described by119909119888 (120575) = sin 120575120581CC (28a)

119910119888 (120575) = 1 minus cos 120575120581CC (28b)120579119888 (120575) = 120575 (28c)120581119888 (120575) = 120581CC (28d)

(iii) A compatible out-type clothoid 119902out(120575) of deflec-tion 120575CC starting from 119902out(0) = (119909out(0) 119910out(0)minus120575CC 120581CC) and arriving at 119902out(120575CC) = (0 0 0 0) asdescribed by (27a) (27b) (27c) and (27d)

The starting and end configurations of these parts have to bealigned in order to obtain the resulting elementary path orCC-turn The alignment is performed by rotation and trans-lation described by homogeneous transformation matricesLet us assign a transformation matrix to any configuration 1199020as follows

1199020 = (1199090119910012057901205810) 997888rarr

119879(1199020) = [[[[[[[[[cos 1205790 minus sin 1205790 0 0 1199090sin 1205790 cos 1205790 0 0 11991000 0 1 0 12057900 0 0 1 00 0 0 0 1

]]]]]]]]]

(29)

This transformation matrix represents the pose of the localcoordinate frame attached to 1199020 The transformation of

8 Journal of Advanced Transportation

another configuration 119902 by 119879(1199020) can be performed as usual(11990210158401) = 119879 (1199020) (1199021) (30)

This means that we interpret the coordinates of 119902 as localrelative to 1199020Multiplying by119879(1199020)we get 1199021015840 which representsthe global coordinates of the transformed 119902 Notice thatthe transformation does not affect the curvature part of theconfiguration It follows that the original configuration 1199020can be obtained by applying the transformation 119879(1199020) to 119902 =(0 0 0 1205810)

(11990201 ) = 119879 (1199020)(((

00012058101)))

(31)

The inverse transformation is given by119879minus1 (1199020)= [[[[[[[[[

cos 1205790 sin 1205790 0 0 minus1199090 cos 1205790 minus 1199100 sin 1205790minus sin 1205790 cos 1205790 0 0 1199090 sin 1205790 minus 1199100 cos 12057900 0 1 0 minus12057900 0 0 1 00 0 0 0 1]]]]]]]]] (32)

These transformation matrices have the following chainingproperty

1198671199021015840 = 119879 (1199020) sdot 119867119902 lArrrArr 119879(1199021015840) = 119879 (1199020) sdot 119879 (119902) (33)

where the upper ldquo119867rdquo index stands for the homogenouscoordinate representation 119867119902 = [119902 1]119879

Now we have all the tools to assemble CC-turns andelementary paths A general description of these is obtainedas follows

119867119902 (120575) = 119879 (119902119904) sdot 119867119902in (120575) if 120575 isin [0 120575CC] (34a)

119867119902 (120575) = 119879 (119902 (120575CC)) sdot 119867119902119888 (120575 minus 120575CC) if 120575 isin (120575119862119862 120575CC + 120575119862] (34b)

119867119902 (120575) = 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))sdot 119867119902out (120575 minus 120575CC minus 120575119862) if 120575 isin (120575CC + 120575119862 2120575CC + 120575119862] (34c)

where 119902119904 stands for a given arbitrary starting configurationwith zero curvature and 119902in(120575) and 119902out(120575) are given by(23a) (23b) (23c) (23d) (27a) (27b) (27c) and (27d)respectively This can be treated as a ldquodirectrdquo approach forgenerating a CC-turn or elementary path One specifies the

starting configuration 119902119904 the maximal curvature 120581CC andthe deflections 120575CC and 120575119862 and the end configuration 119902119890 =119902(2120575CC+120575119862) is obtained directly using (34a) (34b) and (34c)Without loss of generality we can assume that 119902119904 = (0 0 0 0)In this case we get

119867119902 (120575CC) = 119867119902in (120575CC) = 119879 (119902in (120575CC)) sdot 1198670 (35a)

119867119902 (120575CC + 120575119862) = 119879 (119902in (120575CC)) sdot 119867119902c (120575119862)= 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902(120575CC+120575119862))

sdot 1198670 (35b)

119867119902119890 = 119867119902 (2120575CC + 120575119862)= 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902119890)sdot 119867119902out (120575CC) = 119879 (119902119890) sdot 1198670

(35c)

because the endpoint of a standard out-type clothoid isthe origin according to (27a) (27b) (27c) and (27d) Thecomponents of119879 (119902119890) = 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862)) sdot 119879minus1 (119902out (0)) (36)

have the following form119879 (119902in (120575CC))=[[[[[[[[[[[[

cos 120575CC minus sin 120575CC 0 0 119883 (2120575CC)120581CCsin 120575CC cos 120575CC 0 0 119884 (2120575CC)120581CC0 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]]]]]119879 (119902119888 (120575119862)) =

[[[[[[[[[[[cos 120575119862 minus sin 120575119862 0 0 sin 120575119862120581CCsin 120575119862 cos 120575119862 0 0 1 minus cos 120575119862120581CC0 0 1 0 1205751198620 0 0 1 00 0 0 0 1

]]]]]]]]]]]

(37)

In order to obtain 119879minus1(119902out(0)) we express 119902out(0) first119902out (0) = (minus119909in (120575CC)119910in (120575CC)minus120575CC120581CC ) = ((

(minus119883(2120575CC)120581CC119884 (2120575CC)120581CCminus120575CC120581CC

)))

(38)

Journal of Advanced Transportation 9

and it follows from (32) that

119879minus1 (119902out (0)) = [[[[[[[[[cos 120575CC minus sin 120575CC 0 0 11990515sin 120575CC cos 120575CC 0 0 119905250 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]] (39)

where11990515 = 119883 (2120575CC)120581CC cos 120575CC + 119884 (2120575CC)120581CC sin 120575CC11990525 = 119883 (2120575CC)120581CC sin 120575CC minus 119884 (2120575CC)120581CC cos 120575CC (40)

After multiplying the three matrices we get119879 (119902119890)=[[[[[[[[[[[[

cos (120575end) minus sin (120575end) 0 0 119860 (2120575CC 120575119862)120581CCsin (120575end) cos (120575end) 0 0 119861 (2120575CC 120575119862)120581CC0 0 1 0 120575end0 0 0 1 00 0 0 0 1

]]]]]]]]]]]] (41)

where 120575end = 2120575CC + 120575119862 (42)119860 (2120575CC 120575119862) = 119883 (2120575CC) (1 + cos (2120575CC + 120575119862))+ 119884 (2120575CC) sin (2120575CC + 120575119862)+ sin (120575CC + 120575119862) minus sin 120575CC (43)

119861 (2120575CC 120575119862) = 119883 (2120575CC) sin (2120575CC + 120575119862)+ 119884 (2120575CC) (1 minus cos (2120575CC + 120575119862))minus cos (120575CC + 120575119862) + cos120575CC (44)

The end configuration of theCC-turn is given by the elementsin the last column of 119879(119902119890)119909119890 = 119860 (2120575CC 120575119862)120581CC (45a)

119910119890 = 119861 (2120575CC 120575119862)120581CC (45b)120579119890 = 2120575CC + 120575119862 (45c)120581119890 = 0 (45d)

It is important to note that in order to fully define aCC-turn two of the deflections 120575CC 120575119862 and 120575end should be

given together with the maximal curvature 120581CC The thirddeflection parameter is determined by (42)

The equations of an elementary path are similar to (45a)(45b) (45c) and (45d) we only need to substitute 120575119862 = 0119909119890 = 119860 (2120575CC 0)120581CC = 119860 (2120575CC)120581CC (46a)

119910119890 = 119861 (2120575CC 0)120581CC = 119861 (2120575CC)120581CC (46b)120579119890 = 2120575CC (46c)120581119890 = 0 (46d)

where 119860 (2120575CC) = 119883 (2120575CC) (1 + cos (2120575CC))+ 119884 (2120575CC) sin (2120575CC) 119861 (2120575CC) = 119883 (2120575CC) sin (2120575CC)+ 119884 (2120575CC) (1 minus cos (2120575CC)) (47)

44 TTS Paths for Local Planning Algorithms that generatefeasible local paths for a wheeled systemmdashsuch as our carmodel (5)mdashin the absence of obstacles are called localplanners or steering methods The exact definition of theseis the following

Definition 1 (steering method) Let us denote by Λ 119891 the setof all feasible local paths 120582119891 regarding system equation =119891(119902 119906) A steering method (or local planner module) is afunction

Steer C timesC 997888rarr Λ 119891 ie 120582119891 (sdot) = Steer (1199020 1199021) (48)

such that 120582119891 (0) = Steer (1199020 1199021) (0) = 1199020120582119891 (119878120582) = Steer (1199020 1199021) (119878120582) = 1199021 (49)

As already mentioned in Section 2 the most widely usedlocal planners for the simple kinematic car model (withoutthe requirement of curvature continuity) are based on theoptimal length ReedsndashShepp (RS) paths [27] These localpaths consist of maximum five circular or straight segmentsand have at most two cusps where the curvature of circulararcs is exactly plusmn120581max If the continuous steering car model(5) is used the continuous curvature generalization proposedin [31] can be applied This approximates ReedsndashShepp pathsby replacing circular segments with CC-turns It was shownthat although the resulting CCRS paths are not optimalthey converge to the optimal RS paths when the allowedsharpness of the clothoids tends to infinity The CC-turnsin this approach consist of clothoids having the maximalallowed sharpness and circle segments of maximal curvature

In the sequel we are doing something similar introducea new set of local paths for the continuous steering car Themain ideas which motivated the invention of our approachinstead using the CCRS paths are the following

10 Journal of Advanced Transportation

(i) The main goal is global planning in the presenceof obstacles Most existing planning methods use aconcatenation of local paths which has the conse-quence that the result will be not optimal even if theparts were generated by an optimal planner Even theCCRS paths are suboptimal Thus having the finalapplication in our mind we lifted the requirement ofoptimality of our local paths

(ii) Insteadminimizing the global path length we had thegoal to achieve ldquonaturalrdquo or ldquohuman-likerdquo pathsWhatthis means is informally described in the followingpoints

(iii) The RS (resp CCRS) paths consist of up to fivecircular (resp CC-turn) and straight segments Weshow in the sequel that three path segments aresufficient to connect any two configurations

(iv) The RS (resp CCRS) paths use circular segments(resp CC-turns) having the maximal allowed curva-ture (the steering wheel is turned to the end positionin every curve) Our planner is not restricted to thisOnly the limit is taken into account but smallercurvatures are allowed

(v) The last segment of RS (resp CCRS) paths is alwayscircular (resp CC-turn) We argue that this contra-dicts the behavior of human drivers Because the carcan only move forward or backward in most casesthe more natural behavior is to arrive at a givengoal configuration by a straight movement There area few exceptions for example the case of parallelparking but these can usually be transformed tothe mentioned case by reversing the roles of initialand goal configurations Consequently we choose astraight segment as the last section of our local paths

To simplify notation in the sequel we will denote localpaths as a concatenation of 119878 119879 and 119864 letters correspondingstraight segments CC-turns and elementary paths respec-tively In our approach we use 119879119879119878 (as well as 119864119864119878) paths(note that in our previous work [45] we used the notations119879lowast119879119878 and 119864lowast119864119878 where 119879lowast and 119864lowast represented ldquoCC-turn orstraight segmentrdquo and ldquoelementary path or straight segmentrdquoalthough we omit here the possibility of having a straightsegment as the first element because our experiments showedthat 119878119879119878 and 119878119864119878 paths are chosen very rarely by theimplemented planning algorithm) In the sequel we presentthe construction of 119864119864119878 paths first (where we use onlyelementary paths in place of CC-turns) and show that thisclass of paths is sufficient to connect an arbitrary pair ofconfigurations After that we generalize 119864 segments to CC-turns

441 Construction of EES Paths Let us assume withoutloss of generality that the path starts from a given initialconfiguration 119902119868 = (119909119868 119910119868 120579119868 0) and arrives at the origin asgoal configuration 119902119866 = (0 0 0 0) Any query pair (119902119868 119902119866)can be transformed to this form by translation and rotationand the designed path can be transformed back Let us denotethe intermediate configurations between the path segments

y

xqG qG

2

qI

1

1

2

2

1

qI

Figure 4 EES path

by 119868 and 119866 For every segment 119894 denotes its index (1 2or 3) inside the path A straight segment is parametrizedby its absolute length 119904119894 and direction 120574119894 and an elementarypath segment by its curvature 120581119894CC and deflection 120575119894CC at themiddle point between the CCin and CCout parts To simplifythe notation let us neglect the ldquoCCrdquo subscript from now onlet 120581119894 = 120581119894CC and 120575119894 = 120575119894CC

The scheme of an 119864119864119878 path (illustrated in Figure 4) is thefollowing 119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (50)

The coordinates of 119868 can be obtained from 119902119868 by atransformation belonging to the first elementary path

119867119868 = 119879 (119902119868) sdot 119879 (119902119890 (1205751 1205811)) sdot 1198670 (51)

where119879 (119902119890 (1205751 1205811))=[[[[[[[[[[[[

cos (21205751) minus sin (21205751) 0 0 119860 (21205751)1205811sin (21205751) cos (21205751) 0 0 119861 (21205751)12058110 0 1 0 212057510 0 0 1 00 0 0 0 1

]]]]]]]]]]]]

119879 (119902119868) = [[[[[[[[[cos (120579119868) minus sin (120579119868) 0 0 119909119868sin (120579119868) cos (120579119868) 0 0 1199101198680 0 1 0 1205791198680 0 0 1 00 0 0 0 1

]]]]]]]]]

(52)

By applying the matrix product we obtain119868 = 119860 (21205751)1205811 cos (120579119868) minus 119861 (21205751)1205811 sin (120579119868) + 119909119868 (53a)

119868 = 119860 (21205751)1205811 sin (120579119868) + 119861 (21205751)1205811 cos (120579119868) + 119910119868 (53b)

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 4: Autonomous Path Planning for Road Vehicles in Narrow ...

4 Journal of Advanced Transportation

[[[[[[[120601]]]]]]] = [[[[[[[

cos 120579sin 1205791119871 tan1206010

]]]]]]] V + [[[[[[0001]]]]]]Ω (1)

where 119909 and 119910 are the position coordinates of the back axlemidpoint (treated as the reference point of the model) 120579 isthe orientation of the car 120601 denotes the steering angle and 119871is the distance of the front and rear wheel axles The signedvelocity of the reference point is V (positive means forwardmotion) and Ω stands for the steering rate The absolutevalues of the steering angle and its rate of change are limitedto 10038161003816100381610038161206011003816100381610038161003816 le 120601max lt 1205872|Ω| le Ωmax lt infin (2)

The instantaneous turning radius (the reciprocal of the pathcurvature 120581) is given by 1120581 = 119871

tan120601 (3)

The steering angle limit implies an upper bound on the pathcurvature |120581| le 120581max = tan120601max119871 (4)

The more widespread form of the motion equation is thefollowing [51]

[[[[[[120581]]]]]] = [[[[[[

cos 120579sin 1205791205810

]]]]]] V + [[[[[[0001]]]]]]120590 (5)

where 120590 denotes the curvature change rate The vector 119902 =(119909 119910 120579 120581) is called the configuration (or state) of the vehicleand 119906 = (V 120590) is the input vector of the system Theconnection between (1) and (5) is given by120581 = tan120601119871120590 = = 119871 cos2120601 = Ω119871 cos2120601 (6)

An upper bound on the curvature change rate can be ex-pressed as |120590| le 120590max = Ωmax119871 le Ωmax119871 cos2120601 (7)

42 Feasible Paths To elaborate the properties of feasiblelocal paths of our car model let the translational velocityof the car be written as V = 120574|V| where |V| stands for the

magnitude of the velocity and 120574 represents the local directionof motion

120574 = 1 if V ge 0 (forward motion)minus1 if V lt 0 (backward motion)(8)

Furthermore let us introduce the translational displacementof the car along its path119904 (119905) = int119905

0|V (120591)| 119889120591 (9)

and express the translational velocity as

V = 120574119889119904119889119905 (10)

Using (10) and the chain rule of differentiation we reformu-late the motion equation (5) as follows

119889119889119904 [[[[[[119909119910120579120581]]]]]] sdot 119889119904119889119905 = [[[[[[

cos 120579sin 1205791205810

]]]]]]120574119889119904119889119905 + [[[[[[0001]]]]]]120590 (11)

After dividing by (10) and defining120572 (119904) = 120590V= 120574119889120581119889119904 (119904) = 11988921205791198891199042 (119904) (12)

the sharpness of the path we get the spatial description offeasible paths

120574 119889119889119904 [[[[[[119909119910120579120581]]]]]] = [[[[[[

cos 120579sin 1205791205810

]]]]]] + [[[[[[0001]]]]]]120572 (13)

We can establish the following properties of these pathsfor our car model

(i) The orientation 120579 at 119904 is constrained by the local dis-placements along the119909- and119910-axes and by themotiondirection 120574 The path curvature 120581 is given by the first(spatial) derivative of 120579 and the motion directionThus every feasible path can be fully described by aplanar curve labeled by the motion direction at everypoint This fact actually arises from the differentialflatness property of the carwith the rear axlemidpointposition as flat output [17 21]

(ii) The sharpness of the path is the second derivative of120579 (the spatial change rate of the curvature along thepath) and determines themaximal allowed velocity atevery point on the path|V (119904)| le 120590max|120572 (119904)| (14)

Journal of Advanced Transportation 5

If a nonzero minimal traveling speed Vmin is requiredthen the sharpness has an upper bound|120572 (119904)| le 120572max = 120590max1003816100381610038161003816Vmin

1003816100381610038161003816 (15)

In otherwords if wewould like to obtain a pathwhich canbe followed by the continuous steering car (1) and we allowthe car to stop only if the motion direction is reversed thenthe path should be a planar curve with

(i) bounded curvature and(ii) bounded sharpness (continuous curvature)

In Sections 43 44 and 45 we are about to presentspecific paths fulfilling these requirements and the local pathplanner for generating such paths

43 Path Elements Our aim is to choose geometric primi-tives which can serve as building elements in the process ofpath construction We assume that the motion direction isthe same along a primitive but it can change between theprimitives (whichmeans a cusp in the path)Themost simpleplanar curves with bounded curvature are straight lines (120581 =0 called 119878 segments in the sequel) and curvature-limitedcircular arcs (|120581(119904)| = const le 120581max called119862 segments) Pathsconstructed by these primitives have piecewise constant cur-vature with abrupt curvature changes (ie infinite sharpness)between the pieces To obtain continuous curvature we areabout to use clothoids which are the most simple parametriccurves with changing curvature and bounded sharpness

431 Clothoids Aclothoid is a curvewith constant sharpness|120572 (119904)| = |120572| le 120572max lt infin forall119904 (16)

According to (13) the equations describing a clothoid pathcan be obtained by integration If we assume that 119902(0) = 0we get

119909 (119904) = 120574radic 120587|120572|119862119865(radic |120572|120587 119904) (17a)

119910 (119904) = 120574 sgn (120572)radic 120587|120572|119878119865(radic |120572|120587 119904) (17b)

where sgn(120572) denotes the sign of 120572 and 119862119865 and 119878119865 stand forthe Fresnel cosine and sine integrals119862119865 (119903) = int119903

0cos(1205872 1205832)119889120583 (18a)

119878119865 (119903) = int119903

0sin(1205872 1205832)119889120583 (18b)

432 Clothoid Types From the point of view of path plan-ning eight different types of clothoids can be distinguishedbased on the following properties

CCNBin

CCNFout

CCPFout

CCPBin

CCPFin

CCPBout

CCNBout

x

y

CCNFin

Figure 2 Clothoid types

(i) Sign of the sharpness sgn(120572) = 120574 sgn(119889120581119889119904) it canbe positive (119875 sgn(120572) = 1) or negative (119873 sgn(120572) =minus1) Zero sharpness is omitted because it results in astraight or circular segment instead a clothoid

(ii) Direction of motion 120574 it can be forward (119865) orbackward (119861)

(iii) Sign of the absolute curvature change sgn(119889|120581|119889119904)The absolute curvature grows if the vehicle is enteringa turn (called in-type clothoid) and vanishes if itreturns to a straight segment (out-type clothoid)

Equations (17a) and (17b) describe in-type clothoidsparametrized by the constants 120572 120574 and the running variable119904 isin [0 119904CC] starting from 119902in(0) = 0 and arriving at some119902in(119904CC) where 119904CC denotes the whole curve length Fromevery in-type clothoid we can derive an out-type counterpartby preserving the same geometry but reversing the motiondirection119909out (119904) = minus120574radic 120587|120572|119862119865(radic |120572|120587 (119904CC minus 119904)) (19a)

119910out (119904) = minus120574 sgn (120572)radic 120587|120572|119878119865(radic |120572|120587 (119904CC minus 119904)) (19b)

Note that these out-type clothoids start from some 119902out(0) =119902in(119904CC) and arrive at 119902out(119904CC) = 0 The eight different typesof clothoids are illustrated in Figure 2

Note that we deal here only with such clothoid pathsegments which have either their starting or their final con-figuration at the origin with zero orientation and curvature(119902(0) = 0 for in-type and 119902(119904CC) = 0 for out-type clothoids)However this causes no serious limitations On the one handany 119902 = (119909 119910 120579 0) can be transformed to 1199021015840 = (0 0 0 0)by translation and rotation On the other hand 120581(0) = 0or 120581(119904CC) = 0 means that our final concatenated pathscan consist of 119878 segments CCin-119862-CCout triplets and CCin-CCout pairs Practically the only limitation is that transitionsbetween two 119862 segments of different curvatures are allowedonly with a curvature profile crossing or touching zero thatis by a 119862-CCout-CCin-119862 sequence As we will see later thisdoes not prohibit the creation of a complete path planner

6 Journal of Advanced Transportation

From now on according to the nomenclature of [31] wewill denote CCin-119862-CCout triplets asCC-turns or119879 segmentsandCCin-CCout pairs as elementary paths or119864 segmentsNotethat an elementary path is a special case of a CC-turn

433 Reparametrization of Clothoids By looking at (17a) and(17b) we can state that any point on an in-type clothoidstarting from 119902(0) = 0 can be described by the pair (120572 120574119904)the sharpness and the signed displacement along the curve Itwas shown byWilde [50] that an equivalent representation isavailable using the pair (120581 120575) the curvature and the deflectionof the curve at a certain point

119909 (120581 120575) = sgn (120575) radic2120587 |120575|120581 119862119865(radic2 |120575|120587 ) (20a)

119910 (120581 120575) = radic2120587 |120575|120581 119878119865(radic2 |120575|120587 ) (20b)

As it can be seen 120581 appears only as a multiplier in theexpressions thus it can be interpreted as a scaling factor Inthis representation 120575 is responsible for the ldquoshaperdquo of theclothoid segment and 120581 determines its ldquosizerdquo

From a computational perspective this (120581 120575) parametri-zation is less convenient than the parametrization by (120572 120574119904)The reason is that 120572 and 120574 are constant values and only 119904 isvariable along the path segment thus the curve is describedby some fixed parameters and exactly one free parameter asusual This makes the explicit computation of these curvessimple for example for visualization or collision checkingOpposed to this both 120581 and 120575 are varying along the curveand coherency has to be maintained between them to obtainproper results The coherency is ensured by the constantsharpness which is related to 120581 and 120575 as120572 = 12058122120575 (21)

For simplicity let us choose fixed curvature and deflectionvalues 120581CC and 120575CC at the endpoint of curve This is the pointwith maximal absolute curvature and deflection120581CC = argmax

120581|120581| (22a)120575CC = argmax

120575|120575| (22b)

Based on (20a) (20b) (22a) and (22b) in-type clothoids canbe fully described by

119909in (120575) = sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 |120575|120587 ) (23a)

119910in (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 |120575|120587 ) (23b)

120579in (120575) = 120575 (23c)

120581in (120575) = 120581CCradic 120575120575CC (23d)

where 120575 isin [0 120575CC] is the variable parameter and 120575CC and 120581CCare constant values A shorter form for 119909in(120575) and 119910in(120575) canbe obtained by defining the following functions

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (24)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (25)

Using these (23a) (23b) (23c) and (23d) will look like

119909in (120575) = 119883 (2120575)120581CC radic120575CC120575 = 119883 (2120575)120581in (120575) (26a)

119910in (120575) = 119884 (2120575)120581CC radic120575CC120575 = 119884 (2120575)120581in (120575) (26b)120579in (120575) = 120575 (26c)120581in (120575) = 120581CCradic 120575120575CC (26d)

Note that if we look at the endpoint 119883(2120575CC) and 119884(2120575CC)can be treated as the end position of and ldquounscaledrdquo in-typeclothoid of 120575CC full deflectionThe ldquoscaling factorrdquo 1120581CC canbe used to obtain the real endpoint coordinates 119909in(120575CC) and119910in(120575CC)

Now let us consider a pair of in-type and out-typeclothoids having the same geometry (such pairs were shownin Figure 2 eg CC119875119865

in and CC119875119861out) In order to ensure the

above-mentioned coherency between 120581CC and 120575CC we definethem according to (22a) and (22b) for out-type clothoidsas well However in this case 120581CC belongs to the startingpoint while 120575CC to the endpoint of the curve Since an out-type clothoid has the same geometry as its in-type pair butopposite motion direction we can obtain its equation as119909out (120575)

= minus sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27a)

119910out (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27b)

120579out (120575) = 120575 minus 120575CC (27c)

120581out (120575) = 120581CCradic120575CC minus 120575120575CC (27d)

Journal of Advanced Transportation 7

CCout

CC

qs = 2CC

2

y

x

qe

CCin

(a)

y

qe

C

CCin

C

= 2CC + C

x

CCout

CCqs

(b)

Figure 3 Structure of (a) elementary paths and (b) CC-turns

434 Elementary Paths and CC-Turns As already men-tioned elementary paths (119864 segments) are symmetric curvesconsisting of a pair of compatible CCin and CCout clothoidsThe curvature of the first curve changes from 0 to 120581CC whilethe second from 120581CC back to 0 Both curves have the samedeflection 120575CC Compatibility is assured by the same motiondirection 120574 and the same curvature 120581CC at the end of thein-type part and at the beginning of the out-type part Thecompatible pairs are

(i) CC119875119865in and CC119873119865

out

(ii) CC119873119865in and CC119875119865

out

(iii) CC119875119861in and CC119873119861

out

(iv) CC119873119861in and CC119875119861

out

A CC-turn consists of a pair of compatible CCin andCCout curves with an additional circular arc between themwhich has 120581119862 = 120581CC curvature and 120575119862 deflection Asmentioned before an elementary path is a special case of aCC-turn with 120575119862 = 0 (see Figure 3)

Let us characterize these path components They canbe described by a parametric configuration curve 119902(120575) =(119909(120575) 119910(120575) 120579(120575) 120581(120575)) with 120575 isin [0 120575end] The curve is fullydetermined by the following parameters

(i) A starting configuration 119902(0) = 119902119904 = (119909119904 119910119904 120579119904 0)(ii) The maximal curvature 120581CC (in an absolute sense|120581CC| ge |120581(120575)| forall120575)(iii) Deflections of the clothoid (120575CC) and circular (120575119862)

parts

We use the following building elements to synthesize elemen-tary paths and CC-turns

(i) An in-type clothoid 119902in(120575) of deflection 120575CC startingfrom 119902in(0) = (0 0 0 0) and arriving at 119902in(120575CC) =(119909in(120575CC) 119910in(120575CC) 120575CC 120581CC) as described by (23a)(23b) (23c) and (23d)

(ii) A circular arc 119902119888(120575) of deflection 120575119862 and curvature120581CC starting from 119902119888(0) = (0 0 0 0) described by119909119888 (120575) = sin 120575120581CC (28a)

119910119888 (120575) = 1 minus cos 120575120581CC (28b)120579119888 (120575) = 120575 (28c)120581119888 (120575) = 120581CC (28d)

(iii) A compatible out-type clothoid 119902out(120575) of deflec-tion 120575CC starting from 119902out(0) = (119909out(0) 119910out(0)minus120575CC 120581CC) and arriving at 119902out(120575CC) = (0 0 0 0) asdescribed by (27a) (27b) (27c) and (27d)

The starting and end configurations of these parts have to bealigned in order to obtain the resulting elementary path orCC-turn The alignment is performed by rotation and trans-lation described by homogeneous transformation matricesLet us assign a transformation matrix to any configuration 1199020as follows

1199020 = (1199090119910012057901205810) 997888rarr

119879(1199020) = [[[[[[[[[cos 1205790 minus sin 1205790 0 0 1199090sin 1205790 cos 1205790 0 0 11991000 0 1 0 12057900 0 0 1 00 0 0 0 1

]]]]]]]]]

(29)

This transformation matrix represents the pose of the localcoordinate frame attached to 1199020 The transformation of

8 Journal of Advanced Transportation

another configuration 119902 by 119879(1199020) can be performed as usual(11990210158401) = 119879 (1199020) (1199021) (30)

This means that we interpret the coordinates of 119902 as localrelative to 1199020Multiplying by119879(1199020)we get 1199021015840 which representsthe global coordinates of the transformed 119902 Notice thatthe transformation does not affect the curvature part of theconfiguration It follows that the original configuration 1199020can be obtained by applying the transformation 119879(1199020) to 119902 =(0 0 0 1205810)

(11990201 ) = 119879 (1199020)(((

00012058101)))

(31)

The inverse transformation is given by119879minus1 (1199020)= [[[[[[[[[

cos 1205790 sin 1205790 0 0 minus1199090 cos 1205790 minus 1199100 sin 1205790minus sin 1205790 cos 1205790 0 0 1199090 sin 1205790 minus 1199100 cos 12057900 0 1 0 minus12057900 0 0 1 00 0 0 0 1]]]]]]]]] (32)

These transformation matrices have the following chainingproperty

1198671199021015840 = 119879 (1199020) sdot 119867119902 lArrrArr 119879(1199021015840) = 119879 (1199020) sdot 119879 (119902) (33)

where the upper ldquo119867rdquo index stands for the homogenouscoordinate representation 119867119902 = [119902 1]119879

Now we have all the tools to assemble CC-turns andelementary paths A general description of these is obtainedas follows

119867119902 (120575) = 119879 (119902119904) sdot 119867119902in (120575) if 120575 isin [0 120575CC] (34a)

119867119902 (120575) = 119879 (119902 (120575CC)) sdot 119867119902119888 (120575 minus 120575CC) if 120575 isin (120575119862119862 120575CC + 120575119862] (34b)

119867119902 (120575) = 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))sdot 119867119902out (120575 minus 120575CC minus 120575119862) if 120575 isin (120575CC + 120575119862 2120575CC + 120575119862] (34c)

where 119902119904 stands for a given arbitrary starting configurationwith zero curvature and 119902in(120575) and 119902out(120575) are given by(23a) (23b) (23c) (23d) (27a) (27b) (27c) and (27d)respectively This can be treated as a ldquodirectrdquo approach forgenerating a CC-turn or elementary path One specifies the

starting configuration 119902119904 the maximal curvature 120581CC andthe deflections 120575CC and 120575119862 and the end configuration 119902119890 =119902(2120575CC+120575119862) is obtained directly using (34a) (34b) and (34c)Without loss of generality we can assume that 119902119904 = (0 0 0 0)In this case we get

119867119902 (120575CC) = 119867119902in (120575CC) = 119879 (119902in (120575CC)) sdot 1198670 (35a)

119867119902 (120575CC + 120575119862) = 119879 (119902in (120575CC)) sdot 119867119902c (120575119862)= 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902(120575CC+120575119862))

sdot 1198670 (35b)

119867119902119890 = 119867119902 (2120575CC + 120575119862)= 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902119890)sdot 119867119902out (120575CC) = 119879 (119902119890) sdot 1198670

(35c)

because the endpoint of a standard out-type clothoid isthe origin according to (27a) (27b) (27c) and (27d) Thecomponents of119879 (119902119890) = 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862)) sdot 119879minus1 (119902out (0)) (36)

have the following form119879 (119902in (120575CC))=[[[[[[[[[[[[

cos 120575CC minus sin 120575CC 0 0 119883 (2120575CC)120581CCsin 120575CC cos 120575CC 0 0 119884 (2120575CC)120581CC0 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]]]]]119879 (119902119888 (120575119862)) =

[[[[[[[[[[[cos 120575119862 minus sin 120575119862 0 0 sin 120575119862120581CCsin 120575119862 cos 120575119862 0 0 1 minus cos 120575119862120581CC0 0 1 0 1205751198620 0 0 1 00 0 0 0 1

]]]]]]]]]]]

(37)

In order to obtain 119879minus1(119902out(0)) we express 119902out(0) first119902out (0) = (minus119909in (120575CC)119910in (120575CC)minus120575CC120581CC ) = ((

(minus119883(2120575CC)120581CC119884 (2120575CC)120581CCminus120575CC120581CC

)))

(38)

Journal of Advanced Transportation 9

and it follows from (32) that

119879minus1 (119902out (0)) = [[[[[[[[[cos 120575CC minus sin 120575CC 0 0 11990515sin 120575CC cos 120575CC 0 0 119905250 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]] (39)

where11990515 = 119883 (2120575CC)120581CC cos 120575CC + 119884 (2120575CC)120581CC sin 120575CC11990525 = 119883 (2120575CC)120581CC sin 120575CC minus 119884 (2120575CC)120581CC cos 120575CC (40)

After multiplying the three matrices we get119879 (119902119890)=[[[[[[[[[[[[

cos (120575end) minus sin (120575end) 0 0 119860 (2120575CC 120575119862)120581CCsin (120575end) cos (120575end) 0 0 119861 (2120575CC 120575119862)120581CC0 0 1 0 120575end0 0 0 1 00 0 0 0 1

]]]]]]]]]]]] (41)

where 120575end = 2120575CC + 120575119862 (42)119860 (2120575CC 120575119862) = 119883 (2120575CC) (1 + cos (2120575CC + 120575119862))+ 119884 (2120575CC) sin (2120575CC + 120575119862)+ sin (120575CC + 120575119862) minus sin 120575CC (43)

119861 (2120575CC 120575119862) = 119883 (2120575CC) sin (2120575CC + 120575119862)+ 119884 (2120575CC) (1 minus cos (2120575CC + 120575119862))minus cos (120575CC + 120575119862) + cos120575CC (44)

The end configuration of theCC-turn is given by the elementsin the last column of 119879(119902119890)119909119890 = 119860 (2120575CC 120575119862)120581CC (45a)

119910119890 = 119861 (2120575CC 120575119862)120581CC (45b)120579119890 = 2120575CC + 120575119862 (45c)120581119890 = 0 (45d)

It is important to note that in order to fully define aCC-turn two of the deflections 120575CC 120575119862 and 120575end should be

given together with the maximal curvature 120581CC The thirddeflection parameter is determined by (42)

The equations of an elementary path are similar to (45a)(45b) (45c) and (45d) we only need to substitute 120575119862 = 0119909119890 = 119860 (2120575CC 0)120581CC = 119860 (2120575CC)120581CC (46a)

119910119890 = 119861 (2120575CC 0)120581CC = 119861 (2120575CC)120581CC (46b)120579119890 = 2120575CC (46c)120581119890 = 0 (46d)

where 119860 (2120575CC) = 119883 (2120575CC) (1 + cos (2120575CC))+ 119884 (2120575CC) sin (2120575CC) 119861 (2120575CC) = 119883 (2120575CC) sin (2120575CC)+ 119884 (2120575CC) (1 minus cos (2120575CC)) (47)

44 TTS Paths for Local Planning Algorithms that generatefeasible local paths for a wheeled systemmdashsuch as our carmodel (5)mdashin the absence of obstacles are called localplanners or steering methods The exact definition of theseis the following

Definition 1 (steering method) Let us denote by Λ 119891 the setof all feasible local paths 120582119891 regarding system equation =119891(119902 119906) A steering method (or local planner module) is afunction

Steer C timesC 997888rarr Λ 119891 ie 120582119891 (sdot) = Steer (1199020 1199021) (48)

such that 120582119891 (0) = Steer (1199020 1199021) (0) = 1199020120582119891 (119878120582) = Steer (1199020 1199021) (119878120582) = 1199021 (49)

As already mentioned in Section 2 the most widely usedlocal planners for the simple kinematic car model (withoutthe requirement of curvature continuity) are based on theoptimal length ReedsndashShepp (RS) paths [27] These localpaths consist of maximum five circular or straight segmentsand have at most two cusps where the curvature of circulararcs is exactly plusmn120581max If the continuous steering car model(5) is used the continuous curvature generalization proposedin [31] can be applied This approximates ReedsndashShepp pathsby replacing circular segments with CC-turns It was shownthat although the resulting CCRS paths are not optimalthey converge to the optimal RS paths when the allowedsharpness of the clothoids tends to infinity The CC-turnsin this approach consist of clothoids having the maximalallowed sharpness and circle segments of maximal curvature

In the sequel we are doing something similar introducea new set of local paths for the continuous steering car Themain ideas which motivated the invention of our approachinstead using the CCRS paths are the following

10 Journal of Advanced Transportation

(i) The main goal is global planning in the presenceof obstacles Most existing planning methods use aconcatenation of local paths which has the conse-quence that the result will be not optimal even if theparts were generated by an optimal planner Even theCCRS paths are suboptimal Thus having the finalapplication in our mind we lifted the requirement ofoptimality of our local paths

(ii) Insteadminimizing the global path length we had thegoal to achieve ldquonaturalrdquo or ldquohuman-likerdquo pathsWhatthis means is informally described in the followingpoints

(iii) The RS (resp CCRS) paths consist of up to fivecircular (resp CC-turn) and straight segments Weshow in the sequel that three path segments aresufficient to connect any two configurations

(iv) The RS (resp CCRS) paths use circular segments(resp CC-turns) having the maximal allowed curva-ture (the steering wheel is turned to the end positionin every curve) Our planner is not restricted to thisOnly the limit is taken into account but smallercurvatures are allowed

(v) The last segment of RS (resp CCRS) paths is alwayscircular (resp CC-turn) We argue that this contra-dicts the behavior of human drivers Because the carcan only move forward or backward in most casesthe more natural behavior is to arrive at a givengoal configuration by a straight movement There area few exceptions for example the case of parallelparking but these can usually be transformed tothe mentioned case by reversing the roles of initialand goal configurations Consequently we choose astraight segment as the last section of our local paths

To simplify notation in the sequel we will denote localpaths as a concatenation of 119878 119879 and 119864 letters correspondingstraight segments CC-turns and elementary paths respec-tively In our approach we use 119879119879119878 (as well as 119864119864119878) paths(note that in our previous work [45] we used the notations119879lowast119879119878 and 119864lowast119864119878 where 119879lowast and 119864lowast represented ldquoCC-turn orstraight segmentrdquo and ldquoelementary path or straight segmentrdquoalthough we omit here the possibility of having a straightsegment as the first element because our experiments showedthat 119878119879119878 and 119878119864119878 paths are chosen very rarely by theimplemented planning algorithm) In the sequel we presentthe construction of 119864119864119878 paths first (where we use onlyelementary paths in place of CC-turns) and show that thisclass of paths is sufficient to connect an arbitrary pair ofconfigurations After that we generalize 119864 segments to CC-turns

441 Construction of EES Paths Let us assume withoutloss of generality that the path starts from a given initialconfiguration 119902119868 = (119909119868 119910119868 120579119868 0) and arrives at the origin asgoal configuration 119902119866 = (0 0 0 0) Any query pair (119902119868 119902119866)can be transformed to this form by translation and rotationand the designed path can be transformed back Let us denotethe intermediate configurations between the path segments

y

xqG qG

2

qI

1

1

2

2

1

qI

Figure 4 EES path

by 119868 and 119866 For every segment 119894 denotes its index (1 2or 3) inside the path A straight segment is parametrizedby its absolute length 119904119894 and direction 120574119894 and an elementarypath segment by its curvature 120581119894CC and deflection 120575119894CC at themiddle point between the CCin and CCout parts To simplifythe notation let us neglect the ldquoCCrdquo subscript from now onlet 120581119894 = 120581119894CC and 120575119894 = 120575119894CC

The scheme of an 119864119864119878 path (illustrated in Figure 4) is thefollowing 119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (50)

The coordinates of 119868 can be obtained from 119902119868 by atransformation belonging to the first elementary path

119867119868 = 119879 (119902119868) sdot 119879 (119902119890 (1205751 1205811)) sdot 1198670 (51)

where119879 (119902119890 (1205751 1205811))=[[[[[[[[[[[[

cos (21205751) minus sin (21205751) 0 0 119860 (21205751)1205811sin (21205751) cos (21205751) 0 0 119861 (21205751)12058110 0 1 0 212057510 0 0 1 00 0 0 0 1

]]]]]]]]]]]]

119879 (119902119868) = [[[[[[[[[cos (120579119868) minus sin (120579119868) 0 0 119909119868sin (120579119868) cos (120579119868) 0 0 1199101198680 0 1 0 1205791198680 0 0 1 00 0 0 0 1

]]]]]]]]]

(52)

By applying the matrix product we obtain119868 = 119860 (21205751)1205811 cos (120579119868) minus 119861 (21205751)1205811 sin (120579119868) + 119909119868 (53a)

119868 = 119860 (21205751)1205811 sin (120579119868) + 119861 (21205751)1205811 cos (120579119868) + 119910119868 (53b)

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 5: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 5

If a nonzero minimal traveling speed Vmin is requiredthen the sharpness has an upper bound|120572 (119904)| le 120572max = 120590max1003816100381610038161003816Vmin

1003816100381610038161003816 (15)

In otherwords if wewould like to obtain a pathwhich canbe followed by the continuous steering car (1) and we allowthe car to stop only if the motion direction is reversed thenthe path should be a planar curve with

(i) bounded curvature and(ii) bounded sharpness (continuous curvature)

In Sections 43 44 and 45 we are about to presentspecific paths fulfilling these requirements and the local pathplanner for generating such paths

43 Path Elements Our aim is to choose geometric primi-tives which can serve as building elements in the process ofpath construction We assume that the motion direction isthe same along a primitive but it can change between theprimitives (whichmeans a cusp in the path)Themost simpleplanar curves with bounded curvature are straight lines (120581 =0 called 119878 segments in the sequel) and curvature-limitedcircular arcs (|120581(119904)| = const le 120581max called119862 segments) Pathsconstructed by these primitives have piecewise constant cur-vature with abrupt curvature changes (ie infinite sharpness)between the pieces To obtain continuous curvature we areabout to use clothoids which are the most simple parametriccurves with changing curvature and bounded sharpness

431 Clothoids Aclothoid is a curvewith constant sharpness|120572 (119904)| = |120572| le 120572max lt infin forall119904 (16)

According to (13) the equations describing a clothoid pathcan be obtained by integration If we assume that 119902(0) = 0we get

119909 (119904) = 120574radic 120587|120572|119862119865(radic |120572|120587 119904) (17a)

119910 (119904) = 120574 sgn (120572)radic 120587|120572|119878119865(radic |120572|120587 119904) (17b)

where sgn(120572) denotes the sign of 120572 and 119862119865 and 119878119865 stand forthe Fresnel cosine and sine integrals119862119865 (119903) = int119903

0cos(1205872 1205832)119889120583 (18a)

119878119865 (119903) = int119903

0sin(1205872 1205832)119889120583 (18b)

432 Clothoid Types From the point of view of path plan-ning eight different types of clothoids can be distinguishedbased on the following properties

CCNBin

CCNFout

CCPFout

CCPBin

CCPFin

CCPBout

CCNBout

x

y

CCNFin

Figure 2 Clothoid types

(i) Sign of the sharpness sgn(120572) = 120574 sgn(119889120581119889119904) it canbe positive (119875 sgn(120572) = 1) or negative (119873 sgn(120572) =minus1) Zero sharpness is omitted because it results in astraight or circular segment instead a clothoid

(ii) Direction of motion 120574 it can be forward (119865) orbackward (119861)

(iii) Sign of the absolute curvature change sgn(119889|120581|119889119904)The absolute curvature grows if the vehicle is enteringa turn (called in-type clothoid) and vanishes if itreturns to a straight segment (out-type clothoid)

Equations (17a) and (17b) describe in-type clothoidsparametrized by the constants 120572 120574 and the running variable119904 isin [0 119904CC] starting from 119902in(0) = 0 and arriving at some119902in(119904CC) where 119904CC denotes the whole curve length Fromevery in-type clothoid we can derive an out-type counterpartby preserving the same geometry but reversing the motiondirection119909out (119904) = minus120574radic 120587|120572|119862119865(radic |120572|120587 (119904CC minus 119904)) (19a)

119910out (119904) = minus120574 sgn (120572)radic 120587|120572|119878119865(radic |120572|120587 (119904CC minus 119904)) (19b)

Note that these out-type clothoids start from some 119902out(0) =119902in(119904CC) and arrive at 119902out(119904CC) = 0 The eight different typesof clothoids are illustrated in Figure 2

Note that we deal here only with such clothoid pathsegments which have either their starting or their final con-figuration at the origin with zero orientation and curvature(119902(0) = 0 for in-type and 119902(119904CC) = 0 for out-type clothoids)However this causes no serious limitations On the one handany 119902 = (119909 119910 120579 0) can be transformed to 1199021015840 = (0 0 0 0)by translation and rotation On the other hand 120581(0) = 0or 120581(119904CC) = 0 means that our final concatenated pathscan consist of 119878 segments CCin-119862-CCout triplets and CCin-CCout pairs Practically the only limitation is that transitionsbetween two 119862 segments of different curvatures are allowedonly with a curvature profile crossing or touching zero thatis by a 119862-CCout-CCin-119862 sequence As we will see later thisdoes not prohibit the creation of a complete path planner

6 Journal of Advanced Transportation

From now on according to the nomenclature of [31] wewill denote CCin-119862-CCout triplets asCC-turns or119879 segmentsandCCin-CCout pairs as elementary paths or119864 segmentsNotethat an elementary path is a special case of a CC-turn

433 Reparametrization of Clothoids By looking at (17a) and(17b) we can state that any point on an in-type clothoidstarting from 119902(0) = 0 can be described by the pair (120572 120574119904)the sharpness and the signed displacement along the curve Itwas shown byWilde [50] that an equivalent representation isavailable using the pair (120581 120575) the curvature and the deflectionof the curve at a certain point

119909 (120581 120575) = sgn (120575) radic2120587 |120575|120581 119862119865(radic2 |120575|120587 ) (20a)

119910 (120581 120575) = radic2120587 |120575|120581 119878119865(radic2 |120575|120587 ) (20b)

As it can be seen 120581 appears only as a multiplier in theexpressions thus it can be interpreted as a scaling factor Inthis representation 120575 is responsible for the ldquoshaperdquo of theclothoid segment and 120581 determines its ldquosizerdquo

From a computational perspective this (120581 120575) parametri-zation is less convenient than the parametrization by (120572 120574119904)The reason is that 120572 and 120574 are constant values and only 119904 isvariable along the path segment thus the curve is describedby some fixed parameters and exactly one free parameter asusual This makes the explicit computation of these curvessimple for example for visualization or collision checkingOpposed to this both 120581 and 120575 are varying along the curveand coherency has to be maintained between them to obtainproper results The coherency is ensured by the constantsharpness which is related to 120581 and 120575 as120572 = 12058122120575 (21)

For simplicity let us choose fixed curvature and deflectionvalues 120581CC and 120575CC at the endpoint of curve This is the pointwith maximal absolute curvature and deflection120581CC = argmax

120581|120581| (22a)120575CC = argmax

120575|120575| (22b)

Based on (20a) (20b) (22a) and (22b) in-type clothoids canbe fully described by

119909in (120575) = sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 |120575|120587 ) (23a)

119910in (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 |120575|120587 ) (23b)

120579in (120575) = 120575 (23c)

120581in (120575) = 120581CCradic 120575120575CC (23d)

where 120575 isin [0 120575CC] is the variable parameter and 120575CC and 120581CCare constant values A shorter form for 119909in(120575) and 119910in(120575) canbe obtained by defining the following functions

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (24)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (25)

Using these (23a) (23b) (23c) and (23d) will look like

119909in (120575) = 119883 (2120575)120581CC radic120575CC120575 = 119883 (2120575)120581in (120575) (26a)

119910in (120575) = 119884 (2120575)120581CC radic120575CC120575 = 119884 (2120575)120581in (120575) (26b)120579in (120575) = 120575 (26c)120581in (120575) = 120581CCradic 120575120575CC (26d)

Note that if we look at the endpoint 119883(2120575CC) and 119884(2120575CC)can be treated as the end position of and ldquounscaledrdquo in-typeclothoid of 120575CC full deflectionThe ldquoscaling factorrdquo 1120581CC canbe used to obtain the real endpoint coordinates 119909in(120575CC) and119910in(120575CC)

Now let us consider a pair of in-type and out-typeclothoids having the same geometry (such pairs were shownin Figure 2 eg CC119875119865

in and CC119875119861out) In order to ensure the

above-mentioned coherency between 120581CC and 120575CC we definethem according to (22a) and (22b) for out-type clothoidsas well However in this case 120581CC belongs to the startingpoint while 120575CC to the endpoint of the curve Since an out-type clothoid has the same geometry as its in-type pair butopposite motion direction we can obtain its equation as119909out (120575)

= minus sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27a)

119910out (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27b)

120579out (120575) = 120575 minus 120575CC (27c)

120581out (120575) = 120581CCradic120575CC minus 120575120575CC (27d)

Journal of Advanced Transportation 7

CCout

CC

qs = 2CC

2

y

x

qe

CCin

(a)

y

qe

C

CCin

C

= 2CC + C

x

CCout

CCqs

(b)

Figure 3 Structure of (a) elementary paths and (b) CC-turns

434 Elementary Paths and CC-Turns As already men-tioned elementary paths (119864 segments) are symmetric curvesconsisting of a pair of compatible CCin and CCout clothoidsThe curvature of the first curve changes from 0 to 120581CC whilethe second from 120581CC back to 0 Both curves have the samedeflection 120575CC Compatibility is assured by the same motiondirection 120574 and the same curvature 120581CC at the end of thein-type part and at the beginning of the out-type part Thecompatible pairs are

(i) CC119875119865in and CC119873119865

out

(ii) CC119873119865in and CC119875119865

out

(iii) CC119875119861in and CC119873119861

out

(iv) CC119873119861in and CC119875119861

out

A CC-turn consists of a pair of compatible CCin andCCout curves with an additional circular arc between themwhich has 120581119862 = 120581CC curvature and 120575119862 deflection Asmentioned before an elementary path is a special case of aCC-turn with 120575119862 = 0 (see Figure 3)

Let us characterize these path components They canbe described by a parametric configuration curve 119902(120575) =(119909(120575) 119910(120575) 120579(120575) 120581(120575)) with 120575 isin [0 120575end] The curve is fullydetermined by the following parameters

(i) A starting configuration 119902(0) = 119902119904 = (119909119904 119910119904 120579119904 0)(ii) The maximal curvature 120581CC (in an absolute sense|120581CC| ge |120581(120575)| forall120575)(iii) Deflections of the clothoid (120575CC) and circular (120575119862)

parts

We use the following building elements to synthesize elemen-tary paths and CC-turns

(i) An in-type clothoid 119902in(120575) of deflection 120575CC startingfrom 119902in(0) = (0 0 0 0) and arriving at 119902in(120575CC) =(119909in(120575CC) 119910in(120575CC) 120575CC 120581CC) as described by (23a)(23b) (23c) and (23d)

(ii) A circular arc 119902119888(120575) of deflection 120575119862 and curvature120581CC starting from 119902119888(0) = (0 0 0 0) described by119909119888 (120575) = sin 120575120581CC (28a)

119910119888 (120575) = 1 minus cos 120575120581CC (28b)120579119888 (120575) = 120575 (28c)120581119888 (120575) = 120581CC (28d)

(iii) A compatible out-type clothoid 119902out(120575) of deflec-tion 120575CC starting from 119902out(0) = (119909out(0) 119910out(0)minus120575CC 120581CC) and arriving at 119902out(120575CC) = (0 0 0 0) asdescribed by (27a) (27b) (27c) and (27d)

The starting and end configurations of these parts have to bealigned in order to obtain the resulting elementary path orCC-turn The alignment is performed by rotation and trans-lation described by homogeneous transformation matricesLet us assign a transformation matrix to any configuration 1199020as follows

1199020 = (1199090119910012057901205810) 997888rarr

119879(1199020) = [[[[[[[[[cos 1205790 minus sin 1205790 0 0 1199090sin 1205790 cos 1205790 0 0 11991000 0 1 0 12057900 0 0 1 00 0 0 0 1

]]]]]]]]]

(29)

This transformation matrix represents the pose of the localcoordinate frame attached to 1199020 The transformation of

8 Journal of Advanced Transportation

another configuration 119902 by 119879(1199020) can be performed as usual(11990210158401) = 119879 (1199020) (1199021) (30)

This means that we interpret the coordinates of 119902 as localrelative to 1199020Multiplying by119879(1199020)we get 1199021015840 which representsthe global coordinates of the transformed 119902 Notice thatthe transformation does not affect the curvature part of theconfiguration It follows that the original configuration 1199020can be obtained by applying the transformation 119879(1199020) to 119902 =(0 0 0 1205810)

(11990201 ) = 119879 (1199020)(((

00012058101)))

(31)

The inverse transformation is given by119879minus1 (1199020)= [[[[[[[[[

cos 1205790 sin 1205790 0 0 minus1199090 cos 1205790 minus 1199100 sin 1205790minus sin 1205790 cos 1205790 0 0 1199090 sin 1205790 minus 1199100 cos 12057900 0 1 0 minus12057900 0 0 1 00 0 0 0 1]]]]]]]]] (32)

These transformation matrices have the following chainingproperty

1198671199021015840 = 119879 (1199020) sdot 119867119902 lArrrArr 119879(1199021015840) = 119879 (1199020) sdot 119879 (119902) (33)

where the upper ldquo119867rdquo index stands for the homogenouscoordinate representation 119867119902 = [119902 1]119879

Now we have all the tools to assemble CC-turns andelementary paths A general description of these is obtainedas follows

119867119902 (120575) = 119879 (119902119904) sdot 119867119902in (120575) if 120575 isin [0 120575CC] (34a)

119867119902 (120575) = 119879 (119902 (120575CC)) sdot 119867119902119888 (120575 minus 120575CC) if 120575 isin (120575119862119862 120575CC + 120575119862] (34b)

119867119902 (120575) = 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))sdot 119867119902out (120575 minus 120575CC minus 120575119862) if 120575 isin (120575CC + 120575119862 2120575CC + 120575119862] (34c)

where 119902119904 stands for a given arbitrary starting configurationwith zero curvature and 119902in(120575) and 119902out(120575) are given by(23a) (23b) (23c) (23d) (27a) (27b) (27c) and (27d)respectively This can be treated as a ldquodirectrdquo approach forgenerating a CC-turn or elementary path One specifies the

starting configuration 119902119904 the maximal curvature 120581CC andthe deflections 120575CC and 120575119862 and the end configuration 119902119890 =119902(2120575CC+120575119862) is obtained directly using (34a) (34b) and (34c)Without loss of generality we can assume that 119902119904 = (0 0 0 0)In this case we get

119867119902 (120575CC) = 119867119902in (120575CC) = 119879 (119902in (120575CC)) sdot 1198670 (35a)

119867119902 (120575CC + 120575119862) = 119879 (119902in (120575CC)) sdot 119867119902c (120575119862)= 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902(120575CC+120575119862))

sdot 1198670 (35b)

119867119902119890 = 119867119902 (2120575CC + 120575119862)= 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902119890)sdot 119867119902out (120575CC) = 119879 (119902119890) sdot 1198670

(35c)

because the endpoint of a standard out-type clothoid isthe origin according to (27a) (27b) (27c) and (27d) Thecomponents of119879 (119902119890) = 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862)) sdot 119879minus1 (119902out (0)) (36)

have the following form119879 (119902in (120575CC))=[[[[[[[[[[[[

cos 120575CC minus sin 120575CC 0 0 119883 (2120575CC)120581CCsin 120575CC cos 120575CC 0 0 119884 (2120575CC)120581CC0 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]]]]]119879 (119902119888 (120575119862)) =

[[[[[[[[[[[cos 120575119862 minus sin 120575119862 0 0 sin 120575119862120581CCsin 120575119862 cos 120575119862 0 0 1 minus cos 120575119862120581CC0 0 1 0 1205751198620 0 0 1 00 0 0 0 1

]]]]]]]]]]]

(37)

In order to obtain 119879minus1(119902out(0)) we express 119902out(0) first119902out (0) = (minus119909in (120575CC)119910in (120575CC)minus120575CC120581CC ) = ((

(minus119883(2120575CC)120581CC119884 (2120575CC)120581CCminus120575CC120581CC

)))

(38)

Journal of Advanced Transportation 9

and it follows from (32) that

119879minus1 (119902out (0)) = [[[[[[[[[cos 120575CC minus sin 120575CC 0 0 11990515sin 120575CC cos 120575CC 0 0 119905250 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]] (39)

where11990515 = 119883 (2120575CC)120581CC cos 120575CC + 119884 (2120575CC)120581CC sin 120575CC11990525 = 119883 (2120575CC)120581CC sin 120575CC minus 119884 (2120575CC)120581CC cos 120575CC (40)

After multiplying the three matrices we get119879 (119902119890)=[[[[[[[[[[[[

cos (120575end) minus sin (120575end) 0 0 119860 (2120575CC 120575119862)120581CCsin (120575end) cos (120575end) 0 0 119861 (2120575CC 120575119862)120581CC0 0 1 0 120575end0 0 0 1 00 0 0 0 1

]]]]]]]]]]]] (41)

where 120575end = 2120575CC + 120575119862 (42)119860 (2120575CC 120575119862) = 119883 (2120575CC) (1 + cos (2120575CC + 120575119862))+ 119884 (2120575CC) sin (2120575CC + 120575119862)+ sin (120575CC + 120575119862) minus sin 120575CC (43)

119861 (2120575CC 120575119862) = 119883 (2120575CC) sin (2120575CC + 120575119862)+ 119884 (2120575CC) (1 minus cos (2120575CC + 120575119862))minus cos (120575CC + 120575119862) + cos120575CC (44)

The end configuration of theCC-turn is given by the elementsin the last column of 119879(119902119890)119909119890 = 119860 (2120575CC 120575119862)120581CC (45a)

119910119890 = 119861 (2120575CC 120575119862)120581CC (45b)120579119890 = 2120575CC + 120575119862 (45c)120581119890 = 0 (45d)

It is important to note that in order to fully define aCC-turn two of the deflections 120575CC 120575119862 and 120575end should be

given together with the maximal curvature 120581CC The thirddeflection parameter is determined by (42)

The equations of an elementary path are similar to (45a)(45b) (45c) and (45d) we only need to substitute 120575119862 = 0119909119890 = 119860 (2120575CC 0)120581CC = 119860 (2120575CC)120581CC (46a)

119910119890 = 119861 (2120575CC 0)120581CC = 119861 (2120575CC)120581CC (46b)120579119890 = 2120575CC (46c)120581119890 = 0 (46d)

where 119860 (2120575CC) = 119883 (2120575CC) (1 + cos (2120575CC))+ 119884 (2120575CC) sin (2120575CC) 119861 (2120575CC) = 119883 (2120575CC) sin (2120575CC)+ 119884 (2120575CC) (1 minus cos (2120575CC)) (47)

44 TTS Paths for Local Planning Algorithms that generatefeasible local paths for a wheeled systemmdashsuch as our carmodel (5)mdashin the absence of obstacles are called localplanners or steering methods The exact definition of theseis the following

Definition 1 (steering method) Let us denote by Λ 119891 the setof all feasible local paths 120582119891 regarding system equation =119891(119902 119906) A steering method (or local planner module) is afunction

Steer C timesC 997888rarr Λ 119891 ie 120582119891 (sdot) = Steer (1199020 1199021) (48)

such that 120582119891 (0) = Steer (1199020 1199021) (0) = 1199020120582119891 (119878120582) = Steer (1199020 1199021) (119878120582) = 1199021 (49)

As already mentioned in Section 2 the most widely usedlocal planners for the simple kinematic car model (withoutthe requirement of curvature continuity) are based on theoptimal length ReedsndashShepp (RS) paths [27] These localpaths consist of maximum five circular or straight segmentsand have at most two cusps where the curvature of circulararcs is exactly plusmn120581max If the continuous steering car model(5) is used the continuous curvature generalization proposedin [31] can be applied This approximates ReedsndashShepp pathsby replacing circular segments with CC-turns It was shownthat although the resulting CCRS paths are not optimalthey converge to the optimal RS paths when the allowedsharpness of the clothoids tends to infinity The CC-turnsin this approach consist of clothoids having the maximalallowed sharpness and circle segments of maximal curvature

In the sequel we are doing something similar introducea new set of local paths for the continuous steering car Themain ideas which motivated the invention of our approachinstead using the CCRS paths are the following

10 Journal of Advanced Transportation

(i) The main goal is global planning in the presenceof obstacles Most existing planning methods use aconcatenation of local paths which has the conse-quence that the result will be not optimal even if theparts were generated by an optimal planner Even theCCRS paths are suboptimal Thus having the finalapplication in our mind we lifted the requirement ofoptimality of our local paths

(ii) Insteadminimizing the global path length we had thegoal to achieve ldquonaturalrdquo or ldquohuman-likerdquo pathsWhatthis means is informally described in the followingpoints

(iii) The RS (resp CCRS) paths consist of up to fivecircular (resp CC-turn) and straight segments Weshow in the sequel that three path segments aresufficient to connect any two configurations

(iv) The RS (resp CCRS) paths use circular segments(resp CC-turns) having the maximal allowed curva-ture (the steering wheel is turned to the end positionin every curve) Our planner is not restricted to thisOnly the limit is taken into account but smallercurvatures are allowed

(v) The last segment of RS (resp CCRS) paths is alwayscircular (resp CC-turn) We argue that this contra-dicts the behavior of human drivers Because the carcan only move forward or backward in most casesthe more natural behavior is to arrive at a givengoal configuration by a straight movement There area few exceptions for example the case of parallelparking but these can usually be transformed tothe mentioned case by reversing the roles of initialand goal configurations Consequently we choose astraight segment as the last section of our local paths

To simplify notation in the sequel we will denote localpaths as a concatenation of 119878 119879 and 119864 letters correspondingstraight segments CC-turns and elementary paths respec-tively In our approach we use 119879119879119878 (as well as 119864119864119878) paths(note that in our previous work [45] we used the notations119879lowast119879119878 and 119864lowast119864119878 where 119879lowast and 119864lowast represented ldquoCC-turn orstraight segmentrdquo and ldquoelementary path or straight segmentrdquoalthough we omit here the possibility of having a straightsegment as the first element because our experiments showedthat 119878119879119878 and 119878119864119878 paths are chosen very rarely by theimplemented planning algorithm) In the sequel we presentthe construction of 119864119864119878 paths first (where we use onlyelementary paths in place of CC-turns) and show that thisclass of paths is sufficient to connect an arbitrary pair ofconfigurations After that we generalize 119864 segments to CC-turns

441 Construction of EES Paths Let us assume withoutloss of generality that the path starts from a given initialconfiguration 119902119868 = (119909119868 119910119868 120579119868 0) and arrives at the origin asgoal configuration 119902119866 = (0 0 0 0) Any query pair (119902119868 119902119866)can be transformed to this form by translation and rotationand the designed path can be transformed back Let us denotethe intermediate configurations between the path segments

y

xqG qG

2

qI

1

1

2

2

1

qI

Figure 4 EES path

by 119868 and 119866 For every segment 119894 denotes its index (1 2or 3) inside the path A straight segment is parametrizedby its absolute length 119904119894 and direction 120574119894 and an elementarypath segment by its curvature 120581119894CC and deflection 120575119894CC at themiddle point between the CCin and CCout parts To simplifythe notation let us neglect the ldquoCCrdquo subscript from now onlet 120581119894 = 120581119894CC and 120575119894 = 120575119894CC

The scheme of an 119864119864119878 path (illustrated in Figure 4) is thefollowing 119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (50)

The coordinates of 119868 can be obtained from 119902119868 by atransformation belonging to the first elementary path

119867119868 = 119879 (119902119868) sdot 119879 (119902119890 (1205751 1205811)) sdot 1198670 (51)

where119879 (119902119890 (1205751 1205811))=[[[[[[[[[[[[

cos (21205751) minus sin (21205751) 0 0 119860 (21205751)1205811sin (21205751) cos (21205751) 0 0 119861 (21205751)12058110 0 1 0 212057510 0 0 1 00 0 0 0 1

]]]]]]]]]]]]

119879 (119902119868) = [[[[[[[[[cos (120579119868) minus sin (120579119868) 0 0 119909119868sin (120579119868) cos (120579119868) 0 0 1199101198680 0 1 0 1205791198680 0 0 1 00 0 0 0 1

]]]]]]]]]

(52)

By applying the matrix product we obtain119868 = 119860 (21205751)1205811 cos (120579119868) minus 119861 (21205751)1205811 sin (120579119868) + 119909119868 (53a)

119868 = 119860 (21205751)1205811 sin (120579119868) + 119861 (21205751)1205811 cos (120579119868) + 119910119868 (53b)

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 6: Autonomous Path Planning for Road Vehicles in Narrow ...

6 Journal of Advanced Transportation

From now on according to the nomenclature of [31] wewill denote CCin-119862-CCout triplets asCC-turns or119879 segmentsandCCin-CCout pairs as elementary paths or119864 segmentsNotethat an elementary path is a special case of a CC-turn

433 Reparametrization of Clothoids By looking at (17a) and(17b) we can state that any point on an in-type clothoidstarting from 119902(0) = 0 can be described by the pair (120572 120574119904)the sharpness and the signed displacement along the curve Itwas shown byWilde [50] that an equivalent representation isavailable using the pair (120581 120575) the curvature and the deflectionof the curve at a certain point

119909 (120581 120575) = sgn (120575) radic2120587 |120575|120581 119862119865(radic2 |120575|120587 ) (20a)

119910 (120581 120575) = radic2120587 |120575|120581 119878119865(radic2 |120575|120587 ) (20b)

As it can be seen 120581 appears only as a multiplier in theexpressions thus it can be interpreted as a scaling factor Inthis representation 120575 is responsible for the ldquoshaperdquo of theclothoid segment and 120581 determines its ldquosizerdquo

From a computational perspective this (120581 120575) parametri-zation is less convenient than the parametrization by (120572 120574119904)The reason is that 120572 and 120574 are constant values and only 119904 isvariable along the path segment thus the curve is describedby some fixed parameters and exactly one free parameter asusual This makes the explicit computation of these curvessimple for example for visualization or collision checkingOpposed to this both 120581 and 120575 are varying along the curveand coherency has to be maintained between them to obtainproper results The coherency is ensured by the constantsharpness which is related to 120581 and 120575 as120572 = 12058122120575 (21)

For simplicity let us choose fixed curvature and deflectionvalues 120581CC and 120575CC at the endpoint of curve This is the pointwith maximal absolute curvature and deflection120581CC = argmax

120581|120581| (22a)120575CC = argmax

120575|120575| (22b)

Based on (20a) (20b) (22a) and (22b) in-type clothoids canbe fully described by

119909in (120575) = sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 |120575|120587 ) (23a)

119910in (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 |120575|120587 ) (23b)

120579in (120575) = 120575 (23c)

120581in (120575) = 120581CCradic 120575120575CC (23d)

where 120575 isin [0 120575CC] is the variable parameter and 120575CC and 120581CCare constant values A shorter form for 119909in(120575) and 119910in(120575) canbe obtained by defining the following functions

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (24)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (25)

Using these (23a) (23b) (23c) and (23d) will look like

119909in (120575) = 119883 (2120575)120581CC radic120575CC120575 = 119883 (2120575)120581in (120575) (26a)

119910in (120575) = 119884 (2120575)120581CC radic120575CC120575 = 119884 (2120575)120581in (120575) (26b)120579in (120575) = 120575 (26c)120581in (120575) = 120581CCradic 120575120575CC (26d)

Note that if we look at the endpoint 119883(2120575CC) and 119884(2120575CC)can be treated as the end position of and ldquounscaledrdquo in-typeclothoid of 120575CC full deflectionThe ldquoscaling factorrdquo 1120581CC canbe used to obtain the real endpoint coordinates 119909in(120575CC) and119910in(120575CC)

Now let us consider a pair of in-type and out-typeclothoids having the same geometry (such pairs were shownin Figure 2 eg CC119875119865

in and CC119875119861out) In order to ensure the

above-mentioned coherency between 120581CC and 120575CC we definethem according to (22a) and (22b) for out-type clothoidsas well However in this case 120581CC belongs to the startingpoint while 120575CC to the endpoint of the curve Since an out-type clothoid has the same geometry as its in-type pair butopposite motion direction we can obtain its equation as119909out (120575)

= minus sgn (120575CC) radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119862119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27a)

119910out (120575) = radic2120587 1003816100381610038161003816120575CC1003816100381610038161003816120581CC 119878119865(radic2 1003816100381610038161003816120575 minus 120575CC1003816100381610038161003816120587 ) (27b)

120579out (120575) = 120575 minus 120575CC (27c)

120581out (120575) = 120581CCradic120575CC minus 120575120575CC (27d)

Journal of Advanced Transportation 7

CCout

CC

qs = 2CC

2

y

x

qe

CCin

(a)

y

qe

C

CCin

C

= 2CC + C

x

CCout

CCqs

(b)

Figure 3 Structure of (a) elementary paths and (b) CC-turns

434 Elementary Paths and CC-Turns As already men-tioned elementary paths (119864 segments) are symmetric curvesconsisting of a pair of compatible CCin and CCout clothoidsThe curvature of the first curve changes from 0 to 120581CC whilethe second from 120581CC back to 0 Both curves have the samedeflection 120575CC Compatibility is assured by the same motiondirection 120574 and the same curvature 120581CC at the end of thein-type part and at the beginning of the out-type part Thecompatible pairs are

(i) CC119875119865in and CC119873119865

out

(ii) CC119873119865in and CC119875119865

out

(iii) CC119875119861in and CC119873119861

out

(iv) CC119873119861in and CC119875119861

out

A CC-turn consists of a pair of compatible CCin andCCout curves with an additional circular arc between themwhich has 120581119862 = 120581CC curvature and 120575119862 deflection Asmentioned before an elementary path is a special case of aCC-turn with 120575119862 = 0 (see Figure 3)

Let us characterize these path components They canbe described by a parametric configuration curve 119902(120575) =(119909(120575) 119910(120575) 120579(120575) 120581(120575)) with 120575 isin [0 120575end] The curve is fullydetermined by the following parameters

(i) A starting configuration 119902(0) = 119902119904 = (119909119904 119910119904 120579119904 0)(ii) The maximal curvature 120581CC (in an absolute sense|120581CC| ge |120581(120575)| forall120575)(iii) Deflections of the clothoid (120575CC) and circular (120575119862)

parts

We use the following building elements to synthesize elemen-tary paths and CC-turns

(i) An in-type clothoid 119902in(120575) of deflection 120575CC startingfrom 119902in(0) = (0 0 0 0) and arriving at 119902in(120575CC) =(119909in(120575CC) 119910in(120575CC) 120575CC 120581CC) as described by (23a)(23b) (23c) and (23d)

(ii) A circular arc 119902119888(120575) of deflection 120575119862 and curvature120581CC starting from 119902119888(0) = (0 0 0 0) described by119909119888 (120575) = sin 120575120581CC (28a)

119910119888 (120575) = 1 minus cos 120575120581CC (28b)120579119888 (120575) = 120575 (28c)120581119888 (120575) = 120581CC (28d)

(iii) A compatible out-type clothoid 119902out(120575) of deflec-tion 120575CC starting from 119902out(0) = (119909out(0) 119910out(0)minus120575CC 120581CC) and arriving at 119902out(120575CC) = (0 0 0 0) asdescribed by (27a) (27b) (27c) and (27d)

The starting and end configurations of these parts have to bealigned in order to obtain the resulting elementary path orCC-turn The alignment is performed by rotation and trans-lation described by homogeneous transformation matricesLet us assign a transformation matrix to any configuration 1199020as follows

1199020 = (1199090119910012057901205810) 997888rarr

119879(1199020) = [[[[[[[[[cos 1205790 minus sin 1205790 0 0 1199090sin 1205790 cos 1205790 0 0 11991000 0 1 0 12057900 0 0 1 00 0 0 0 1

]]]]]]]]]

(29)

This transformation matrix represents the pose of the localcoordinate frame attached to 1199020 The transformation of

8 Journal of Advanced Transportation

another configuration 119902 by 119879(1199020) can be performed as usual(11990210158401) = 119879 (1199020) (1199021) (30)

This means that we interpret the coordinates of 119902 as localrelative to 1199020Multiplying by119879(1199020)we get 1199021015840 which representsthe global coordinates of the transformed 119902 Notice thatthe transformation does not affect the curvature part of theconfiguration It follows that the original configuration 1199020can be obtained by applying the transformation 119879(1199020) to 119902 =(0 0 0 1205810)

(11990201 ) = 119879 (1199020)(((

00012058101)))

(31)

The inverse transformation is given by119879minus1 (1199020)= [[[[[[[[[

cos 1205790 sin 1205790 0 0 minus1199090 cos 1205790 minus 1199100 sin 1205790minus sin 1205790 cos 1205790 0 0 1199090 sin 1205790 minus 1199100 cos 12057900 0 1 0 minus12057900 0 0 1 00 0 0 0 1]]]]]]]]] (32)

These transformation matrices have the following chainingproperty

1198671199021015840 = 119879 (1199020) sdot 119867119902 lArrrArr 119879(1199021015840) = 119879 (1199020) sdot 119879 (119902) (33)

where the upper ldquo119867rdquo index stands for the homogenouscoordinate representation 119867119902 = [119902 1]119879

Now we have all the tools to assemble CC-turns andelementary paths A general description of these is obtainedas follows

119867119902 (120575) = 119879 (119902119904) sdot 119867119902in (120575) if 120575 isin [0 120575CC] (34a)

119867119902 (120575) = 119879 (119902 (120575CC)) sdot 119867119902119888 (120575 minus 120575CC) if 120575 isin (120575119862119862 120575CC + 120575119862] (34b)

119867119902 (120575) = 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))sdot 119867119902out (120575 minus 120575CC minus 120575119862) if 120575 isin (120575CC + 120575119862 2120575CC + 120575119862] (34c)

where 119902119904 stands for a given arbitrary starting configurationwith zero curvature and 119902in(120575) and 119902out(120575) are given by(23a) (23b) (23c) (23d) (27a) (27b) (27c) and (27d)respectively This can be treated as a ldquodirectrdquo approach forgenerating a CC-turn or elementary path One specifies the

starting configuration 119902119904 the maximal curvature 120581CC andthe deflections 120575CC and 120575119862 and the end configuration 119902119890 =119902(2120575CC+120575119862) is obtained directly using (34a) (34b) and (34c)Without loss of generality we can assume that 119902119904 = (0 0 0 0)In this case we get

119867119902 (120575CC) = 119867119902in (120575CC) = 119879 (119902in (120575CC)) sdot 1198670 (35a)

119867119902 (120575CC + 120575119862) = 119879 (119902in (120575CC)) sdot 119867119902c (120575119862)= 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902(120575CC+120575119862))

sdot 1198670 (35b)

119867119902119890 = 119867119902 (2120575CC + 120575119862)= 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902119890)sdot 119867119902out (120575CC) = 119879 (119902119890) sdot 1198670

(35c)

because the endpoint of a standard out-type clothoid isthe origin according to (27a) (27b) (27c) and (27d) Thecomponents of119879 (119902119890) = 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862)) sdot 119879minus1 (119902out (0)) (36)

have the following form119879 (119902in (120575CC))=[[[[[[[[[[[[

cos 120575CC minus sin 120575CC 0 0 119883 (2120575CC)120581CCsin 120575CC cos 120575CC 0 0 119884 (2120575CC)120581CC0 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]]]]]119879 (119902119888 (120575119862)) =

[[[[[[[[[[[cos 120575119862 minus sin 120575119862 0 0 sin 120575119862120581CCsin 120575119862 cos 120575119862 0 0 1 minus cos 120575119862120581CC0 0 1 0 1205751198620 0 0 1 00 0 0 0 1

]]]]]]]]]]]

(37)

In order to obtain 119879minus1(119902out(0)) we express 119902out(0) first119902out (0) = (minus119909in (120575CC)119910in (120575CC)minus120575CC120581CC ) = ((

(minus119883(2120575CC)120581CC119884 (2120575CC)120581CCminus120575CC120581CC

)))

(38)

Journal of Advanced Transportation 9

and it follows from (32) that

119879minus1 (119902out (0)) = [[[[[[[[[cos 120575CC minus sin 120575CC 0 0 11990515sin 120575CC cos 120575CC 0 0 119905250 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]] (39)

where11990515 = 119883 (2120575CC)120581CC cos 120575CC + 119884 (2120575CC)120581CC sin 120575CC11990525 = 119883 (2120575CC)120581CC sin 120575CC minus 119884 (2120575CC)120581CC cos 120575CC (40)

After multiplying the three matrices we get119879 (119902119890)=[[[[[[[[[[[[

cos (120575end) minus sin (120575end) 0 0 119860 (2120575CC 120575119862)120581CCsin (120575end) cos (120575end) 0 0 119861 (2120575CC 120575119862)120581CC0 0 1 0 120575end0 0 0 1 00 0 0 0 1

]]]]]]]]]]]] (41)

where 120575end = 2120575CC + 120575119862 (42)119860 (2120575CC 120575119862) = 119883 (2120575CC) (1 + cos (2120575CC + 120575119862))+ 119884 (2120575CC) sin (2120575CC + 120575119862)+ sin (120575CC + 120575119862) minus sin 120575CC (43)

119861 (2120575CC 120575119862) = 119883 (2120575CC) sin (2120575CC + 120575119862)+ 119884 (2120575CC) (1 minus cos (2120575CC + 120575119862))minus cos (120575CC + 120575119862) + cos120575CC (44)

The end configuration of theCC-turn is given by the elementsin the last column of 119879(119902119890)119909119890 = 119860 (2120575CC 120575119862)120581CC (45a)

119910119890 = 119861 (2120575CC 120575119862)120581CC (45b)120579119890 = 2120575CC + 120575119862 (45c)120581119890 = 0 (45d)

It is important to note that in order to fully define aCC-turn two of the deflections 120575CC 120575119862 and 120575end should be

given together with the maximal curvature 120581CC The thirddeflection parameter is determined by (42)

The equations of an elementary path are similar to (45a)(45b) (45c) and (45d) we only need to substitute 120575119862 = 0119909119890 = 119860 (2120575CC 0)120581CC = 119860 (2120575CC)120581CC (46a)

119910119890 = 119861 (2120575CC 0)120581CC = 119861 (2120575CC)120581CC (46b)120579119890 = 2120575CC (46c)120581119890 = 0 (46d)

where 119860 (2120575CC) = 119883 (2120575CC) (1 + cos (2120575CC))+ 119884 (2120575CC) sin (2120575CC) 119861 (2120575CC) = 119883 (2120575CC) sin (2120575CC)+ 119884 (2120575CC) (1 minus cos (2120575CC)) (47)

44 TTS Paths for Local Planning Algorithms that generatefeasible local paths for a wheeled systemmdashsuch as our carmodel (5)mdashin the absence of obstacles are called localplanners or steering methods The exact definition of theseis the following

Definition 1 (steering method) Let us denote by Λ 119891 the setof all feasible local paths 120582119891 regarding system equation =119891(119902 119906) A steering method (or local planner module) is afunction

Steer C timesC 997888rarr Λ 119891 ie 120582119891 (sdot) = Steer (1199020 1199021) (48)

such that 120582119891 (0) = Steer (1199020 1199021) (0) = 1199020120582119891 (119878120582) = Steer (1199020 1199021) (119878120582) = 1199021 (49)

As already mentioned in Section 2 the most widely usedlocal planners for the simple kinematic car model (withoutthe requirement of curvature continuity) are based on theoptimal length ReedsndashShepp (RS) paths [27] These localpaths consist of maximum five circular or straight segmentsand have at most two cusps where the curvature of circulararcs is exactly plusmn120581max If the continuous steering car model(5) is used the continuous curvature generalization proposedin [31] can be applied This approximates ReedsndashShepp pathsby replacing circular segments with CC-turns It was shownthat although the resulting CCRS paths are not optimalthey converge to the optimal RS paths when the allowedsharpness of the clothoids tends to infinity The CC-turnsin this approach consist of clothoids having the maximalallowed sharpness and circle segments of maximal curvature

In the sequel we are doing something similar introducea new set of local paths for the continuous steering car Themain ideas which motivated the invention of our approachinstead using the CCRS paths are the following

10 Journal of Advanced Transportation

(i) The main goal is global planning in the presenceof obstacles Most existing planning methods use aconcatenation of local paths which has the conse-quence that the result will be not optimal even if theparts were generated by an optimal planner Even theCCRS paths are suboptimal Thus having the finalapplication in our mind we lifted the requirement ofoptimality of our local paths

(ii) Insteadminimizing the global path length we had thegoal to achieve ldquonaturalrdquo or ldquohuman-likerdquo pathsWhatthis means is informally described in the followingpoints

(iii) The RS (resp CCRS) paths consist of up to fivecircular (resp CC-turn) and straight segments Weshow in the sequel that three path segments aresufficient to connect any two configurations

(iv) The RS (resp CCRS) paths use circular segments(resp CC-turns) having the maximal allowed curva-ture (the steering wheel is turned to the end positionin every curve) Our planner is not restricted to thisOnly the limit is taken into account but smallercurvatures are allowed

(v) The last segment of RS (resp CCRS) paths is alwayscircular (resp CC-turn) We argue that this contra-dicts the behavior of human drivers Because the carcan only move forward or backward in most casesthe more natural behavior is to arrive at a givengoal configuration by a straight movement There area few exceptions for example the case of parallelparking but these can usually be transformed tothe mentioned case by reversing the roles of initialand goal configurations Consequently we choose astraight segment as the last section of our local paths

To simplify notation in the sequel we will denote localpaths as a concatenation of 119878 119879 and 119864 letters correspondingstraight segments CC-turns and elementary paths respec-tively In our approach we use 119879119879119878 (as well as 119864119864119878) paths(note that in our previous work [45] we used the notations119879lowast119879119878 and 119864lowast119864119878 where 119879lowast and 119864lowast represented ldquoCC-turn orstraight segmentrdquo and ldquoelementary path or straight segmentrdquoalthough we omit here the possibility of having a straightsegment as the first element because our experiments showedthat 119878119879119878 and 119878119864119878 paths are chosen very rarely by theimplemented planning algorithm) In the sequel we presentthe construction of 119864119864119878 paths first (where we use onlyelementary paths in place of CC-turns) and show that thisclass of paths is sufficient to connect an arbitrary pair ofconfigurations After that we generalize 119864 segments to CC-turns

441 Construction of EES Paths Let us assume withoutloss of generality that the path starts from a given initialconfiguration 119902119868 = (119909119868 119910119868 120579119868 0) and arrives at the origin asgoal configuration 119902119866 = (0 0 0 0) Any query pair (119902119868 119902119866)can be transformed to this form by translation and rotationand the designed path can be transformed back Let us denotethe intermediate configurations between the path segments

y

xqG qG

2

qI

1

1

2

2

1

qI

Figure 4 EES path

by 119868 and 119866 For every segment 119894 denotes its index (1 2or 3) inside the path A straight segment is parametrizedby its absolute length 119904119894 and direction 120574119894 and an elementarypath segment by its curvature 120581119894CC and deflection 120575119894CC at themiddle point between the CCin and CCout parts To simplifythe notation let us neglect the ldquoCCrdquo subscript from now onlet 120581119894 = 120581119894CC and 120575119894 = 120575119894CC

The scheme of an 119864119864119878 path (illustrated in Figure 4) is thefollowing 119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (50)

The coordinates of 119868 can be obtained from 119902119868 by atransformation belonging to the first elementary path

119867119868 = 119879 (119902119868) sdot 119879 (119902119890 (1205751 1205811)) sdot 1198670 (51)

where119879 (119902119890 (1205751 1205811))=[[[[[[[[[[[[

cos (21205751) minus sin (21205751) 0 0 119860 (21205751)1205811sin (21205751) cos (21205751) 0 0 119861 (21205751)12058110 0 1 0 212057510 0 0 1 00 0 0 0 1

]]]]]]]]]]]]

119879 (119902119868) = [[[[[[[[[cos (120579119868) minus sin (120579119868) 0 0 119909119868sin (120579119868) cos (120579119868) 0 0 1199101198680 0 1 0 1205791198680 0 0 1 00 0 0 0 1

]]]]]]]]]

(52)

By applying the matrix product we obtain119868 = 119860 (21205751)1205811 cos (120579119868) minus 119861 (21205751)1205811 sin (120579119868) + 119909119868 (53a)

119868 = 119860 (21205751)1205811 sin (120579119868) + 119861 (21205751)1205811 cos (120579119868) + 119910119868 (53b)

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 7: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 7

CCout

CC

qs = 2CC

2

y

x

qe

CCin

(a)

y

qe

C

CCin

C

= 2CC + C

x

CCout

CCqs

(b)

Figure 3 Structure of (a) elementary paths and (b) CC-turns

434 Elementary Paths and CC-Turns As already men-tioned elementary paths (119864 segments) are symmetric curvesconsisting of a pair of compatible CCin and CCout clothoidsThe curvature of the first curve changes from 0 to 120581CC whilethe second from 120581CC back to 0 Both curves have the samedeflection 120575CC Compatibility is assured by the same motiondirection 120574 and the same curvature 120581CC at the end of thein-type part and at the beginning of the out-type part Thecompatible pairs are

(i) CC119875119865in and CC119873119865

out

(ii) CC119873119865in and CC119875119865

out

(iii) CC119875119861in and CC119873119861

out

(iv) CC119873119861in and CC119875119861

out

A CC-turn consists of a pair of compatible CCin andCCout curves with an additional circular arc between themwhich has 120581119862 = 120581CC curvature and 120575119862 deflection Asmentioned before an elementary path is a special case of aCC-turn with 120575119862 = 0 (see Figure 3)

Let us characterize these path components They canbe described by a parametric configuration curve 119902(120575) =(119909(120575) 119910(120575) 120579(120575) 120581(120575)) with 120575 isin [0 120575end] The curve is fullydetermined by the following parameters

(i) A starting configuration 119902(0) = 119902119904 = (119909119904 119910119904 120579119904 0)(ii) The maximal curvature 120581CC (in an absolute sense|120581CC| ge |120581(120575)| forall120575)(iii) Deflections of the clothoid (120575CC) and circular (120575119862)

parts

We use the following building elements to synthesize elemen-tary paths and CC-turns

(i) An in-type clothoid 119902in(120575) of deflection 120575CC startingfrom 119902in(0) = (0 0 0 0) and arriving at 119902in(120575CC) =(119909in(120575CC) 119910in(120575CC) 120575CC 120581CC) as described by (23a)(23b) (23c) and (23d)

(ii) A circular arc 119902119888(120575) of deflection 120575119862 and curvature120581CC starting from 119902119888(0) = (0 0 0 0) described by119909119888 (120575) = sin 120575120581CC (28a)

119910119888 (120575) = 1 minus cos 120575120581CC (28b)120579119888 (120575) = 120575 (28c)120581119888 (120575) = 120581CC (28d)

(iii) A compatible out-type clothoid 119902out(120575) of deflec-tion 120575CC starting from 119902out(0) = (119909out(0) 119910out(0)minus120575CC 120581CC) and arriving at 119902out(120575CC) = (0 0 0 0) asdescribed by (27a) (27b) (27c) and (27d)

The starting and end configurations of these parts have to bealigned in order to obtain the resulting elementary path orCC-turn The alignment is performed by rotation and trans-lation described by homogeneous transformation matricesLet us assign a transformation matrix to any configuration 1199020as follows

1199020 = (1199090119910012057901205810) 997888rarr

119879(1199020) = [[[[[[[[[cos 1205790 minus sin 1205790 0 0 1199090sin 1205790 cos 1205790 0 0 11991000 0 1 0 12057900 0 0 1 00 0 0 0 1

]]]]]]]]]

(29)

This transformation matrix represents the pose of the localcoordinate frame attached to 1199020 The transformation of

8 Journal of Advanced Transportation

another configuration 119902 by 119879(1199020) can be performed as usual(11990210158401) = 119879 (1199020) (1199021) (30)

This means that we interpret the coordinates of 119902 as localrelative to 1199020Multiplying by119879(1199020)we get 1199021015840 which representsthe global coordinates of the transformed 119902 Notice thatthe transformation does not affect the curvature part of theconfiguration It follows that the original configuration 1199020can be obtained by applying the transformation 119879(1199020) to 119902 =(0 0 0 1205810)

(11990201 ) = 119879 (1199020)(((

00012058101)))

(31)

The inverse transformation is given by119879minus1 (1199020)= [[[[[[[[[

cos 1205790 sin 1205790 0 0 minus1199090 cos 1205790 minus 1199100 sin 1205790minus sin 1205790 cos 1205790 0 0 1199090 sin 1205790 minus 1199100 cos 12057900 0 1 0 minus12057900 0 0 1 00 0 0 0 1]]]]]]]]] (32)

These transformation matrices have the following chainingproperty

1198671199021015840 = 119879 (1199020) sdot 119867119902 lArrrArr 119879(1199021015840) = 119879 (1199020) sdot 119879 (119902) (33)

where the upper ldquo119867rdquo index stands for the homogenouscoordinate representation 119867119902 = [119902 1]119879

Now we have all the tools to assemble CC-turns andelementary paths A general description of these is obtainedas follows

119867119902 (120575) = 119879 (119902119904) sdot 119867119902in (120575) if 120575 isin [0 120575CC] (34a)

119867119902 (120575) = 119879 (119902 (120575CC)) sdot 119867119902119888 (120575 minus 120575CC) if 120575 isin (120575119862119862 120575CC + 120575119862] (34b)

119867119902 (120575) = 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))sdot 119867119902out (120575 minus 120575CC minus 120575119862) if 120575 isin (120575CC + 120575119862 2120575CC + 120575119862] (34c)

where 119902119904 stands for a given arbitrary starting configurationwith zero curvature and 119902in(120575) and 119902out(120575) are given by(23a) (23b) (23c) (23d) (27a) (27b) (27c) and (27d)respectively This can be treated as a ldquodirectrdquo approach forgenerating a CC-turn or elementary path One specifies the

starting configuration 119902119904 the maximal curvature 120581CC andthe deflections 120575CC and 120575119862 and the end configuration 119902119890 =119902(2120575CC+120575119862) is obtained directly using (34a) (34b) and (34c)Without loss of generality we can assume that 119902119904 = (0 0 0 0)In this case we get

119867119902 (120575CC) = 119867119902in (120575CC) = 119879 (119902in (120575CC)) sdot 1198670 (35a)

119867119902 (120575CC + 120575119862) = 119879 (119902in (120575CC)) sdot 119867119902c (120575119862)= 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902(120575CC+120575119862))

sdot 1198670 (35b)

119867119902119890 = 119867119902 (2120575CC + 120575119862)= 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902119890)sdot 119867119902out (120575CC) = 119879 (119902119890) sdot 1198670

(35c)

because the endpoint of a standard out-type clothoid isthe origin according to (27a) (27b) (27c) and (27d) Thecomponents of119879 (119902119890) = 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862)) sdot 119879minus1 (119902out (0)) (36)

have the following form119879 (119902in (120575CC))=[[[[[[[[[[[[

cos 120575CC minus sin 120575CC 0 0 119883 (2120575CC)120581CCsin 120575CC cos 120575CC 0 0 119884 (2120575CC)120581CC0 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]]]]]119879 (119902119888 (120575119862)) =

[[[[[[[[[[[cos 120575119862 minus sin 120575119862 0 0 sin 120575119862120581CCsin 120575119862 cos 120575119862 0 0 1 minus cos 120575119862120581CC0 0 1 0 1205751198620 0 0 1 00 0 0 0 1

]]]]]]]]]]]

(37)

In order to obtain 119879minus1(119902out(0)) we express 119902out(0) first119902out (0) = (minus119909in (120575CC)119910in (120575CC)minus120575CC120581CC ) = ((

(minus119883(2120575CC)120581CC119884 (2120575CC)120581CCminus120575CC120581CC

)))

(38)

Journal of Advanced Transportation 9

and it follows from (32) that

119879minus1 (119902out (0)) = [[[[[[[[[cos 120575CC minus sin 120575CC 0 0 11990515sin 120575CC cos 120575CC 0 0 119905250 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]] (39)

where11990515 = 119883 (2120575CC)120581CC cos 120575CC + 119884 (2120575CC)120581CC sin 120575CC11990525 = 119883 (2120575CC)120581CC sin 120575CC minus 119884 (2120575CC)120581CC cos 120575CC (40)

After multiplying the three matrices we get119879 (119902119890)=[[[[[[[[[[[[

cos (120575end) minus sin (120575end) 0 0 119860 (2120575CC 120575119862)120581CCsin (120575end) cos (120575end) 0 0 119861 (2120575CC 120575119862)120581CC0 0 1 0 120575end0 0 0 1 00 0 0 0 1

]]]]]]]]]]]] (41)

where 120575end = 2120575CC + 120575119862 (42)119860 (2120575CC 120575119862) = 119883 (2120575CC) (1 + cos (2120575CC + 120575119862))+ 119884 (2120575CC) sin (2120575CC + 120575119862)+ sin (120575CC + 120575119862) minus sin 120575CC (43)

119861 (2120575CC 120575119862) = 119883 (2120575CC) sin (2120575CC + 120575119862)+ 119884 (2120575CC) (1 minus cos (2120575CC + 120575119862))minus cos (120575CC + 120575119862) + cos120575CC (44)

The end configuration of theCC-turn is given by the elementsin the last column of 119879(119902119890)119909119890 = 119860 (2120575CC 120575119862)120581CC (45a)

119910119890 = 119861 (2120575CC 120575119862)120581CC (45b)120579119890 = 2120575CC + 120575119862 (45c)120581119890 = 0 (45d)

It is important to note that in order to fully define aCC-turn two of the deflections 120575CC 120575119862 and 120575end should be

given together with the maximal curvature 120581CC The thirddeflection parameter is determined by (42)

The equations of an elementary path are similar to (45a)(45b) (45c) and (45d) we only need to substitute 120575119862 = 0119909119890 = 119860 (2120575CC 0)120581CC = 119860 (2120575CC)120581CC (46a)

119910119890 = 119861 (2120575CC 0)120581CC = 119861 (2120575CC)120581CC (46b)120579119890 = 2120575CC (46c)120581119890 = 0 (46d)

where 119860 (2120575CC) = 119883 (2120575CC) (1 + cos (2120575CC))+ 119884 (2120575CC) sin (2120575CC) 119861 (2120575CC) = 119883 (2120575CC) sin (2120575CC)+ 119884 (2120575CC) (1 minus cos (2120575CC)) (47)

44 TTS Paths for Local Planning Algorithms that generatefeasible local paths for a wheeled systemmdashsuch as our carmodel (5)mdashin the absence of obstacles are called localplanners or steering methods The exact definition of theseis the following

Definition 1 (steering method) Let us denote by Λ 119891 the setof all feasible local paths 120582119891 regarding system equation =119891(119902 119906) A steering method (or local planner module) is afunction

Steer C timesC 997888rarr Λ 119891 ie 120582119891 (sdot) = Steer (1199020 1199021) (48)

such that 120582119891 (0) = Steer (1199020 1199021) (0) = 1199020120582119891 (119878120582) = Steer (1199020 1199021) (119878120582) = 1199021 (49)

As already mentioned in Section 2 the most widely usedlocal planners for the simple kinematic car model (withoutthe requirement of curvature continuity) are based on theoptimal length ReedsndashShepp (RS) paths [27] These localpaths consist of maximum five circular or straight segmentsand have at most two cusps where the curvature of circulararcs is exactly plusmn120581max If the continuous steering car model(5) is used the continuous curvature generalization proposedin [31] can be applied This approximates ReedsndashShepp pathsby replacing circular segments with CC-turns It was shownthat although the resulting CCRS paths are not optimalthey converge to the optimal RS paths when the allowedsharpness of the clothoids tends to infinity The CC-turnsin this approach consist of clothoids having the maximalallowed sharpness and circle segments of maximal curvature

In the sequel we are doing something similar introducea new set of local paths for the continuous steering car Themain ideas which motivated the invention of our approachinstead using the CCRS paths are the following

10 Journal of Advanced Transportation

(i) The main goal is global planning in the presenceof obstacles Most existing planning methods use aconcatenation of local paths which has the conse-quence that the result will be not optimal even if theparts were generated by an optimal planner Even theCCRS paths are suboptimal Thus having the finalapplication in our mind we lifted the requirement ofoptimality of our local paths

(ii) Insteadminimizing the global path length we had thegoal to achieve ldquonaturalrdquo or ldquohuman-likerdquo pathsWhatthis means is informally described in the followingpoints

(iii) The RS (resp CCRS) paths consist of up to fivecircular (resp CC-turn) and straight segments Weshow in the sequel that three path segments aresufficient to connect any two configurations

(iv) The RS (resp CCRS) paths use circular segments(resp CC-turns) having the maximal allowed curva-ture (the steering wheel is turned to the end positionin every curve) Our planner is not restricted to thisOnly the limit is taken into account but smallercurvatures are allowed

(v) The last segment of RS (resp CCRS) paths is alwayscircular (resp CC-turn) We argue that this contra-dicts the behavior of human drivers Because the carcan only move forward or backward in most casesthe more natural behavior is to arrive at a givengoal configuration by a straight movement There area few exceptions for example the case of parallelparking but these can usually be transformed tothe mentioned case by reversing the roles of initialand goal configurations Consequently we choose astraight segment as the last section of our local paths

To simplify notation in the sequel we will denote localpaths as a concatenation of 119878 119879 and 119864 letters correspondingstraight segments CC-turns and elementary paths respec-tively In our approach we use 119879119879119878 (as well as 119864119864119878) paths(note that in our previous work [45] we used the notations119879lowast119879119878 and 119864lowast119864119878 where 119879lowast and 119864lowast represented ldquoCC-turn orstraight segmentrdquo and ldquoelementary path or straight segmentrdquoalthough we omit here the possibility of having a straightsegment as the first element because our experiments showedthat 119878119879119878 and 119878119864119878 paths are chosen very rarely by theimplemented planning algorithm) In the sequel we presentthe construction of 119864119864119878 paths first (where we use onlyelementary paths in place of CC-turns) and show that thisclass of paths is sufficient to connect an arbitrary pair ofconfigurations After that we generalize 119864 segments to CC-turns

441 Construction of EES Paths Let us assume withoutloss of generality that the path starts from a given initialconfiguration 119902119868 = (119909119868 119910119868 120579119868 0) and arrives at the origin asgoal configuration 119902119866 = (0 0 0 0) Any query pair (119902119868 119902119866)can be transformed to this form by translation and rotationand the designed path can be transformed back Let us denotethe intermediate configurations between the path segments

y

xqG qG

2

qI

1

1

2

2

1

qI

Figure 4 EES path

by 119868 and 119866 For every segment 119894 denotes its index (1 2or 3) inside the path A straight segment is parametrizedby its absolute length 119904119894 and direction 120574119894 and an elementarypath segment by its curvature 120581119894CC and deflection 120575119894CC at themiddle point between the CCin and CCout parts To simplifythe notation let us neglect the ldquoCCrdquo subscript from now onlet 120581119894 = 120581119894CC and 120575119894 = 120575119894CC

The scheme of an 119864119864119878 path (illustrated in Figure 4) is thefollowing 119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (50)

The coordinates of 119868 can be obtained from 119902119868 by atransformation belonging to the first elementary path

119867119868 = 119879 (119902119868) sdot 119879 (119902119890 (1205751 1205811)) sdot 1198670 (51)

where119879 (119902119890 (1205751 1205811))=[[[[[[[[[[[[

cos (21205751) minus sin (21205751) 0 0 119860 (21205751)1205811sin (21205751) cos (21205751) 0 0 119861 (21205751)12058110 0 1 0 212057510 0 0 1 00 0 0 0 1

]]]]]]]]]]]]

119879 (119902119868) = [[[[[[[[[cos (120579119868) minus sin (120579119868) 0 0 119909119868sin (120579119868) cos (120579119868) 0 0 1199101198680 0 1 0 1205791198680 0 0 1 00 0 0 0 1

]]]]]]]]]

(52)

By applying the matrix product we obtain119868 = 119860 (21205751)1205811 cos (120579119868) minus 119861 (21205751)1205811 sin (120579119868) + 119909119868 (53a)

119868 = 119860 (21205751)1205811 sin (120579119868) + 119861 (21205751)1205811 cos (120579119868) + 119910119868 (53b)

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 8: Autonomous Path Planning for Road Vehicles in Narrow ...

8 Journal of Advanced Transportation

another configuration 119902 by 119879(1199020) can be performed as usual(11990210158401) = 119879 (1199020) (1199021) (30)

This means that we interpret the coordinates of 119902 as localrelative to 1199020Multiplying by119879(1199020)we get 1199021015840 which representsthe global coordinates of the transformed 119902 Notice thatthe transformation does not affect the curvature part of theconfiguration It follows that the original configuration 1199020can be obtained by applying the transformation 119879(1199020) to 119902 =(0 0 0 1205810)

(11990201 ) = 119879 (1199020)(((

00012058101)))

(31)

The inverse transformation is given by119879minus1 (1199020)= [[[[[[[[[

cos 1205790 sin 1205790 0 0 minus1199090 cos 1205790 minus 1199100 sin 1205790minus sin 1205790 cos 1205790 0 0 1199090 sin 1205790 minus 1199100 cos 12057900 0 1 0 minus12057900 0 0 1 00 0 0 0 1]]]]]]]]] (32)

These transformation matrices have the following chainingproperty

1198671199021015840 = 119879 (1199020) sdot 119867119902 lArrrArr 119879(1199021015840) = 119879 (1199020) sdot 119879 (119902) (33)

where the upper ldquo119867rdquo index stands for the homogenouscoordinate representation 119867119902 = [119902 1]119879

Now we have all the tools to assemble CC-turns andelementary paths A general description of these is obtainedas follows

119867119902 (120575) = 119879 (119902119904) sdot 119867119902in (120575) if 120575 isin [0 120575CC] (34a)

119867119902 (120575) = 119879 (119902 (120575CC)) sdot 119867119902119888 (120575 minus 120575CC) if 120575 isin (120575119862119862 120575CC + 120575119862] (34b)

119867119902 (120575) = 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))sdot 119867119902out (120575 minus 120575CC minus 120575119862) if 120575 isin (120575CC + 120575119862 2120575CC + 120575119862] (34c)

where 119902119904 stands for a given arbitrary starting configurationwith zero curvature and 119902in(120575) and 119902out(120575) are given by(23a) (23b) (23c) (23d) (27a) (27b) (27c) and (27d)respectively This can be treated as a ldquodirectrdquo approach forgenerating a CC-turn or elementary path One specifies the

starting configuration 119902119904 the maximal curvature 120581CC andthe deflections 120575CC and 120575119862 and the end configuration 119902119890 =119902(2120575CC+120575119862) is obtained directly using (34a) (34b) and (34c)Without loss of generality we can assume that 119902119904 = (0 0 0 0)In this case we get

119867119902 (120575CC) = 119867119902in (120575CC) = 119879 (119902in (120575CC)) sdot 1198670 (35a)

119867119902 (120575CC + 120575119862) = 119879 (119902in (120575CC)) sdot 119867119902c (120575119862)= 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902(120575CC+120575119862))

sdot 1198670 (35b)

119867119902119890 = 119867119902 (2120575CC + 120575119862)= 119879 (119902 (120575CC + 120575119862)) sdot 119879minus1 (119902out (0))⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟⏟119879(119902119890)sdot 119867119902out (120575CC) = 119879 (119902119890) sdot 1198670

(35c)

because the endpoint of a standard out-type clothoid isthe origin according to (27a) (27b) (27c) and (27d) Thecomponents of119879 (119902119890) = 119879 (119902in (120575CC)) sdot 119879 (119902119888 (120575119862)) sdot 119879minus1 (119902out (0)) (36)

have the following form119879 (119902in (120575CC))=[[[[[[[[[[[[

cos 120575CC minus sin 120575CC 0 0 119883 (2120575CC)120581CCsin 120575CC cos 120575CC 0 0 119884 (2120575CC)120581CC0 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]]]]]119879 (119902119888 (120575119862)) =

[[[[[[[[[[[cos 120575119862 minus sin 120575119862 0 0 sin 120575119862120581CCsin 120575119862 cos 120575119862 0 0 1 minus cos 120575119862120581CC0 0 1 0 1205751198620 0 0 1 00 0 0 0 1

]]]]]]]]]]]

(37)

In order to obtain 119879minus1(119902out(0)) we express 119902out(0) first119902out (0) = (minus119909in (120575CC)119910in (120575CC)minus120575CC120581CC ) = ((

(minus119883(2120575CC)120581CC119884 (2120575CC)120581CCminus120575CC120581CC

)))

(38)

Journal of Advanced Transportation 9

and it follows from (32) that

119879minus1 (119902out (0)) = [[[[[[[[[cos 120575CC minus sin 120575CC 0 0 11990515sin 120575CC cos 120575CC 0 0 119905250 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]] (39)

where11990515 = 119883 (2120575CC)120581CC cos 120575CC + 119884 (2120575CC)120581CC sin 120575CC11990525 = 119883 (2120575CC)120581CC sin 120575CC minus 119884 (2120575CC)120581CC cos 120575CC (40)

After multiplying the three matrices we get119879 (119902119890)=[[[[[[[[[[[[

cos (120575end) minus sin (120575end) 0 0 119860 (2120575CC 120575119862)120581CCsin (120575end) cos (120575end) 0 0 119861 (2120575CC 120575119862)120581CC0 0 1 0 120575end0 0 0 1 00 0 0 0 1

]]]]]]]]]]]] (41)

where 120575end = 2120575CC + 120575119862 (42)119860 (2120575CC 120575119862) = 119883 (2120575CC) (1 + cos (2120575CC + 120575119862))+ 119884 (2120575CC) sin (2120575CC + 120575119862)+ sin (120575CC + 120575119862) minus sin 120575CC (43)

119861 (2120575CC 120575119862) = 119883 (2120575CC) sin (2120575CC + 120575119862)+ 119884 (2120575CC) (1 minus cos (2120575CC + 120575119862))minus cos (120575CC + 120575119862) + cos120575CC (44)

The end configuration of theCC-turn is given by the elementsin the last column of 119879(119902119890)119909119890 = 119860 (2120575CC 120575119862)120581CC (45a)

119910119890 = 119861 (2120575CC 120575119862)120581CC (45b)120579119890 = 2120575CC + 120575119862 (45c)120581119890 = 0 (45d)

It is important to note that in order to fully define aCC-turn two of the deflections 120575CC 120575119862 and 120575end should be

given together with the maximal curvature 120581CC The thirddeflection parameter is determined by (42)

The equations of an elementary path are similar to (45a)(45b) (45c) and (45d) we only need to substitute 120575119862 = 0119909119890 = 119860 (2120575CC 0)120581CC = 119860 (2120575CC)120581CC (46a)

119910119890 = 119861 (2120575CC 0)120581CC = 119861 (2120575CC)120581CC (46b)120579119890 = 2120575CC (46c)120581119890 = 0 (46d)

where 119860 (2120575CC) = 119883 (2120575CC) (1 + cos (2120575CC))+ 119884 (2120575CC) sin (2120575CC) 119861 (2120575CC) = 119883 (2120575CC) sin (2120575CC)+ 119884 (2120575CC) (1 minus cos (2120575CC)) (47)

44 TTS Paths for Local Planning Algorithms that generatefeasible local paths for a wheeled systemmdashsuch as our carmodel (5)mdashin the absence of obstacles are called localplanners or steering methods The exact definition of theseis the following

Definition 1 (steering method) Let us denote by Λ 119891 the setof all feasible local paths 120582119891 regarding system equation =119891(119902 119906) A steering method (or local planner module) is afunction

Steer C timesC 997888rarr Λ 119891 ie 120582119891 (sdot) = Steer (1199020 1199021) (48)

such that 120582119891 (0) = Steer (1199020 1199021) (0) = 1199020120582119891 (119878120582) = Steer (1199020 1199021) (119878120582) = 1199021 (49)

As already mentioned in Section 2 the most widely usedlocal planners for the simple kinematic car model (withoutthe requirement of curvature continuity) are based on theoptimal length ReedsndashShepp (RS) paths [27] These localpaths consist of maximum five circular or straight segmentsand have at most two cusps where the curvature of circulararcs is exactly plusmn120581max If the continuous steering car model(5) is used the continuous curvature generalization proposedin [31] can be applied This approximates ReedsndashShepp pathsby replacing circular segments with CC-turns It was shownthat although the resulting CCRS paths are not optimalthey converge to the optimal RS paths when the allowedsharpness of the clothoids tends to infinity The CC-turnsin this approach consist of clothoids having the maximalallowed sharpness and circle segments of maximal curvature

In the sequel we are doing something similar introducea new set of local paths for the continuous steering car Themain ideas which motivated the invention of our approachinstead using the CCRS paths are the following

10 Journal of Advanced Transportation

(i) The main goal is global planning in the presenceof obstacles Most existing planning methods use aconcatenation of local paths which has the conse-quence that the result will be not optimal even if theparts were generated by an optimal planner Even theCCRS paths are suboptimal Thus having the finalapplication in our mind we lifted the requirement ofoptimality of our local paths

(ii) Insteadminimizing the global path length we had thegoal to achieve ldquonaturalrdquo or ldquohuman-likerdquo pathsWhatthis means is informally described in the followingpoints

(iii) The RS (resp CCRS) paths consist of up to fivecircular (resp CC-turn) and straight segments Weshow in the sequel that three path segments aresufficient to connect any two configurations

(iv) The RS (resp CCRS) paths use circular segments(resp CC-turns) having the maximal allowed curva-ture (the steering wheel is turned to the end positionin every curve) Our planner is not restricted to thisOnly the limit is taken into account but smallercurvatures are allowed

(v) The last segment of RS (resp CCRS) paths is alwayscircular (resp CC-turn) We argue that this contra-dicts the behavior of human drivers Because the carcan only move forward or backward in most casesthe more natural behavior is to arrive at a givengoal configuration by a straight movement There area few exceptions for example the case of parallelparking but these can usually be transformed tothe mentioned case by reversing the roles of initialand goal configurations Consequently we choose astraight segment as the last section of our local paths

To simplify notation in the sequel we will denote localpaths as a concatenation of 119878 119879 and 119864 letters correspondingstraight segments CC-turns and elementary paths respec-tively In our approach we use 119879119879119878 (as well as 119864119864119878) paths(note that in our previous work [45] we used the notations119879lowast119879119878 and 119864lowast119864119878 where 119879lowast and 119864lowast represented ldquoCC-turn orstraight segmentrdquo and ldquoelementary path or straight segmentrdquoalthough we omit here the possibility of having a straightsegment as the first element because our experiments showedthat 119878119879119878 and 119878119864119878 paths are chosen very rarely by theimplemented planning algorithm) In the sequel we presentthe construction of 119864119864119878 paths first (where we use onlyelementary paths in place of CC-turns) and show that thisclass of paths is sufficient to connect an arbitrary pair ofconfigurations After that we generalize 119864 segments to CC-turns

441 Construction of EES Paths Let us assume withoutloss of generality that the path starts from a given initialconfiguration 119902119868 = (119909119868 119910119868 120579119868 0) and arrives at the origin asgoal configuration 119902119866 = (0 0 0 0) Any query pair (119902119868 119902119866)can be transformed to this form by translation and rotationand the designed path can be transformed back Let us denotethe intermediate configurations between the path segments

y

xqG qG

2

qI

1

1

2

2

1

qI

Figure 4 EES path

by 119868 and 119866 For every segment 119894 denotes its index (1 2or 3) inside the path A straight segment is parametrizedby its absolute length 119904119894 and direction 120574119894 and an elementarypath segment by its curvature 120581119894CC and deflection 120575119894CC at themiddle point between the CCin and CCout parts To simplifythe notation let us neglect the ldquoCCrdquo subscript from now onlet 120581119894 = 120581119894CC and 120575119894 = 120575119894CC

The scheme of an 119864119864119878 path (illustrated in Figure 4) is thefollowing 119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (50)

The coordinates of 119868 can be obtained from 119902119868 by atransformation belonging to the first elementary path

119867119868 = 119879 (119902119868) sdot 119879 (119902119890 (1205751 1205811)) sdot 1198670 (51)

where119879 (119902119890 (1205751 1205811))=[[[[[[[[[[[[

cos (21205751) minus sin (21205751) 0 0 119860 (21205751)1205811sin (21205751) cos (21205751) 0 0 119861 (21205751)12058110 0 1 0 212057510 0 0 1 00 0 0 0 1

]]]]]]]]]]]]

119879 (119902119868) = [[[[[[[[[cos (120579119868) minus sin (120579119868) 0 0 119909119868sin (120579119868) cos (120579119868) 0 0 1199101198680 0 1 0 1205791198680 0 0 1 00 0 0 0 1

]]]]]]]]]

(52)

By applying the matrix product we obtain119868 = 119860 (21205751)1205811 cos (120579119868) minus 119861 (21205751)1205811 sin (120579119868) + 119909119868 (53a)

119868 = 119860 (21205751)1205811 sin (120579119868) + 119861 (21205751)1205811 cos (120579119868) + 119910119868 (53b)

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 9: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 9

and it follows from (32) that

119879minus1 (119902out (0)) = [[[[[[[[[cos 120575CC minus sin 120575CC 0 0 11990515sin 120575CC cos 120575CC 0 0 119905250 0 1 0 120575CC0 0 0 1 00 0 0 0 1

]]]]]]]]] (39)

where11990515 = 119883 (2120575CC)120581CC cos 120575CC + 119884 (2120575CC)120581CC sin 120575CC11990525 = 119883 (2120575CC)120581CC sin 120575CC minus 119884 (2120575CC)120581CC cos 120575CC (40)

After multiplying the three matrices we get119879 (119902119890)=[[[[[[[[[[[[

cos (120575end) minus sin (120575end) 0 0 119860 (2120575CC 120575119862)120581CCsin (120575end) cos (120575end) 0 0 119861 (2120575CC 120575119862)120581CC0 0 1 0 120575end0 0 0 1 00 0 0 0 1

]]]]]]]]]]]] (41)

where 120575end = 2120575CC + 120575119862 (42)119860 (2120575CC 120575119862) = 119883 (2120575CC) (1 + cos (2120575CC + 120575119862))+ 119884 (2120575CC) sin (2120575CC + 120575119862)+ sin (120575CC + 120575119862) minus sin 120575CC (43)

119861 (2120575CC 120575119862) = 119883 (2120575CC) sin (2120575CC + 120575119862)+ 119884 (2120575CC) (1 minus cos (2120575CC + 120575119862))minus cos (120575CC + 120575119862) + cos120575CC (44)

The end configuration of theCC-turn is given by the elementsin the last column of 119879(119902119890)119909119890 = 119860 (2120575CC 120575119862)120581CC (45a)

119910119890 = 119861 (2120575CC 120575119862)120581CC (45b)120579119890 = 2120575CC + 120575119862 (45c)120581119890 = 0 (45d)

It is important to note that in order to fully define aCC-turn two of the deflections 120575CC 120575119862 and 120575end should be

given together with the maximal curvature 120581CC The thirddeflection parameter is determined by (42)

The equations of an elementary path are similar to (45a)(45b) (45c) and (45d) we only need to substitute 120575119862 = 0119909119890 = 119860 (2120575CC 0)120581CC = 119860 (2120575CC)120581CC (46a)

119910119890 = 119861 (2120575CC 0)120581CC = 119861 (2120575CC)120581CC (46b)120579119890 = 2120575CC (46c)120581119890 = 0 (46d)

where 119860 (2120575CC) = 119883 (2120575CC) (1 + cos (2120575CC))+ 119884 (2120575CC) sin (2120575CC) 119861 (2120575CC) = 119883 (2120575CC) sin (2120575CC)+ 119884 (2120575CC) (1 minus cos (2120575CC)) (47)

44 TTS Paths for Local Planning Algorithms that generatefeasible local paths for a wheeled systemmdashsuch as our carmodel (5)mdashin the absence of obstacles are called localplanners or steering methods The exact definition of theseis the following

Definition 1 (steering method) Let us denote by Λ 119891 the setof all feasible local paths 120582119891 regarding system equation =119891(119902 119906) A steering method (or local planner module) is afunction

Steer C timesC 997888rarr Λ 119891 ie 120582119891 (sdot) = Steer (1199020 1199021) (48)

such that 120582119891 (0) = Steer (1199020 1199021) (0) = 1199020120582119891 (119878120582) = Steer (1199020 1199021) (119878120582) = 1199021 (49)

As already mentioned in Section 2 the most widely usedlocal planners for the simple kinematic car model (withoutthe requirement of curvature continuity) are based on theoptimal length ReedsndashShepp (RS) paths [27] These localpaths consist of maximum five circular or straight segmentsand have at most two cusps where the curvature of circulararcs is exactly plusmn120581max If the continuous steering car model(5) is used the continuous curvature generalization proposedin [31] can be applied This approximates ReedsndashShepp pathsby replacing circular segments with CC-turns It was shownthat although the resulting CCRS paths are not optimalthey converge to the optimal RS paths when the allowedsharpness of the clothoids tends to infinity The CC-turnsin this approach consist of clothoids having the maximalallowed sharpness and circle segments of maximal curvature

In the sequel we are doing something similar introducea new set of local paths for the continuous steering car Themain ideas which motivated the invention of our approachinstead using the CCRS paths are the following

10 Journal of Advanced Transportation

(i) The main goal is global planning in the presenceof obstacles Most existing planning methods use aconcatenation of local paths which has the conse-quence that the result will be not optimal even if theparts were generated by an optimal planner Even theCCRS paths are suboptimal Thus having the finalapplication in our mind we lifted the requirement ofoptimality of our local paths

(ii) Insteadminimizing the global path length we had thegoal to achieve ldquonaturalrdquo or ldquohuman-likerdquo pathsWhatthis means is informally described in the followingpoints

(iii) The RS (resp CCRS) paths consist of up to fivecircular (resp CC-turn) and straight segments Weshow in the sequel that three path segments aresufficient to connect any two configurations

(iv) The RS (resp CCRS) paths use circular segments(resp CC-turns) having the maximal allowed curva-ture (the steering wheel is turned to the end positionin every curve) Our planner is not restricted to thisOnly the limit is taken into account but smallercurvatures are allowed

(v) The last segment of RS (resp CCRS) paths is alwayscircular (resp CC-turn) We argue that this contra-dicts the behavior of human drivers Because the carcan only move forward or backward in most casesthe more natural behavior is to arrive at a givengoal configuration by a straight movement There area few exceptions for example the case of parallelparking but these can usually be transformed tothe mentioned case by reversing the roles of initialand goal configurations Consequently we choose astraight segment as the last section of our local paths

To simplify notation in the sequel we will denote localpaths as a concatenation of 119878 119879 and 119864 letters correspondingstraight segments CC-turns and elementary paths respec-tively In our approach we use 119879119879119878 (as well as 119864119864119878) paths(note that in our previous work [45] we used the notations119879lowast119879119878 and 119864lowast119864119878 where 119879lowast and 119864lowast represented ldquoCC-turn orstraight segmentrdquo and ldquoelementary path or straight segmentrdquoalthough we omit here the possibility of having a straightsegment as the first element because our experiments showedthat 119878119879119878 and 119878119864119878 paths are chosen very rarely by theimplemented planning algorithm) In the sequel we presentthe construction of 119864119864119878 paths first (where we use onlyelementary paths in place of CC-turns) and show that thisclass of paths is sufficient to connect an arbitrary pair ofconfigurations After that we generalize 119864 segments to CC-turns

441 Construction of EES Paths Let us assume withoutloss of generality that the path starts from a given initialconfiguration 119902119868 = (119909119868 119910119868 120579119868 0) and arrives at the origin asgoal configuration 119902119866 = (0 0 0 0) Any query pair (119902119868 119902119866)can be transformed to this form by translation and rotationand the designed path can be transformed back Let us denotethe intermediate configurations between the path segments

y

xqG qG

2

qI

1

1

2

2

1

qI

Figure 4 EES path

by 119868 and 119866 For every segment 119894 denotes its index (1 2or 3) inside the path A straight segment is parametrizedby its absolute length 119904119894 and direction 120574119894 and an elementarypath segment by its curvature 120581119894CC and deflection 120575119894CC at themiddle point between the CCin and CCout parts To simplifythe notation let us neglect the ldquoCCrdquo subscript from now onlet 120581119894 = 120581119894CC and 120575119894 = 120575119894CC

The scheme of an 119864119864119878 path (illustrated in Figure 4) is thefollowing 119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (50)

The coordinates of 119868 can be obtained from 119902119868 by atransformation belonging to the first elementary path

119867119868 = 119879 (119902119868) sdot 119879 (119902119890 (1205751 1205811)) sdot 1198670 (51)

where119879 (119902119890 (1205751 1205811))=[[[[[[[[[[[[

cos (21205751) minus sin (21205751) 0 0 119860 (21205751)1205811sin (21205751) cos (21205751) 0 0 119861 (21205751)12058110 0 1 0 212057510 0 0 1 00 0 0 0 1

]]]]]]]]]]]]

119879 (119902119868) = [[[[[[[[[cos (120579119868) minus sin (120579119868) 0 0 119909119868sin (120579119868) cos (120579119868) 0 0 1199101198680 0 1 0 1205791198680 0 0 1 00 0 0 0 1

]]]]]]]]]

(52)

By applying the matrix product we obtain119868 = 119860 (21205751)1205811 cos (120579119868) minus 119861 (21205751)1205811 sin (120579119868) + 119909119868 (53a)

119868 = 119860 (21205751)1205811 sin (120579119868) + 119861 (21205751)1205811 cos (120579119868) + 119910119868 (53b)

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 10: Autonomous Path Planning for Road Vehicles in Narrow ...

10 Journal of Advanced Transportation

(i) The main goal is global planning in the presenceof obstacles Most existing planning methods use aconcatenation of local paths which has the conse-quence that the result will be not optimal even if theparts were generated by an optimal planner Even theCCRS paths are suboptimal Thus having the finalapplication in our mind we lifted the requirement ofoptimality of our local paths

(ii) Insteadminimizing the global path length we had thegoal to achieve ldquonaturalrdquo or ldquohuman-likerdquo pathsWhatthis means is informally described in the followingpoints

(iii) The RS (resp CCRS) paths consist of up to fivecircular (resp CC-turn) and straight segments Weshow in the sequel that three path segments aresufficient to connect any two configurations

(iv) The RS (resp CCRS) paths use circular segments(resp CC-turns) having the maximal allowed curva-ture (the steering wheel is turned to the end positionin every curve) Our planner is not restricted to thisOnly the limit is taken into account but smallercurvatures are allowed

(v) The last segment of RS (resp CCRS) paths is alwayscircular (resp CC-turn) We argue that this contra-dicts the behavior of human drivers Because the carcan only move forward or backward in most casesthe more natural behavior is to arrive at a givengoal configuration by a straight movement There area few exceptions for example the case of parallelparking but these can usually be transformed tothe mentioned case by reversing the roles of initialand goal configurations Consequently we choose astraight segment as the last section of our local paths

To simplify notation in the sequel we will denote localpaths as a concatenation of 119878 119879 and 119864 letters correspondingstraight segments CC-turns and elementary paths respec-tively In our approach we use 119879119879119878 (as well as 119864119864119878) paths(note that in our previous work [45] we used the notations119879lowast119879119878 and 119864lowast119864119878 where 119879lowast and 119864lowast represented ldquoCC-turn orstraight segmentrdquo and ldquoelementary path or straight segmentrdquoalthough we omit here the possibility of having a straightsegment as the first element because our experiments showedthat 119878119879119878 and 119878119864119878 paths are chosen very rarely by theimplemented planning algorithm) In the sequel we presentthe construction of 119864119864119878 paths first (where we use onlyelementary paths in place of CC-turns) and show that thisclass of paths is sufficient to connect an arbitrary pair ofconfigurations After that we generalize 119864 segments to CC-turns

441 Construction of EES Paths Let us assume withoutloss of generality that the path starts from a given initialconfiguration 119902119868 = (119909119868 119910119868 120579119868 0) and arrives at the origin asgoal configuration 119902119866 = (0 0 0 0) Any query pair (119902119868 119902119866)can be transformed to this form by translation and rotationand the designed path can be transformed back Let us denotethe intermediate configurations between the path segments

y

xqG qG

2

qI

1

1

2

2

1

qI

Figure 4 EES path

by 119868 and 119866 For every segment 119894 denotes its index (1 2or 3) inside the path A straight segment is parametrizedby its absolute length 119904119894 and direction 120574119894 and an elementarypath segment by its curvature 120581119894CC and deflection 120575119894CC at themiddle point between the CCin and CCout parts To simplifythe notation let us neglect the ldquoCCrdquo subscript from now onlet 120581119894 = 120581119894CC and 120575119894 = 120575119894CC

The scheme of an 119864119864119878 path (illustrated in Figure 4) is thefollowing 119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (50)

The coordinates of 119868 can be obtained from 119902119868 by atransformation belonging to the first elementary path

119867119868 = 119879 (119902119868) sdot 119879 (119902119890 (1205751 1205811)) sdot 1198670 (51)

where119879 (119902119890 (1205751 1205811))=[[[[[[[[[[[[

cos (21205751) minus sin (21205751) 0 0 119860 (21205751)1205811sin (21205751) cos (21205751) 0 0 119861 (21205751)12058110 0 1 0 212057510 0 0 1 00 0 0 0 1

]]]]]]]]]]]]

119879 (119902119868) = [[[[[[[[[cos (120579119868) minus sin (120579119868) 0 0 119909119868sin (120579119868) cos (120579119868) 0 0 1199101198680 0 1 0 1205791198680 0 0 1 00 0 0 0 1

]]]]]]]]]

(52)

By applying the matrix product we obtain119868 = 119860 (21205751)1205811 cos (120579119868) minus 119861 (21205751)1205811 sin (120579119868) + 119909119868 (53a)

119868 = 119860 (21205751)1205811 sin (120579119868) + 119861 (21205751)1205811 cos (120579119868) + 119910119868 (53b)

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 11: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 11119868 = 21205751 + 120579119868 (53c)119868 = 0 (53d)

Let us define the auxiliary functions119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595119863 (120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (54)

and write (53a) (53b) (53c) and (53d) in a shorter form119868 = 119862 (21205751 120579119868)1205811 + 119909119868 (55a)

119868 = 119863 (21205751 120579119868)1205811 + 119910119868 (55b)119868 = 21205751 + 120579119868 (55c)119868 = 0 (55d)

Alternatively we can get 119868 from 119866 = (119866 0 0 0)by ldquotraveling backwardrdquo along the elementary path Thiscorresponds to a normal 119864 segment with inverse deflectionWe can obtain 119868 this way by applying the transformation

119867119868 = 119879 (119866) sdot 119879 (119902119890 (minus1205752 1205812)) sdot 1198670 (56)

where 119879(119902119890(minus1205752 1205812)) is the same as (41) with parameters120575CC = minus1205752 and 120575119862 = 0119879 (119902119890 (minus1205752 1205812))=[[[[[[[[[[[[

cos (21205752) sin (21205752) 0 0 119860 (minus21205752)1205812minus sin (21205752) cos (21205752) 0 0 119861 (minus21205752)12058120 0 1 0 minus212057520 0 0 1 00 0 0 0 1]]]]]]]]]]]]

(57)

and 119879(119866) looks like119879 (119866) = [[[[[[[[[

1 0 0 0 1198660 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1]]]]]]]]] (58)

The result of the transformation is119868 = 119860 (minus21205752)1205812 + 119866 (59a)

119868 = 119861 (minus21205752)1205812 (59b)119868 = minus21205752 (59c)119868 = 0 (59d)

By comparing (55a) (55b) (55c) (55d) (59a) (59b)(59c) and (59d) we can conclude that the path parameters 12057511205811 1205752 1205812 and 119866 = minus12057431199043 of an 119864119864119878 path fulfill the followingconstraints 119862 (21205751 120579119868)1205811 + 119909119868 = 119860 (minus21205752)1205812 minus 12057431199043 (60a)119863(21205751 120579119868)1205811 + 119910119868 = 119861 (minus21205752)1205812 (60b)21205751 + 120579119868 = minus21205752 (60c)

One can conclude that in an 119864119864119878 planning problem onlyone path segment can be parametrized freely the othersare determined In the sequel we will use 1205751 and 1205811 as freeparameters

Let us pay some attention to the ranges of angle param-eters in the above equations The orientation parameter 120579119868 istreated as being in the interval [minus120587 120587]sim where ldquosimrdquo meansthat the two boundary values are identified Similarly to thegeometric derivation of CC-turns we introduce an upperbound |120575end119894| le 120587 on the whole deflection of both elementarypaths which results in 120575119894 isin [minus1205872 1205872] In order to ensurethat 1205751 1205752 and 120579119868 being in the given intervals fulfill theconstraint (60c) we have to choose the set carefully fromwhich 1205751 and 1205752 can be taken Let us examine two cases

(i) 120579119868 isin [0 120587] choosing 1205751 isin [minus1205872 1205872 minus 1205791198682] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 + 1205791198682 1205872 ] sube [minus1205872 1205872 ] (61)

(ii) 120579119868 isin [minus120587 0] choosing 1205751 isin [minus1205791198682 minus 1205872 1205872] sube[minus1205872 1205872] results in1205751 + 1205791198682 = minus1205752 isin [minus1205872 1205872 + 1205791198682 ] sube [minus1205872 1205872 ] (62)

These choices ensure both 1205751 and 1205752 being in [minus1205872 1205872] forany values of 120579119868 We can write these conditions in a singlecompact form1205751 1205752 isin 119868120575 (120579119868) = [minussgn119901 (120579119868) 1205872 sgn119901 (120579119868) 1205872 minus 1205791198682 ] (63)

where sgn119901(sdot) is a special sign function with sgn119901(0) = 1sgn119901 (119909) = sgn (119909) if 119909 = 01 if 119909 = 0 (64)

An illustration of this set can be seen in Figure 5Up to now we have not taken the curvature bound into

account It can be proven that an arbitrary configuration paircan be connected by an 119864119864119878 path even if an upper bound onthe absolute curvature is given The following Lemma statesthis fact the proof is elaborated in Appendix A

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 12: Autonomous Path Planning for Road Vehicles in Narrow ...

12 Journal of Advanced Transportation

2

I

I(I)

minus

minus

2

1 2

(a)

2

2I = minus

1

2

minus

2

minus

2

I =

I = 0

I isin [0 ]

I isin [minus 0]

(b)

Figure 5 Set of valid (1205751 1205752) pairs for EES paths

qG

qI

qI

qIqI

qI

Figure 6There is an infinite number of TTS solutions between twoconfigurations

Lemma 2 In the absence of obstacles any (119902119868 119902119866) pair ofinitial and goal configurations of a continuous steering car canbe connected by an 119864119864119878 path

Furthermore it turns out that infinitely many solutionscan be found even with bounded curvature due to theinfinitely many choices of 1205751 and 1205811 parameters This meansthat 119868 can be chosen in infinitely many ways as illustrated inFigure 6

442 From EES to TTS Paths As we have already seen inSection 434 elementary paths are special CC-turns with120575119862 = 0 It follows that the results for elementary paths usedin 119864119864119878 planning can be generalized to CC-turns as wellThe equations of an elementary path starting from any 119868and arriving at the 119909-axismdashthe middle segment of an 119864119864119878pathmdashare given by (59a) (59b) (59c) and (59d) This caneasily be generalized to the case when the deflection of thecircular part is nonzero119868 = 119860 (minus21205752CC minus1205752119862)1205812 + 119866 (65a)

119868 = 119861 (minus21205752CC minus1205752119862)1205812 (65b)

119868 = minus21205752CC minus 1205752119862 (65c)119868 = 0 (65d)

where 1205752CC and 1205752119862 stand for the deflections of the clothoidand the circular parts respectively The full deflection of theCC-turn is 1205752end = 21205752CC + 1205752119862 = minus119868 (66)

Let us introduce the relative amount of the circular part of aCC-turn as 119877120575 = 120575119862120575end (67)

Using this we can express (65b) as119868 = 119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end)1205812 (68)

Themaximal curvature and the sharpness of the CC-turn aregiven by1205812 = 1119910119868

119861 ((1 minus 1198771205752) 1205752end 11987712057521205752end) (69a)

1205722 = 1205812221205752CC = 1198612 ((1 minus 1198771205752) 1205752end 11987712057521205752end)2119868 (1 minus 1198771205752) 1205752end (69b)

Note that if we fix the full deflection 1205752end and change theratio 1198771205752 only then for a given 119868 the end configuration 119866on the 119909-axis remains the same only 1205812 and 1205722 are affectedIn other words we can tune the shape of a CC-turn with 119877120575

without affecting the starting and final configurations Thisis illustrated in Figure 7 where clothoids are drawn withsolid black lines and the red dashed arcs represent circularsegments

When 119877120575 grows the curvature is decreasing but thesharpness is increasing at the same time independently fromthe full deflection of the path segment This property can beexamined in Figure 8 which shows surface and contour plotsof the (absolute) curvature and sharpness of a CC-turn (with

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 13: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 13

minus01 01 02 03 04 05 06 07 080

qI

R = 0

R = 1

circularpath

qG

elementarypath

x

0

01

02

03

04

05y

06

07

08

09

1

Figure 7 Effect of 119877120575 on the shape of a CC-turn (119877120575 is modified insteps of 01)

119868 = 1) depending on the full deflection and the relativeamount of the circular part

It follows that if we already have obtained an 119864 segmentbetween any two configurations we can reshape it to aCC-turn having smaller curvature and higher sharpness bytuning the 119877120575 parameter With this we can define a maximalsharpness 120572max beyond the already treated 120581max constraint Ifthe sharpness of the initial 119864 segment is less than 120572max thenthere exists an119877120575 value such that |120572| = 120572maxThis is beneficialbecause the length of the path segment is decreasing as canbe seen in Figure 7

If we have an 119864119864119878 path we can do this reshaping forevery 119864 segment to obtain a 119879119879119878 path However if any ofthe 119864 segments violates the 120572max constraint then it is notso straightforward Fortunately it can be shown that a 119879119879119878solution obeying the 120572max constraint exists in all cases If thesecond segment in the 119864119864119878 solution violates the sharpnessconstraint we can write using (59c) and (69b) and (A3) inAppendix A 1205811015840max = radic120572max119868 (70)1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)1205811015840max (71)

where 1205811015840max is theminimal value of the curvature upper boundensuring that the second elementary path will have |120572| le120572max If we would like to obtain a 119879119879119878 path from an 119864119864119878solution then by recalling (55b) and (A6) in Appendix Awe can state that 1205811 can be decreased arbitrarily in order tofulfill condition (71) for the second segment and the maximalsharpness constraint for the first segment at the same time

The only drawback of using 119879119879119878 paths instead 119864119864119878solutions is that the sharpness tuning requires an iterative

search of 119877120575 in the interval [0 1] This cannot be avoidedbecause 119877120575 is in the argument of the 119861(sdot sdot) function in (69a)and (69b) which does not have an inverse because of thecontained Fresnel integrals

45 A Steering Method Based on EES Paths A 119879119879119878 pathplanner based on the conditions in proof of Lemma 2 andtheir generalization in Section 442 is not a steering methoditself (in the sense of Definition 1) because it delivers notonly one solution for a query pair Instead of this it deliversa parametrized class of solutions which contains an infinitenumber of 119864119864119878 (and 119879119879119878) paths from 119902119868 to 119902119866 fulfillingthe maximum curvature (and sharpness) constraint Thisproperty is useful in global planning problems (ie in thepresence of obstacles) because one can more likely find acollision-free path from a solution class than from the oneand only solution of an exact local planner

This does not mean that in the presence of obstaclesthe existence of any collision-free (local) solution would beguaranteed For successful global planning explicit reasoningabout free space connectivity is necessary As mentioned inSection 3 we apply the framework of the Holonomic PathApproximation Algorithm [11] for this purpose A distinctglobal planner delivers a preliminary geometric path whichis iteratively subdivided and approximated by an appropriatesteeringmethod To ensure the convergence of this algorithmthe local planner has to generate such paths that get closerto the original path as the local endpoints get closer to eachother This is called the topological property [12] which isformulated more precisely in Appendix B

Therefore if a collision-free geometric path is given andwe have an appropriate steering method that verifies thetopological property then a complete (completeness meansthat the algorithm does not fail to return a solution ifthe problem is solvable) approximation algorithm can beconstructed (whichwas a footnote in themanuscript) Hencein order to design such a complete algorithm based on 119879119879119878paths we need a steering method which returns exactly onefrom the class of 119879119879119878 paths and verifies the topologicalproperty

451 Definition of 119890119890119878 Paths In the sequel we take only 119864119864119878paths into account for the purpose of designing the exactsteering method This choice will make possible proving thetopological property because 119864119864119878 paths have closed formexpressions In contrast to that 119879119879119878 paths with a givensharpness can only be obtained by iterative deriving from119864119864119878solutions as seen in Section 442

More possibilities can be found to restrict the class of119864119864119878 paths to exactly one specific solution for every querypair (119902119868 119902119866) For example we may choose the sign of 1205812 andthe equality in condition (A4) in Appendix A and fix 1205751to any chosen value except 0 and minus120579119868 plusmn 120587 In this case theremaining parameter 1205811 is determined unequivocally Thiswould result in an 119864119864119878 path with |1205812| = 120581max and havingthe intermediate orientation 119868 = 120579119868 + 21205751 at the end ofthe first 119864 segment This approach has the problem that itis hard to formulate any reasonable direct rule for choosing1205751 and the sign of 1205812 for a given query Instead of this we

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 14: Autonomous Path Planning for Road Vehicles in Narrow ...

14 Journal of Advanced Transportation

0 02 04 06 08 1

050

100150

200

Curvature

Cend

005

115

225

3CC

end ( ∘)

(a)

Curvature

020406080

100120140160180

0 02 03 04 05 06 07 08 09 101Cend

en

d(∘ )

(b)

0 02 04 06 08 1

050

100150

2000

5

10

15

Sharpness

Cend

end ( ∘)

(c)

Sharpness

020406080

100120140160180

01 02 03 04 05 06 07 08 090Cend

en

d(∘ )

(d)

Figure 8 Dependence of (a)-(b) maximal curvature and (c)-(d) sharpness of CC-turns on the full detection and relative amount of thecircular part (absolute values are depicted)

introduce the following approach Let us choose 1205811 = minus1205812such that |1205811| = |1205812| is maximal In this case we do nothave to specify any other parameters The resulting 119864119864119878 pathhas two 119864 segments with same maximal absolute curvaturebut having opposite signs (the steering wheel is turned fromright to left or reversely) This type of paths is denoted as 119890119890119878paths in the sequel to emphasize that the resulting turningradii (reciprocal of the curvature) are opposite equal andminimal The 119890119890119878 planning problem is formulated as follows119902119868 119864997888rarr

12057511205811119868 119864997888rarr

1205752 1205812119866 119878997888rarr

1199043 1205743119902119866 (72)

such that 119902119868 = (119909119868 119910119868 120579119868 0) 119902119866 = (0 0 0 0) (73)120581 fl 1205811 = minus1205812 (74)|120581| le 120581max (75)|120581| 997888rarr max (76)Using (74) we can reformulate (60a) (60b) and (60c) as119909119868 + 12057431199043 + 119860 (21205751 + 120579119868) + 119862 (21205751 120579119868)120581 = 0 (77a)

119910119868 + 119866(21205751120579119868)⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞119861 (21205751 + 120579119868) + 119863 (21205751 120579119868)120581 = 0 (77b)

1205752 = minus1205751 minus 1205791198682 (77c)

The necessary and sufficient condition for existence ofthis kind of 119864119864119878 paths is obtained by (75) and (77b)1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 10038161003816100381610038161199101198681003816100381610038161003816 sdot |120581| le 10038161003816100381610038161199101198681003816100381610038161003816 sdot 120581max (78)In the sequel we use some properties of the 119866(sdot sdot) functionwhich are established in Appendix C

Lemma 3 For any (119910119868 120579119868) there exists 1205751 such that |119866(21205751120579119868)| le |119910119868|120581max

Proof According to Properties C6 and C7 of the119866 functionwe can state that for all 120579119868 there exist 1205751 values for both119866(21205751 120579119868) = 0 and 119866(21205751 120579119868) = 0 Since 119866 is a continuousfunction this means that for all 120579119868 |119866(21205751 120579119868)| can take anarbitrarily small value

452 The 119890119890119878 Steering Method Based on the existencecondition (78) and the optimization criterion (76) we canconstruct a steeringmethodwhich generates a single 119890119890119878 pathfor any local planning query We denote it as the 119890119890119878-planner

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 15: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 15

Let us examine the special case 119910119868 = 0 first where theexistence condition (78) takes the form1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 = 0 (79)

According to the Proof of Property C7 in Appendix we canstate that |119866(21205751 120579119868)| has a zero for all 120579119868 in the interval 1205751 isin[minus1205791198682 0] Let us denote this 1205751 solution as 12057511199111205751119911 (120579119868) 1205751 isin [minus1205791198682 0] | 119866 (21205751 120579119868) = 0 (80)

In this case 120581 could be chosen arbitrarily but the condition(76) suggests the choice of 120581 = plusmn120581max

If 119910119868 = 0 then it follows that

120581 = minus119866 (21205751 120579119868)119910119868 (81)

and 1205751 which maximizes |120581| is defined by120575lowast1 (120579119868) = arg max1205751isin119868120575(120579119868)

1003816100381610038161003816119866 (21205751 120579119868)1003816100381610038161003816 (82)

Let us define 120581lowast as120581lowast (119910119868 120579119868) = minus119866 (2120575lowast1 (120579119868) 120579119868)119910119868 (83)

which can be treated as the unbounded optimum of 120581 Since|119866| has a maximum at 120575lowast1 and zero at 1205751119911 an arbitrary |120581| isin(0 |120581lowast|] can be achieved by 1205751 isin (1205751119911 120575lowast1 ] It follows that if|120581lowast(119910119868 120579119868)| gt 120581max then a 1205751max(119910119868 120579119868) can be found between120575lowast1 (120579119868) and 1205751119911(120579119868) such that |120581| = 120581max1205751max (119910119868 120579119868) 1205751 isin (1205751119911 120575lowast1 ] | 1003816100381610038161003816119866 (21205751 120579119868)100381610038161003816100381610038161003816100381610038161199101198681003816100381610038161003816 = 120581max (84)

We can summarize the 119890119890119878 steering method as followsFor a given 119902119868 we have to determine 1205751 and 120581 = 1205811 first

Condition 1205751 1205811119910119868 = 0 1205751119911 (120579119868) plusmn120581max119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 le 120581max 120575lowast1 (120579119868) 120581lowast (119910119868 120579119868)119910119868 = 0 1003816100381610038161003816120581lowast1003816100381610038161003816 gt 120581max 1205751max (119910119868 120579119868) sgn (120581lowast) 120581max

(85)

The remaining path parameters 1205752 1205812 and 12057431199043 can bedetermined using (77c) (74) and (77a) respectively

We have proven that the above defined 119890119890119878 steeringmethod verifies the topological property which renders itsuitable for application in any approximation-based planningapproach The topological property theoretically guaranteesconvergence of the approximation process in any cases Thisadvantageous fact is stated byTheoremB2 inAppendix B andthe proof is given there in detail as well

15

1

05

0

minus05

minus1

minus15

I

minusI2

G (21 I)儨儨儨儨

lowast1 (I)

minus1minus2minus3 32101 z (I)

1 z (I)

1

Figure 9 Contour plot of the |119866| function453 Implementation Issues It turns out by numerical exam-ination of 119866(21205751 120579119868) that for any 120579119868 there is exactly one 1205751119911and 120575lowast1 value hence 1205751max must be unique as well Figure 9shows a contour plot of the |119866| function where the thick redlines show the zeros and the thick black lines the maxima of|119866| It can be seen that for every 120579119868 there is another zero 1119911outside the interval [minus1205791198682 0] but 1205751119911 inside the interval isunique

Unfortunately there are no closed form expressions forcalculating 1205751119911 120575lowast1 and 1205751max values because 119866 containsFresnel integrals with 1205751 in the argument Thus a numericalevaluation is neededwhich can be done by approximating theFresnel integrals for example by using precalculated lookuptables for119883(120573) and 119884(120573) It is important to note that no two-dimensional lookup table for 119866 is needed because we candecompose it to one-dimensional factors and terms of 119883(120573)119884(120573) and trigonometric functions

454 Remarks on Bounded Sharpness In the above describedlocal planner we payed attention only to the upper boundof the curvature One could argue that the sharpness shouldhave an upper bound as well to achieve paths which can betraversed by a givenminimal velocity Indeed as already seenin (15) when a minimal traveling speed is required thenthe sharpness of the path should have a given upper boundThe 119864 segments in the 119864119864119878 or 119890119890119878 have a sharpness of 120572 =1205812CC2120575CC which has the worst-case value 120572 = 1205812max2120575CC Itfollows that the sharpness is unbounded if 120575CC approacheszero and we can only state that it is less than infinity because120575CC = 0 means no motion Hence the curvature is contin-uous and the maximal allowed speed is greater than zeroeverywhere

Let us determine the traveling time along an 119864 segmentin case of |120581CC| = 120581max For this purpose we can use thevelocity constraint (14) along the path and the following

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 16: Autonomous Path Planning for Road Vehicles in Narrow ...

16 Journal of Advanced Transportation

identities related to the120572 120574119904 120575 and 120581 parameters of a clothoid[50] 120574119904 = 2120575120581 120572 = 21205751199042 (86)

Based on these we obtain the length of an 119864 segment (twiceas long as a clothoid) the maximal allowed absolute velocityand the minimal travel time along the segment119904 (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581max

Vmax (120575CC) = 120590max1003816100381610038161003816120572 (120575CC)1003816100381610038161003816 119905min (120575CC) = 119904 (120575CC)

Vmax (120575CC) = 4 1003816100381610038161003816120575CC1003816100381610038161003816120581maxsdot 1205812max2 1003816100381610038161003816120575CC1003816100381610038161003816 120590max= 2120581max120590max

(87)

It turns out that the traveling time along such an 119864 segment isfinite and lower bounded by 2120581max120590max independently from120575CC Thus we can state that the car can go along the plannedpath in finite time if the number of path segments is finite

46 The TTS Planning Algorithm At the end of this sectionlet us summarize how we can use 119879119879119878 paths and the119890119890119878 steering method in an approximation framework forthe purpose of generating collision-free local paths in thepresence of obstacles A mixed algorithm was implementedwhich consists of two parts the first building block is asampling-based method relying on general 119879119879119878 paths thesecond one is the exact 119890119890119878 steering method as describedin Section 452 We will denote this mixed algorithm as theTTS-planner in the sequel It takes a number of samples fromthe set of 119879119879119878 paths connecting 119902119868 and 119902119866 and fulfilling themaximal curvature and sharpness constraints Additionally itcomputes the unique 119890119890119878 solution between 119902119868 and 119902119866 as wellFrom the resulting local path candidates the colliding onesare excluded and the shortest is returned from the remainingset If every candidate is in collision then the TTS-plannertries to find new candidates by switching the roles of initialand goal configurations When no collision-free local pathcandidate could be found the TTS-planner reports failureand the approximation algorithm proceeds with subdividingthe global path The reason of using this mixed local plannerapproach is twofold At one hand the 119890119890119878-planner part guar-antees convergence of the approximation process accordingto its topological property On the other hand the samplingpart gives a good chance of generating good quality paths byreducing the number of necessary subdivision steps duringapproximation In fact the use of 119890119890119878 steering method alonewould be sufficient to ensure convergence but the samplingpart gives a number of alternatives which contribute to pathquality and are beneficial when the 119890119890119878 solution collides

(1) T Init(119902init)(2) for all 119896 = 1 to 119870 do(3) 119902rand larr997888 RandomConfig()(4) 119902near larr997888 TNearestNeighbor(119902rand)(5) if 119902new larr997888 TConnect(119902rand 119902near) then(6) TAddVertex(119902new)(7) TAddEdge(119902near 119902new)(8) end if(9) end for(10) return T

Algorithm 1 The basic RRT construction algorithm [44]

5 Global Planning The RTR-Planner

In Section 44 we argued that ldquohuman-likerdquo driving prefersmoving along straight path segments We designed the TTS-planner with this assumption in mind indeed it tries to finda local path which arrives at the straight line defined by 119902119866(or 119902119868) In order to obtain an effective approximation-basedplanning solution we need a global planner which facilitatesthe local planning phase Thus a preliminary global path isrequired which is not necessarily feasible for the car but canbe approximated easily with the TTS-planner

For this purpose we decided not to use any general holo-nomic planning algorithm however the topological propertyof our local planner ensures approximation convergencefor any collision-free paths Instead of this we looked fora preliminary path which is ldquoalmostrdquo feasible for the carThe solution has been found by omitting the minimumturning radius and designing a global planner which usesonly straight motion and turning-in-place primitives Theresulting paths are directly applicable for differential driverobots which have similar motion model as cars except theturning radius constraint The planning method is based onthe Rapidly Exploring Random Trees (RRT) approach [8ndash10]which is known for its fast convergence properties even inhigh dimensional configuration spaces and widely used inpath planning applications

Let us first summarize the basic RRT planning processand after that we derive our RTR (rotate-translate-rotate)approach

51 Rapidly Exploring Random Trees The basic RRT con-struction process can be seen in Algorithm 1 The building ofthe treeT starts from the initial configuration RandomCon-fig() returns a randomconfiguration 119902rand from the configura-tion space C (sampling step) NearestNeighbor() determinesthe nearest configuration 119902near in the tree according to ametric defined on the configuration space (vertex selectionstep) It depends on the implementation if this functioncan return only graph vertices or inner configurations ofedges as well Connect() tries to connect 119902near to 119902rand bysimply interpolating between them (tree extension step) Itextends 119902near until it is connected to 119902rand or a collision isdetected In the latter case 119902new will be the farthest collision-free configuration towards 119902rand In order to reach the goal

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 17: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 17

(a) (b)

Figure 10 Illustration of RRT and RTR global planning (a) RRT trees after 1000 iterations and (b) RTR trees and solution path after 65iterations

configuration the random sampling can be biased to include119902goal sometimes in the random sequence or a bidirectionalsearch [10] can be performed by growing two trees from boththe initial and goal configurations

The RRT method can be inherently applied to nonholo-nomic systems Instead of a simple interpolation towards119902rand (which assumes free mobility in any directions) asystem-specific local planner should be applied in the Con-nect() step The original RRT version proposed in [8] rec-ommended choosing an input and applying for a given timequantum Δ119905 to obtain a Δ119902 which brings 119902near closer to 119902randThis was augmented in [9] for such systems where an explicitlocal planning (steering) method is available to connect twoconfigurations Actually we build our approach on this RRT-Connect version

For our purpose (ie for differential drive) the simpleststeering method is the following sequence of straight motionand turning-in-place primitives (1) turn to head the nextposition (2) move straight until it is reached and (3)turn to the desired orientation If a collision occurs duringthis motion sequence the extension is stopped at the lastcollision-free configuration This simple method has theadvantage that it delivers an exact solution between twoconfigurations (no sampling of the input set is needed)Furthermore the tree edges will be straight thus making thenearest neighbor search easy even if inner configurationsof edges are involved in the search This latter propertyhelps to keep the number of tree vertices as low as possiblealthough we experienced that a naive application of thisrotate-translate-rotate steering method together with RRThas poor performance if narrow areas have to be crossed inorder to obtain a result The reason is that in narrow placesthe collision will occur most likely during the first rotationprimitive hence no translation that is no effective extensionof the tree will be achieved An example scenario with a

Table 1 Performance measures of RRT and RTR (based on 100runs)

RRT RTRSuccess Ratio 25 100Avg no of iterations 8825 654

narrow passage is depicted in Figure 10 with illustrativeresults of RRT and the below described RTR planners Bothalgorithms have been run 100 times in every run maximum1000 iterations were allowed We found that RRT had only25 success rate and 8825 iterations on average while RTRwas successful in every trial with averagely 654 iterations (seeTable 1) We describe the operation of RTR-planner in thesequel

52 RT-Trees and Primitives RTR-planner is similar to a bidi-rectional RRT-Connect algorithm however it has differencesin the sampling the vertex selection and the extension stepsas well It uses translation (T) and rotation (R) primitives forbuilding the trees In the extension steps only RT (rotate-translate) sequences are used instead of the exact rotate-translate-rotate steering method For this reason we denotethe constructed trees as RT-trees The vertices of the treesare configurations as usual and the edges are continua ofconfigurations According to T and R motion primitivesthese are called Translational Configuration Intervals (TCIs)and Rotational Configuration Intervals (RCIs) The processof an RT-tree construction can be seen in Algorithm 2 and isdetailed in the sequel

521 Sampling The first difference to RRT can be found inthe sampling step RandomPos() returns a random position119901119866 without orientation denoted as the guiding position inthe sequel instead of a configuration It can be treated as

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 18: Autonomous Path Planning for Road Vehicles in Narrow ...

18 Journal of Advanced Transportation

(1) function RT CONSTRUCT(119902init)(2) T Init(119902init)(3) for all 119896 = 1 to 119870 do(4) 119901119866 larr997888 RandomPos()(5) 119902near larr997888 TNearestNeighbor(119901119866)(6) 119905119906119903119899119863119894119903 larr997888 MinTurnDir(119902119899119890119886119903 119901119866)(7) 119888119900119897119897119894119904119894119900119899 larr997888 TExtend(119902near 119905119906119903119899119863119894119903)(8) if 119888119900119897119897119894119904119894119900119899 then(9) TExtend(119902near minus119905119906119903119899119863119894119903)(10) end if(11) end for(12) return T(13) end function(14)(15) function T Init(119902)(16) TAddVertex(119902)(17) 119879119862119868 larr997888 TCIExtend (119902 ldquoforwardrdquo)(18) TAddVertex(119879119862119868119902end)(19) TAddEdge(119902 119879119862119868)(20) 119879119862119868 larr997888 TCIExtend (119902 ldquobackwardrdquo)(21) TAddVertex(119879119862119868119902end)(22) TAddEdge(119902 119879119862119868)(23) end function(24)(25) function TExtend(119902 119905119906119903119899119863119894119903)(26) [119877119862119868 119888119900119897119897119894119904119894119900119899] larr997888 RCIExtend(119902 119905119906119903119899119863119894119903)(27) TAddVertex(119877119862119868119902end)(28) TAddEdge(119902 119877119862119868)(29) 119879119862119868 larr997888 TCIExtend (119877119862119868119902end ldquoforwardrdquo)(30) TAddVertex(119879119862119868119902end)(31) TAddEdge(119877119862119868119902end 119879119862119868)(32) 119879119862119868 larr997888 TCIExtend(119877119862119868119902end ldquobackwardrdquo)(33) TAddVertex(119879119862119868119902end)(34) TAddEdge(119877119862119868119902end 119879119862119868)(35) return collision(36) end function

Algorithm 2 Construction of an RT-tree

a one-dimensional continuous set of configurations fromwhich any element can serve as local goal in the tree extensionstep

522 Vertex Selection TNearestNeighbor() returns the con-figuration in the existing tree which has the smallest positiondistance to 119901119866 This step uses a simple Euclidean metrichence no special configuration space metrics are needed

523 Extension The main difference to the RRT methodcan be found in the tree extension step On the one handtranslation is always performed in both forward and back-ward directions Additionally the translation is not stoppedwhen 119901119866 is reached but continued until the first collisionin both directions (this is the functionality of TCIExtend()called by both TInit() and TExtend() functions) On theother hand an important difference is the fact that an R-Tsequence will always be planned even if a collision occursin the rotation phase The RTR-planner balances betweenreaching guiding positions and extending the tree If 119901119866

pG

Figure 11 Illustration of the tree extension procedure if the direc-tion to 119901119866 is blocked

cannot be reached due to a collision then two things can bedone

(1) If the collision occurred during the T primitive thenthe iteration is finished (because the tree has beenextended)

(2) If the collision occurred during the R primitivethen TCI EXTEND is performed in both forwardand backward directions at the colliding orientation(first extension) and the rotation is tried again inthe other turning direction as well After the secondrotation independently from its success or collisionTCI EXTEND is called again (second extension) Anexample of this procedure can be seen in Figure 11

This extension strategy causes a more aggressive freespace exploration than in case of the basic RRT method

53 Connecting RT-Trees As the RTR-planner builds twoRT-treesmdashfrom both the initial and goal configurationsmdashinorder to obtain a final path the two trees have to beconnected This is attempted in every iteration The newlyadded TCIs are checked against every TCI in the other treestarting from its root If an intersection is found and if acollision-free RCI can be put between the intersecting TCIsto connect them then the two trees can be merged and thepath determined easily by tracing the trees back to their roots

6 Simulation Results

The RTR + TTS planning algorithm was tested extensivelyin simulations and compared to other similar approachesin terms of effectiveness and path quality To two otheralgorithms were investigated

(i) RRT-Connect (CCRS) Bidirectional RRT using theCCRS steering method as local planner (direct one-step approach no approximation needed)

(ii) RTR + CCRS The RTR-planner is used for generatinga preliminary global path followed by an approxima-tion phase using CCRS paths

The following scenarios have been used for testing(i) A wide environment with few obstacles (can be

treated as an easy planning task see Figure 12)

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 19: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 19

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 12 Path planning in a wide environment

(a) RRT-Connect (CCRS) (b) RTR + CCRS (c) RTR + TTS (proposed method)

Figure 13 Path planning for parallel parking

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 14 Crossing a narrow corridor

(ii) A simple parallel parking scenario (a well knownproblem for path planning algorithms see Figure 13)

(iii) Driving through a narrow corridor and parking nextto the wall (can be treated as a difficult planning tasksee Figure 14)

(iv) Crossing three perpendicular narrow corridors withbigger free areas at the corners (can be treated as avery difficult planning task see Figure 15)

The simulated car is 4m long and 2m wide with 442mminimal turning radius

To obtain practical results we constrained the maximumiteration count of the tree building process to 10000 in everyalgorithm and applied a lower bound of path subdivision atthe approximation phase Every algorithm has been run 100times in every scenario and the average results are shown inFigure 16 The performance and path quality is measured bythe following metrics

(i) Success Ratio Percentage of successful runs

(ii) Number of Cusps The number of reversals alongthe path A good path contains as few reversals aspossible

(iii) Steering Amount The absolute integral of the pathcurvature It gives the amount of turning along thepath A path with less sharp turns or with morestraight segments is more comfortable than a pathrequiring much turning along the way

(iv) Travel Time The time of driving along the resultingpath is estimated as follows A traveling speed func-tion with Vmax = 5ms and Vmin = 1ms is assignedto the path which is inversely proportional to theactual path curvature The cusps are penalized with05 s ldquoreversing timerdquo Those paths are better whichrequire less time to travel along

Numerical results are listed in Figure 16 while illustrativeexamples can be examined in Figures 12ndash15

As expected the ldquoeasyrdquo path planning task in wideenvironment can be flawlessly solved by all selected algorithm

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 20: Autonomous Path Planning for Road Vehicles in Narrow ...

20 Journal of Advanced Transportation

(a) RTR + CCRS (b) RTR + TTS (proposed method)

Figure 15 Crossing three narrow corridors

215

3820

100

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

336

11033

126

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

2338

4533

844

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

97

1000 20 40 60 80 100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Parallel parking

34241

1734

0 100 200 300 400

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

151498

710

0 500 1000 1500

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

28465

5592

0 50 100 150 200 250 300

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

37

91

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Three corridors

3048

673

0 10 20 30 40

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

10457

448

0 20 40 60 80 100 120

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

6744

3057

0 20 40 60 80

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

0

79

98

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

One corridor

100

158

100

00 05 10 15 20

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

No of cusps

551

445

314

0 1 2 3 4 5 6 7

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Steering amount [rad]

3386

3602

1966

0 10 20 30 40 50

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Travel time [s]

100

100

100

RRT-Connect (CCRS)

RTR + CCRS

RTR + TTS

Success ratio

Wide environment

()0 20 40 60 80 100

()0 20 40 60 80 100

()0 20 40 60 80 100

()

Figure 16 Summary of the simulation results

combinations (Figure 12)The path quality measures are sim-ilar (first column in Figure 16) however the proposed RTR+ TTS-planner combination results in the most comfortableand human-like paths with respect to steering amount andtravel time

Similarly the parallel parking task is solvable as well byevery tested algorithm (Figure 13)The TTS-based local plan-ner obtains the highest quality paths This is not surprisingbecause the most ldquonaturalrdquo parallel parking maneuver is a119879119879119878 path itself The reason for obtaining more complicatedpaths with CCRS-based methods is that the CCRS plannerdoes not have the ldquonaturalrdquo solution amongst its local pathcandidates hence it relies stronger on the global planningphase During parallel parking we want to achieve a lateralshift to a narrow place which is quite unnatural for thecar this results in many approximation steps for the RTR

+ CCRS planner producing an enormous number of smallmovements The result is much better if the CCRS localplanner is applied directly in the RRT-Connect planningphase because in this case the unnatural approximation isavoided However the RTR + TTS-planner outperforms thisas well (see the second column in Figure 16)

As we move to more complicated planning challengesin environments containing narrow corridors sampling-based planners need more iterations to find a solutionresulting in lower success rates (because the number ofiterations is limited) Those global planners which tend touse mainly straight movements are more successful thanothers In the scenario with one corridor the direct RRT-Connect method completely fails since it uses curved localpaths to connect configuration samples (for this reason onlyRTR + CCRS and RTR + TTS solutions are depicted in

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 21: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 21

Figure 14) Approximation methods are better suited to suchenvironments and it can be seen in the third column of 14that the TTS local planner results in higher success ratiosand better quality paths The effectiveness of RTR as globalplanner originates from the aggressive extension step andfrom the fact that it contains only straight forward andbackward translation movements Because 119879119879119878 paths aredesigned to arrive at straight lines they are well suited forthe approximation of RTR paths resulting in less subdivisionsteps (efficiency) and simpler path geometry (quality)

The effectiveness of the RTR global planner canmostly beexamined in the last scenario where three narrow corridorshave to be passed (Figure 15) Comparing the approximationresult using CCRS and TTS local planners we can find amuch higher efficiency and much better path quality in caseof TTS Furthermore we can see the different philosophiesbehind the two local planners namely CCRS paths striveto have the maximal allowed curvature while 119879119879119878 pathsare not restricted to this In the larger ldquoturning spacesrdquobetween corridors the TTS-planner generates less sharpturns and needs less reversals which increases the comfort ofpassengers in the car The direct RRT-Connect method withCCRS local planner completely fails similarly to the previousexample As can be seen in the last column of Figure 16the RTR + TTS-planner significantly outperforms the otheralgorithms

7 Conclusions

In this paper we presented a global planning method forcar-like vehicles producing paths with continuous curvatureA comparative analysis with possible alternatives was per-formed as well and we could see that both components (RTRand TTS) of the two-phase planning approach contribute tothe effectiveness and path quality of the resulting algorithmThe (preliminary) RTR path planner is capable of designingpaths consisting of straight movements and turning-in-placeWe apply the TTS local planner to the RTR path in a secondapproximation phase in order to obtain a final path obeyingthe bounded and continuous curvature conditionsThe TTS-planner uses straight segments CC-turns and elementarypaths in order to generate a feasible and human-like solutioneven in cluttered and narrow environments We gave anoverview of how to build CC-turns and elementary pathsthe class of curvature and sharpness bounded 119864119864119878 and 119879119879119878paths were introduced and existence conditions were givenfor them An exact steering method the 119890119890119878-planner waspresented as well which delivers a unique 119864119864119878 solution fora planning query and verifies the topological property Sim-ulation studies were presented to illustrate that the proposedRTR + TTS planning algorithm can be applied universally inless and more difficult situations and the obtained paths arequite ldquonaturalrdquo

We continue this work in the future by implementing theproposed algorithm on our physical testbed [52 53] utilizingsmall-sized model cars and later on a real vehicle to per-form real-life tests and performance measurements Furtherresearch includes the investigation of possible applicationsin previously unknown and changing environments and the

interaction possibilities of this planning method with onlinemap building algorithms

Appendix

A Existence Conditions for EES Paths

Lemma 2 stated that in the absence of obstacles any (119902119868 119902119866)pair of initial and goal configurations of a continuous steeringcar can be connected by an 119864119864119878 path Here we give its proofwhere we use some properties of 119861(sdot) and 119863(sdot sdot) functionswhich are established in Appendix C

Proof of Lemma 2 Let us apply the curvature bound to 1205812first 100381610038161003816100381612058121003816100381610038161003816 le 120581max (A1)

After substituting (59b) it gets the form100381610038161003816100381612058121003816100381610038161003816 = 10038161003816100381610038161003816100381610038161003816100381610038161003816119861 (119868)119868

10038161003816100381610038161003816100381610038161003816100381610038161003816 le 120581max (A2)

Using the fact that 119861(sdot) is nonnegative in the interval ofinterest (cf Property C3 in Appendix C) we can rearrangethis to 1003816100381610038161003816119868

1003816100381610038161003816 ge 119861 (119868)120581max= 10038161003816100381610038161003816Δ1199102min (119868)10038161003816100381610038161003816 (A3)

which means that for a given 119868 = minus21205752 a valid 119864119878 subpathexists if and only if 119868 is farther from the 119909-axis than theminimal possible change in the 119910-coordinate determined bythe necessary deflection and the given curvature constraint

We can obtain the necessary and sufficient conditions forthe existence of 119864119864119878 paths by substituting (55a) (55b) (55c)and (55d) into (A3)100381610038161003816100381610038161003816100381610038161003816119910119868 + 119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 ge 119861 (21205751 + 120579119868)120581max

(A4)

alternatively written as1003816100381610038161003816119910119868 + Δ1199101 (120579119868 1205751 1205811)1003816100381610038161003816 ge 1003816100381610038161003816Δ1199102min (120579119868 1205751)1003816100381610038161003816 (A5)

together with the obvious other condition |1205811| le 120581maxAccording to Property C5 in Appendix C119863(21205751 120579119868) = 0

only if 1205751 = 0 or 1205751 = minus120579119868 plusmn 120587 This means that for any 120579119868and 1205751 notin 0 minus120579119868plusmn120587 the Δ1199101 term is nonzero and a 1205811 can befound such that (A5) and the curvature bound are fulfilledbecause

lim1205811rarr0

100381610038161003816100381610038161003816100381610038161003816119863 (21205751 120579119868)1205811 100381610038161003816100381610038161003816100381610038161003816 = infin (A6)

We have seen that for any query pair of the form (119902119868 0)a class of 119864119864119878 pathsmdashparametrized by (1205751 1205811)mdashis availableA more general query pair (119902119868 119902119866) can be transformed to theform (1199021015840119868 0) by the inverse transformation 119879minus1(119902119866) and theresulting path can be transformed back by 119879(119902119866)

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 22: Autonomous Path Planning for Road Vehicles in Narrow ...

22 Journal of Advanced Transportation

q1

q0

Steer (q0 q1)

Figure 17 Illustration of topological property forC = R2

B Topological Property ofthe 119890119890119878 Steering Method

The topological property of steering methods is defined asfollows [12]

Definition B1 (topological property) A steering methodSteer(1199020 1199021) verifies the topological property ifforall120598 gt 0exist120578 gt 0forall1199020 1199021 isin C119889C (1199020 1199021) lt 120578 997904rArr 119889C (1199020 Steer (1199020 1199021) (119904)) lt 120598forall119904 isin [0 119878120582]

(B1)

where 119889C is any metric defined on the configuration spaceC and 119878120582 is the total length of the of the path returned bySteer(1199020 1199021)

This means that for every nonzero 120598 120578 can be foundsuch that if 1199021 is in an 120578-neighborhood of 1199020 then the localpath generated by Steer does not exit the 120598-neighborhoodof 1199020 When approximating a global path and having 1199020 asan intermediate point on it which has a collision-free 120598-neighborhood then we can find another intermediate point1199021 along the path in the 120578-neighborhood of 1199020 such thatthe feasible local path Steer (1199020 1199021) is collision-free (seeFigure 17) Hence if the global path has nonzero clearancethen the topological property ensures that a feasible pathcan be constructed along it using a sequence of local pathsgenerated by the steering method

We will show in the sequel that the 119890119890119878 steering methodhas this advantageous property But before that a metric 119889Chas to be defined over C The most important metrics overthe 119899-dimensional Euclidean space R119899 belong to the familyof 119871119901 metrics [6]

119871119901 (119903 1199031015840) = ( 119899sum119894=1

10038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816119901)1119901 119903 1199031015840 isin R119899 (B2)

A special 119871119901 metric is the 119871infin metric which can be obtainedfrom (B2) if 119901 rarr infin119871infin (119903 1199031015840) = max

1le119894le11989910038161003816100381610038161003816119903119894 minus 1199031015840119894 10038161003816100381610038161003816 (B3)

The configuration space of the continuous steering car isnot an Euclidean space but a manifold C = R2 times S1 times[minus120581max 120581max] where S1 stands for the unit circle which ishomeomorphic to [minus120587 120587]sim Because of the identification ofminus120587 and 120587 special care must be taken when the ldquodistancerdquo oftwo angles has to be measured An appropriate metric for S1

can be the following [6]119889S1 (120579 1205791015840) = min 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 2120587 minus 10038161003816100381610038161003816120579 minus 120579101584010038161003816100381610038161003816 (B4)

As stated in [6] metric spaces are extendable by Cartesianproduct and a new metric can be defined for the extendedspace using the original metrics Since our configurationspace C is an extension over R2 and S1 we can choose 119871infin

metric for R2 119889S1 for S1 and 119871infin again over these119889C (1199020 1199021)= 119871infin (119871infin ((1199090 1199100) (1199091 1199101)) 119889S1 (1205790 1205791)) (B5)

which leads to119889C (1199020 1199021) = max 10038161003816100381610038161199090 minus 11990911003816100381610038161003816 10038161003816100381610038161199100 minus 11991011003816100381610038161003816 min 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 2120587 minus 10038161003816100381610038161205790 minus 12057911003816100381610038161003816 (B6)

Note that we have neglected one dimension of the con-figuration space (the [minus120581max 120581max] part) in the metric This isvalid because the curvatures of 119902119868 and 119902119866 are always 0 thusthe ldquocurvature distancerdquo of these is zero as well Furthermorenote that in this metric Euclidean distances are compared toangles which is a common problem in motion planning Itis hard to define a metric over C that can avoid this issueNevertheless the above defined metric is appropriate forproving the following theorem

Theorem B2 The 119890119890119878 steering method verifies the topologicalproperty

Proof Since the goal configuration is at the origin by assump-tion (without loss of generality) the metric (B6) can bewritten in the following form119889C (119902 (119904)) = max |119909 (119904)| 1003816100381610038161003816119910 (119904)1003816100381610038161003816 |120579 (119904)| (B7)

where 119902(119904) is a shorthand for Steer (0 119902119868)(119904) The total lengthof an 119890119890119878 path is119878120582 = 1199041 + 1199042 + 1199043 = 10038161003816100381610038161003816100381610038161003816 41205751120581 10038161003816100381610038161003816100381610038161003816 + 10038161003816100381610038161003816100381610038161003816 41205752120581 10038161003816100381610038161003816100381610038161003816 + 1199043 (B8)

where 1199041 1199042 and 1199043 are the corresponding path segmentlengths according to (86) It is obvious that|119909 (119904)| le 119904 le 119878120582 (B9)1003816100381610038161003816119910 (119904)1003816100381610038161003816 le 119904 le 119878120582 (B10)|120579 (119904)| le 1003816100381610038161003816212057511003816100381610038161003816 + 1003816100381610038161003816212057521003816100381610038161003816 (B11)

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 23: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 23

for all 119904 isin [0 119878120582] After multiplying (B11) with 2|120581| we get2 |120579 (119904)||120581| le 1199041 + 1199042 le 119878120582 (B12)

which results in |120579 (119904)| le 119878120582 |120581|2 le 119878120582 120581max2 (B13)

Looking at (B7) and (B9)ndash(B13) we can state that119889C (119902 (119904)) le 119878120582 sdotmax 1 120581max2 (B14)

With this the statement to be proven is equivalent to119889C (119902119868) lt 120578 997904rArr 119878120582 sdotmax 1 120581max2 lt 120598 (B15)

which holds when

lim119902119868rarr0

119878120582 = 0 (B16)

According to (83) 119902119868 rarr 0 means that |120581lowast| rarr infin hence|120581| rarr 120581max It follows that

lim119902119868rarr0

119878120582 = 1003816100381610038161003816412057511003816100381610038161003816120581max+ 1003816100381610038161003816412057521003816100381610038161003816120581max

+ 1199043 (B17)

Let us define the function119865 (119910119868 120579119868 1205751) fl 119910119868 + 119866 (21205751 120579119868)120581 (B18)

for any fixed 120581 According to (77b) we know that for any 119890119890119878path 119865 (119910119868 120579119868 1205751) = 0 (B19)

Let us examine the behavior of119865(sdot) in the vicinity of (119910119868 120579119868) =(0 0)lim

(119910119868120579119868)rarr(00)119865 (119910119868 120579119868 1205751) = 0 + 119866 (21205751 0)plusmn120581max= plusmn2119861 (21205751)120581max

(B20)

where we applied Property C4 in Appendix C This impliestogether with (B19) plusmn2119861 (21205751)120581max

= 0 (B21)

Property C3 in Appendix C states that119861 (21205751) = 0 lArrrArr 1205751 = 0 (B22)

which implies

lim(119910119868120579119868)rarr(00)

119865 (119910119868 120579119868 1205751) = 0 lArrrArr 1205751 997888rarr 0 (B23)

In other words in the neighborhood of (119910119868 120579119868) = (0 0) an 119890119890119878path can only exist iff 1205751 rarr 0

To sum it up we now that if 119902119868 rarr 0 then|120581| 997888rarr 120581max1205751 997888rarr 01205752 = minus1205751 minus 1205791198682 997888rarr 0 (B24)

Furthermore based on (77a) we get

FCGqrarr0

s3 = FCG maxqrarr0

xI +

A (21 + I) + C(21 I)

= 0

0 00 (B25)

where we used (B23) and Property C1 in Appendix CFinally we can conclude that

FCGqrarr0

S =

41

+

42

+ s3 = 0

0 00

max max(B26)

which proves (B15) thus the requirement for the topologicalproperty is fulfilled

C Auxiliary Functions

Some auxiliary functions are used during deriving the 119864119864119878and 119890119890119878 paths

119883(120573) = sgn (120573)radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119862119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C1)

119884 (120573) = radic120587 10038161003816100381610038161205731003816100381610038161003816 sdot 119878119865(radic 10038161003816100381610038161205731003816100381610038161003816120587 ) (C2)

119860 (120573) = 119883 (120573) (1 + cos120573) + 119884 (120573) sin120573 (C3)119861 (120573) = 119883 (120573) sin120573 + 119884 (120573) (1 minus cos120573) (C4)119862 (120573 120595) = 119860 (120573) cos120595 minus 119861 (120573) sin120595 (C5)119863(120573 120595) = 119860 (120573) sin120595 + 119861 (120573) cos120595 (C6)119866 (120573 120595) = 119861 (120573 + 120595) + 119863 (120573 120595) (C7)

Because all of these contain Fresnel integrals it is hardto solve equations including these functions if the unknownvariable is in the argument However some function prop-erties can be specified including parity zeros and specificvaluesThese properties are useful when dealing with expres-sions containing them

Property C1 The functions119883(120573) 119884(120573) 119860(120573) 119861(120573) 119862(120573 120595)and119863(120573 120595) have zero value at 120573 = 0Proof For 119883(120573) and 119884(120573) the value at 120573 = 0 can beobtained by substitution all factors are zero It follows fromthe definitions that 119883(0) and 119884(0) make every term zero inthe other functions as well

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 24: Autonomous Path Planning for Road Vehicles in Narrow ...

24 Journal of Advanced Transportation

Table 2 Signs of the terms of 119861(120573)120573 119883(120573) sin120573 119884(120573) 1 minus cos120573 119861(120573)minus120587 minus 0 + + +(minus120587 0) minus minus + + +0 0 0 0 0 0(0 120587) + + + + +120587 + 0 + + +Property C2 119883(120573) and 119860(120573) are odd while 119884(120573) and 119861(120573)are even functions Additionally sgn(119883(120573)) = sgn(120573) and119884(120573) ge 0Proof It follows from the definition of Fresnel sine and cosineintegrals (18a) and (18b) that they are odd functions andtheir signs are the same as the sign of their arguments Inthe definitions of 119883(120573) and 119884(120573) the arguments of 119862119865 and119878119865 depend on the absolute value of 120573 which results in evenfunctions with nonnegative values The multiplication factorradic120587|120573| is even as well while the sgn(sdot) function is odd Weknow that the product of two functions is even if the paritiesof factors are the same Similarly if the parities differ then theresulting function is odd Based on these it is obvious that119883(120573) is odd with sgn(119883(120573)) = sgn(120573) and 119884(120573) is even andnonnegative

Given that the sine function is odd and cosine is even and119883(0) = 119884(0) = 0 it can be easily seen that both terms inthe definition of 119860(120573) are odd thus 119860(120573) itself is odd as wellSimilarly both terms in 119861(120573) are even thus 119861(120573) itself is evenas well

Property C3 In the range 120573 isin [minus120587 120587]119861(120573) is positive exceptat 120573 = 0 where it has zero valueProof Let us see the sign of terms of 119861(120573) in different subsetsof range 120573 isin [minus120587 120587] as listed in Table 2 It can be seen that119861(120573) is a sum of positive or zero-valued terms Only119883(120573) andsin120573 can be negative but in all such cases the product of themis positive or zero The table shows that119861 (120573) = 0 lArrrArr 120573 = 0 (C8)119861 (120573) gt 0 lArrrArr 120573 = 0 (C9)

Property C4 119863(120573 120595) has the following specific values119863(120573 0) = 119861 (120573) (C10)119863(minus120573 120573) = 119863 (120573 minus120573) = minus119861 (120573) (C11)

Proof (C10) can be verified easily by substituting 120595 = 0into (C4) Before looking at the second equation let usreformulate the definition of119863(120573) as follows119863(120573 120595) = 119883 (120573) (sin120595 + sin (120573 + 120595))+ 119884 (120573) (cos120595 minus cos (120573 + 120595)) (C12)

We used here the definitions of 119860(120573) and 119861(120573) and trigono-metric addition rules In both cases of (C11) we get119863(minus120573 120573) = 119863 (120573 minus120573)= minus119883 (120573) sin120573 + 119884 (120573) (cos120573 minus 1) (C13)

which is obviously equal to minus119861(120573)Property C5 The function 119863(120573 120595) has zeros only at 120573 = 0and 120573 = minus2120595 + 2120587119896 119896 isin Z in the range 120573 isin [minus120587 120587]Proof The first condition for 119863(120573 120595) being zero was alreadystated by Property C1 The second condition can be verifiedeasily by substitution to (C12) Furthermore we have tocheck whether 119863(120573 120595) has zeros elsewhere Let us assumethat 120573 = 0 and 120573 = minus2120595 + 2120587119896 but 119863(120573 120595) = 0 In thiscase the following equality would be true119883(120573) (sin120595 + sin (120573 + 120595))= minus119884 (120573) (cos120595 minus cos (120573 + 120595)) (C14)

Let us introduce a new variable120572 fl 120573 + 2120595 minus 2120587119896 = 0 (C15)

according to our assumption 120573 = minus2120595 + 2120587119896 Aftersubstituting 120595 = 1205722 minus 1205732 + 120587119896 into (C14) we get119883(120573) [sin(1205722 minus 1205732 + 120587119896) + sin(1205722 + 1205732 + 120587119896)]= minus119884 (120573)sdot [cos(1205722 minus 1205732 + 120587119896) minus cos(1205722 + 1205732 + 120587119896)] (C16)

By applying trigonometric addition rules we can reformulateit 119883(120573) sdot2 sin(1205722 + 120587119896) sdot cos 1205732= minus119884 (120573) sdot2 sin(1205722 + 120587119896) sdot sin 1205732 (C17)

The 2 sin(1205722 + 120587119896) terms can be canceled because they arenonzero according to (C15)The equality should hold for thesigns as well

sgn (119883 (120573)) sgn(cos1205732)= minus sgn (119884 (120573)) sgn(sin1205732) (C18)

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 25: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 25

which evaluates to

sgn (120573) = minus sgn (120573) if 120573 isin (minus120587 120587) 00 = 1 if 120573 = minus1205870 = minus1 if 120573 = 120587 (C19)

Because all of these are contradictions the assumption that119863(120573 120595) has zeros elsewhere than 120573 = 0 and 120573 = minus2120595 + 2120587119896was wrong

Property C6 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof First let us see the case 120595 = 0 Using (C7) and (C10)we get 119866 (120573 0) = 2119861 (120573) (C20)

According to (C9) we can state that 119866(120573 = 0 120595 = 0) = 0We can check this for 120595 = 0 as well For example let us

choose 120595 = minus120573 Using (C7) and (C11) we arrive at119866 (120573 minus120573) = minus119861 (120573) (C21)

Because 120573 = minus120595 = 0 based on (C9) we can state again thatin case of 120595 = 0 a 120573 can be found such that 119866(120573 120595) = 0Property C7 In the range 120573 isin [minus120587 120587] and 120595 isin [minus120587 120587] forall 120595 there exists 120573 such that 119866(120573 120595) = 0Proof Let us look again at the case 120595 = 0 first Based on(C20) and (C8) we can state that 119866(0 0) = 0

In the case 120595 = 0 let us examine two specific values for 120573(i) If 120573 = 0 then using (C7) and Properties C1 and C3

we get 119866 (0 120595) = 119861 (120595) gt 0 (C22)

(ii) If 120573 = minus120595 then using (C7) and (C11) andProperty C3 we get119866 (0 120595) = minus119861 (120595) lt 0 (C23)

It follows that for all 120595 there exists a 120573 isin (minus120595 0) such that119866(120573 120595) = 0Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work is connected to the scientific program of theldquoDevelopment of Quality-Oriented and Harmonized R + D+ I Strategy and Functional Model at BMErdquo project Thisproject is supported by the New Szechenyi Plan (Project IDTAMOP-421B-091KMR-2010-0002)

References

[1] J Latombe Robot Motion Planning Kluwer Academic Publish-ers Boston Mass USA 1991

[2] J-P Laumond Robot motion planning and control vol 229 ofLecture Notes in Control and Information Sciences SpringerLondon UK 1998

[3] SM LaVallePlanningAlgorithms CambridgeUniversity Press2006 httpplanningcsuiucedu

[4] J Rigelsford ldquoIntroduction to Autonomous Mobile Ro-bots20043R Siegwart and IR Nourbakhsh rdquo Industrial RobotAn International Journal vol 31 no 6 pp 534-535 2004

[5] D Gonzalez J Perez V Milanes and F Nashashibi ldquoA Reviewof Motion Planning Techniques for Automated Vehiclesrdquo IEEETransactions on Intelligent Transportation Systems vol 17 no 4pp 1135ndash1145 2016

[6] S M LaValle ldquoSampling-based motion planningrdquo in PlanningAlgorithms CambridgeUniversity Press Cambridge UK 2006httpplanningcsuiucedu

[7] L E Kavraki P Svestka J-C Latombe and M H OvermarsldquoProbabilistic roadmaps for path planning in high-dimensionalconfiguration spacesrdquo IEEE Transactions on Robotics andAutomation vol 12 no 4 pp 566ndash580 1996

[8] S M LaValle ldquoRapidly-exploring random trees A new toolfor path planningrdquo Technical Report Computer Science DeptIowa State University 1998

[9] J J Kuffner Jr and S M la Valle ldquoRRT-connect an efficientapproach to single-query path planningrdquo in Proceedings of theIEEE International Conference on Robotics and Automation pp995ndash1001 April 2000

[10] S M LaValle and J J Kuffner Jr ldquoRandomized kinodynamicplanningrdquo International Journal of Robotics Research vol 20 no5 pp 378ndash400 2001

[11] J-P Laumond P E Jacobs M Taıx and R M MurrayldquoA Motion Planner for Nonholonomic Mobile Robotsrdquo IEEETransactions on Robotics and Automation vol 10 no 5 pp 577ndash593 1994

[12] J P Laumond S Sekhavat and F Lamiraux ldquoGuidelines innonholonomic motion planning for mobile robotsrdquo in Robotmotion planning and control vol 229 of Lect Notes Control InfSci pp 1ndash53 Springer London UK 1998

[13] G Lafferriere and H Sussmann ldquoMotion planning for con-trollable systems without driftrdquo in Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation pp 1148ndash1153 April 1991

[14] R M Murray and S S Sastry ldquoNonholonomic motion plan-ning steering using sinusoidsrdquo Institute of Electrical and Elec-tronics Engineers Transactions onAutomatic Control vol 38 no5 pp 700ndash716 1993

[15] S Sekhavat and J-P Laumond ldquoTopological property forcollision-free nonholonomic motion planning the case ofsinusoidal inputs for chained form systemsrdquo IEEE Transactionson Robotics and Automation vol 14 no 5 pp 671ndash680 1998

[16] D Tilbury R M Murray and S S Sastry ldquoTrajectory gener-ation for the 119899-trailer problem using Goursat normal formrdquoInstitute of Electrical and Electronics Engineers Transactions onAutomatic Control vol 40 no 5 pp 802ndash819 1995

[17] M Fliess J Levine P Martin and P Rouchon ldquoFlatnessand defect of non-linear systems introductory theory andexamplesrdquo International Journal of Control vol 61 no 6 pp1327ndash1361 1995

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 26: Autonomous Path Planning for Road Vehicles in Narrow ...

26 Journal of Advanced Transportation

[18] P RouchonM Fliess J Levine andPMartin ldquoFlatnessmotionplanning and trailer systemsrdquo in Proceedings of the 32nd IEEEConference on Decision and Control pp 2700ndash2705 IEEE SanAntonio Tex USA December 1993

[19] S Sekhavat F Lamiraux J P Laumond G Bauzil and AFerrand ldquoMotion planning and control for Hilare pulling atrailer Experimental issuesrdquo in Proceedings of the 1997 IEEEInternational Conference on Robotics and Automation ICRAPart 4 (of 4) pp 3306ndash3311 April 1997

[20] F Lamiraux and J-P Laumond ldquoFlatness and small-time con-trollability of multibody mobile robots application to motionplanningrdquo Institute of Electrical andElectronics Engineers Trans-actions on Automatic Control vol 45 no 10 pp 1878ndash18812000

[21] F Lamiraux and J-P Laumond ldquoSmooth motion planning forcar-like vehiclesrdquo IEEE Transactions on Robotics and Automa-tion vol 17 no 4 pp 498ndash502 2001

[22] C P Tang P T Miller V N Krovi J Ryu and S K AgrawalldquoKinematic control of nonholonomic wheeled mobile manip-ulator a differential flatness approachrdquo in Proceedings of theASME 2008 Dynamic Systems and Control Conference pp 1117ndash1124 Ann Arbor Mich USA 2008

[23] C P Tang ldquoDifferential flatness-based kinematic and dynamiccontrol of a differentially driven wheeled mobile robotrdquo in Pro-ceedings of the 2009 IEEE International Conference on Roboticsand Biomimetics ROBIO 2009 pp 2267ndash2272 December 2009

[24] C P Tang P T Miller V N Krovi J-C Ryu and S KAgrawal ldquoDifferential-flatness-based planning and control ofa wheeled mobile manipulator-theory and experimentrdquo IEEEASME Transactions onMechatronics vol 16 no 4 pp 768ndash7732011

[25] C Fernandes L Gurvits andZ X Li ldquoA variational approach tooptimal nonholonomic motion planningrdquo in Proceedings of the1991 IEEE International Conference on Robotics andAutomationpp 680ndash685 April 1991

[26] L E Dubins ldquoOn curves of minimal length with a constrainton average curvature and with prescribed initial and terminalpositions and tangentsrdquo The American Journal of Mathematicsvol 79 no 3 pp 497ndash516 1957

[27] J A Reeds and L A Shepp ldquoOptimal paths for a car that goesboth forwards and backwardsrdquo Pacific Journal of Mathematicsvol 145 no 2 pp 367ndash393 1990

[28] H J Sussmann andG Tang ldquoShortest paths for the reeds-sheppcar A worked out example of the use of geometric techniquesin nonlinear optimal controlrdquo Technical Report SYCON-91-10 Department of Mathematics Rutgers University September1991

[29] P Soueres and J-P Laumond ldquoShortest paths synthesis for acar-like robotrdquo Institute of Electrical and Electronics EngineersTransactions on Automatic Control vol 41 no 5 pp 672ndash6881996

[30] P Robuffo Giordano M Vendittelli J-P Laumond and PSoueres ldquoNonholonomic distance to polygonal obstacles fora car-like robot of polygonal shaperdquo IEEE Transactions onRobotics vol 22 no 5 pp 1040ndash1047 2006

[31] T Fraichard and A Scheuer ldquoFrom Reeds and Shepprsquos tocontinuous-curvature pathsrdquo IEEE Transactions on Roboticsvol 20 no 6 pp 1025ndash1035 2004

[32] D J Walton and D S Meek ldquoA controlled clothoid splinerdquoComputers and Graphics (Pergamon) vol 29 no 3 pp 353ndash3632005

[33] A Piazzi C G Lo Bianco M Bertozzi A Fascioli and ABroggi ldquoQuintic G2-splines for the iterative steering of vision-based autonomous vehiclesrdquo IEEE Transactions on IntelligentTransportation Systems vol 3 no 1 pp 27ndash36 2002

[34] S Glaser B Vanholme S Mammar D Gruyer and L Nou-veliere ldquoManeuver-based trajectory planning for highly auton-omous vehicles on real road with traffic and driver interactionrdquoIEEE Transactions on Intelligent Transportation Systems vol 11no 3 pp 589ndash606 2010

[35] J-W Lee and B Litkouhi ldquoA unified framework of the auto-mated lane centeringchanging control for motion smoothnessadaptationrdquo in Proceedings of the 2012 15th International IEEEConference on Intelligent Transportation Systems ITSC 2012 pp282ndash287 September 2012

[36] L Z Wang K T Miura E Nakamae T Yamamoto and TJ Wang ldquoAn approximation approach of the clothoid curvedefined in the interval [0 1205872] and its offset by free-formcurvesrdquo CAD Computer Aided Design vol 33 no 14 pp 1049ndash1058 2001

[37] J Sanchez-Reyes and JM Chacon ldquoPolynomial approximationto clothoids via s-power seriesrdquo CAD Computer Aided Designvol 35 no 14 pp 1305ndash1313 2003

[38] T Berglund A Brodnik H Jonsson M Staffanson and ISoderkvist ldquoPlanning smooth and obstacle-avoiding B-splinepaths for autonomous mining vehiclesrdquo IEEE Transactions onAutomation Science and Engineering vol 7 no 1 pp 167ndash1722010

[39] K Lee D Kim W Chung H W Chang and P Yoon ldquoCarparking control using a trajectory tracking controllerrdquo in Pro-ceedings of the 2006 SICE-ICASE International Joint Conferencepp 2058ndash2063 October 2006

[40] D Kim W Chung and S Park ldquoPractical motion planningfor car-parking control in narrow environmentrdquo IET ControlTheory and Applications vol 4 no 1 pp 129ndash139 2010

[41] B Muller J Deutscher and S Grodde ldquoContinuous curvaturetrajectory design and feedforward control for parking a carrdquoIEEE Transactions on Control Systems Technology vol 15 no 3pp 541ndash553 2007

[42] B Mirtich and J Canny ldquoUsing skeletons for nonholonomicpath planning among obstaclesrdquo in Proceedings of the 1992 IEEEInternational Conference on Robotics and Automation pp 2533ndash2540 May 1992

[43] P Zips M Bock and A Kugi ldquoOptimisation based pathplanning for car parking in narrow environmentsrdquo Robotics andAutonomous Systems 2015

[44] A Yershova L Jaillet T Simeon and S M LaValle ldquoDynamic-domain RRTs efficient exploration by controlling the samplingdomainrdquo in Proceedings of the IEEE International Conferenceon Robotics and Automation pp 3856ndash3861 Barcelona SpainApril 2005

[45] D Kiss and D Papp ldquoEffective navigation in narrow areasA planning method for autonomous carsrdquo in Proceedingsof the 2017 IEEE 15th International Symposium on AppliedMachine Intelligence and Informatics (SAMI) pp 000423ndash000430 Herlrsquoany Slovakia January 2017

[46] D Kiss and G Tevesz ldquoA steering method for the kinematiccar using CCS pathsrdquo in Proceedings of the 15th InternationalCarpathian Control Conference ICCC 2014 pp 227ndash232 May2014

[47] A Nagy G Csorvasi and D Kiss ldquoPath planning and controlof differential and car-like robots in narrow environmentsrdquo in

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 27: Autonomous Path Planning for Road Vehicles in Narrow ...

Journal of Advanced Transportation 27

Proceedings of the 13th IEEE International SymposiumonAppliedMachine Intelligence and Informatics SAMI 2015 pp 103ndash108January 2015

[48] G Csorvasi A Nagy and D Kiss ldquoRTR+ClowastCS An effectivegeometric planner for car-like robotsrdquo in Proceedings of the 201516th IEEE International Carpathian Control Conference ICCC2015 pp 85ndash90 May 2015

[49] D Kiss G Csorvasi and A Nagy ldquoA planningmethod to obtaingood quality paths for autonomous carsrdquo in Proceedings of the4th Eastern European Regional Conference on the Engineering ofComputer-Based Systems ECBS-EERC 2015 pp 104ndash110 August2015

[50] D K Wilde ldquoComputing clothoid segments for trajectorygenerationrdquo in Proceedings of the 2009 IEEERSJ InternationalConference on Intelligent Robots and Systems IROS 2009 pp2440ndash2445 October 2009

[51] J-D Boissonmat A Cerezo and J Leblond ldquoA note on shortestpaths in the plane subject to a constraint on the derivative of thecurvaturerdquo Technical Report RR-2160 Inst Nat de Rechercheen Informatique en Automatique 1994

[52] S Pandi F H P Fitzek C Lehmann et al ldquoJoint design ofcommunication and control for connected cars in 5G commu-nication systemsrdquo in Proceedings of the 2016 IEEE GlobecomWorkshops GC Wkshps 2016 December 2016

[53] H Charaf G Harsanyi A Poppe et al ldquoBME VIK annualresearch report on electrical engineering and computer science2016rdquo Periodica Polytechnica Electrical Engineering and Com-puter Science vol 61 no 2 pp 83ndash115 2017

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 28: Autonomous Path Planning for Road Vehicles in Narrow ...

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal of

Volume 201

Submit your manuscripts athttpswwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 201

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of