Trajectory planning and tracking control for autonomous parallel parking of a non-holonomic vehicle

This paper proposes autonomous parallel parking for a front-wheel steering vehicle, with highlights on a trajectory planning method and on a trajectory tracking control method. The trajectory planning problem is decoupled into the path planning problem and the longitudinal velocity planning problem to reduce the difficulty of the trajectory planning problem. First, a collision-free path by combining circle arcs with straight line is created to park the vehicle in one or more maneuvers on the premise of meeting the kinematic constraint of vehicle, and then the path is transformed into a continuous-curvature path using B-spline curve. Second, the longitudinal velocity is created using B-spline curve on the premise of meeting the performance constraints of driving and braking system. To execute the generated trajectory, a non-time reference path tracking sliding mode control strategy is deduced by Lyapunov stability theory, and a longitudinal velocity tracking proportional–integral control strategy is proposed based on smooth handoff method. Finally, the parking performance is verified based on model-in-the-loop simulation system.


Introduction
Nowadays, the autonomous driving has become an increasingly significant theme for automotive industry. [1][2][3] The autonomous parking, which is a solution to solve the problem of ''parking difficulty'' for the inexperienced or unskilled drivers, is considered as a special topic in the autonomous driving. One major challenge of developing the autonomous parking comes from the fact that it has low computation cost and meets non-holonomic constraints of the vehicle. 4 For the challenge, numerous experts and scholars have been committed to research works of this topic and many different methods have been utilized.
These methods can be divided into two types: methods based on artificial intelligence technology and methods based on planning-tracking framework. Moran and Nagai 5 proposed a novel design method to achieve automatic parallel parking of vehicle using fuzzy-neural network with the vehicle pose and the steering wheel angle for input and output, respectively. Zhao and Collins 6 deduced a robust adaptive algorithm for automatic parallel parking in tight space by combining fuzzy logic system with genetic algorithm, which can tune the parameters of the fuzzy logic system adaptively. Ryu et al. 7 regarded the vehicle pose and the steering angle as input and output of fuzzy logic system, and presented a parallel parking algorithm based on the fuzzy logic system. Lee et al. 8 designed and implemented a novel intelligent control strategy for autonomous vehicle parking by integrating genetic algorithm, Petri net and fuzzy logic system. Demirli and Khoshnejad 9 adopted the sampling points on the fifth-order polynomial reference paths as training data, and then the fuzzy inference-based adaptive network system was trained to imitate the parallel parking operation of skilled drivers. Zheng et al. 10 proposed a new idle ant effect-based algorithm to tune the parameters of the proposed parallel parking fuzzy controller for improving the stability and response speed of the system. Wang and Zhu 11 proposed a hybrid fuzzy 1 autonomous parking system by combining a supervisory fuzzy controller with a base fuzzy controller. The supervisory fuzzy was used to plan an executable parking trajectory, and the base fuzzy controller was designed to track the trajectory by controlling the steering wheel angle and vehicle speed. Liu et al. 12 adopted a deep neural network with the speed and the target pose of vehicle for the input and the vehicle control instructions for the output to establish the nonlinear relationship between the planned parking trajectories and the vehicle control instructions to achieve autonomous parallel parking. Xu et al. 13 presented an automatic parking control strategy by combining sliding mode control method with fuzzy logical control method to expand the initial feasible region. The sliding mode control method was used to guide the vehicle from the initial pose to the intermediate pose, and the fuzzy logical control method was used to drive the vehicle from the intermediate pose to the target pose. These methods based on artificial intelligence technology can effectively solve the problem of ''parking difficulty'' in the fixed scenes, and usually rely on a larger number of experimental data and expert knowledge to adapt to the changes of parking environment and parking space. However, the acquisition of experimental data and expert knowledge usually requires a large amount of experimental resources and human costs.
Compared with the methods based on artificial intelligence technology, the methods based on planningtracking framework depend on a fewer number of experimental data and expert knowledge to adapt to the changes of parking environment and parking space. Xu et al. 14 divided the parallel parking environment into the lightly constrained zone and the highly constrained zone, and correspondingly divided the vehicle state into the initial state, the intermediate state and the target state. The path between the initial state and the intermediate state was planned based on realized by combination of circle arcs and straight line, while the path between the intermediate state and the target state is realized by quintic polynomial curves. Zhdanov et al. 15 planned a single-step parallel parking path by combination of circle arcs and straight line, but it is difficult to track the planned path smoothly because of the discontinuous curvature of the planned path. Kim et al. 16 planned a cluster of parking paths using traditional back propagation algorithm, and the cost of each path was calculated in terms of safety and the traveled distance. Finally, the path with the lowest cost was selected as the reference parking path. Zhao et al. 17 planned the collision-free smooth trajectory based on Bezier curve for the autonomous parking system on the premise of meeting the kinematic constraints of the vehicle, and designed a fuzzy proportional-integralderivative (PID) controller to track the planned trajectory. Chand et al. 18 proposed a new automatic parallel parking maneuver for intelligent vehicles based on the sigmoidal Gompertz curve with four tunable parameters, which were determined by using an optimization scheme. Vorobieva et al. 19 presented a continuous-curvature path-planning method based on circle arcs and clothoid curves, and then the desired steering wheel angle and vehicle speed were calculated to execute the planned path. Jang et al. 20 considered the trajectory planning problem as the constrained optimization problem comprised of vehicle dynamics model and the constraint of the drivable region, and then interior point method was used to solve the optimization problem to generate the feasible parallel parking trajectory. Zips et al. 21 proposed a fast optimization-based path planner for vehicle parking in narrow environments, and the proposed approach could adapt to different parking scenarios by adjusting the weight terms of the cost function of the optimization problem. Chai et al. 22 presented a multilayer optimization strategy for generating the optimal trajectory of autonomous parallel parking system, and the optimization problem was solved by improved particle swarm optimization algorithm and gradient-based algorithm. Yang et al. 23 presented a smooth pathplanning algorithm for autonomous parking system by connecting circle arcs, straight line and linearly steering spiral, and then a closed-loop controller was designed to guide the vehicle to follow the planned path. These methods based on planning-tracking framework have the characteristic of global optimization, and can safely drive the vehicle into the target parking space on the premise of meeting the kinematic and dynamic constraints of the vehicle and parking performance indicators.
In this paper, a novel trajectory planning and tracking control method for autonomous parallel parking of a front-wheel steering vehicle is presented. For the sake of reducing the difficulty of the trajectory planning problem, it is decoupled into the path planning problem and the longitudinal velocity planning problem by choosing the arc length of the trajectory as the path velocity correlation term. That is, the planning problem in three-dimensional space is simplified to two planning problems in two-dimensional space. Considering the kinematic constraint of vehicle, a collision-free path by combining circle arcs with straight line is created to park the vehicle in one or more maneuvers if the parking space is very narrow, and then the path is transformed into a continuous-curvature path using B-spline curve. Moreover, the longitudinal velocity is created using B-spline curve on the premise of meeting the performance constraints of the driving and braking system. To execute the generated trajectory, a non-time reference path tracking sliding mode control strategy is deduced by Lyapunov stability theory, and a longitudinal velocity tracking PI control strategy is proposed based on smooth handoff method. Finally, the parking performance is verified based on model-in-the-loop simulation system. The rest of this paper is structured as follows. Section ''Trajectory planning'' gives the collision-free smooth trajectory for guiding the vehicle to enter the parking space in one or more maneuvers based on the combination of circle arcs, straight line, and B-spline curves. Section ''Trajectory tracking control'' deduces and analyses the non-time reference path tracking sliding mode control strategy and the longitudinal velocity tracking PI control strategy. Section ''Simulation results'' validates the parking performance, and section ''Conclusion'' gives the main conclusion of our work.

