Driverless Bus Path Tracking Based on Fuzzy Pure Pursuit Control with a Front Axle Reference

Featured Application: This work is used for driverless vehicles, especially for long wheelbase vehicles. Abstract: Currently, since the model of a driverless bus is not clear, it is di ﬃ cult for most traditional path tracking methods to achieve a trade-o ﬀ between accuracy and stability, especially in the case of driverless buses. In terms of solving this problem, a path-tracking controller based on a Fuzzy Pure Pursuit Control with a Front Axle Reference (FPPC-FAR) is proposed in this paper. Firstly, the reference point of Pure Pursuit is moved from the rear axle to the front axle. It relieves the inﬂuence caused by the ignorance of the bus’s lateral dynamic characteristics and improves the stability of Pure Pursuit. Secondly, a fuzzy parameter self-tuning method is applied to improve the accuracy and robustness of the path-tracking controller. Thirdly, a feedback-feedforward control algorithm is devised for velocity control, which enhances the velocity tracking e ﬃ ciency. The proportional-integral (PI) controller is indicated for feedback control, and the gravity acceleration component in the car’s forward direction is used in feedforward control. Finally, a series of experiments is conducted to illustrate the excellent performances of proposed methods.


Introduction
With the development of new energy and the upgrading of buses, the technology of the driverless bus has become a greater research prospect [1]. Nowadays, many researchers are devoted to path planning and path tracking [2,3]. One of the most basic and key technologies in driverless buses is path tracking [4]. A path-tracking controller is applied to control the driverless bus to follow the desired path and velocity [5,6]. Generally, path tracking algorithms are divided into lateral and longitudinal control.
The lateral controller controls the driverless bus to track a desired path. Some model-free methods, such as proportional-integral-derivative (PID) [7][8][9], fuzzy logic control (FLC) [10,11], and sliding model control (SMC) [12][13][14], are applied. Those algorithms perform well even when the model of the driverless bus is vague. However, they need different parameters to various conditions, which improve the complexity of path-tracking algorithms. Yu proposes an adaptive rolling optimization controller with preview window to track the desired path [15]. It is built on PID, and does not require a high-precision bus model. The robustness of the adaptive rolling optimization controller is poor, too. Meanwhile, some model-based algorithms, such as Stanley, Pure Pursuit (PP) [16], Linear Quadratic Regulator (LQR) [17], and Model Predictive Control (MPC) [18], are provided. The Stanley method is based on the vehicle kinematic model [19]. Stanley uses the lateral error and heading error between (1) For lateral control, a FPPC-FAR path-tracking controller is proposed. Firstly, Pure Pursuit Control Based on a Front Axle Reference (PPC-FAR) path-tracking controller is adopted. It moves the reference point of Pure Pursuit to the front axle to relieve the ignorance's influence on lateral control. A coefficient is also added to merge the difference between the proposed model and the real bus. Secondly, the look-ahead distance and coefficient are provided by a fuzzy logic interface machine, which improves the accuracy and robustness of the path-tracking controller. (2) For longitudinal control, a feedback-feedforward control algorithm is constructed. In feedback control, a proportional-integral (PI) controller is utilized to track the desired velocity. To avoid the jump of desired velocity, the Tracking Differentiator (TD) is introduced to calculate the transient profile of the desired velocity [26]. In feedforward control, the component of gravitational acceleration is applied as the compensation to deceleration. Furthermore, the compensation of the desired velocity is also calculated according to the road slope, which relieves the effect of the road slope.
The remainder of this paper is organized as follows: Section 2 introduces the model of the driverless bus and proposes some assumptions about the model and the details of FPPC-FAR and feedback-feedforward algorithm. Section 3 gives several simulation results and discusses the advantages of the proposed methods. Section 4 implements the path-tracking algorithm in a real bus, and describes the performances of the controller. Section 5 provides a succinct conclusion.

Controller Design
As shown in Figure 1, the path-tracking controller is divided into lateral control and longitudinal control. Lateral control calculates the steering angle to track the desired path, and longitudinal control cause deceleration to follow the desired velocity. In this section, the model of the driverless bus is proposed in Section 2.1. Then the controller is introduced with respect to lateral control and longitudinal control in Sections 2.

The Model of the Driverless Bus
The kinematic model of the driverless bus is shown in Figure 2. It collapses the two front wheels into a single wheel at the center of the front axles. Meanwhile, the two rear wheels are also collapsed into a single wheel at the center of rear axles. Furthermore, there is no lateral slip in the wheels, and only the front wheel is steerable. Then, the bicycle model is mapped into a two-dimensional plane. Restricting the model to motion in a plane, the kinematic model [16] of the bus is defined in Equation (1): where v is the velocity of the bus, and ( , ) x y is the position of the bus.
According to the kinematic model of driverless bus, the relationship between R and δ is represented as Equation (2): where R is the radius of the circle.

