Abstract
Despite the many advancements in traffic safety, vehicle overtaking still poses significant challenges to both human drivers and autonomous vehicles, especially, how to evaluate the safety of passing a leading vehicle efficiently and reliably on a two-lane road. However, few realistic attempts in this field have been made in the literature to provide practical solutions without prior knowledge of the state of the environment and simplifications of vehicle models. These model simplifications make many of the proposed solutions in the literature unusable in real scenarios. Considering the dangers that can arise from performing a defective overtake and the substantial risk of vehicle crashes during high-speed maneuvers, in this paper we propose a system based on model predictive control to accurately estimate the safety of starting a vehicle overtake in addition to vehicle control during the maneuver that aims to ensure a collision-free overtake using a complete and realistic model of the vehicle’s dynamics. The system relies on a stereoscopic vision approach and machine learning techniques (YOLO and DeepSORT) to gather information about the environment such as lane width, lane center, and distance from neighboring vehicles. Furthermore, we propose a set of scenarios to test the performance of the proposed system based on accurate modeling of the environment under a range of traffic conditions and road architecture. The simulation result shows the high performance of the proposed system in ending collisions during overtaking and providing optimal pathing that minimizes travel time.
Keywords
The field of autonomous vehicles has seen increasing interest from researchers during the last decade because of the need to design safer and more efficient traffic management systems. This has been helped by three breakthroughs in the field: massive technological advancements in radar, lidar, and camera sensors; improvement in the processing capabilities of computing systems, which offers the possibility for fast and reliable decision-making using real-time data; and the availability of large training data collected either from test vehicles or advanced simulation systems.
These advancements offer the possibility of implementing, testing, and combining algorithms to develop control systems such as lane following, collision detection and avoidance, cruise control, better routing policies, and traffic congestion detection. However, one of the remaining challenges faced by autonomous systems and human drivers alike in the task of driving is the overtaking maneuver, which has not seen a significant breakthrough in academic research.
The most complicated part of the overtaking maneuver is how we can reliably assess its safety before its initiation. Especially if we consider that in most cases, the overtaking takes place on a two-lane road where the second lane is reserved for traffic coming from the opposite direction, causing dangerous traffic conflict. The overtaking problem is further complicated by vehicles moving at high speed and acceleration, making it challenging to abort faulty maneuvers.
The assessment of overtaking safety must consider multiple factors such as: the presence of oncoming vehicles from the front and the rear; relative speed and distance of the surrounding vehicles; the number of leading vehicles; and the gap between the leading and the host vehicle (ego vehicle). Most of these factors are hard for a human driver to estimate accurately. As a result, trusting drivers to assess the safety of performing these tasks by relying solely on their abilities is unreasonable.
Furthermore, in real scenarios, most drivers rely on the provided traffic signals that prohibit overtaking in certain road sections, such as the “No overtaking” sign and “No overtaking” road markings; however, in most underdeveloped and developing countries, these signals are either absent or incorrect. Another critical problem is the lack of obedience to traffic rules on rural roads; drivers guess and take dangerous chances while changing lanes, especially on curved roads.
Another challenge in performing a safe overtake is how the driver accounts for adverse weather conditions, such as rain, fog, snow, and glare. All of these can hinder the ability of the driver to estimate the safety of passing a leading vehicle. Also, these weather conditions can limit and influence the performance of sensor data ( 1 ), especially cameras. So, the right sensor choice is essential in designing a reliable system. Despite this, if we use the right combination of sensors, an autonomous driving system can theoretically safely overtake regardless of driving conditions. In Yoneda et al. ( 2 ), a detailed study on how driving under different weather conditions affects navigation safety was performed.
In the literature, basic attempts to provide safe passing predictions have been investigated. In Loewenau et al. ( 3 ), the authors proposed a safe-passing prediction system to mark road segments as safe or unsafe for overtaking based on the road geometry provided by the vehicle’s navigation system. However, the system does not account for real-time traffic from the second lane; thus, human intervention is still needed. In Moser et al. ( 4 ), a control function was proposed that integrated safety indicators like time headway and time to collision, to reduce the risk of collision. In Huang et al. ( 5 ), a path-planning method based on sigmoid functions for autonomous overtaking maneuver has been used, in which the geometric curves are determined according to the relative distance and the relative speed of the leading vehicle. In Kim et al. ( 6 ), a real environment representation based on various onboard sensors (radar, lidar, vision, and GPS/map) was used to find the vehicle’s motion corridor to its destination while predicting moving-objects’ movement.
Fuzzy logic was also used to develop overtaking systems using camera sensors to provide overtaking decisions. In Anindyaguna et al. ( 7 ), the system relied on the distance between the leading and approaching vehicle as system inputs to decide between overtaking, approaching the leading vehicle, or delaying the overtake. More solutions based on fuzzy logic were proposed in Pérez et al. ( 8 ) and Naranjo et al. ( 9 ).
Machine-learning techniques have also been applied to provide overtaking solutions. In Mo et al. ( 10 ), Double Deep Q-learning (DDQN) was used to learn a policy for longitudinal speed and lane change, to provide for vehicle overtaking. In Chen et al. ( 11 ), Deep Q-learning was used to perform overtaking decision-making on one-way through two lanes. Other reinforcement learning-based approaches have also been attempted to plan overtaking maneuvers in Li et al. ( 12 ), Zheng et al. ( 13 ), and Kebriaei et al. ( 14 ). However, the results have only been verified using basic simulation techniques.
In Wu et al. ( 15 ), an overtaking vehicle detection and warning system was proposed that used a rear-mounted monocular camera to capture motion cues combined with convolutional neural network to identify and track vehicles for behavior analysis. In Nishida et al. ( 16 ), an image-based system was proposed to detect lane architecture and vehicle presence on the road, to assess the safety of performing an overtake. However, relying only on a monocular-vision-based system still suffers from a high false-positive detection rate, especially if the training data size is small. Another vision approach was proposed in Wang et al. ( 17 ), which used homogeneous sparse optical flow to model the dynamic background and classify the road image into dynamic and quasi-static regions; the classification allows for the detection of surrounding vehicles. However, systems that rely only on vision are often unreliable in real driving scenarios as camera sensors can fail depending on the weather conditions such as fog and rain.
One of the most complex challenges in the overtaking maneuver is detecting oncoming vehicles, regardless of the driving condition and road architecture. There have been numerous attempts to detect oncoming vehicles using vision-based techniques ( 18 ) or using various machine-learning approaches ( 19 , 20 ), but most of them only work correctly on straight roads. In Zhang et al. ( 21 ), a radar-based approach was proposed for vehicle identification and tracking on a curved road; however, the cost of radar and lidar-based systems is still high.
The overtaking maneuver can also be modeled as a moving obstacle avoidance problem; therefore, it can be solved using search-based algorithms such as rapidly exploring random trees, such as in Glaser et al. ( 22 ), where the authors defined a feasible maneuver with respect to the longitudinal direction (accelerating or decelerating) and lateral direction (changing lanes). In Yousef et al. ( 23 ), a vehicle-to-vehicle (V2V) communication system was developed to provide a collision warning system during overtaking. Moreover, in Mo et al. ( 24 ), V2V communication was used in combination with fuzzy theory to control the parameters of a safety assistance system. In Motro et al. ( 25 ) and Andrews ( 26 ), a V2V wireless communication system was studied to determine its effectiveness in predicting unsafe overtaking maneuvers and warning the driver before the maneuver begins on rural highways.
Approaches based on model predictive control (MPC), also known as receding horizon control, have been used frequently to control dynamic systems, such as in the domain of autonomous automotive. MPC is capable of intuitively handling systems subject to multi-variable constrained control problems. There have been many attempts to use MPC in solving the overtaking problem in the literature. In Murgovski and Sjöberg ( 27 ), a path modeling was proposed to perform safe overtaking by generating overtaking trajectory using convex modeling on the lane’s width and the preceding vehicle’s length. In Chandru et al. ( 28 ), an MPC was used for modeling safety margins necessary for achieving safe lane changing for autonomous vehicles. On the other hand, the state prediction can be precomputed using a four-wheel nonlinear dynamic model, stored in a lookup table and used to plan collision-free trajectories ( 29 ). In Qian ( 30 ), the author proposed a motion planner based on MPC to avoid other vehicles on the road by formulating the motion planning as a mixed-integer quadratic programming (MIQP) problem. MIQP is used to implement lane-blocking-obstacle and non-blocking-obstacle constraints in the boundary equations of the cost function of the MPC. In Nilsson et al. ( 31 ), an MPC controller was developed based on path velocity decomposition to provide autonomous driving with collision avoidance using a time-scaled collision cone; the forward velocity optimization layer was formulated as a convex quadratic programming problem. Moreover, in Wang et al. ( 32 ), MPC was used to determine the conflict probability of the overtake; the system used a dynamic model of the vehicles to estimate the future state of the vehicles.
In Nguyen et al. ( 33 ), an overtaking control algorithm was proposed that considered the stochasticity nature of traffic to predict the position of surrounding vehicles based on their preceding data. In Mohseni et al. ( 34 ), a collision avoidance system was proposed using deep learning combined with MPC to perform vehicle maneuvers such as overtaking. The system estimates the probability of collision and minimizes the vehicle’s velocity in areas with high collision probability and increases it otherwise. Finally in Yang et al. ( 35 ) the authors proposed a deep neural network model to make near human-like overtaking maneuver decisions such as vehicle overtaking.
In general, the previously mentioned research offers promising solutions to the problem of overtaking. However, most of them do not take into consideration the real dynamics of the vehicles, as they only rely on static and kinematic models of the vehicle and often ignore the vehicle’s interaction with the road.
Learning-based approaches can be considered a black box after training, resulting in a system that is impossible to fully understand inner workings of, without any safety guarantees ( 36 , 37 ). Moreover, the probabilistic nature of machine learning can lead to unsafe system behavior ( 38 ), unlike MPC’s approaches, which offer the ability to integrate multiple constraints into a system quickly. Constraints are related to obstacle avoidance, path following, speed, acceleration, and steering angle limitations, giving a motion planning similar to human driving, resulting in a more smooth and comfortable driving experience. Additionally, MPC offers the possibility of implementing hard constraints on control and states since, in every automation system, natural constraints limit the inputs such as the force, acceleration, speed, and angle of motion ( 39 ). Furthermore, MPC offers the benefit of quickly adapting to changes and events in the environment.
The system in this study comprises a vehicle equipped with two front-mounted cameras to provide stereoscopic vision mapping of the environment, which offers accurate positions of moving and stationary objects on the road. By capturing multiple consecutive images, we can derive the relative speed of the vehicle.
Stereoscopic vision is a standard technique for calculating objects’ depth using two horizontally aligned cameras, vertically displaced from one to another by a distance
Generally, four necessary steps are performed in stereoscopic vision. The first is capturing two synchronous images from the two cameras. The images are then processed, and object detection and tracking are performed to identify the objects of interest. Finally, the 3D coordinate of each object is obtained using geometric triangulation ( 40 , 41 ). Consequently, we can derive the relative velocity using the calculated distance from multiple consecutive frames ( 42 , 43 ).
You Only Look Once (YOLO) is a state-of-the-art, real-time object detection network, based on a convolutional detection network. The YOLO detection network was proposed in Redmon et al. ( 44 ); it can detect multiple objects from different object classes in the same image, making it the go-to tool for fast and accurate object detection scenarios. YOLO looks at object detection as a single regression problem; the entire image is fed to the neural network instead of sliding window scans, making YOLO significantly faster than Region-based Convolutional Neural Network (R-CNN). However, its accuracy is lower than the fastest R-CNN. Redmon and Farhadi ( 45 ) proposed YOLOv2, the improved version of YOLO, offering a higher-resolution classifier, batch normalization, convolution with anchor boxes, dimension clusters, and fine-grained features. Further improvements were proposed in Redmon and Farhadi ( 46 ) that increased the accuracy and speed of the network, including multiscale detection, multilabel classification, and an improved feature extraction network. YOLOv3 uses a feature extractor called Darknet-53; it has 53 convolution layers without max-pooling. Each convolution operation performs a convolution followed by batch normalization and leaky Rectified Linear Unit (ReLU). In YOLOv4 ( 47 ), again, the feature extractors were changed to CSPDarknet53, which significantly improved the speed and accuracy of the algorithm. The YOLOv4 network outputs the B-bounding boxes and the confidence score of each bounding box. The bounding boxes represent the position (coordinate, width, and height) of the detected objects relative to the input image. The confidence score reflects how sure the model is that the box contains an object. Unlike YOLOv4, YOLOv5 uses PyTorch instead of Darknet offering better support, simple development, and stronger performance. It has a 283-layer deep neural network with over 7 million trainable parameters. YOLOv5 relies on a cross-stage partial network to act as its backbone, responsible for important feature extraction from the input image. The neck is used to generate feature pyramids. Finally, the head is used to predict targets of different sizes on feature maps.
After object detection is performed, object tracking across multiple frames can be achieved using Simple Online and Real-time Tracking (DeepSORT) ( 48 ). Since DeepSORT is an online tracking algorithm, it only considers information about the current and previous frames to make predictions about the current frame without the need to process the whole video.
Methodology
Time-Dependent Dynamics Vehicle Model
One of the essential steps in creating a performant and resilient vehicle control architecture is selecting a suitable system model that balances the model’s accuracy and computational simplicity. In the field of autonomous vehicles, several vehicle models are used for the design and simulation of system controls, each with its advantages and disadvantages depending on the target problem. These models range from linear point mass model, nonlinear point mass model, kinematic or dynamic bicycle model to full four-wheel model. For the most part, they have been sufficiently studied in the literature, for example, Rajamani ( 49 ) and Dixit et al. ( 50 ). Also, it is necessary to select the proper control variables depending on the specifics of the target maneuver and environment constraints, to establish a model capable of accurately describing the vehicle’s behavior. However, if the model is too complex, it will affect the real-time performance of the control algorithm.
In most of the literature, a very simplified kinematic vehicle model is often chosen to model low-speed movements and steering angles of the vehicle’s maneuver, since it usually offers satisfactory results. However, for high-speed maneuvers such as the overtaking maneuver, a more realistic and exhaustive model must be chosen to entirely incorporate the complex dynamics of the movement of the controlled vehicle and its interaction with the road, such as tire frictions, which usually can be neglected for low-speed maneuver controllers without sacrificing accuracy.
Dynamic Bicycle Model
This paper uses a complete dynamic bicycle model to represent the vehicle dynamics, contrary to other attempts in the literature. The dynamic bicycle model offers a realistic representation of forces applied to the vehicle, such as tire frictions and side-slip angles, which offers a robust description of the vehicle’s current state and consequently allows for accurate inference of future states of the vehicle. Moreover, the bicycle model has fewer states than a complete four-wheel model without loss of model accuracy. The bicycle model lumps the left and right axes together into a unique wheel located at the front axle center (resp. rear axle). Table 1 presents the notations used throughout the remainder of the paper.
Notations
Figure 1 describes the different forces acting on the vehicle’s body-fixed frame, such as the longitudinal tire force