Trajectory planning
Trajectory planning is to design a collision-free and practical trajectory, which could guide the vehicle to the parking space safely, accurately and quickly. In this section, the trajectory planning problem for autonomous parallel parking of a front-wheel steering vehicle is decoupled into the path planning problem and the longitudinal velocity planning problem by choosing the arc length of the trajectory as the path velocity correlation term. Specifically, a collision-free path by combining circle arcs with straight line is created to park the vehicle in one or more maneuvers on the premise of meeting the kinematic constraint of vehicle, and then the path is transformed into a continuous-curvature path based on B-spline curve. Moreover, the longitudinal velocity is created based on B-spline curve on the premise of meeting the performance constraints of driving and braking system.

One-maneuver path planning
The vehicle is running at low speed when parking, so it is assumed to move with the four wheels rolling without slipping around the same instantaneous center. As shown in Figure 1, we take the left front corner of the parking space as the origin of the global coordinate system OXY and define the midpoint of the vehicle's rear wheel axle as the reference point of the vehicle. The feasibility problem of parking in one maneuver can be solved in the reverse way by retrieving the vehicle from the parking space. The minimum length of the parking space for parking in one maneuver is deduced by making the right front corner of the vehicle having no collision with the front obstacle when the vehicle rotates with the minimum radius R min to exit the parking space where L is the wheelbase; W is the width of the vehicle; L f and L r are the front and rear overhangs, respectively. Similarly, the minimum width of the parking space for parking in one maneuver is deduced by making the right rear corner of the vehicle have no collision with the lateral obstacle when the vehicle rotates with the minimum radius R min to exit the parking space Supposing that the length and width of the parking space is larger than the minimum length and width of the parking space for parking in one maneuver, the task of one-maneuver path planning is to generate a collision-free path based on the combination of circle arcs and straight line under the conditions that the coordinate of the starting point G 1 is known as (x G 1 , y G 1 ) and the coordinate of the target point G 4 is known as (À S 1 , À W=2). As shown in Figure 2, the specific process of one-maneuver path planning is as follows: 1. According to the coordinate of the starting point G 1 , the coordinate of the center point O 1 of the circle arc G 5 G 6 is calculated as (x G 1 , y G 1 À R min ).   circle arc G 1 G 2 _ is calculated as (À S 1 , R min À W=2). 3. The angle of circle arc G 1 G 2 _ and circle arc G 3 G 4 _ are given by 4. The coordinate of the point G 2 is calculated as (x G 1 À R min sin u, y G 1 À R min (1 À cos u)), and the coordinate of the point G 3 is calculated as (À S 1 + R min sin u, R min (2 À cos u) À W=2). 5. The maximum distance from the x-axis of the coordinate system OXY to the envelope of the planned path is calculated as where q max = arctan ((L + L f ) (R min + W=2)). According to equation (3), the angle of circle arc increases with the decrease of the x coordinate of the starting point G 1 when the y coordinate of the starting point G 1 remains constant. According to equation (4), the maximum distance S l increases with the increase of the angle of circle arc _ when u4q max . Therefore, the maximum distance S l increases with the decrease of the x coordinate of the starting point G 1 when u4q max .

