Perpendicular Parking of Car-Like Robots Allowing a Cusp on the Path

This paper introduces the perpendicular parking algorithm of car-like robots, such that the generated path consists of a cusp. This path planning is based on the car’s turning radii, which can be determined by the car’s geometry and its maximum steering angle. As far as we know, this paper is novel in developing autonomous perpendicular parking based on circular arc and straight line segments, such that a cusp on the generated path is allowed. Since a cusp is allowed, the proposed parking approach is suitable for parking in a small space. The simulation results show the validity of the proposed approach.


I. INTRODUCTION
Even for experienced drivers, parking can be a difficult task, especially in the case where parking spots are very narrow.The research effort in autonomous parking has result in an extensive literature [1]- [7].The automobile industry has already started producing several cars with parking assistants which can actively control acceleration, breaking and steering, the research interest in the automated parking is still strong.
Autonomous vehicles must perform several tasks simultaneously, such as lane following while avoiding collision [8]- [12] or autonomous parking [5]- [7], [13]- [17].Since an autonomous car must perform various tasks simultaneously, it is highly desirable that a car performs a task using a minimal computational load.This requirement for low computational load inspired us to develop a path planning method which is computationally efficient.
Many papers [5]- [7], [13]- [17] considered autonomous parallel parking.Perpendicular parking was handled in several papers, such as [2]- [4], [18], [19].The path planning method in [2] does not work for an arbitrary initial position.In [3], [4], a constrained optimization is utilized to generate a path without collision.Here, constraints include collisionfree condition and mechanical constraints.In [3], weighting The associate editor coordinating the review of this manuscript and approving it for publication was Xiwang Dong.parameters must be selected carefully to achieve a safe parking obeying the constraints.
When a human tries to park a car in a small parking spot, he or she drives the car back and forth to generate a path with a cusp.However, planning approaches in [3], [18] considered feedback steering controls for perpendicular reverse parking in a single maneuver.References [3], [18] cannot generate a path with a cusp, which may restrict the car's motion in a small parking space.
Reference [20] solved the path planning problem when the car cannot reverse and cusps are not allowed.Reference [20] gives a sufficient set of paths, i.e., a set which always contains an optimal path.Reference [20] showed that any optimal path can be described by one of 6 words: LRL, LSR, RLR, RSR, RSL, LSL, where L, R, and S stand for ''go left'', ''go right'', and ''go straight'', respectively.Here, ''left'' and ''right'' mean counter-clockwise or clockwise around a tightest possible circle, and of course a car always goes less than 2π around any circle.L or R is an arc of a circle, and S is a straight line segment.A word, such as LSL, stands for the corresponding class of paths consist of an arc or a straight line segment.Each character in a word is called the motion.Reference [20] showed that any optimal path can be described by a word with three motions.
We acknowledge that the steering wheel can be turned to adjust the turning radius of the car.This implies that the turning radius of the car does not have to be fixed.However, this adjustable turning radius makes the path planning much more complicated, since the search space for path planning increases considerably.By fixing the turning radius, the path of the car is composed of circular arc and straight line segments.Thus, planning problem becomes simple and intuitive.
Similarly to ours, the authors of [13] fixed the turning radius to enable the path planning for autonomous parallel parking.However, [13] is tailored for parallel parking and cannot be extended to perpendicular parking.The method presented in this paper is a geometric path planning method specifically tailored for perpendicular parking.
In [19], rapid-exploring random tree (RRT) algorithms were used to generate a safe path to the parking space.However, RRT algorithms generate random samples to build a path and does not generate the optimal path as long as the number of samples does not go to infinity.In [19], a start tree is generated having the car's initial position as its root, and a goal tree is generated having the goal position as its root.The start tree is related to the forward maneuver of the car, and the goal tree is related to the backward maneuver of the car.Then, a bidirectional RRT tree is generated as a union of the two trees.A single cusp appears at the point where the two trees meet, since the start tree and the goal tree are related to forward and backward maneuvers respectively.
This paper introduces the perpendicular parking algorithm of car-like robots, such that the generated path consists of a cusp.Inspired by [20], our approach uses a word to generate a path consist of arcs and straight line segments.We generate a path with multiple motion segments.This path planning is based on the car's minimum turning radii, which can be determined by the car's geometry and its maximum steering angle.
As far as we know, this paper is novel in developing autonomous perpendicular parking based on circular arc and straight line segments, such that a cusp on the generated path is allowed.Since a cusp is allowed, the proposed parking approach is suitable for parking in a small space. 1 We compare the proposed approach with [19] to verify the effectiveness of our approach.
The paper is organized as follows: Section II discusses definitions and assumptions related to our paper.Section III introduces our path planning for autonomous perpendicular parking.Section IV is devoted to steering and speed controls to follow the generated path.Section V introduces MATLAB simulations to verify our path plan method.Section VI provides conclusions.

