Home > Article > Technology peripherals > Improving trajectory planning methods for autonomous driving in uncertain environments
Thesis title: "Trajectory planning method for autonomous vehicles in uncertain environments based on improved model predictive control"
Published journal: IEEE Transactions on Intelligent Transportation Systems
Published date : April 2023
The following are my own paper reading notes, mainly the parts that I think are the key points, not the full text translation. This article follows the previous article and sorts out the experimental verification part of this paper. The previous article is as follows: The following are my own paper reading notes, mainly the parts that I think are the key points, not the full text translation. This article follows the previous article and sorts out the experimental verification part of this paper. The previous article is as follows:
fhwim: A trajectory planning method based on improved model predictive control for autonomous vehicles in uncertain environments
https://zhuanlan.zhihu.com/p/ 658708080
Co-simulation tools include Prescan, PyCharm, Matlab/Simulink, among which Prescan is used To build a simulated traffic scene, PyCharm (with neural network or easily with pytorch) is used to write the fusion prediction module, and Matlab/Simulink (with MPC toolbox) is used to build the trajectory planning module and realize vehicle control. The overall tool selection idea is still relatively simple. Natural and reasonable. The horizontal control used to control this part is LQR, and the vertical control used PID, which is also a relatively common control method. The LSTM encoder-decoder in the fusion prediction module uses open source code. The author said it came from the reference [31] Comprehensive Review of Neural Network-Based Prediction Intervals and New Advances, but I saw that this article was published in 2011. It’s a bit old (where was the LSTM encoder-decode in 2011?). I don’t know if the author has changed the code based on this.
Figure 1 Simulation environment construction
Figure 2 MRPI set of subsystem
Static obstacle avoidance scenario refers to an obstacle vehicle standing still. The trajectory planning results are as follows:
Compare the general MPC method and the pipeline-based method in Figure 3 MPC method
Here I suspect there is something wrong with his legend. According to the previous article, the final reference trajectory is obtained by adding the desired trajectory and the adjustment trajectory. At the same time, he also said tube-based when analyzing the results. MPC has larger errors in areas and in Figure 3(b). Since the adjustment trajectory reduces the error, it should be the desired trajectory and reference trajectory in Figure 3(b). It would be in line with the logic of his article to exchange the legends, that is, the green line is the final reference trajectory, and the blue line is the intermediate desired trajectory. Including the speed curve and horizontal and vertical error curves below, but you can probably understand what the author means. The green curve in tube-based MPC is the final result, and the blue curve is the result without adjustment trajectory.
Figure 4 shows the comparison of speed changes between the general MPC method and the pipeline-based MPC method
Figure 5 Horizontal position comparison
#The content that needs to be rewritten is: Figure 6
comparing horizontal and vertical errorsThe author also compared the smoothness of the steering wheel angle change, which will not be detailed here. In short, it has improved. At the same time, the author proposed a theoretical basis for the good effect of adjusting the trajectory. After adding it, the trajectory error is always within the MRPI set. That is to say, the tracking deviation of the tube-based model predictive control (tube-based MPC) is always within the MRPI set. General model predictive control (MPC) does not have a boundary in an uncertain environment, which may be very large
Compared with the previous scenario, now The obstacle car started moving. We will not go into details about the overall trajectory, speed changes, horizontal and vertical errors, and the smoothness of steering wheel changes. Here, only an illustration of the overall trajectory is shown
Figure 7 Comparison of the overall trajectory between the general MPC method and the tube-based MPC method
Here, the author chooses to use the NGSIM data set to verify his method. First, the authors validated the fusion prediction method. The NGSIM data set contains vehicle trajectory data, which the author split into historical trajectories and future trajectories, and constructed a training set for the LSTM encoder-decoder to learn. The author selected 10,000 trajectories, of which 7,500 were used as the training set and 2,500 as the validation set. The optimizer takes Adam and sets the learning rate to 0.01. The prediction effect is shown in the figure below
Figure 8 Horizontal and vertical trajectory prediction and uncertainty results
The author did not use trajectory in this article Commonly used indicators in the field of forecasting, such as ADE, FDE, etc. I think this approach is unconvincing, but it can also be understood that the focus of this article is trajectory planning based on tube-based MPC
After verifying the trajectory prediction, trajectory planning was performed to further verify the role of the trajectory prediction module , here are three situations compared:
(a) When I already know the true future trajectory of the obstacle vehicle, I will perform trajectory planning. This serves as a control group.
When I don’t When I know the future trajectory of the obstacle vehicle, I first perform trajectory prediction (but do not calculate the uncertainty), and then perform trajectory planning
(c) When I do not know the future trajectory of the obstacle vehicle, I Carry out trajectory prediction first (calculate uncertainty), and then conduct trajectory planning
Figure 9 shows the results of (a), (b) and (c), corresponding to True Position, Prediction Results and Proposed Method
Proposed Method is the result of the method in this article. It can be seen that the Proposed Method is closer to the True Position, indicating that this fusion prediction method (especially the calculation of uncertainty) is effective.
Figure 9 Comparison of three methods to verify the trajectory prediction module
Here you can find that case1 and case2 verify the trajectory planning part, the general model predictive control ( The trajectory prediction part in front of MPC) and pipeline-based MPC is the same. This comparison can illustrate the role of pipeline-based MPC. Case3 is to verify the trajectory prediction module. You can see that two types of verification have been performed. The first type is to directly compare the predicted trajectory and the real trajectory, and the second type is to first know the future trajectory/predict the future trajectory (without calculating uncertainty)/predict the future trajectory (calculate uncertainty), and then perform trajectory planning. Using the real position as the standard, the effects of the trajectory prediction method with uncertainty calculation and the trajectory prediction method without uncertainty calculation are compared. The verification ideas for these two modules are still very clear
The vehicle used in the experiment is as shown in the figure below:
The content that needs to be rewritten is: Picture 10 of the vehicle used in the experiment
The author also provided the parameters of the experimental vehicle and the parameters of the computer and sensor used in the experiment:
The content that needs to be rewritten is: Figure 11 Computer and sensor parameters
The content that needs to be rewritten is: Parameters of the experimental vehicle, Figure 12
For the sake of safety, the experimental scene set up by the author is the same as the simulation experiment case 1. It is a static obstacle avoidance scene. It is still a comparison of the overall trajectory, speed changes, horizontal and vertical errors, and the smoothness of steering wheel changes, which will not be described again.
First of all, the idea of the paper is about the trajectory prediction module with uncertainty calculation and the trajectory planning module based on tube-based MPC. Among them, the trajectory planning module is the main content. I am very satisfied with this modular form because it truly applies trajectory prediction to trajectory planning. The output of prediction is used as the input of planning, and the planning module only determines a safety threshold for the prediction module, and the coupling between the two modules is weak. In other words, the prediction module can be replaced by other methods as long as it can provide the results of predicting the trajectory and uncertainty of the obstacle car. In the future, more advanced neural networks could be considered to directly predict trajectories and uncertainties. Overall, the process of this fusion prediction algorithm is a bit complicated, but I think the idea of the paper is very good. The ideas and workload of simulation and real vehicle testing are also satisfactory
The second is some low-level errors discovered when reading the article. For example, in the LSTM encoder-decoder part, LSTM outputs the trajectory points of steps in the future, which is also written in the formula, but in the text it is written as .
Figure 13 Some errors in the LSTM encoder-decoder part
Then in the simulation experiment part, when calculating the MRPI Set, it says system (21), which is error The system is divided into subsystems (32) and (34), but it is actually subsystems (30) and (32). These small errors do not affect the overall method but will also affect the reader's reading experience.
Figure 14 Simulation experiment part MRPI Set original text
The error system in Figure 15 is divided into subsystems ( 30) and (32)
Original link: https://mp.weixin.qq.com/s/0DymvaPmiCc_tf3pUArRiA
The above is the detailed content of Improving trajectory planning methods for autonomous driving in uncertain environments. For more information, please follow other related articles on the PHP Chinese website!