The Model of the Driverless Bus
The kinematic model of the driverless bus is shown in Figure 2. It collapses the two front wheels into a single wheel at the center of the front axles. Meanwhile, the two rear wheels are also collapsed into a single wheel at the center of rear axles. Furthermore, there is no lateral slip in the wheels, and only the front wheel is steerable. Then, the bicycle model is mapped into a two-dimensional plane. δ is the steering angle. (x f , y f ) is the center of the front axle. Equally, (x r , y r ) is the center of rear axle. L is the wheelbase. The heading of the bus is represented as θ.  Figure 1. The structure of the path-tracking controller.

The Model of the Driverless Bus
The kinematic model of the driverless bus is shown in Figure 2. It collapses the two front wheels into a single wheel at the center of the front axles. Meanwhile, the two rear wheels are also collapsed into a single wheel at the center of rear axles. Furthermore, there is no lateral slip in the wheels, and only the front wheel is steerable. Then, the bicycle model is mapped into a two-dimensional plane. Restricting the model to motion in a plane, the kinematic model [16] of the bus is defined in Equation (1): where v is the velocity of the bus, and ( , ) x y is the position of the bus.
According to the kinematic model of driverless bus, the relationship between R and δ is represented as Equation (2): where R is the radius of the circle. Restricting the model to motion in a plane, the kinematic model [16] of the bus is defined in Equation (1): where v is the velocity of the bus, and (x, y) is the position of the bus.
According to the kinematic model of driverless bus, the relationship between R and δ is represented as Equation (2): where R is the radius of the circle. It is obvious that, if the steering angle does not change, the center of the rear axle moves along an arc and the center of the arc is O. Equally, the center of the front center also moves along an arc, and the center of the arc is O. The extended kinematic bicycle model is presented in Figure 3. The steering angle is determined as Equation (3): Appl. Sci. 2020, 10, x FOR PEER REVIEW 4 of 20 It is obvious that, if the steering angle does not change, the center of the rear axle moves along an arc and the center of the arc is O . Equally, the center of the front center also moves along an arc, and the center of the arc is O .
The extended kinematic bicycle model is presented in Figure 3. The steering angle is determined as Equation (3): Figure 3. Extended kinematic bicycle model.
In Figure 3, arc 1 and arc 2 are arcs of the rear axle center and front axle center, but ' R R < . The relationship of R and ' R is shown in Equation (4): It is difficult to obtain an accurate model of a driverless bus. It is assumed that the extent of the kinematic model is feasible for the driverless bus under low-velocity conditions. Figure 4 shows the overview of the driverless bus and sensors. The bus's parameters are provided at Table 1 and it is an actuated-by-wire electrical bus (AWEB). Statuses of driverless bus, such as velocity, heading angle, and positions, are obtained from GPS/IMU (provided by StarNeto, Beijing, China).   In Figure 3, arc 1 and arc 2 are arcs of the rear axle center and front axle center, but R < R . The relationship of R and R is shown in Equation (4): It is difficult to obtain an accurate model of a driverless bus. It is assumed that the extent of the kinematic model is feasible for the driverless bus under low-velocity conditions. Figure 4 shows the overview of the driverless bus and sensors. The bus's parameters are provided at Table 1 and it is an actuated-by-wire electrical bus (AWEB). Statuses of driverless bus, such as velocity, heading angle, and positions, are obtained from GPS/IMU (provided by StarNeto, Beijing, China).
Appl. Sci. 2020, 10, x FOR PEER REVIEW 4 of 20 It is obvious that, if the steering angle does not change, the center of the rear axle moves along an arc and the center of the arc is O . Equally, the center of the front center also moves along an arc, and the center of the arc is O .
The extended kinematic bicycle model is presented in Figure 3. The steering angle is determined as Equation (3): Figure 3. Extended kinematic bicycle model.
In Figure 3, arc 1 and arc 2 are arcs of the rear axle center and front axle center, but ' R R < . The relationship of R and ' R is shown in Equation (4): It is difficult to obtain an accurate model of a driverless bus. It is assumed that the extent of the kinematic model is feasible for the driverless bus under low-velocity conditions. Figure 4 shows the overview of the driverless bus and sensors. The bus's parameters are provided at Table 1 and it is an actuated-by-wire electrical bus (AWEB). Statuses of driverless bus, such as velocity, heading angle, and positions, are obtained from GPS/IMU (provided by StarNeto, Beijing, China).

Lateral Control
As shown in Figure 5, the lateral controller is composed of PPC-FAR and a fuzzy logic inference machine. PPC-FAR calculates the desired steering angle to track the desired path. Meanwhile, the fuzzy logic inference machine is provided to turn the suboptimal parameters of PPC-FAR according to the desired path and the current velocity of the driverless bus.

Lateral Control
As shown in Figure 5, the lateral controller is composed of PPC-FAR and a fuzzy logic inference machine. PPC-FAR calculates the desired steering angle to track the desired path. Meanwhile, the fuzzy logic inference machine is provided to turn the suboptimal parameters of PPC-FAR according to the desired path and the current velocity of the driverless bus.