II. DEFINITIONS AND ASSUMPTIONS
This paper assumes that obstacle environments are known a priori.However, in a real situation, it is not easy to sense the correct position of the obstacles.Reference [3] proposed the sensing algorithm to generate obstacle information using multiple sensors (GPS, lidar, or radar).The empty parking place can be extracted using the approach in [21].Thus, the goal of this paper is to generate a safe path to the parking space using the obstacle information, which is accessible using multiple sensors.Once a safe path is generated, then steering and speed are controlled to make the car follow the generated path.
We briefly introduce the sensing algorithm in [3] to generate obstacle information using multiple sensors (GPS, lidar, or radar).Suppose that the car is equipped laser sensors.The complete point cloud on close obstacles is obtained from the sensors.Then, an Euclidean Cluster Extraction algorithm is used to have each obstacle represented as a cluster.The orientation of each cluster is extracted by fitting a line model to the points belonging to the contour of the cluster using a RANSAC algorithm.The orientation of the bounding box will be equal to the orientation of the fitter line.
Without loss of generality, this paper considers a front wheel drive vehicle.The kinematic model of a car with front-wheel steering (non-holonomic system) is described as follows.
Here, X = (x, y, θ) T , x and y are the Cartesian coordinates of the midpoint of the rear wheel axle.θ is the orientation angle of the car.v is the speed of the car.φ is the steering angle, and L is the wheel base (distance between the front and rear wheel axles).The steering φ and the speed v are control commands which drive the vehicle.F indicates whether the car moves forwards or backwards.If the car moves forwards, then we set F = 1.Otherwise, we set F = −1.
Inspired by [13], this paper presents how to plan the car's path which is followed by the midpoint of the rear axle.Reference [22] tackled a path planning problem when the car can reverse and cusps are allowed.Inspired by [22], the movement of the car-like car is composed of the following six motions L + , L − , R + , R − , S + , S − .Here, L + indicates turning to the left while going forwards, and L − indicates turning to the left while going backwards.R + indicates turning to the right while going forwards, and R − indicates turning to the right while going backwards.S + indicates going straight forwards, and } is an arc of a tightest possible circle, and a motion in {S + , S − } is a line segment.Let r denote the radius of a tightest possible circle which is associated to a motion in {L + , L − , R + , R − }. r is set by the geometry of the car [13].r = L tan(β) where L is the wheelbase, and β is the maximum steering angle [13].As we increase the steering angle β, the turning radii decreases.
We handle the case where the parking space is to the right of the car.The case where the parking space is to the left of the car can also be handled similarly to the case presented in this paper.Our constraint is that the car is perpendicular to the parking space initially.This is what a driver usually does to perform perpendicular parking.
We make the car move backwards while entering the parking space.This backward parking is what a driver usually does to perform perpendicular parking in a narrow parking space.It is worth to note that parking maneuvers with forward motions are seldom considered in the literature [3].This backward parking maneuver is desirable considering the fact that once the parking is done, the driver can easily pull the car out of the parking space by just moving forwards.
Our goal is to search for a word, such that the word makes the perpendicular parking possible.We derive a word which starts from S + and ends at S − .This implies that the car moves straight forwards initially, and it moves straight backwards lastly.
InitP denotes the initial position of the car.Also, GoalP denotes the goal position of the car.The line segment associated to S + intersects InitP, and the line segment associated to S − intersects GoalP.These two line segments intersect at one point, say InterP.See Fig. 1.In this figure, the arrow direction indicates the movement direction of the car.Also, obstacles on both sides of the parking space are illustrated with two rectangles.Consider an infinite ray which is associated to S + , such that the ray starts from InterP.Let InfP denote a point on the infinite ray, such that the point is infinitely far from InterP.Let Ray(InterP, InfP) denote the ray.A(InitP, InterP, InfP) is an angle of Ln(InterP, InitP) measured counter-clockwise from Ray(InterP, InfP).Here, Ln(InterP, InitP) denotes the line segment whose two end points are InterP and InitP respectively.In Fig. 1, A(InitP, InterP, InfP) is 180 degrees.