Multiple maneuvers path planning
When the length of the parking space is smaller than the minimum length of the parking space for parking in one maneuver, the vehicle first moves backward along one maneuver path until approaching the rear obstacle, and then moves forward with the maximum steering wheel angle to parallel to the parking space and approach the front obstacle. Subsequently, a series of forward and backward moves is designed to make the vehicle enter into the parking space, as shown in Forward move. Supposing that the available longitudinal distance m 1 is sufficient, the goal of the forward move is to maximize the lateral displacement on the premise that the vehicle is parallel to the parking space at the end of forward move. As shown in Figure 3, the vehicle moves along the circle arc G 1 G 2 _ with the radius R to approach the lateral obstacle. According to the relationship among the fixed coordinate system G 1 XY, the translational coordinate system G 2 XY and the body coordinate system G 2 xy, the equation of motion of the right front corner of the vehicle in the vector-matrix form is given by where b is the angle of the circle arc G 1 G 2 _ . The y coordinate of the point H 2 is m 3 + W=2, and m 3 is the available lateral distance. According to equation (5), we can obtain According to equation (6), we can obtain According to equation (7), when the radius R of the circle arc G 1 G 2 _ is set to the minimum radius R min , the angle of the circle arc G 1 G 2 _ reaches the maximum value described as follows Considering the constraint of the available longitudinal distance m 1 and the constraint that the vehicle should be parallel to the parking space at the end of forward move, we can obtain the following equation based on the circle arc G 1 G 2 _ with the radius R min and the angle b 1 where R 2 is the radius of the circle arc G 2 G 3 _ , and according to equation (9), we can obtain According to the circle arc G 1 G 2 _ with the radius R min and the angle b 1 and the circle arc G 2 G 3 _ with the radius R 2 and the angle b 1 , the available longitudinal distance m 1 and the lateral displacement m 2 are given by According to equations (11) and (12), we can obtain Equation (13) shows that the lateral displacement of the vehicle increases with the angle of the circle arc increased, which is the reason why the minimum radius is adopted as the radius of the circle arc G 1 G 2 _ . Furthermore, equation (12) shows that the lateral displacement of the vehicle increases with the radius of the circle arc G 2 G 3 _ increased, which is the reason why the available longitudinal distance m 1 is fully utilized in the calculation of the radius of the circle arc G 2 G 3 _ . Supposing that the available lateral distance m 3 is sufficient, the goal of the forward move is to maximize the lateral displacement on the premise that the vehicle is parallel to the parking space at the end of forward move. As shown in Figure 4, the radii of the circle arc G 1 G 2 _ and the circle arc G 2 G 3 _ are set to the minimum radius R min , we can obtain the following equation based on the constraint of the available longitudinal distance m 1 and the constraint that the vehicle should be parallel to the parking space at the end of forward move According to equation (14), the angle of the circle Similarly, the lateral displacement of the vehicle is given by  According to equations (14) and (16), we can obtain Equation (17) shows that the lateral displacement of the vehicle increases with the angle of the circle arc increased, which is the reason why the minimum radius R min is used as the radii of the circle arc G 1 G 2 _ and the circle arc The above process of designing the forward move of the vehicle is based on the assumptions that the available longitudinal distance of the parking space is sufficient and the available lateral distance of the parking space is sufficient, and the establishing conditions of the assumptions are given by Backward move. Supposing that the available lateral distance m 5 is sufficient, the goal of the forward move is to maximize the lateral displacement on the premise that the vehicle is parallel to the parking space at the end of forward move. As shown in Figure 4, the radii of the circle arc G 1 G 2 _ and the circle arc G 2 G 3 _ are set to the minimum radius R min , we can obtain the following equation based on the constraint of the available longitudinal distance m 4 and the constraint that the vehicle should be parallel to the parking space at the end of forward move According to equation (18), the angle of the circle Similarly, the lateral displacement of the vehicle is given by According to equations (18) and (20), we can obtain Equation (21) shows that the lateral displacement of the vehicle increases with the angle of the circle arc G 1 G 2 _ and the circle arc G 2 G 3 _ increased, which is the reason why the minimum radius R min is used as the radii of the circle arc G 1 G 2 _ and the circle arc Supposing that the available longitudinal distance m 4 is sufficient, the goal of the forward move is to maximize the lateral displacement on the premise that the vehicle is parallel to the parking space at the end of forward move.
As shown in Figure 4, the radii of the circle arc G 1 G 2 _ and the circle arc G 2 G 3 _ are set to the minimum radius R min , we can obtain the following equation based on the constraint of the available longitudinal distance m 5 and the constraint that the vehicle should be parallel to the parking space at the end of forward move According to equation (22), the angle of the circle After the backward move, the vehicle successfully enters into the parking space.
The above process of designing the backward move of the vehicle is based on the assumptions that the available longitudinal distance of the parking space is sufficient and the available lateral distance of the parking space is sufficient, and the establishing conditions of the assumptions are given by