Pure Pursuit Controller with a Rear Axle Reference
The PP is built based on the vehicle kinematic model [16]. It connects the rear center of the vehicle to a preview point with an arc. The arc passes the preview point and it is tangent to the heading of the driverless bus. Furthermore, the steering angle is determined by the arc.
where 2α is the angle between the driverless bus heading vector and the forward vector. Based on the kinematic bicycle model, the steering angle of PPC-RAR is set as: where δ is the steering angle.

Pure Pursuit Controller with a Rear Axle Reference
The PP is built based on the vehicle kinematic model [16]. It connects the rear center of the vehicle to a preview point with an arc. The arc passes the preview point and it is tangent to the heading of the driverless bus. Furthermore, the steering angle is determined by the arc. Figure 6 shows the rules in PP. The preview point (x d , y d ) is calculated according to a look-ahead distance l d . Using the law of sines to Figure 6 results in Equation (5): where 2α is the angle between the driverless bus heading vector and the forward vector. Based on the kinematic bicycle model, the steering angle of PPC-RAR is set as: where δ is the steering angle.

Pure Pursuit Controller with a Front Axle Reference
Since the kinematic model ignores the lateral dynamic characteristics of the driverless bus [15], PPC-RAR achieves poor tracking performance in the driverless bus. Ignorance results in the oscillation of the driverless bus. Only adjusting the look-ahead distance is not efficient enough. In that case, the PP is modified by moving the reference to the front axle to relieve those influences.
As shown in Figure 7, PPC-RAR calculates the desired steering angle by ( , ) rr rr x y . However, x y to obtain the radius ' R and then calculates the steering angle. It is evident that the radius of PPC-RAR is larger than PPC-FAR. As the assumption in Section 2, the larger radius results in a smaller gap between the kinematic model and the real bus. In that case the instability caused by the kinematic model is released in PPC-FAR. The benefits of the front axle reference are

Pure Pursuit Controller with a Front Axle Reference
Since the kinematic model ignores the lateral dynamic characteristics of the driverless bus [15], PPC-RAR achieves poor tracking performance in the driverless bus. Ignorance results in the oscillation of the driverless bus. Only adjusting the look-ahead distance is not efficient enough. In that case, the PP is modified by moving the reference to the front axle to relieve those influences. Figure 7, PPC-RAR calculates the desired steering angle by (x rr , y rr ). However, PPC-FAR uses (x d , y d ) to obtain the radius R and then calculates the steering angle. It is evident that the radius of PPC-RAR is larger than PPC-FAR. As the assumption in Section 2, the larger radius results in a smaller gap between the kinematic model and the real bus. In that case the instability caused by the kinematic model is released in PPC-FAR. The benefits of the front axle reference are verified in Section 3.

Pure Pursuit Controller with a Front Axle Reference
Since the kinematic model ignores the lateral dynamic characteristics of the driverless bus [15], PPC-RAR achieves poor tracking performance in the driverless bus. Ignorance results in the oscillation of the driverless bus. Only adjusting the look-ahead distance is not efficient enough. In that case, the PP is modified by moving the reference to the front axle to relieve those influences.
As shown in Figure 7, PPC-RAR calculates the desired steering angle by ( , ) rr rr x y . However,