III. PERPENDICULAR PARKING
We first check if a safe path can be found by setting A(InitP, InterP, InfP) as 180 degrees.See Section III-A.
If we cannot find a safe path by setting A(InitP, InterP, InfP) as 180 degrees, then we search for a safe path while decreasing A(InitP, InterP, InfP) gradually.In our MATLAB simulations, we decrease A(InitP, InterP, InfP) by 10 degrees at each iteration.See Section III-B.
Suppose that we cannot find a safe path while A(InitP, InterP, InfP) decreases to 90 degrees.In this case, we search for a safe path while setting A(InitP, InterP, InfP) as 90 degrees.See Section III-B.1.

A. A(INITP,INTERP,INFP) IS 180 DEGREES
Consider the case where A(InitP, InterP, InfP) is 180 degrees.A short word to perform perpendicular parking is as follows:S + R − S − .
The car is perpendicular to the parking space initially.Thus, utilizing S + , the car moves perpendicular to the parking space.Since the parking space is to the right of the car, R − is required for parking while going backwards.
We present how to derive an arc path associated to R − .We draw a circle with radius r, such that the circle is tangential to both Ray(InterP, InfP) and Ln(InterP, GoalP).
Here, Ln(InterP, GoalP) is the line segment whose two end points are InterP and GoalP respectively.See Fig. 2. In this figure, the dotted circle indicates the circle which is tangential to both Ray(InterP, InfP) and Ln(InterP, GoalP).An arc of this circle is utilized as an arc path associated to R − .Ray(InterP, InfP) is tangential to an arc path associated to R − at a point, say TangentP.
There may be a case where R − maneuver in S + R − S − makes the car collide with an obstacle next to the parking space.See Fig. 3.In this figure, an arc of the dotted circle is utilized as an arc path associated to R − .See that this arc path leads to collision.

B. A(INITP,INTERP,INFP) IS LESS THAN 180 DEGREES
If R − maneuver in S + R − S − makes the car collide, then we search for a safe path while decreasing A(InitP, InterP, InfP) gradually.We decrease A(InitP, InterP, InfP) by changing the position of InfP.
Fig. 3 shows the initial position of InfP.While fixing both Ln(InterP, InitP) and InterP, we gradually change the position of InfP so that A(InitP, InterP, InfP) gradually decreases to 90 degrees.In our MATLAB simulations, we change the position of InfP so that A(InitP, InterP, InfP) decreases by 10 degrees at each iteration.Recall that an arc path associated to R − is generated by drawing a circle with radius r, such that the circle is tangential to both Ray(InterP, InfP) and Ln(InterP, GoalP).
We present how to determine whether the path planning leads to collision at each iteration.We draw an arc path associated to the car's edge and check whether the arc meets an obstacle boundary.In the previous paragraph, we considered a circle with radius r, such that the circle is tangential to both Ray(InterP, InfP) and Ln(InterP, GoalP).Let Center denote the center of the circle.Also, w is the width of the car.We draw a circle with radius r − w/2, such that the circle's center is Center.The arc of this circle is utilized as an arc path associated to the car's edge.
See Fig. 4 for an illustration.In this figure, B is utilized as an arc associated to the car's edge.In the case where B meets an obstacle boundary, the path planning at this iteration leads to collision.Thus, we need to change the position of InfP so that A(InitP, InterP, InfP) decreases at the next iteration.
FIGURE B utilized as an arc path associated to the car's edge.In the case where B meets an obstacle boundary, the path planning at this iteration leads to collision.
While A(InitP, InterP, InfP) decreases, we search for a moment when an arc path associated to R − does not result in collision.In other words, we search for the case where B does not meet an obstacle.See Fig. 5 for an illustration of the case where an arc path associated to R − does not result in collision.In this figure, A(InitP, InterP, InfP) is 150 degrees.
Consider the case where A(InitP, InterP, InfP) is less than 180 degrees.In this case, the car cannot move along the path composed of Ln(InitP, InterP) and Ln(InterP, TangentP), due to the maximum turn rate of the car.We thus need to smooth the path so that the car can traverse the path smoothly.We next present how to smooth the path composed of Ln(InitP, InterP) and Ln(InterP, TangentP).We draw a circle with radius r, such that the circle is tangential to both Ln(InitP, InterP) and Ln(InterP, TangentP).Let t 1 denote a point on Ln(InitP, InterP), at which point the tangential circle intersects Ln(InitP, InterP).Let t 2 denote a point on Ln(InterP, TangentP), at which point the tangential circle intersects Ln(InterP, TangentP).
In Fig. 5, the tangential circle is illustrated with a dashed circle.In this figure, an arc of the dashed circle is utilized as an arc path associated to L + .
The car starts from InitP and moves along Ln(InitP, t 1 ), which is associated to S + .Then, it moves along an arc path associated to L + .Thereafter, it moves along Ln(t 2 , TangentP), which is associated to S + .Next, it traverses an arc path associated to R − .Finally, it moves backwards to reach GoalP (S − ).The word for these movements is S + L + S + R − S − .
Suppose that A(InitP, InterP, InfP) decreases to 90 degrees.In this case, we search for a safe path to avoid collision utilizing the following word:S + L + S − .This word implies that we make the car turn left so that it does not collide with an obstacle as it moves backwards later.
See Fig. 6 for an illustration of the case where we use S + L + S − for parking maneuver.In this case, Ray(InterP, InfP) and Ln(InterP, GoalP) are parallel to each other.See that A(InitP, InterP, InfP) is 90 degrees.
We draw a circle with radius r, such that the circle is tangential to Ln(InitP, InterP) and Ray(InterP, InfP).Let t 1 denote a point on Ln(InitP, InterP), at which point the tangential circle intersects Ln(InitP, InterP).Let t 2 denote a point on Ray(InterP, InfP), at which point the tangential circle intersects Ray(InterP, InfP).
In Fig. 6, the tangential circle is illustrated with a dashed circle.In this figure, an arc of the dashed circle is utilized as an arc path associated to L + .
The car starts from InitP and moves along Ln(InitP, t 1 ), which is associated to S + .Then, it moves along an arc path associated to L + .Thereafter, it moves backwards along Ln(t 2 , GoalP), which is associated to S − .See Fig. 6 for an illustration.
There may be a situation where the tangential point t 1 appears behind the car initially.In this case, the car which is at InitP needs to move backwards to reach t 1 .This backward maneuver is associated to S − not to S + .Once the car reaches t 1 , then it moves along the arc of the tangential circle until it reaches t 2 .This maneuver is associated to l + .Then, it moves backwards to reach the goal point.This maneuver is associated to S − .In summary, the car moves according to S − l + S − maneuver.Thus, we generate the path (S + l + S − or S − l + S − ) connecting InitP, t 1 , t 2 , GoalP in this order.