Continuous-curvature path for the parking maneuver
The curvature of the parking path by combination of circle arcs and straight line is discontinuous at the junction of circle arc and straight line, and the vehicle has to stop to reorient the steering wheel angle. The steering at the stop induces the non-uniform wear of the tires and increases the workload of the steering motor. Therefore, we adopts B-spline curve to smooth the parking path composed of circle arcs and straight line. As shown in Figure 7, the curvature of the circle arc According to equations (24) and (25), we can obtain the length of the line segment QI and the line segment I 0 Q 0 , also known as the smooth offset According to the definition of B-spline curve, 24 the transition curve based on B-spline curve can be expressed as C(u) = ½x(u), y(u) T . Then, the curvature of the transition curve can be described as According to the vehicle kinematic model, we can obtain the relationship between the curvature of the transition curve and the front-wheel equivalent steering angle Substituting equation (27) into equation (28) yields According to chain rule, we can obtain the frontwheel equivalent steering speed where du=ds = 1= ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi _ is the reciprocal of the derivative of the arc length of the parking path with respect to the parameter u; v = ds=dt is the vehicle longitudinal velocity.
Substituting the derivative of equation (29) with respect to the parameter u into equation (30) yields It is evident from equation (31) that the front-wheel equivalent steering speed is not only related to the parking path, but also related to the vehicle longitudinal velocity. To decouple the parking trajectory planning problem into a path-planning problem and a longitudinal velocity planning problem, equation (31) is rewritten as where v max is the maximum vehicle longitudinal velocity during the parking process. According to equations (27) and (32), it can be seen that the continuity of the parking path curvature requires that B-spline curve is C 2 continuous, and the continuity of the front-wheel equivalent steering speed requires that B-spline curve is C 3 continuous. Meanwhile, the inertial effect of the steering motor requires that the front-wheel equivalent steering speed can be continuously changed from zero. Therefore, Bspline curve of degree 5 is selected to design the transition curve. To make B-spline curve pass through the first and last control points, the multiplicities of the first knot and the last knot are set to 6. Thus, the knot vector of the B-spline curve is given by U = 0, 0, 0, 0, 0, 0, 0:5, 1, 1, 1, 1, 1, 1 f g ð33Þ The control points of B-spline curve shown in Figure 8, which are symmetrically distributed on two equal sides of an isosceles triangle, are given by where d . 0, p=2 \ f \ p and 0 \ l 1 \ l 2 \ 1 are unknown parameters. As shown in Figure 8, the B-spline curve determined by equations (33)-(35) is symmetrical and has the largest curvature at the middle point K of the B-spline curve. Meanwhile, the angle between the tangent of Bspline curve at the point K and x-axis of the coordinate system is (p À f)=2. To minimize the impact of the parking path smoothed by B-spline curve on the length of the parking space, the smooth offset n 0 = n 1 + n 2 tan (a 1 =2)'n 1 should be minimized by adjusting unknown parameters d . 0, p=2 \ f \ p and 0 \ l 1 \ l 2 \ 1. Therefore, the nonlinear optimization problem (36) is obtained with two constraints. First, the curvature of B-spline curve at the point K should be equal to 1=R min . Second, the front-wheel equivalent steering speed should not be greater than the maximum value determined by the performance of the steering motor min d, f, l 1 , l 2 ½ x 0:5 ð ÞÀR min sin p À f 2 subject to r 0:5 The interior point method 25 is used to solve the nonlinear optimization problem (36) in off-line mode to reduce the computational time, and the first half of the fixed B-spline curve is used as the transition curve.
The parking path composed of circle arcs and straight line shown in Figure 2 is corrected based on the above principle of the parking path smoothed by Bspline curve. As shown in Figure 9, the endpoint G 1 of the circle arc G 1 G 2 _ is corrected to the point G 0 1 , and the coordinate of the point G 0 1 is (x G 1 + n 0 , y G 1 ). The endpoint G 2 of the circle arc G 2 G 3 _ is corrected to the point G 0 2 , the coordinate of the point G 0 2 is (x G 1 À R min sin u À n 0 cos u, y G 1 À R min (1 À cos u) À n 0 sin u). The endpoint G 3 of the circle arc G 3 G 4 _ is corrected to the point G Ã 3 , and the coordinate of the point G Ã 3 is (À S 1 + R min sin u + n 0 cos u, R min (2 À cos u) À W=2 + n 0 sin u). The endpoint G 4 of the circle arc G 3 G 4 _ is corrected to the point G Ã 4 , and the coordinate of the point G Ã 4 is (À S 1 À n 0 , À W=2). As shown in Figure 9, the vector G 2 G 0 2 ! coincides fully or partly with the vector G 3 G 0 3 ! when the distance between the point G 2 and the point G 3 is less than 2n 0 . As shown in Figure 10 is (x G 1 + n 0 (1 + 2 cos u), y G 1 + 2n 0 sin u). The   coordinate of the point G Ã 2 is (x G 1 À R min sin u + n 0 cos u, y G 1 À R min (1À cos u) + n 0 sin u). The coordinate of the point O ÃÃ 1 is (x G 1 + 2n 0 cos u, y G 1 À R min + 2n 0 sin u). The coordinate of the point G ÃÃ 1 is (x G 1 + 2n 0 cos u, y G 1 + 2n 0 sin u). The coordinate of the point G ÃÃ 2 is (x G 1 À R min sin u + 2n 0 cos u, y G 1 À R min (1À cos u) + 2n 0 sin u). Thus, we can obtain the continuous-curvature parking path The specific smoothing process of the parking path is the inverse process of the above analysis process under the condition that the smoothing offset is unknown. Since the smoothing offset is unknown, a known starting point G Ã 0 shown in Figure 10 is added to the smoothing process of the parking path. The coordinate of the starting point G Ã 0 is known as (x G Ã 0 , y G Ã 0 ), and the maximum smoothing offset is known as n max = n 1 + n 2 . The specific smoothing process of the parking path based on the principle shown in Figure 7 is as follows: 1. The coordinate of the point G ÃÃ 1 is calculated as (x G Ã 0 À n max , y G Ã 0 ). 2. According to the planning process of one maneuver parking path in section ''One-maneuver path planning'' we can obtain the following parameters based on the coordinate of the point G ÃÃ 1 and the coordinate of the point G 4 represented as (À S 1 , À W=2):  cos u)). 2e. The coordinate of the point G 3 is (À S 1 + R min sin u, R min (2 À cos u) À W=2). 3. The actual smoothing offset is calculated as n 0 = n 1 + n 2 tan (u=2). 4. The coordinate of the point G Ã 1 is calculated as (x G Ã 1 , y G Ã 1 ) = (x G Ã 0 À n max + n 0 , y G Ã 0 ). 5. The coordinates of the point G Ã 2 is calculated based on the coordinate of the point G Ã 1 , and it is represented as (x G Ã 1 À n 0 1 + cos u ð Þ À R min sin u, y G Ã 1 À R min (1 À cos u) À n 0 sin u). 6. The coordinates of the point G Ã 4 and the point G Ã 3 are calculated as (À S 1 À n 0 , À W=2), and (À S 1 + R min sin u + n 0 cos u, R min (2 À cos u)À W=2 + n 0 sin u), respectively. 7. The first half of the fixed B-spline curve given by solving the nonlinear optimization problem where q = min (u, q max ).