Modeling notation of the bicycle model ( 51 ).
The global position of the vehicle can be defined by:
The vehicle can be controlled by tracking a trajectory generated by following the center line of the leftmost lane using Equation 1.
Tire Forces
To obtain a complete model of the vehicle’s dynamics, the tire forces acting on the vehicle must be calculated, especially since, in our implementation, the vehicle is performing a high-speed movement. Because high-speed overtaking maneuvers are entirely restricted to paved roads, where both the slip angle
The cornering stiffness coefficient
Spacial Dynamics Vehicle Model
We denote the vehicle’s center of gravity by a relative spatial coordinates pair
The derivative with respect to s:

Curvilinear coordinate system ( 51 ).
Model Predictive Control
The basic idea of MPC is to repeatedly solve an optimal control problem for the current system state on a finite horizon
The first prediction from the receding time horizon is applied to the vehicle. At the next time step
As stated above, there have been many MPC-based approaches in the literature. However, these systems are usually only tested in 2D simulation environments, where the state of the environment is globally known to the model, which is unrealistic and does not provide an objective benchmark of the feasibility of implementing the proposed approach on realistic vehicles. Also, significant model simplifications and assumptions about the environment are taken in most systems, therefore limiting their application.
In this paper, we formulate the MPC controller as a finite-dimensional optimization problem. Therefore, we discretize the vehicle dynamics
where
The control and state sequences must satisfy
In addition to path tracking, the MPC controller also provides obstacle avoidance for obstacles on the reference path, detected using lidar sensors. The cost function
To ensure that the predictive control strategy is feasible, the controller must ensure that the constraints of the vehicle’s acceleration are within the possible margins; also, the constraint ensures that the vehicle stays in a forward direction and does not leave the road.
System Architecture
Figure 3 provides the global architecture of the proposed system. Inputs from the stereoscopic camera are fed to a YOLOv5 model to perform object detection. Then, a trained DeepSORT model will provide tracking of the detected object for moving and stationary. The relative position and speed of the detected vehicles are fed to the MPC model to perform obstacle avoidance.