IV. SPEED AND STEERING CONTROLS TO FOLLOW THE GENERATED PATH
This section presents how to set speed and steering controls to follow the generated path.The generated path is composed of straight segments and circular arcs of minimal radius.
A circular arc can be followed by making the car turn with the maximum steering angle.This implies that whenever the car is on a circular arc, we set the steering of the car as the maximum steering angle.
A simple approach to make a car move along a straight segment is to set the steering of the car as zero.However, this open loop approach cannot assure that the car tracks the segment.In this paper, a straight segment is followed by making the car move towards the end point of the segment.Thus, we use the following feedback control approach to make the car track a straight segment.Let (x s , y s ) denote the end point of a straight segment.The heading of the car must head towards (x s , y s ).Thus, the desired heading of the car is ). ( 4) Then, we use the steering command as Here, C 1 and C 2 are positive constants.This control implies that in the case where e θ 2 > 0, we set the steering control as φ > 0. Also, in the case where e θ 2 < 0, we set the steering control as φ < 0. In simulations, we set C 2 as π/180.This implies that φ in ( 5) is bounded above by π/180, which is associated to 1 degree.The speed of the car is controlled so that whenever the car finishes moving along a segment (a straight segment or a circular arc), it stops at the end of the segment.
Recall that v denotes the speed of the car.Also, a m denotes the maximum acceleration of the car.The required time interval to decrease the car's speed from v to 0 is Using (6), the traversal distance of the car as it decreases its speed from v to 0 is Suppose that the car is at one end point of a segment.Also, suppose that the length of the segment is L S .Let L t denote the traversal distance of the car along the segment.As the car travels the segment, L t gradually increases from 0 to L S .
In the case where L S − L t > D, we set the speed command of the car as v max .In the case where L S − L t ≤ D, we set the speed command of the car as 0. In this way, the speed of the car is controlled so that whenever the car finishes moving along a segment (a straight segment or a circular arc), it stops at the end of the segment.
Note that the speed command is not continuous, since it is selected between 0 and v max .However, the car's speed changes continuously so that the car can stop at the end of a segment.
We consider discrete-time systems.Let V k ∈ {0, v max } denote the speed command at time step k.Also, let dt denote the sampling interval.Let v k denote the speed of the car at time step k.We update v k using the following rule: Here, sign(V k −v k ) indicates the sign of V k −v k .Also, v max is set as the upper bound for v k+1 so that v k+1 cannot be bigger than v max .Moreover, 0 is set as the lower bound for v k+1 so that v k+1 cannot be smaller than 0.