Longitudinal velocity planning
The task of the vehicle longitudinal velocity planning for autonomous parallel parking is to design a smooth parking velocity curve to make the vehicle start smoothly to move along the planned parking path and to make the vehicle stop smoothly at the end of the planned parking path. Therefore, the parking velocity curve can be divided into acceleration, constant velocity and deceleration segments. In this section, we adopt B-spline curve to design the acceleration and deceleration segments to implement the smooth changes of the parking velocity and acceleration under the constraints of equations (39)-(43). The design process of the acceleration segment is mainly introduced as follows, since the deceleration segment can be easily obtained by flipping the acceleration segment vertically v start = v end = 0 ð39Þ where v start and v end are the endpoint values of the parking velocity curve, respectively; a start and a end are the endpoint values of the parking acceleration curve, respectively; v max is the maximum parking velocity; a max is the maximum parking acceleration; j max is the maximum parking jerk. According to the definition of B-spline curve, 24 the parking velocity curve based on B-spline curve can be expressed as C(u) = ½t(u), v(u) T . Then, the parking acceleration curve can be described as The derivative of equation (44) with respect to time, we can obtain the parking jerk curve as follows According to the strong convex hull property of Bspline curve, 26 we take the point O, the point D, and three collinear points A, B and C shown in Figure 11 as the control points of B-spline curve. Supposing that OA j j= t 1 and OE j j= t 2 , these control points, which satisfy OA j j= CD j j and AB j j= BC j j, are given by where t 1 . 0 and t 2 . 0 are unknown parameters. According to equation (47), the constraint of equation (41) is satisfied naturally. To satisfy the constraints of equations (39) and (40), the degree of B-spline curve is set to 3 and the multiplicities of the first knot and the last knot are set to 4 to make B-spline curve pass through the first and last control points. Thus, the knot vector of the B-spline curve is given by U = 0, 0, 0, 0, 0:5, 1, 1, 1, 1 f g ð48Þ As shown in Figure 11, the area surrounded by the line segment OA, the line segment AB and the curve OB is equal to the area surrounded by the line segment CD, the line segment BC and the curve BD, since the control points of B-spline curve satisfy OA j j= CD j j and AB j j= BC j j, and the three control points A, B and C are collinear. Therefore, the arc length of the planned parking path corresponding to the acceleration segment of the parking velocity curve is equal to the area of the trapezoid AEDC. Similarly, the arc length of the planned parking path corresponding to the deceleration segment of the parking velocity curve is equal to the area of the trapezoid A Ã E Ã D Ã C Ã . Furthermore, the total arc length of the planned parking path corresponding to the parking velocity curve is the sum of the area of trapezoidal AEDC, the area of trapezoidal A Ã E Ã D Ã C Ã and the area of rectangular DD Ã E Ã E. Thus, the arc length of the planned parking path is taken as the path velocity correlation term to establish the relationship between the planned parking path and the parking velocity curve. To reduce the parking time by minimizing the needed time acceleration and deceleration segments, the nonlinear optimization problem (49) is obtained with two constraints of equations (42) and (43) The interior point method is used to solve the nonlinear optimization problem (49) in off-line mode to reduce the computational time, and the fixed B-spline curve is used as the acceleration and deceleration segments of the parking velocity curve.

