Introduction
A. Motivation
Autonomous vehicles have been one of the most active research topics in automotive industry hoping to maximize safety and user convenience [1]. Many research institutions have launched highly intelligent vehicles with specific application scenarios.
Usually, the system of autonomous vehicle is divided into three subsystems: perception system, motion planning system and control system. As the core of autonomous vehicle, motion planning employs the sensors’ perceptional information to determine safe and comfortable trajectory [2]. The trajectory includes both path information and velocity information. The path information describes the driving route of the vehicle, while the velocity information describes the driving velocity and acceleration. Correspondingly, motion planning is also divided into path planning and velocity planning. Although various motion planning strategies are proposed, motion planning for autonomous vehicle is critical and still a challenging task [3]. For the actual problems existing in autonomous vehicle motion planning, two important factors should be considered: the real-time performance of the planning algorithm and the smoothness of the output trajectory [4].
B. Related Work
Some research has been conducted on velocity planning. Paper [5], [6] decomposed the motion planning into path planning and velocity planning. A feasible path with continuous bounded curvature was generated firstly, which guaranteed that the path would not collide with obstacles. Then, velocity planning algorithm was designed to generate the velocity profile along the path. In order to get the optimal velocity profile, an iteration searching method was adopted. With the feasible path and optimal velocity profile, spatial and temporal trajectory was obtained. Paper [7] applied a cubic function of time to describing the velocity profile during the traveling along the path. An iteration searching method was also adopted to optimize the multinomial coefficients. This method achieved a smooth profile with continuous velocities and accelerations and a jerk minimization, which was suited to be implemented within the framework of the iterative steering and the dynamic path inversion methods. However, exhaustively iterate over all possible solutions costs a larger computational burden. Autonomous vehicle has strict requirements in real-time response and reliability. Iterative methods may not completely ensure algorithm execution within limited velocity planning period.
An alternative solution is to generate the velocity profile based on a preset model [8], [9]. The preset model separates velocity profile into several segments, for example, accelerating segment, constant velocity segment and decelerating segment. All the segments are combined to form the velocity profile. Discomfort feeling of human is mainly caused by disturbance of accelerations [10]. Velocity limits have been considered in paper [11]. The velocity bounds can change along the path in order to guarantee an adequate comfort to the passengers. Considering that jerk disturbance leads to discomfort, paper [12] took jerk constraints into account. Paper [13] verified that the compound velocity profile could be obtained by the means of closed form expressions if the feasibility conditions were satisfied. Paper [14] used the typical trapezoidal velocity profile that included the speed-up, constant speed and speed-down processes. In each process, the velocity could be calculated according to the given acceleration and deceleration. All the processes were connected according to smooth method. Such velocity planning methods generate a continuous smooth velocity profile that is satisfied with the constraint of acceleration and jerk. However, the generated velocity profile is hardly to be tracked accurately by control module. Velocity profile specifies the desired velocity in the subsequent period according to current environmental state. When the state changes in the following cycles, it is necessary to generate new velocity profile that is different with the previous profile, and thus these methods lose the original intention of design.
Instead of generating velocity profile, some methods directly output the velocity and acceleration as the result of velocity planning. Considering the synthetic control of accelerator and brake, paper [15] used 13 fuzzy rules and the test showed that the unmanned vehicles based on the fuzzy rules adapt to any kind of condition in a great scope of speeds. Paper [16] put forward a fuzzy logic method to generate the desired velocity. The fuzzy planning model was consisted of two input variables (relative distance and relative velocity) and single output variable (acceleration). Based on the analysis of ACC (Adaptive Cruise Control) system, paper [17] developed a parameter self-tuning fuzzy-PID algorithm to generate the desired velocity. According to the traffic condition, the parameters of PID were adapted on-line by fuzzy rules. Paper [18] described the designs of fuzzy method and intelligent PI method for the longitudinal control of a car—the throttle and brake pedals. These methods achieve smaller fluctuations of velocity and provide comfortable performance of traveling. However, these planning models cannot perform complex driving behavior such as dealing with merging vehicles, circumventing other cars, or respond intelligently to unexpected dynamic obstacles. Also, these systems still need constant human supervision [5].
C. Contribution of This Paper
This paper is based on Kotei 2.0 platform that is launched by Wuhan Kotei Technology Corporation in 2019. Kotei 2.0 platform is an intelligent car equipped with autonomous driving system, and it provides full capability for developing and debugging the designer’s application.
Velocity planning method based on fuzzy neural network is proposed in this paper. The planning method has the following features: real-time acceleration is calculated directly, instead of generating velocity profile, so as to reduce the planning algorithm complexity; acceleration calculated by FNN planning model changes continuously and smoothly, so as to be feasible for the vehicle to execute; typical scenes are analyzed, and different FNN planning models are established, so as to satisfy the complex driving behavior existing in autonomous vehicle. As a result, FNN method achieves smaller fluctuations of acceleration than traditional Fuzzy method and Fuzzy-PID method. What’s more, FNN method is extremely convenient for code realization. The theoretical innovation of FNN planning algorithm is that the sample data are extracted from fuzzy rules and neural network is used to train the smooth planning model. Good robustness and independence on the model of plant of fuzzy system and good self-learning ability of neural network are both utilized.
The motion planning framework of Kotei 2.0 platform is introduced in Section 2. The proposed velocity planning method and three kinds of FNN planning models are described in Section 3. Based on the established planning models, simulations are conducted to verify the performance in Section 4. Implementation details of velocity planning in a real autonomous vehicle are given in Section 5. Section 6 focuses on velocity planning performance evaluation in both simulation and on road testing, as well as the future work.
Scheme of Motion Planning
A. Overview of Autonomous Vehicle System
The typical architecture of autonomous vehicle is consisted of three subsystems: sensing and perception system, motion planning system, and control system [19]. Kotei 2.0 platform adopts this three-tiered architecture as shown in Fig. 1.
Sensing and perception system gathers information about the driving conditions from on-board sensors (Radar, Lidar, camera, etc.), and generates a real-time environmental representation. The main objectives of the sensing and perception system are lane-level localization, subject vehicle detection, static/dynamic obstacle detection and safe derivable area representation.
Motion planning system uses the perception information along with the subject vehicle to compute safe collision free local trajectory at each time instant. Path planning module generates a collision free path, while velocity planning module decides the velocity and acceleration along the path. Path and velocity are combined to compound a spatial and temporal trajectory.
Local trajectory generated via motion planning module is used as a reference trajectory to be tracked. The closed-loop control system is designed to track the trajectory by controlled manipulation of steering, throttle and brake.
B. Motion Planning
In [19], [20], driving path and velocity profile are generated simultaneously, which will cause huge computational complexity. To avoid this problem, Kotei 2.0 platform adopts path-velocity decomposition method. Path planning is to obtain optimal path firstly. Depending on the optimal path and perception information along the path, velocity planning is carried out in order to calculate the optimal velocity and acceleration. So the trajectory is compound considering both the optimal path and velocity information.
1) Path Planning
State Lattices method [21]–[23] is adopted to generate an optimal path. The sketches of State Lattices method is shown in Fig. 2.
According to State Lattices method, planning horizon is divided into a series of special lattices. Lattice nodes locate at the vertex of lattices. All the lattice nodes are connected by smooth links, which constructs a set of candidate paths. Through traversing the set of candidate paths, the optimal path can be found.
The procedure of path planning is summarized as: lattice nodes constructing, path generating, and optimal path searching, as shown in Fig. 3.
Lattice nodes constructing. According to the current position of autonomous vehicle, S-L coordinate system is constructed firstly. The axis
Path generating. In the S-L coordinate system, quintic polynomial (
Optimal path searching. All the candidate paths need to be evaluated according to their performance indicators, so as to find the optimal path. The performance indicators include the safety performance (related to the distance between path and static/dynamic obstacle), smooth performance (related to curvature of the path), centering performance (related to deviation between path and reference line), and comfort performance (related to variation frequency and amplitude of curvature). At last, the candidate path with best performance indicator is selected as the optimal path.
According to the deviation between current position and desired optimal path, control system makes real-time adjustment on steering wheel.
2) Velocity Planning
In practice, autonomous vehicle may encounter with different situations, such as stationary vehicle, moving vehicle, stop line, speed limit sign, and bends. With these scenes, velocity planning module has to decide velocity and acceleration command and send it to control system, so as to implement acceleration or deceleration control by adjusting throttle and brake.
This paper puts forward a velocity planning method. In order to describe the method, we summarize the above scenes as the following model scenes:
Static obstacle model that includes the scenes such as stopped vehicle ahead, pedestrian, stop line, and roadblock. For this scene model, velocity planning decides deceleration command according to the distance between subject vehicle and static obstacle.
Dynamic obstacle model that supposes another vehicle moving ahead with changed velocity. For this scene model, velocity planning decides continuously changed velocity command that coordinates with dynamic vehicle.
Stable obstacle model that includes the scenes such as speed limit sign, and bends (slow down to the safe velocity before driving into bend). For this scene model, motion planning decides deceleration command according to the distance between current position and stable obstacle, and the deviation between current velocity and safe velocity.
To implement velocity planning, information about the driving conditions is gathered by sensing and perception system firstly. The real-time information is used to distinguish the scene model. Velocity planning models based on FNN are designed for the above three scenes respectively, and they are applied to the calculation of desired velocity and acceleration. Lastly, the minimum desired velocity and acceleration are selected, and the smooth values are output to control system. The procedure of velocity planning is shown in Fig. 4.
Velocity Planning Based on FNN
The core of velocity planning is to build the planning models for the three kinds of scenes. Velocity planning algorithm based on FNN is proposed in this section. Giving specific scene, fuzzy planning model is established. As fuzzy planning model lacks the ability of learning and adaptability, neural network is adopted to modify the fuzzy planning model offline. The established FNN planning model specifies the input and output mapping relationship, which has strong anti-interference and self-adaptability.
A. Principle of FNN Velocity Planning
The proposed velocity planning algorithm based on FNN is divided into two stages: offline training and online calculation.
1) Offline Training
Based on the experience of manual driving, the fuzzy planning model is established firstly. Then, the fuzzy rules are extracted and translated into the input and output sample set, which is used as the neural network training samples. A three-layer neural network is initialized, and the weight vectors and bias vectors of the network can be solved through off-line training. Finally, the trained neural network is regarded as the FNN planning model. The off-line training process is shown in Fig. 5.
Fuzzy planning model describes the map relationship between input state variables and output variables. Velocity variables and distance variables are considered as the input variables, while the desired acceleration is considered as the output variable. According to the theory of fuzzy logic system, the input and output variables are fuzzified as the following fuzzy sets:\begin{align*} V=&\{V_{1},V_{2} \cdot \cdot \cdot V_{i},\cdot \cdot \cdot,V_{m} \}, \tag{1}\\ D=&\{D_{1},D_{2} \cdot \cdot \cdot D_{j},\cdot \cdot \cdot,D_{n} \}, \tag{2}\\ A=&\{A_{1},A_{2} \cdot \cdot \cdot,A_{k},\cdot \cdot \cdot,A_{l} \},\tag{3}\end{align*}
According to manual driving experience, the fuzzy rules can be obtained. The fuzzy rules describe the map relationship between input variables and output variable as:
if
Suppose that triangular function is defined as the membership function of \begin{equation*} a_{k} =f(d_{i},v_{j}).\tag{4}\end{equation*}
All the fuzzy rules are extracted, which can form the input and output sample set as \begin{equation*} S_{ij} =[v_{i},d_{j},a_{k}],\tag{5}\end{equation*}
Artificial neural network is adopted to solve the nonlinear model between input sample and output sample, so as to forecast the desired acceleration. A three-layer neural network is initialized. The number of neurons in input layer is chose as the number of input variables, the number of neurons in hidden layer is \begin{align*} w_{1}^{(k+1)}=&w_{1}^{(k)}+\Delta w_{1}^{(k)}, \tag{6}\\ w_{2}^{(k+1)}=&w_{2}^{(k)}+\Delta w_{2}^{(k)}, \tag{7}\\ b_{1}^{(k+1)}=&b_{1}^{(k)}+\Delta b_{1}^{(k)}, \tag{8}\\ b_{2}^{(k+1)}=&b_{2}^{(k)}+\Delta b_{2}^{(k)},\tag{9}\end{align*}
After
2) Online Calculation
With the FNN planning model, acceleration is calculated in real time as shown in Fig. 6.
Distance variable and velocity variable are extracted, which forms the input vector of the planning model. Based on FNN planning model, acceleration can be online calculated as following:\begin{equation*} a_{t}^{\prime }=\textrm {tansig}\left ({{W_{2} \cdot \textrm {tansig}\left ({{W_{1} \cdot [v_{t} ',d_{t} ']^{T}+B_{1}} }\right)+B_{2}} }\right),\tag{10}\end{equation*}
According to the online calculation process, the output acceleration of FNN method is calculated through some simple matrix operations. Because of this characteristic, code realization of FNN method is extremely convenient.
B. FNN Planning for Static Obstacle Model
In the case of static obstacle scene, velocity planning is to plan the real-time deceleration to reduce driving velocity smoothly and stop in front of the obstacle.
The diagram of the static obstacle scene is shown in Fig. 7. Therefore, the desired velocity is zero. In order to plan the desired acceleration, the input variables are chose as
According to the FNN planning method, the range of driving velocity is defined between [0, \begin{equation*} V=\{V_{1},V_{2} \cdot \cdot \cdot,V_{12} \}.\tag{11}\end{equation*}
Fig. 8 shows the membership function of velocity. The corresponding maximum membership values are:\begin{equation*} v=\{1,2,3,4,5.5,7,8.5,10,12,14,16,19\}.\tag{12}\end{equation*}
Similarly, the range of distance is defined between [0, 100m], and the range is discretized into a fuzzy set composed of \begin{equation*} D=\{D_{1},D_{2},\cdot \cdot \cdot,D_{9} \}.\tag{13}\end{equation*}
Fig. 9 shows the membership function of velocity. The corresponding maximum membership values are:\begin{equation*} d=\{2,5,9,15,24,37,55,79,110\}.\tag{14}\end{equation*}
Similarly, the range of acceleration is defined between [\begin{equation*} A=\{A_{1},A_{2},\cdots,A_{11} \}.\tag{15}\end{equation*}
\begin{align*} a\!=\!\{\!-6, -5, -4, -3, -2.5, -2, -1.5, -1, -0.5, -0.25, 0\}.\!\!\!\! \\{}\tag{16}\end{align*}
Based on the manual driving experience, fuzzy rule table can be obtained as shown in table 1. The fuzzy planning model utilizes velocity and distance as the inputs, and accordingly output real time acceleration. The planning model is shown in Fig. 11.
The fuzzy rules are extracted and transformed into input and output sample set. The input sample set \begin{align*} P=&\{[v_{i},d_{j}]\vert,v_{i} \!\in \! v,d_{j} \!\in \! d,i\!=\!1,2,\cdots,12,j\!=\!1,2,\cdots,9\}, \\{}\tag{17}\\ T=&\{[a_{ij}]\vert i=1,2,\cdots,12,j=1,2,\cdots,9\}, \tag{18}\\ S=&\{[v_{i},d_{j},a_{ij}]\vert i=1,2,\cdots,12,j=1,2,\cdots,9\}.\tag{19}\end{align*}
According to the above analysis, sample data can be summarized as shown in table 2.
Before training the neural network, all the elements in sample set \begin{align*} v_{i} '=&\frac {v_{i} -{(v_{12} +v_{1})} \mathord {\left /{ {\vphantom {{(v_{12} +v_{1})} 2}} }\right. } 2}{{(v_{12} -v_{1})} \mathord {\left /{ {\vphantom {{(v_{12} -v_{1})} 2}} }\right. } 2}, \tag{20}\\ d_{j} '=&\frac {d_{j} -{(d_{9} +d_{1})} \mathord {\left /{ {\vphantom {{(d_{9} +d_{1})} 2}} }\right. } 2}{{(d_{9} -d_{1})} \mathord {\left /{ {\vphantom {{(d_{9} -d_{1})} 2}} }\right. } 2}, \tag{21}\\ a_{ij} '=&\frac {a_{ij} -{(a_{11} +a_{1})} \mathord {\left /{ {\vphantom {{(a_{11} +a_{1})} 2}} }\right. } 2}{{(a_{11} -a_{1})} \mathord {\left /{ {\vphantom {{(a_{11} -a_{1})} 2}} }\right. } 2}.\tag{22}\end{align*}
Based on the principle of FNN planning method, a three-layer neural network is initialized. The number of neurons in input layer is 2, the number of neurons in hidden layer is 10, and the number of neurons in output layer is 1. The transport function is hyperbolic tangent function. Maximum training times is 100, and learning rate is 0.05. With the normalized sample set, neural network is trained off line, and the weight vectors and bios vectors are solved.
Finally, the trained neural network is used as the FNN velocity planning model for the static obstacle scene. According to the real-time information of distance and velocity, desired acceleration is calculated online.
Fig. 12 shows the FNN velocity planning model after training. Comparing with fuzzy planning model, the surface of acceleration generated by FNN planning model is much smoother. Therefore, it can improve the comfort of automatic driving.
C. FNN Planning for Dynamic Obstacle Moedel
Different with static obstacle scene, the purpose of velocity planning for dynamic obstacle scene is to generate acceleration in order to coordinate with object vehicle (dynamic obstacle), and keep a relative constant distance (time lag) between two vehicles. The diagram of the dynamic obstacle scene is as shown in Fig. 13.
In dynamic obstacle scene, the state variables include driving velocity of object vehicle and subject vehicle, and relative distance between two vehicles. Aiming at decreasing the dimension of planning model, relative velocity
According to FNN velocity planning method, the fuzzy sets of linguistic variables are defined as (25), as shown at the bottom of the next page.\begin{align*} \Delta \! V=&\{\Delta \! V_{1},\Delta \! V_{2},\Delta V_{3},\Delta V_{4},\Delta V_{5},\Delta V_{6},\Delta V_{7},\Delta V_{8},\Delta V_{9}\}, \\{}\tag{23}\\ \tau=&\{T_{1},T_{2},T_{3},T_{4},T_{5},T_{6},T_{7},T_{8},T_{9},T_{10} \},\tag{24}\end{align*}
Fig. 14 shows the membership functions of relative velocity, time lag, and acceleration. The corresponding maximum membership values are:\begin{align*} \Delta \! v=&\{-7,-5,-3,-1,0,1,3,5,7\}, \tag{26}\\ t=&\{0.25,0.5,1,1.5,2,2.5,3,4,5,6\}, \tag{27}\\ a=&\{\!-5,\!-4,\!-3,\!-2,\!-1.5,\!-1,\!-0.5,0,0.5,1,1.5,2,3,4\}. \\{}\tag{28}\end{align*}
Based on the experience of manual driving, the fuzzy rule table can be obtained as shown in table 3. With relative velocity and time lag as input variables and acceleration as output variable, the planning model is shown in Fig. 15.
Similarly, fuzz rules of the fuzzy planning model are extracted and translated into input and output sample sets, and the training data is obtained as shown in table 4.
Then, a three-layer neural network is initialized, and the fuzzy planning model is modified offline through training the neural network. The modified planning model is shown in Fig. 16. Finally, the trained FNN planning model is used as the velocity planning model for the dynamic obstacle scene, and desired acceleration is calculated online.
D. FNN Planning for Stable Obstacle Model
In the case of stable obstacles scene, velocity planning generates deceleration if current driving velocity exceeds an allowed speed. The diagram of the stable obstacle scene is as shown in Fig. 17.
Similar to the above scenes, the input variables are relative velocity and distance. Suppose that there exist a speed limit sign along the path The relative velocity is defined as \begin{align*} \Delta V=&\{\Delta V_{1},\Delta V_{2} \cdot \cdot \cdot,\Delta V_{10}\}, \tag{29}\\ D=&\{D_{1},D_{2},\cdot \cdot \cdot,D_{9} \}, \tag{30}\\ A=&\{A_{1},A_{2} \cdot \cdot \cdot,A_{11} \}.\tag{31}\end{align*}
Fig. 18 shows the membership functions of relative velocity, distance, and acceleration. The corresponding maximum membership values are:\begin{align*} v=&\{1,2,3,4,5.5,7,8.5,10,12,14\}, \tag{32}\\ d=&\{2,5,9,15,24,37,55,79,110\}, \tag{33}\\ a=&\{\!-6,-5,-4,-3,-2.5,-2,-1.5,-1,\!-0.5,\!-0.25,0\}. \\{}\tag{34}\end{align*}
The fuzzy rule table is obtained as shown in table 5. The fuzzy planning model and trained FNN planning model are as shown in Figs. 19–20. The desired velocity is equal to (or lower than) the allowed velocity, and the desired acceleration is calculated online.
Obviously, the surface of acceleration determined by fuzzy planning model lacks smoothness. The jumping acceleration may cause discomfort when the control system executes the acceleration command. The reason for this phenomenon is that the fuzzy rules are constructed by very limited discrete experience and the fuzzy rules are discrete. Neural network has the self-learning ability. Therefore, neural network is used to modify the fuzzy planning model. By this, the smooth motion surface can be trained based on the discrete experience data. The theoretical innovation of FNN planning algorithm is that the sample data are extracted from fuzzy rules and neural network is used to train the smooth planning model.
Simulations
In this section, the above three kinds of scenes are simulated by using the proposed FNN planning method. Considering the traditional methods proposed before, two typical velocity planning methods, Fuzzy method [16] and Fuzzy-PID method [17], are chose to compare with the FNN planning method. Fuzzy planning method used fuzzy theory entirely, and calculate the acceleration depend on the driver’s experience. Fuzzy-PID planning method developed a parameter self-tuning PID algorithm to generate the desired velocity. According to the traffic condition, the parameters of PID were adapted on-line by fuzzy rules.
A. Static Obstacle Scene
In static obstacle scene, the obstacle is supposed to be 100 meters ahead. The autonomous vehicle perceives the obstacle and begins to slow down with the initial velocity of
Performance of FNN velocity planning in static obstacle scene with different initial velocity.
According to the results, the autonomous vehicle begins to decelerate when the time lag is less than
Then, three kinds of planning methods are compared in the static obstacle scene. The obstacle is supposed to be 100 meters ahead, and the autonomous vehicle begins to decelerate with the initial velocity of
Performance comparison with different velocity planning methods in static obstacle scene.
According to Fig. 22, autonomous vehicle slows down and stops before the static obstacle by each planning method. However, the performance of acceleration curves is different. The generated acceleration curve by Fuzzy method fluctuates frequently, which will cause the uncomfortable felling. Although Fuzzy-PID method generates a smooth acceleration curve, the acceleration is not stable, and the amplitude of variation is in a wide range. The FNN planning model generates a smoother acceleration curve compared with Fuzzy method, and the acceleration is relative stable compared with Fuzzy-PID method. Therefor better comfort performance is achieved by FNN planning method.
Considering that various errors exist in autonomous vehicle system, such as measurement error, execution error, and execution delay, disturbance factors are introduced into the simulation system according to the actual equipment characteristic, in order to test the anti-interference performance of the algorithm.
Suppose that the static obstacle is 100 meters before autonomous vehicle, and the initial velocity of autonomous vehicle is
The results show that under the influence of various disturbance factors, the autonomous vehicle slows down with a relative stable deceleration (about
B. Dynamic Obstacle Scene
In dynamic obstacle scene, object vehicle acts as the dynamic obstacle, and its velocity changes dynamically over time. The initial velocity of the subject vehicle is set as \begin{equation*} v_{o} =15-5\sin (0.25t).\tag{35}\end{equation*}
These two cases are both used to test the performance of vehicle following. The results are shown in figs. 24-25.
According to Fig. 24, when object vehicle moves with a constant velocity, the planning module generates a continuous and smooth acceleration, and the time lag between to two vehicles keeps a constant value of
In case (2), comparison simulation is conducted by Fuzzy, Fuzzy-PID and FNN planning separately. The simulation results are shown in Figs. 26–28. With disturbance factors, the simulation results are shown in Fig. 29.
According to Fig. 26, all the planning methods have good dynamic tracking performance, and all the velocity curves are coincide to the velocity curve of object vehicle. According to Fig. 27, time lag of FNN method has smallest variation amplitude, and it keeps stable between
C. Stable Obstacle Scene
In stable obstacle scene, a speed limit sign is supposed to locate along the path, and autonomous vehicle is required to slow down when passing the speed limit sign. Suppose that autonomous vehicle is 100 meters away from the speed limit sign. Autonomous vehicle is supposed to have initial velocity of
FNN performance in the condition with disturbance factors in stable obstacle scene.
In stable obstacle scene, the desired velocity is set as the allowed speed. The results show that FNN planning method still generates a continuous acceleration curve to decrease the current velocity. The velocity is reduced to the allowed speed before the autonomous vehicle arrive at the position of speed limit sign.
D. Result Analysis
The above simulation results indicate that the proposed velocity planning method satisfies the requirement of the proposed three scenes. In different scenes, FNN planning method can generate a relatively continuous and smooth acceleration, which is helpful to improve the driving comfort. Comparing with traditional Fuzzy method and Fuzzy-PID method, FNN planning method achieves a steady velocity change during the accelerating and decelerating process. Meanwhile, FNN planning method has certain anti-interference ability and strong adaptability.
Experiments
In order to examine the feasibility and effectiveness of the proposed FNN velocity planning method, on-field tests are conducted based on Kotei 2.0 platform as shown in Fig. 32. The autonomous vehicle is equipped with two NVDIA TX2 development boards. One of them is used for Perception, and the other is used for localization, motion planning and tracking control. The software is running in Ubuntu 16.04 system environment that is installed with ROS (Robot Operating System).
On-field tests are conducted on industrial park road of Wuhan Kotei Technology Corporation. The park road is a single lane with 3.5 meters width. Experiment environment and park road map are shown in Fig. 33. Firstly, we drive the car around the park road to collect GPS data to get the global reference path. Then, different driving scenes are set up for autonomous vehicle, such as static/dynamic obstacle scene and speed limit sign. Lastly, the vehicle moves automatically with the autonomous system.
In the first experiment, object vehicle (virtual obstacle is set as the object vehicle) travels in front of Kotei autonomous vehicle with a constant velocity of 30 km/h. Subject vehicle begins to speed up with a target velocity of 40 km/h. The driving scene is shown in Fig. 34.
In the process, recorded data, such as measured velocity, acceleration and distance are stored in memory of Kotei 2.0 platform. The recorded data is shown in Figs. 35–37.
According to the results, at the beginning (
With the same scene, experiment with traditional methods are conducted, and the generated acceleration curve is shown in Fig. 38. From the comparison, we know that the acceleration with FNN method is much smoother than Fuzzy planning method, and the deceleration amplitude is smaller than Fuzzy-PID planning method.
In the second experiment, subject vehicle stops and begins to speeds up with a target velocity of 30 km/h. Object vehicle (static obstacle) stops 100 meters before the subject vehicle. The driving scene is shown in Fig. 39.
In this driving scene, autonomous vehicle is supposed to move in a single lane, and the static obstacle blocks the planning path. So, the autonomous vehicle decides to stop behind the static obstacle. The recorded data is shown in Figs. 40–42. The acceleration curves of traditional methods are shown in Fig. 43.
According to the results, at the beginning (
The third experiment is conducted to verify the performance when the velocity of object vehicle continuously changes. The velocity of object vehicle is set to vary with sinusoidal function. The subject vehicle begins to speed up with target velocity of 40 km/h. The driving scene is shown in Fig. 44. Driving information is recorded and shown in figs. 45-48.
Driving scene with dynamic obstacle whose velocity varies with sinusoidal function.
According to Figs. 45–47, subject vehicle can respond quickly to the periodic change. In the first stage (
The last experiment is about velocity planning according to optimal path. In this scenario, static obstacle located 0.3 meter to road boundary. Subject vehicle drives with a constant velocity of 30 km/h. The driving scene is shown in Fig. 49. In this driving scene, although the static obstacle takes up some road space, the vehicle has enough space to bypass the obstacle. So, path planning module will calculate an optimal path that bypass the obstacle. Then the autonomous vehicle decides to slow down to a lower target speed when approaching the obstacle, and speed up after bypassing the obstacle. This driving scene is actually the stable obstacle scene. The upper level of autonomous system will decide a lower target velocity (10 km/h), which means the autonomous vehicle has to slow down to a lower safe speed. For the velocity planning, the planning model for stable obstacle is suitable for this scene. The recorded data is shown in Figs. 50–52.
According to the results, autonomous vehicle will slow down to safe target speed (10 km/h) firstly. After overtaking the obstacle, autonomous vehicle will speed up to initial high speed.
The above experiment results further verify the feasibility and performance of proposed velocity planning method. The established velocity planning models cover a variety of scenes that autonomous vehicle will encounter in actual driving. Moreover, the planning method and established planning models are simple, which means the proposed planning method is easy to be programmed and implemented in Kotei 2.0 platform. The method guarantees both the comfort of autonomous driving and the real-time performance of the algorithm. The good simplicity and efficiency of algorithm principle and programming are the biggest advantages over the conventional methods.
Conclusion
This paper puts forward a velocity planning method for autonomous vehicle. The method ensures the smoothness of acceleration curve, and has certain anti disturbance ability. At the meantime, the method is convenient for engineering application, which ensures the real time and stability of the algorithm. Based on this method, three kinds of planning model are established respectively, which covers most of driving scenes. The method has been applied to Kotei 2.0 platform, and the performance is proved by the on-field tests.
Because the current driving scenes and experiments are relative simple, more difficult scenes need to be considered in our future work. The tests and experiments are helpful to modify planning model and improve the compatibility of motion planning module with other modules. The three driving scenes can cover most of driving scenes but not all of scenes. It requires us to find and analyze some easily overlooked scenes, so as to make the planning models more reasonable.