V. MATLAB SIMULATIONS
In this section, we use MATLAB simulations to verify our autonomous parking method.The proposed approach is to decrease A(InitP, InterP, InfP) gradually until it becomes 90 degrees.At each iteration, A(InitP, InterP, InfP) decreases by 10 degrees.The simulation settings are as follows.GoalP is (2,-1) in meters.The car length is 3 meters.β = π/6.The wheelbase (distance between the front and rear wheel axles) is 2.2 meters.r = 2.2/tan(π/6) meters, and the car width is w = 2.5 meters.C 1 = 0.001, and C 2 = π/180.
We compare the proposed approach with [19] to verify the effectiveness of our approach.Under the RRT planner in [19], one cusp appears at the point where the start tree and the goal tree meet, since the start tree and the goal tree are related to forward and backward maneuvers respectively.
RRT planner [19] results in a fragmental path, which needs to be smoothed to make the car follow the path.Smoothing of a path is presented in the literature [23], [24].In this paper, we do not present the smoothed path, since smoothing of the RRT path is not within the scope of the paper.We only present the fragmental path which is generated by the RRT planner in [19].
The RRT planner in [19] stops when the number of randomly generated nodes reaches 50.If a path is not generated until 50 nodes are deployed, then we reset the path planner.The neighbor of a node, say n, is a node whose distance from n is less than 3 meters.
In the RRT planner, nodes are randomly deployed in the workspace to generate a path to the goal.For fair comparison with our approach, we performed 20 Monte-Carlo simulations and calculate the average path length and its variance.Also, we derive average computation time for path planning methods.
In simulation figures, obstacles are illustrated with rectangles.The red curve indicates the path generated utilizing our algorithms.Also, the trajectory of the car is depicted with green circles.The boundary of the car is illustrated with a blue box in simulation figures.
We first simulate the case where InitP is (−5,5), as depicted in Fig. 7.In this case, perpendicular parking utilizing S + R − S − does not result in collision.See that our approach can handle the case where a car parks in a small parking space.
The average computational time to simulate one Monte-Carlo in Fig. 7 is 0.08 seconds using MATLAB.Moreover, it is safe to assume that the use of a compiled language (such as C++) would lead to faster computations than the interpreted MATLAB language.The average path length is 18 meters and its variance is zero, since there is no random generation in our method.FIGURE 7. We simulate the case where InitP is (−5,5).In this case, perpendicular parking utilizing S + R − S − does not result in collision.The average computational time to simulate one Monte-Carlo in Fig. 7 is 0.08 seconds using MATLAB.The average path length is 18 meters and its variance is zero.

FIGURE 9.
We test the RRT planner in [19] using the environment in Fig. 7.The average path length is 22 meters and its variance is 22, since nodes are randomly generated in RRT methods.The average computational time to simulate one Monte-Carlo is 87 seconds using MATLAB.
Speed and steering controls associated to Fig. 7 are presented in Fig. 8. Whenever the car switches from one segment to another, it decreases its speed to zero.While the car's speed is zero, it changes its steering angle.
We next test the RRT planner in [19] using the environment in Fig. 7. Fig. 9 shows the generated path using one Monte-Carlo simulation.The average computational time to simulate one Monte-Carlo is 87 seconds using MATLAB.The average path length is 22 meters and its variance is 22, since nodes are randomly generated in RRT methods.See that the proposed method outperforms the RRT planner in [19].The proposed method runs much faster than the RRT planner in [19].We next simulate the case where InitP is (−5,3.5),as depicted in Fig. 10.In this case, perpendicular parking utilizing S + R − S − leads to collision.Thus, a safe path is found by decreasing A(InitP, InterP, InfP) gradually.A safe path is found at the first iteration, i.e., when A(InitP, InterP, InfP) = 170 degrees.The average computational time to simulate one Monte-Carlo in Fig. 10 is 0.1 seconds using MATLAB.The average path length is 16 meters and its variance is zero, since there is no random generation in our method.
Speed and steering controls associated to Fig. 10 are presented in Fig. 11.Whenever the car switches from one segment to another, it decreases its speed to zero.While the car's speed is zero, it changes its steering angle.
We next test the RRT planner in [19] using the environment in Fig. 10.Fig. 12 shows the generated path using one Monte-Carlo simulation.The average computational time to simulate one Monte-Carlo is 60 seconds using MATLAB.The average path length is 19 meters and its variance is 14, since nodes are deployed randomly in RRT methods.The proposed method runs much faster than the RRT planner in [19].See that the proposed method outperforms the RRT planner in [19].
We set up another obstacle environment.In simulation figures (Fig. 13), two obstacles on both sides of the parking space are illustrated with two polygons.We simulate the case where InitP is (−5,3.5).In this scenario, perpendicular parking utilizing S + R − S − leads to collision.Thus, we decrease A(InitP, InterP, InfP) gradually until it becomes 100 degrees.This implies that a safe path is found after 8 iterations.We test the RRT planner in [19] using the environment in Fig. 10.The average computational time to simulate one Monte-Carlo is 60 seconds using MATLAB.The average path length is 19 meters and its variance is 14, since nodes are deployed randomly in RRT methods.