PPC-FAR uses ( , )
d d x y to obtain the radius ' R and then calculates the steering angle. It is evident that the radius of PPC-RAR is larger than PPC-FAR. As the assumption in Section 2, the larger radius results in a smaller gap between the kinematic model and the real bus. In that case the instability caused by the kinematic model is released in PPC-FAR. The benefits of the front axle reference are verified in Section 3. The PPC-FAR is illustrated in Figure 8. O is the circle center and ' R is the radius of the arc.  The PPC-FAR is illustrated in Figure 8. O is the circle center and R is the radius of the arc. l d is the look-ahead distance. A is the center of the front axle. B is the preview point. C is the middle point of A and B. D is the center of the rear axle. O is the intersection point of line OC and line OD. According to the extended kinematic model, the steering angle of PPC-FAR is calculated as: where ' δ is the steering angle in PPC-FAR.
Snider verifies the relationship between the tracking accuracy and stability in [16]. Similarly, to the traditional PP algorithm, tracking accuracy is scarified to improve the stability of path tracking. The look-ahead distance is calculated as if the velocity is close to zero, the look-ahead distance becomes zero, too. That causes an unstable control system. To solve this problem, Equation (8) is applied to calculate look-ahead distance ' d l : where l k is the proportional coefficient, and offset L represents the offset of the look-ahead distance.
Although some changes are introduced to cancel out the influence caused by the ignorance in the kinematic model, there still exists a gap between the geometric model and the real bus, especially in high-speed and large curvature conditions. The k in Equation (9) is used to eliminate the error between proposed model with the real bus: According to the extended kinematic model, the steering angle of PPC-FAR is calculated as: where δ is the steering angle in PPC-FAR. Snider verifies the relationship between the tracking accuracy and stability in [16]. Similarly, to the traditional PP algorithm, tracking accuracy is scarified to improve the stability of path tracking. The look-ahead distance is calculated as k·v t (k is coefficient and v t is current velocity). However, if the velocity is close to zero, the look-ahead distance becomes zero, too. That causes an unstable control system. To solve this problem, Equation (8) is applied to calculate look-ahead distance l d : where k l is the proportional coefficient, and L o f f set represents the offset of the look-ahead distance.
Although some changes are introduced to cancel out the influence caused by the ignorance in the kinematic model, there still exists a gap between the geometric model and the real bus, especially in high-speed and large curvature conditions. The k in Equation (9) is used to eliminate the error between proposed model with the real bus: In this section, to improve the tracking accuracy and robustness of PPC-FAR, a fuzzy logic inference machine is adopted to calculate the appropriate k and l d . The input quantities of the fuzzy logic inference machine are defined as the curvature of the desired path ρ and the velocity of the driverless bus v. Meanwhile, k and l d are used as the output quantities. The basic domain of v is [0, 20], the basic domain of ρ is [0, 0.2], the basic domain of l d is [3,25], and the basic domain of k is [0.5, 1].
As shown in Figure 9, the membership function is gaussmf type [6]. Both the inputs and outputs are qualitative into seven sets, denoted as NB, NM, NS, ZO, PS, PM, and PB, where NB is negative big, and PB is positive big. (1) When ρ is small and v is large, in order to achieve a trade-off between accuracy and stability of PPC-FAR, k and ' d l should be large.
(2) When ρ is large and v is small, in order to guarantee the tracking accuracy and merge the gap between real bus and kinematic model, k and ' d l should be small.
The rule bases of the fuzzy logic inference machine are shown in Tables 2 and 3. Each rule in the rule base are implemeted in the IF-THEN form, and Figure 10 shows the interface of the outputs. (1) When ρ is small and v is large, in order to achieve a trade-off between accuracy and stability of PPC-FAR, k and l d should be large. (2) When ρ is large and v is small, in order to guarantee the tracking accuracy and merge the gap between real bus and kinematic model, k and l d should be small.
The rule bases of the fuzzy logic inference machine are shown in Tables 2 and 3. Each rule in the rule base are implemeted in the IF-THEN form, and Figure 10 shows the interface of the outputs.   (1) When ρ is small and v is large, in order to achieve a trade-off between accuracy and stability of PPC-FAR, k and ' d l should be large.
(2) When ρ is large and v is small, in order to guarantee the tracking accuracy and merge the gap between real bus and kinematic model, k and ' d l should be small.
The rule bases of the fuzzy logic inference machine are shown in Tables 2 and 3. Each rule in the rule base are implemeted in the IF-THEN form, and Figure 10 shows the interface of the outputs. The center of gravity method is adopted as the defuzzification method, which is shown as Equation (10): The center of gravity method is adopted as the defuzzification method, which is shown as Equation (10): where u is an accurate output value; z i denotes the fuzzy inference output value; u c (z i ) is the membership value of z i ; a and b are, respectively, the upper and lower bounds of the fuzzy set theory domain of the output variables.

Longitudinal Control
The velocity of the driverless bus is divided into acceleration control and deceleration control. Since the acceleration is controlled by the VCU of the driverless bus, and only the deceleration is controllable, this section mainly concerns deceleration control. The structure of the longitudinal control is shown in Figure 11.

Longitudinal Control
The velocity of the driverless bus is divided into acceleration control and deceleration control. Since the acceleration is controlled by the VCU of the driverless bus, and only the deceleration is controllable, this section mainly concerns deceleration control. The structure of the longitudinal control is shown in Figure 11.  Figure 11. The structure of the longitudinal control. Figure 11. The structure of the longitudinal control.
In Figure 11, the feedback control mainly focuses on deceleration a f b which is calculated by the PI controller. TD is applied to calculate the fast tracking of the desired velocity which is shown as v d . The feedforward controller provides the compensation of deceleration a f f and velocity v 1 according to the road slope. Compensations are used to release the influence of the road slope.
The feedback-forward control algorithm is introduced to deceleration. The deceleration is calculated by Equation (11): where a ∈ [a min , a max ]. The deceleration is negative, thus, a min ≤ a max ≤ 0.
The local path planning calculates v d and it only gives the limit velocity rather than a velocity curve. If the driverless bus needs to stop, the desired velocity jumps to 0. To smooth the desired velocity, TD is applied to calculate the fast tracking of the desired velocity [27]. The main idea of TD is that there exists a curve that v d (k) tracks v d (k) without overshoot, and the curve is defined by the discrete time optimal control (DTOC) law [28]. In this paper, the fast tracking of the desired velocity is used as the target in PI.
The longitudinal system is a discrete-time double-integral system [28]. The discrete algorithm of TD is given as Equation (12): where v d is the desired velocity. v d (k) is the fast tracking of the desired velocity. r denotes the fast factor. h indicates the step length. f (·) is the discrete time optimal control (DTOC) law. u(k) is the outputs of the DTOC. k is the control step. The law of DTOC is shown as Equation (13).
where sign(·) is the symbolic function. Figure 12 illustrates the different transient profiles of desired velocities with different r and h. It is obvious that the fast tracking of the desired velocity is smooth. That certainly improves the input quality of PI. Furthermore, if r decreases and h increases, TD tracks the desired velocity faster. Thus, the appropriate fast-tracking curve of the desired velocity is adjusted by r and h. In feedback control, discrete PI is utilized for decelerating control, which is shown as Equation (14). Furthermore, only errors between t and 1 tb  are used in the integral: where p k , i k are coefficients and b is the integral episode.
Feedforward control is introduced to cancel out the impacts of gravity acceleration. The component of gravity acceleration in the forward direction of the driverless bus is set as the compensation of deceleration. At the same time, the compensation of the desired velocity is calculated according to the road slope.
Especially, the road slope is obtained from the IMU. According to Newton's second law, the gravitational acceleration component in the forward direction of the driverless bus, which is shown in Equation (15), is used as the compensation of deceleration: sin( ) ff a g slope  (15) where g is the gravitational acceleration ( g = 9.8 m/s 2 ), and slope is the road slope.
Similarly, the desired velocity compensation in TD control is calculated according to the road slope. It is calculated as: where v k is the proportionality coefficient.

