New control model for autonomous vehicles using integration of Model Predictive and Stanley based controllers
The created driving path has both straight lines and curves to cover different real-road scenarios. These scenarios have been employed to evaluate the proposed system’s dependability and determine its feasibility for practical implementation. Initially, we employ the path tracking scenario, in which the autonomous vehicle is required to follow a predetermined route that is fed into the system. Three different models have been used in this paper for the sake of comparison and to ensure the performance and robustness of the MPS model.
Our code has the feasibility of performing one model at a time or performing all the models together. This allows us to save time and make more accurate comparisons. Before implementing any model, we need to set some simulation settings; some of them are general settings that apply to all models, and others are specific to each model. Table 1 shows the parameter settings of all models.
First, we apply the PID controller, especially the PD feedback control system, to the autonomous vehicle. This is because the PD feedback controller is able to smooth the system’s response and reduce unwanted overshoots. These are significant for driving stability. As can be seen from Fig. 8, the PID controller can maintain the vehicle’s movement on the track, yet it is not in the perfect position. This model fails at some point and allows the vehicle to go off track, especially at the curves. This is considered a drawback of the system. In addition, Fig. 9 shows a high deviation between the desired (blue line) and the actual (orange line) steering command. This will lead to an unstable system and bad performance in the car. Moreover, the model shows high error in terms of latitude error, as illustrated in Fig. 10. All of that makes the PID an unreliable control system for autonomous vehicles.

Simulation of PID control model.

Steering angle simulation of PID model.

Vehicle’s latitude error of PID model.
Second, we applied the Pure Pursuit control model to the vehicle. The results of this model show that it has some good points, yet it has some bad ones in terms of the vehicle’s performance. As can be seen from Fig. 11, the vehicle goes out of the driving path more than once, specifically at the curves (at seconds 7 and 17). This is undesirable output for autonomous vehicles and can lead to some bad situations in the real world. In addition, the steering wheel angle in Fig. 12 has a shift between the desired line and the actual one. Also, its latitude error is jumping higher than one, as shown in Fig. 13, which makes the system unreliable and unstable.

Simulation of Pure Pursuit control model.

Steering angle simulation of Pure Pursuit model.

Vehicle’s latitude error of Pure Pursuit model.
At this point, we applied our model (the MPS model) to the autonomous vehicle and got the following results, as can be seen in Figs. 14, 15, and 16. It is obvious from Fig. 14 that the MPS model enables the vehicle to follow the desired path in a very accurate way and has low hesitation. Also, it allows the vehicle to maintain the desired velocity and maintain stable performance. By looking at the figure, we can see the vehicle represented by a red rectangle, the black line, which represents the reference path, and the red line, which is the moving path of the vehicle (simulation output). Also, we can see the green circles, which are the horizon steps of the MPS model. Depending on the red line, it is clear that the vehicle did not deviate out of its trajectory, and it almost stayed in the middle of the street. This is considered a success of our model, where one goal is to keep the car on the right track even at sharp curves.

Simulation of MPS control model.

Steering angle simulation of MPS model.

Vehicle’s latitude error of MPS model.
Figure 15 shows the steering wheel angle commands in two types. The first one is the calculated steering angle commands in the blue line, which is the perfect way of steering movement. The model can measure it since the driving path is known and the vehicle parameters are also available. This will be used to see the difference between the actual commands in the orange color and the desired ones in the blue color. It is clear from the figure that the MPS model has high performance in terms of steering wheel angle commands, and it follows the desired path in good shape, yet it has some deviations at the sharp curves of the path, which is normal in autonomous vehicles. One point is that MPS has a shortcoming in the high number of steering angle commands, which needs to be decreased in the next studies because they lead to high computations.
From Fig. 16, we can see the latitude error curve of the MPS performance in this simulation. It can be noticed that it has a very low error rate, which is almost around zero except at the beginning until the vehicle corrects its direction. Also, the curve goes down at the second (17), which is normal because the vehicle passes through the hardest curve of the driving path. In general, the maximum error is 0.5 m, which is considered an acceptable error, and the minimum is almost equal to zero, which is a perfect indication of the system’s stability.
Finally, all three models were implemented at the same time to show the differences among them. The MPS model is represented in the red line, the Pure Pursuit model is in the green line, and the PID model is in the blue line. In Fig. 17, below the black dashed line is the reference path for all systems. MPS is the best model of path-following among them since it follows the desired path perfectly and its vehicle does not go off-road. Another point can be noticed from this figure, which is the distance that each mode has reached. The Pure Pursuit has the longest distance of the three models, yet this cannot be an advantage for the Pure Pursuit. This is because it goes out of the path at each curve, and that saves it some distance due to its bad performance. On the other hand, PID has the lowest distance of the models. This is because of the sharp turns it makes through the path curves and slow coming back to the right track.

Simulation of MPS, Pure Pursuit, and PID models.
Figure 18 is the steering wheel angle of all systems together. This figure shows that all the models have almost the same performance from the beginning of the simulation until the 7th second when we have the first curve on the path. After that, each model has its performance, as explained previously.

Steering angle simulation of MPS, Pure Pursuit, and PID models.
A track-following error comparison has been done to assess the robustness of the MPS controller. It is obvious that the new controller outperforms PID and Pure Pursuit, two conventional controllers. Calculating the inaccuracy of the car traveling the same route is necessary for this comparison. Every experiment had the same tracking path, and all parameters were set to the same values. We obtained the findings shown in Figs. 17 and 18 by modeling the three models. Low mistake rates demonstrate that MPS is outperforming both.
Finally, we compare MPS controllers with both MPC and Stanley controllers. Figure 19 shows the results of comparing these three models. It can be noticed that MPS gives better performance than the other models in terms of path-following accuracy and time consumption. The vehicle with MPS travels a slightly longer distance than the other two models. It is less hesitant in steering wheel movement, which means it has more stability.

Simulation of MPS, MPC, and Stanley models.
Tracking error calculation has been done among the main models that have been used in this paper with the proposed one. It is obvious from Fig. 20 that the MPS model outperforms the other two models; MPC and Stanley; in terms of giving lower tracking error of the vehicle. Different speeds used in this experiment ranged from 10 to 60 km/h as can be seen from Table 2 below.

Tracking error comparison among different control models used in this paper.
To sum up, the MPS is less computational than the MPC and has better performance than Stanley. This is due to the fact that we only used the longitudinal part of MPC, which has way fewer computations than the lateral part, and the lateral part of Stanley is simple yet effective and less complex.
link