FIGURE 13.
A safe path is found after 8 iterations.See that the car moves through a very narrow passage between two obstacles.The average computational time to simulate one Monte-Carlo in Fig. 13 is 0.2 seconds using MATLAB.The average path length is 16 meters and its variance is zero.See that the car moves through a very narrow passage between two obstacles.The average computational time to simulate one Monte-Carlo in Fig. 13 is 0.2 seconds using MATLAB.The average path length is 16 meters and its variance is zero, since there is no random generation in our method.
Speed and steering controls associated to Fig. 13 are presented in Fig. 14.Whenever the car switches from one segment to another, it decreases its speed to zero.While the car's speed is zero, it changes its steering angle.
We next test the RRT planner in [19] using the environment in Fig. 13.The RRT planner fails to find a safe path to the parking space due to irregular obstacles in the environment.

VI. CONCLUSION
This paper introduces the perpendicular parking algorithm of car-like robots, such that the generated path consists of a cusp.This path planning is based on the car's turning radii, which can be determined by the car's geometry and its maximum steering angle.
We compare the proposed approach with [19] to verify the effectiveness of our approach.We acknowledge that RRT methods in [19] have the advantage of providing general solutions, while the proposed method only works in perpendicular parking scenarios.As our future works, we will verify the effectiveness of our approach using a real car-like robot.
As far as we know, this paper is novel in developing autonomous perpendicular parking based on circular arc and straight line segments, such that a cusp on the generated path is allowed.Since a cusp is allowed, the proposed parking approach is suitable for parking in a small space.
In the case where there are many obstacles close to a parking space, it may be necessary to generate a path consisting of multiple cusps.As our future works, we will develop an algorithm to generate a path with multiple cusps.

FIGURE 1 .
FIGURE 1. Illustration.In this figure, the arrow direction indicates the movement direction of the car.Also, obstacles on both sides of the parking space are illustrated with two rectangles.

FIGURE 2 .FIGURE 3 .
FIGURE 2. Illustration.The dotted circle indicates the circle which is tangential to both Ray (InterP, InfP) and Ln(InterP, GoalP).An arc of this circle is utilized as an arc path associated to R − .

FIGURE 5 .
FIGURE 5.In this figure, an arc of the dashed circle is utilized an arc path associated to L + .

FIGURE 6 .
FIGURE 6. Illustration.In this figure, an arc of the dashed circle is utilized as an arc path associated to L + .The word for this parking maneuver is S + L + S − .

FIGURE 8 .
FIGURE 8. Speed and steering controls associated to Fig. 7.

FIGURE 10 .
FIGURE 10.We simulate the case where InitP is (−5,3.5).A safe path is found at the first iteration, i.e., when A(InitP, InterP, InfP) = 170 degrees.The average computational time to simulate one Monte-Carlo in Fig.10is 0.1 seconds using MATLAB.The average path length is 16 meters and its variance is zero.

FIGURE 11 .
FIGURE 11.Speed and steering controls associated to Fig. 10.

FIGURE 12 .
FIGURE 12.We test the RRT planner in[19] using the environment in Fig.10.The average computational time to simulate one Monte-Carlo is 60 seconds using MATLAB.The average path length is 19 meters and its variance is 14, since nodes are deployed randomly in RRT methods.

FIGURE 14 .
FIGURE 14. Speed and steering controls associated to Fig. 13.