System architecture.
Results and Discussion
To test the performance of the proposed system architecture, we introduced a set of simulation scenarios in which a controlled vehicle attempts to perform an overtake maneuver under different traffic conditions. The simulation scenarios are implemented in the robotic simulator Webots ( 52 ), which offers a high-fidelity simulation with realistic graphics. Traffic flows are generated using SUMO (Simulation of Urban MObility), which offers realistic driving models and provides simulation and analysis of road traffic and traffic management systems. The goal of the simulation is to test the performance of each component of the architecture.
Hardware Requirements
The simulation vehicle is equipped with a front-mounted stereoscopic camera to provide basic lane detection to generate preliminary trajectory definitions such as the number of lanes, dimensions, and curvature of the road. Additionally, multiple lidar devices (Ibeo Lux 4 layers with a range of up to 200 m and a field of view of up to 110 degrees and 680 points per layer per scan) capable of providing a full field of view of the surrounding vehicles are used to detect surrounding vehicles; the lidar provides accurate positioning of stationary and moving objects along the road.
Hyperparameters
In the simulation, we suppose that the vehicle is already moving at the maximum speed
Parameter values
Object Detection and Tracking Performance
The detection and tracking results are evaluated using the standard performance measurement methods: multiple-object tracking precision (MOTP), multiple-object tracking accuracy (MOTA), multiple-object detection accuracy (MODA), and multiple-object detection precision (MODP) ( 53 ):
MOTP is defined as the average dissimilarity between all true positives and their corresponding ground truth targets. MOTP represents the tracker estimation precision of objects’ positions, independently of its ability in detecting objects. MOTA considers three components that account for the multiple objects tracking algorithm’s accuracy: the number of false positives, the number of false negatives, and the number of identity switches. MODA measures the accuracy of predictions by looking at missed ground truth boxes and false positives. MODP measures the overlap between predicted bounding boxes and ground truth data. The performance of object tracking using the scenario simulation is outlined in Table 3.
Object Tracking Performance
Note: MOTA = multiple-object tracking accuracy; MOTP = multiple-object tracking precision; MODA = multiple-object detection accuracy; MODP = multiple-object detection precision.
An example of image capture from the right camera of the stereoscopic camera is presented in Figure 4a and in Figure 4b the result of object detection tracking and speed estimation is presented. The performance of object detection depends on the type of the oncoming vehicle and also on its speed.