Trajectory tracking control
Trajectory tracking control is to design a robust decoupling control strategy to make the vehicle execute the generated trajectory by simultaneously controlling the steering system, the driving system and the braking system. In this section, the trajectory tracking control problem for autonomous parallel parking of a front- wheel steering vehicle is decoupled into the path tracking control problem and the longitudinal velocity tracking control problem by choosing the lateral displacement of the parking trajectory as the non-time reference. Specifically, a non-time reference path tracking sliding mode control strategy is developed based on Lyapunov stability theory, and a longitudinal velocity tracking PI control strategy is proposed based on smooth handoff method.

Path tracking control
The kinematic characteristics of the vehicle at low speed can be represented as the coordinate (x, y) of the reference point, which is located at the midpoint of the vehicle's rear wheel axle, and the orientation angle u between vehicle orientation and positive direction of xaxis in counterclockwise. As shown in Figure 12, the differential equations of non-holonomic kinematics can be described as 27 When the vehicle moves backward, the negative of the x coordinate of the reference point is the monotone increasing function with respect to time and is selected as the non-time reference. Then, the non-time reference parking path tracking error is given by The derivative of equation ( Define the sliding surface s = k 0 y e + tan u À tan u r ð Þ ð 53Þ where k 0 . 0 is the design parameter. According to equation (53), we can obtain the following equation when s = 0 Therefore, the state trajectory on the sliding surface can asymptotically converge to the equilibrium point of the system. Furthermore, the non-time reference path tracking sliding mode control strategy is developed to make the state trajectory converge to the sliding surface in finite time, and the following theorem is obtained. Theorem 1. Consider the system (51) where the nontime reference path tracking sliding mode control law is defined in equation (55) where sgn(s) is the sign function. If the parameters k 1 and k 2 are chosen such that k 1 . 0 and k 2 . 0, then the equilibrium point of the closed-loop system is asymptotically stable.
Proof. Define a Lyapunov function candidate as Differentiating V with respect to time yields The derivative of equation (53) with respect to time yields Substituting equation (58) into equation (57) yields Substituting equation (55) into equation (59) yields According to the finite time stability theorem, 28,29 the state trajectory of the closed-loop system is converged to the sliding surface s = 0 in finite time t r , which satisfies equation (61) where V 0 is initial value of the Lyapunov function candidate. Furthermore, according to equation (54), the equilibrium point of the closed-loop system is asymptotically stable.
In the aspect of forcing the state trajectory of the closed-loop system to approach the sliding surface, equation (60) shows that the exponential rate reaching item k 1 s 2 plays a dominant role when the state trajectory of the closed-loop system is far from the sliding surface, and the constant rate reaching item k 2 ssgn(s) plays a dominant role when the state trajectory of the closed-loop system is near from the sliding surface. Therefore, the combination of the exponential rate reaching item and the constant rate reaching item can effectively improve the dynamic response characteristics of the closed-loop system.
When the vehicle moves forward, the x coordinate of the reference point is the monotone increasing function with respect to time and is selected as the non-time reference. Similarly, the following non-time reference path tracking sliding mode control law can be deduced based on the sliding surface s = k 0 y e + ( tan u r À tan u) d f = arctan Lcos 3 u r r cos 3 u r + k 0 tan u r À tan u ð Þ + k 1 s + k 2 sgn s ð Þ Longitudinal velocity tracking control Since the driving system and the braking system are two opposing single-acting actuators, the proposed longitudinal velocity tracking PI control strategy adopts a PI error metric to complete the smooth switchover between the driving system and the braking system. 30 Then, the PI error metric based on proportional integral control method is calculated as where K P and K I are the proportional and integral coefficients, respectively; u(k + 1) is the control input at time k + 1; e(k + 1) is the velocity error at time k + 1. When the PI error metric is non-negative, the driving system is activated to exert a driving force proportional to the PI error metric on the vehicle; and when it is negative, the braking system is activated to exert a braking force proportional to the negative of the PI error metric on the vehicle where K engine and K brake are the gain coefficients of the driving and braking system, respectively.