Simulations
The simulations are carried out in Matlab (provided by Mathworks, United States) and TruckSim (provided by Mechanical Simulation, United States). Especially, a high-precision model of AWEB is built in TruckSim. The major parameters of the model are shown in Figure 13 and Table 1.  In feedback control, discrete PI is utilized for decelerating control, which is shown as Equation (14). Furthermore, only errors between t and t + b − 1 are used in the integral: where k p , k i are coefficients and b is the integral episode. Feedforward control is introduced to cancel out the impacts of gravity acceleration. The component of gravity acceleration in the forward direction of the driverless bus is set as the compensation of deceleration. At the same time, the compensation of the desired velocity is calculated according to the road slope.
Especially, the road slope is obtained from the IMU. According to Newton's second law, the gravitational acceleration component in the forward direction of the driverless bus, which is shown in Equation (15), is used as the compensation of deceleration: where g is the gravitational acceleration (g = 9.8 m/s 2 ), and slope is the road slope. Similarly, the desired velocity compensation in TD control is calculated according to the road slope. It is calculated as: where k v is the proportionality coefficient.

Simulations
The simulations are carried out in Matlab (provided by Mathworks, United States) and TruckSim (provided by Mechanical Simulation, United States). Especially, a high-precision model of AWEB is built in TruckSim. The major parameters of the model are shown in Figure 13 and Table 1. In feedback control, discrete PI is utilized for decelerating control, which is shown as Equation (14). Furthermore, only errors between t and 1 t b + − are used in the integral: where p k , i k are coefficients and b is the integral episode.
Feedforward control is introduced to cancel out the impacts of gravity acceleration. The component of gravity acceleration in the forward direction of the driverless bus is set as the compensation of deceleration. At the same time, the compensation of the desired velocity is calculated according to the road slope.
Especially, the road slope is obtained from the IMU. According to Newton's second law, the gravitational acceleration component in the forward direction of the driverless bus, which is shown in Equation (15), is used as the compensation of deceleration: sin( ) ff a g slope =  (15) where g is the gravitational acceleration ( g = 9.8 m/s 2 ), and slope is the road slope.
Similarly, the desired velocity compensation in TD control is calculated according to the road slope. It is calculated as: where v k is the proportionality coefficient.

Simulations
The simulations are carried out in Matlab (provided by Mathworks, United States) and TruckSim (provided by Mechanical Simulation, United States). Especially, a high-precision model of AWEB is built in TruckSim. The major parameters of the model are shown in Figure 13 and Table 1.  In the high-precision model, the cornering stiffnesses are 6500 (N/rad) and 5200 (N/rad). The mass is 17,800 (kg). The wheelbase of the model is 5.9 (m). The control inputs are the steering angle, control velocity, and deceleration. Outputs are the bus's position, velocity, heading angle, and steering angle. The simulation is mainly divided into two parts: Firstly, the robustness and accuracy of PPC-FAR are indicated in Section 3.1. Secondly, the efficiency of the longitudinal controller is simulated in Section 3.2.

Stability Analysis
In order to verify the stability of the improved method, PPC-FAR and PPC-RAR are compared in lane-keeping. The initial lateral error of bus to the desired path is 1 m, and the initial heading error is 0. Referring to Equation (11), k is identified as 1. The preview point is calculated according to the look-ahead distance. As Figures 14 and 15 show, the simulations are carried out in different look-ahead distances and velocities. Additionally, look-ahead distance is described as the distance between the reference point and the preview point.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 12 of 19 In the high-precision model, the cornering stiffnesses are 6500 (N/rad) and 5200 (N/rad). The mass is 17,800 (kg). The wheelbase of the model is 5.9 (m). The control inputs are the steering angle, control velocity, and deceleration. Outputs are the bus's position, velocity, heading angle, and steering angle. The simulation is mainly divided into two parts: Firstly, the robustness and accuracy of PPC-FAR are indicated in Section 3.1. Secondly, the efficiency of the longitudinal controller is simulated in Section 3.2.