Capture and detection result from the vehicle’s camera: (a) example of an image taken from a vehicle’s right camera and (b) results of the object detection and velocity estimation, where the number represents the relative velocity estimated.
Test Scenarios
To better test the performance of the complete system we performed multiple tests based on different scenarios and road architecture, to accurately understand the strength and weaknesses of the proposed system. Each scenario was performed multiple times,
Overtaking of a Leading Vehicle
In the first scenario (Figure 5), the system performs an overtake of a leading vehicle driving at a constant speed

Top view of the simulation of a right overtaking with one leading vehicle that moves in the same direction as the ego vehicle.
Figure 6 describes the speed profile of the ego vehicle during the overtake, where we can notice that since there is no conflict with oncoming vehicles, the ego vehicle keeps moving at the maximum velocity

Speed profile of the ego vehicle during the simulation.
Figure 7 shows the success rate of the maneuver across multiple speeds of the leading vehicle, in addition to the percentage of safety-margin violations during the maneuver. We can notice that in the absence of any conflict with other vehicles the system performs a safe overtake up to 99.5% of the time at low speeds and up to 92% of the time at high speeds. Moreover, we can deduce that the presence of fog reduces the accuracy of the system, this can be explained by the delayed detection of the vehicle by the camera and lidar sensors because of the presence of fog.