Simulation results
The parking performance of the proposed autonomous parallel parking strategy is verified based on model-inthe-loop simulation system, which is constituted of the vehicle dynamics simulation software (MSC CarSim Ò ) and the proposed autonomous parallel parking strategy. MSC CarSim Ò can deliver the most accurate and efficient methods for simulating the whole vehicle dynamics to make the simulation results coincide with the real-vehicle experimental results. Parallel parking in one or more maneuvers on a flat dry asphalt road is carried out, respectively, and all parameters of the test vehicle are listed in Table 1.

Parallel parking in one maneuver
The parallel parking in one maneuver is implemented under the conditions that the length and width of the parking space are set to the minimum length and the minimum width of the parking space and the coordinate of the starting point is set to [4,3]. The simulation results are shown in Figure 13. As shown in Figure  13(i), we can see that the reference parking path can guide the vehicle into the parking space safely. As shown in Figure 13(a), (d), (f) and (h), we can see that the proposed non-time reference path tracking sliding mode control strategy can achieve accurate and stable tracking control of the reference parking path without reorienting the steering wheel angle at the stop of vehicle. As shown in Figure 13(b), (e) and (g), we can see  that the designed longitudinal velocity tracking PI control strategy can achieve accurate and stable tracking control of the reference longitudinal velocity by smoothly switching over between the driving system and the braking system. In sum, as shown in Figure  13(j), the proposed trajectory tracking control strategy can make the vehicle execute the planned trajectory without collision by simultaneously controlling the steering system, the driving system and the braking system.