Stability analysis
In order to verify the stability of the improved method, PPC-FAR and PPC-RAR are compared in lane-keeping. The initial lateral error of bus to the desired path is 1 m, and the initial heading error is 0. Referring to Equation (11), k is identified as 1. The preview point is calculated according to the look-ahead distance. As Figures 14 and 15 show, the simulations are carried out in different lookahead distances and velocities. Additionally, look-ahead distance is described as the distance between the reference point and the preview point. The performances of PPC-RAR are indicated in Figure 14. The desired path and the path of the driverless bus are illustrated in Figure 14a. Meanwhile, the steering angle is shown in Figure 14b. To highlight the stability of PPC-FAR, the heading error is shown in Figure 14c and the lateral error is indicated in Figure 14d. It is obvious that the controller oscillates when the lateral error is small. The velocity is 10 km/h and the look ahead distance is 20 m. The oscillation is more obvious in Figure  14b,c. The reason is that the kinematic model ignores the lateral dynamics of the bus, and the influences are exaggerated in the driverless bus.
The same as Figure 14, the performances of PPC-FAR are illustrated in Figure 15. Figure 15a shows the desired path and the path of the driverless bus. Figure 15b illustrates the steering angle. Figure 15c indicates the heading error, and the lateral error is shown in Figure 15d. Notably, the driverless bus tracks the desired path without oscillation when the velocity is below 30 km/h. However, the system oscillates when the velocity increase to 60 km/h. The simulation results verify that the stability of PP is improved in PPC-FAR when the velocity is lower than 30 km/h. That also means that PPC-FAR is suitable for low-velocity conditions in the driverless bus.
Meanwhile, PPC-FAR uses less distance to merge the lateral error, but the maximum heading error of PPC-FAR is larger than PPC-RAR. That is because aggressive steering strategies eliminate the lateral error more quickly.
Moreover, Table 4 lists the final state of system and final state lateral error with different lookahead distances. Both PPC-RAR and PPC-FAR control the bus to track the desired path. This illustrates that the assumptions about the kinematic model are suitable to driverless buses. However, the oscillations verify that the ignorance should be considered in the path-tracking controller. Meanwhile, the high accuracy of PPC-FAR illustrates that the modification to PP is meaningful and suitable to driverless buses.  The performances of PPC-RAR are indicated in Figure 14. The desired path and the path of the driverless bus are illustrated in Figure 14a. Meanwhile, the steering angle is shown in Figure 14b. To highlight the stability of PPC-FAR, the heading error is shown in Figure 14c and the lateral error is indicated in Figure 14d. It is obvious that the controller oscillates when the lateral error is small. The velocity is 10 km/h and the look ahead distance is 20 m. The oscillation is more obvious in Figure 14b,c. The reason is that the kinematic model ignores the lateral dynamics of the bus, and the influences are exaggerated in the driverless bus.
The same as Figure 14, the performances of PPC-FAR are illustrated in Figure 15. Figure 15a shows the desired path and the path of the driverless bus. Figure 15b illustrates the steering angle. Figure 15c indicates the heading error, and the lateral error is shown in Figure 15d. Notably, the driverless bus tracks the desired path without oscillation when the velocity is below 30 km/h. However, the system oscillates when the velocity increase to 60 km/h. The simulation results verify that the stability of PP is improved in PPC-FAR when the velocity is lower than 30 km/h. That also means that PPC-FAR is suitable for low-velocity conditions in the driverless bus.
Meanwhile, PPC-FAR uses less distance to merge the lateral error, but the maximum heading error of PPC-FAR is larger than PPC-RAR. That is because aggressive steering strategies eliminate the lateral error more quickly.
Moreover, Table 4 lists the final state of system and final state lateral error with different look-ahead distances. Both PPC-RAR and PPC-FAR control the bus to track the desired path. This illustrates that the assumptions about the kinematic model are suitable to driverless buses. However, the oscillations verify that the ignorance should be considered in the path-tracking controller. Meanwhile, the high accuracy of PPC-FAR illustrates that the modification to PP is meaningful and suitable to driverless buses. In this section, PPC-FAR and PPC-RAR are compared in curve-following. In PP, the stability is related to the look ahead distance, so the minimum look-ahead distance is 4 m. The radius of the curve is 10 m. In addition, the initial lateral error of driverless bus to desired path is 0 m. The velocity is 10 km/h. The parameters are selected according to Equation (1). Figure 16 lists the maximum lateral error with different parameters. The kinematic model does not describe the driverless bus well in large curvature. Thus, if the k is set at 1, the driverless bus tracks the desired path with a large lateral error. When the look-ahead distance is 4 m, and the k is 0.5, the PPC-FAR obtains the minimum lateral error. PPC-RAR performs best when the look-ahead distance is 4 m, and k is 0.8. The minimum lateral error of PPC-FAR is 0.58 m, but the minimum lateral error of PPC-RAR is 0.72 m. The results ascertained that PPC-FAR improves the tracking accuracy of PP under large curvature conditions.  Figure 17 shows the two best experiment results in the curve. The trajectories of the driverless bus are similar for these two controllers. The steering angles are illustrated in Figure 17b. Although the curvature of the path is changed at the connection of a straight arc, the steering angle changes smoothly. Figure 17c,d illustrate the lateral and heading errors. The heading errors are close, but the maximum lateral error of PPC-RAR is larger than PPC-FAR. Thus, the PPC-FAR performs better than PPC-RAR both in lane-keeping and curve-following. Thus, the PPC-FAR is more suitable to driverless buses. Meanwhile, suboptimal '  Figure 17 shows the two best experiment results in the curve. The trajectories of the driverless bus are similar for these two controllers. The steering angles are illustrated in Figure 17b. Although the curvature of the path is changed at the connection of a straight arc, the steering angle changes smoothly. Figure 17c,d illustrate the lateral and heading errors. The heading errors are close, but the maximum lateral error of PPC-RAR is larger than PPC-FAR. Thus, the PPC-FAR performs better than PPC-RAR both in lane-keeping and curve-following. Thus, the PPC-FAR is more suitable to driverless buses. Meanwhile, suboptimal l d and k in PPC-FAR are easy to obtain in experiments, which indicate the good adaptability of PPC-FAR.
smoothly. Figure 17c,d illustrate the lateral and heading errors. The heading errors are close, but the maximum lateral error of PPC-RAR is larger than PPC-FAR. Thus, the PPC-FAR performs better than PPC-RAR both in lane-keeping and curve-following. Thus, the PPC-FAR is more suitable to driverless buses. Meanwhile, suboptimal '