Percentage of successful overtake and percentage of safety-margin violation depending on leading vehicle velocity with and without the presence of fog.
Overtaking in the Presence of an Oncoming Vehicle From the Front
In the second scenario, the system performs an overtake of a leading vehicle in the presence of an oncoming vehicle from the front, presented in Figure 8. The MPC controller assesses the possibility of performing the overtake and whether it is possible to complete the maneuver without collision with the oncoming vehicle. In this scenario, we noticed two cases: depending on the speed of the oncoming vehicle and leading vehicle, the MPC will either overtake immediately by accelerating to the appropriate speed within the predefined margins of acceleration and speed, or decelerate and postpone the overtake until the leading oncoming vehicle passes.

Top view of the simulation of right overtaking with one leading vehicle that moves in the same direction as the ego vehicle and an incoming second vehicle.
Figure 9 describes the speed profile of the vehicle during the simulation where the overtake is possible. The changes in velocity can be attributed to the MPC controller’s search for the optimal time window to overtake. In Figures 10 and 11 we can notice that the system has a higher chance of performing a successful overtake if the overtake is postponed until the conflict with the oncoming vehicle is resolved. Furthermore, the presence of fog presents a higher impact on the success of the maneuver.

Speed profile of the ego vehicle during two cases: (1) immediate overtake and (2) postponed overtake.