Parallel parking in multiple maneuvers
The parallel parking in multiple maneuvers is implemented under the conditions that the coordinate of the starting point is set to [4,3], the width of the parking space is set to the minimum width of the parking space and the length of the parking space is set to 5.173 m, which is smaller than the minimum length of the parking space. The simulation results are shown in Figure 14.
As shown in Figure 14(i), we can see that the reference parking path can guide the vehicle into the parking space safely. As shown in Figure 14(a), (d), (f) and (h), we can see that the proposed non-time reference path tracking sliding mode control strategy can achieve accurate and stable tracking control of the reference parking path. First, the vehicle moves backward without reorienting the steering wheel angle at the stop of vehicle until approaching the rear obstacle. Then, the vehicle executes 3 times of forward and backward moves to enter the parking space. During forward or backward moves, the steering is done at the stop of vehicle to improve the parking space utilization. After each forward or backward move, the lateral displacement of the vehicle shown in the local enlarged drawing of Figure  14(d) is generated. As shown in Figure 14(b), (e) and (g), we can see that the designed longitudinal velocity tracking PI control strategy can achieve accurate and stable tracking control of the reference longitudinal velocity by smoothly switching over between the driving system and the braking system. In sum, as shown in Figure 14(j), the proposed trajectory tracking control  strategy can make the vehicle execute the planned trajectory without collision by simultaneously controlling the steering system, the driving system and the braking system.

Conclusion
This paper has presented a novel trajectory planning method and a novel trajectory tracking control method for autonomous parallel parking of a front-wheel steering vehicle. First, a collision-free path by combining circle arcs with straight line is created to park the vehicle in one or more maneuvers, and then the path is transformed into a continuous-curvature path using B-spline curve. Second, the longitudinal velocity is created using B-spline curve. To execute the generated trajectory, a non-time reference path tracking sliding mode control strategy is deduced by Lyapunov stability theory, and a longitudinal velocity tracking PI control strategy is proposed based on smooth handoff method. Finally, the simulation is implemented to validate the parking performance, and the simulation results show that it can guarantee that the vehicle parks in the narrow parking space safely and accurately.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship and/or publication of this article.

Funding
The author(s) received no financial support for the research, authorship and/or publication of this article.