Simulation of Longitudinal Control
In this section, an experiment is conducted to verify the efficiency of the longitudinal controller. Since the acceleration is controlled by the VCU on the bus, only deceleration is discussed in this part.
The initial velocity of driverless bus is 40 km/h. The cycle of the controller is 100 ms. The slope of the road is 0. Table 5 shows the parameters of the longitudinal control. Figure 18a shows the simulation scene. Figure 18b shows the designed velocity and simulation results. Meanwhile, Figure 18c indicates the velocity error. Deceleration is shown in Figure 18d. The results illustrate that the system quickly converges to a steady state while there is a deviation and the steady-state deviation is almost 0. The simulation results illustrate the high tracking accuracy of the longitudinal controller. Additionally, deceleration changes continuously and does not exceed −0.6 m/s 2 . Meanwhile, the velocity of the driverless bus changes constantly, too. Due to the delay of the actuator and the inertia of the driverless bus, there is some slight overshoot in the actual velocity.

Real Bus Experiments
A driverless bus system is built in our early work [15]. The global path-planning and local pathplanning are available in this implementation. Figure 19a shows the overview of the driverless bus (12 m × 2.57 m × 3.28 m, provided by CRRC ELECTRIC VEHICLE CO., LTD, ZhuZhou City, China). The wheelbase is 5.9 m. As Figure 4 shows, GPS (IMU) is equipped, which gives the position, heading angle, and velocity of the driverless bus. The driverless bus stays in its lane in Figure 19b,c. Additionally, the driverless bus makes a U-turn in Figure 19d,e.