Percentage of successful overtake and percentage of safety-margin violation depending on leading vehicle velocity performing an immediate overtake.

Percentage of successful overtake and percentage of safety-margin violation depending on leading vehicle velocity performing a postponed overtake.

Simulation of overtaking a vehicle in the presence of oncoming vehicle on a curved road.
Figure 13 shows the speed profile of the ego vehicle during two cases (immediate and postponed overtake). Similar to previous scenarios, we can see the MPC model attempt to plan for the optimal overtaking window depending on the position of other vehicles by adjusting the speed of the ego vehicle. Figures 14 and 15 describe the performance of the proposed system depending on the overtaking vehicle’s speed and distance, and we can notice that the system has better performance when the vehicle is detected early. Therefore, better lidar and camera sensors are essential to the performance of the system.

Speed profile of the ego vehicle during two cases: (1) immediate overtake and (2) postponed overtake.

Percentage of successful overtake and percentage of safety-margin violation depending on leading vehicle velocity performing an immediate overtake.

Percentage of successful overtake and percentage of safety-margin violation depending on leading vehicle velocity performing a postponed overtake.
Figure 16 shows the percentage of performing successful maneuvers under different behaviors from the leading vehicles (acceleration or deceleration). We can notice that since there is no conflict with other vehicles, the vehicle has a high chance of performing a successful maneuver, especially if it accelerates in the first stage, or decelerates in the third stage (since at that point the maneuver is almost complete).

Percentage of successful overtake and percentage of safety-margin violation when the leading vehicle performs a speed change mid-overtake.
Overtaking in the Presence of an Oncoming Vehicle From the Front With Changing Speed
In the fifth scenario, the system will also perform an overtake of a leading vehicle in the presence of an oncoming vehicle from the front; however, the leading vehicle will perform a random speed change after the vehicle has already initiated the overtake. Depending on when the leading vehicle changes its speed, the MPC controller will either continue the overtake or attempt to cancel it and return to the original lane immediately.
Figure 17 shows the percentage of avoiding crashes after the leading vehicle changes its speed randomly mid-overtake, meaning the MPC either performed a successful overtake or canceled the overtake after its initiation. In this scenario, we recorded two behaviors of the leading vehicles: acceleration and deceleration. We can notice that if the acceleration happens in the first stage, there is a higher chance for the vehicle to complete the overtake without collision with other vehicles. However, if the acceleration occurs later in the overtake, the MPC controller may not be able to finish the overtake successfully. Alternatively, if the deceleration occurs in the first or third stage, the MPC will often be able to cancel the overtake, unlike if it happens in the second stage.

Percentage of crashes avoided when a vehicle performs a speed change in one of the stages of overtaking.
Conclusion
Because of the hazardous nature of overtaking maneuvers and the importance of optimal vehicle passing to clear traffic and avoid long convoys, in this paper we proposed a system to provide a safe overtake of a leading vehicle under different traffic conditions and road architectures.
The system uses stereoscopic cameras mounted on the vehicle’s front to detect road architecture, such as lane width and lane center, in addition to lidar sensors to position moving and stationary objects present on the road accurately, such as other vehicles and hazardous objects.
The proposed system is based on MPC architecture, which offers the ability to predict the future states of a system based on a modeling of its components. To model the vehicle’s movement, we used a dynamic bicycle model capable of accurately representing the vehicle’s future state, especially in fast maneuvers such as the overtaking maneuver. This is contrary to existing solutions, which only use simplified kinematic models and suppose prior knowledge of the environment, making them unusable in real scenarios.
To test the proposed system’s performance, we introduced a set of scenarios that vary from straight to curved roads and under different weather and traffic conditions, mainly the presence of fog since it has a much more significant influence on the sensors, especially camera sensors. In all scenarios, we noticed that the system could perform a safe overtake while respecting the predefined constraints of acceleration, speed, and pathing, primarily at a lower speed. However, the system performance gradually decreased as the speed of the vehicles increased. Another crucial remark is fog’s strong influence on the system’s performance.
We also observed that, as with human drivers, the leading vehicle’s behavior also influences the outcome of the maneuver since random speed change mid overtake may result in the cancelation of the overtake or even crashes. Therefore, naturally, since the overtake depends on coordination between the two vehicles, the unexpected speed change reduced the efficiency of the MPC controller, especially in the second stage of the overtake.
Footnotes
Author Contributions
The authors confirm contribution to the paper as follows: study conception and design: I. Lamouik, A. Yahyaouy, and M. A. Sabri; data collection: I. Lamouik; analysis and interpretation of results: I. Lamouik, A. Yahyaouy, and M. A. Sabri; draft manuscript preparation: I. Lamouik, A. Yahyaouy, and M. A. Sabri. All authors reviewed the results and approved the final version of the manuscript.
Declaration of Conflicting Interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