Real Bus Experiments
A driverless bus system is built in our early work [15]. The global path-planning and local path-planning are available in this implementation. Figure 19a shows the overview of the driverless bus (12 m × 2.57 m × 3.28 m, provided by CRRC ELECTRIC VEHICLE CO., LTD, ZhuZhou City, China). The wheelbase is 5.9 m. As Figure 4 shows, GPS (IMU) is equipped, which gives the position, heading angle, and velocity of the driverless bus. The driverless bus stays in its lane in Figure 19b,c. Additionally, the driverless bus makes a U-turn in Figure 19d  The lane-keeping experiments are carried out to illustrate the advantages of PPC-FAR. The length of the target lane is 2 km, and the curvature is less than 0.01. The initial velocity is 0 km/h, the target velocity is set as 20 km/h. Meanwhile, the initial lateral error is 1.5 m, the initial heading error is close to 0. According to the experiments in Section 3, l d is defined as 15 m, and k is 1. The performances of PPC-FAR and PPC-RAR are shown in Figure 20.
The lane-keeping experiments are carried out to illustrate the advantages of PPC-FAR. The length of the target lane is 2 km, and the curvature is less than 0.01. The initial velocity is 0 km/h, the target velocity is set as 20 km/h. Meanwhile, the initial lateral error is 1.5 m, the initial heading error is close to 0. According to the experiments in Section 3, d l is defined as 15 m, and k is 1. The performances of PPC-FAR and PPC-RAR are shown in Figure 20.   Figure 20b. Obviously, there is almost no error between the actual steering angles and the desired steering angle. Additionally, the steering angles reach −6° to reduce the lateral error in the beginning. The overshoot in PPC-RAR is obvious but there is no overshoot in PPC-FAR. Meanwhile, the lateral error of PPC-FAR is larger than PPC-FAR. The oscillation in PPC-RAR is not obvious in Figure 20, but it is marked if sitting in the bus. When the driverless bus is controlled by PPC-FAR, the bus moves forward smoothly, and the oscillation is hardly felt.
The results of the lane-keeping experiment are similar to the simulation results in Section 3.1.1. Those results show better stability of PPC-FAR under low speed conditions. Meanwhile, the tracking accuracy is also improved.
Another real bus experiment is shown in Figures 21 and 22. There are two straight lanes and a curve which are shown in Figure 21a. The slope of the road is shown in Figure 21b. The first lane is downhill and then there is a curve. The second lane is uphill.  Figure 20a shows the steering angle of PPC-FAR and PPC-RAR. The lateral error is shown in Figure 20b. Obviously, there is almost no error between the actual steering angles and the desired steering angle. Additionally, the steering angles reach −6 • to reduce the lateral error in the beginning. The overshoot in PPC-RAR is obvious but there is no overshoot in PPC-FAR. Meanwhile, the lateral error of PPC-FAR is larger than PPC-FAR. The oscillation in PPC-RAR is not obvious in Figure 20, but it is marked if sitting in the bus. When the driverless bus is controlled by PPC-FAR, the bus moves forward smoothly, and the oscillation is hardly felt.
The results of the lane-keeping experiment are similar to the simulation results in Section 3.1.1. Those results show better stability of PPC-FAR under low speed conditions. Meanwhile, the tracking accuracy is also improved.
Another real bus experiment is shown in Figures 21 and 22. There are two straight lanes and a curve which are shown in Figure 21a. The slope of the road is shown in Figure 21b. The first lane is downhill and then there is a curve. The second lane is uphill.   Table 6. k and ' d l are determined by the fuzzy logic inference machine. Since the model in TruckSim does not describe the real bus well and the real bus requires less time to slow down, the parameters in Table 6 are different from Table 5. Additionally, the desired velocities and feedback velocities are illustrated in Figure 22c. The initial velocity is 23 km/h, while the velocity reduces to 10 km/h in the turning process. The decelerations and longitudinal errors are illustrated in Figure 22d. Since the feedback of the velocity is discrete and the noise is unpredictable, the longitudinal errors fluctuate. Additionally, the deceleration is continuous and the maximum deceleration is 0.8 m/s 2 . Conclusively, the experiments   Figure 22b. During turning, the maximum lateral error is 0.5 m, and the results are similar to the simulation in Section 3. The parameters are instructed in Table 6. k and l d are determined by the fuzzy logic inference machine. Since the model in TruckSim does not describe the real bus well and the real bus requires less time to slow down, the parameters in Table 6 are different from Table 5. Additionally, the desired velocities and feedback velocities are illustrated in Figure 22c. The initial velocity is 23 km/h, while the velocity reduces to 10 km/h in the turning process. The decelerations and longitudinal errors are illustrated in Figure 22d. Since the feedback of the velocity is discrete and the noise is unpredictable, the longitudinal errors fluctuate. Additionally, the deceleration is continuous and the maximum deceleration is 0.8 m/s 2 . Conclusively, the experiments in the driverless bus verify the simulation in Section 3 and indicate the good performance of PPC-FAR.

Conclusions
A path-tracking controller for a driverless bus is proposed. On this basis, path-tracking is divided into lateral and longitudinal control. Firstly, in lateral control, a path-tracking controller based on FPPC-FAR is indicated. Meanwhile, the reference point of PP is moved from the rear axle to the front axle. It relieves the influence of bus's lateral dynamic characteristics to path-tracking. Additionally, a fuzzy logic inference machine is adopted to adjust the parameter of PPC-FAR, which improves the tracking accuracy of PPC-FAR. Secondly, in longitudinal control, a feedback-feedforward control algorithm is proposed. In feedback control, TD is introduced to calculate the fast tracking of the desired velocity, which highly improves the input quality of PI. Then, a PI controller is built to track the fast tracking of the desired velocity, which increases the efficiency of longitudinal control. In feedforward control, the component of gravity is applied as the compensation of deceleration, which relieves the influence of the driverless bus's gravity on longitudinal control. Simulations and real bus experiments indicate the advantages of the path-tracking controller, which is proposed in this paper.
Additionally, the main idea for driverless bus path tracking is only a preliminary work. For making full use of the advantage of those path-tracking algorithms, more accurate driverless bus models should be built in the future. Furthermore, the relationship between the bus performances and the parameters of the path-tracking controller should be clear, too.