A Review of Model Predictive Controls Applied to Advanced Driver-Assistance Systems

Advanced Driver-Assistance Systems (ADASs) are currently gaining particular attention in the automotive field, as enablers for vehicle energy consumption, safety, and comfort enhancement. Compelling evidence is in fact provided by the variety of related studies that are to be found in the literature. Moreover, considering the actual technology readiness, larger opportunities might stem from the combination of ADASs and vehicle connectivity. Nevertheless, the definition of a suitable control system is not often trivial, especially when dealing with multiple-objective problems and dynamics complexity. In this scenario, even though diverse strategies are possible (e.g., Equivalent Consumption Minimization Strategy, Rule-based strategy, etc.), the Model Predictive Control (MPC) turned out to be among the most effective ones in fulfilling the aforementioned tasks. Hence, the proposed study is meant to produce a comprehensive review of MPCs applied to scenarios where ADASs are exploited and aims at providing the guidelines to select the appropriate strategy. More precisely, particular attention is paid to the prediction phase, the objective function formulation and the constraints. Subsequently, the interest is shifted to the combination of ADASs and vehicle connectivity to assess for how such information is handled by the MPC. The main results from the literature are presented and discussed, along with the integration of MPC in the optimal management of higher level connection and automation. Current gaps and challenges are addressed to, so as to possibly provide hints on future developments.


Introduction
A wide variety of systems belong to the category of Advanced Driver-Assistance Systems (ADASs), showing differences in properties, complexity and objectives. Highbeam headlamps automation [1], road sign recognition [2][3][4][5] and fatigue and alertness detection systems [6,7] are a few examples of ADASs aiming at improving driveability, comfort and, most of all, safety. However, automated driving technologies might address many other objectives, including efficient energy consumption and pollutants reduction. In the proposed work, the authors focused their attention on this type of ADASs that, for the sake of clarity, are grouped in three macro-categories: Cruise Control (CC), Path Following (PF) and Lane Keeping (LK). It is worth mentioning that the vehicle dynamics models used in these scenarios are various and strictly depend on the type of ADAS analyzed. scenarios by considering as main parameters the total travel time and the total delay caused by merging.
Machine learning techniques (especially Reinforcement Learning) are also currently used to design driving trajectory [20], considering longitudinal acceleration and lateral lane-changing operations [21] and coordinating vehicles in lane selection operations within a multi-lane traffic scenario [22].
However, most of the studies found in the recent literature exploit algorithms based on Model Predictive Control (MPC) since it can usually offer higher performances than standard control methods, and the actual hardware can fulfil the higher computational effort. The MPC complexity makes the approach to the specific literature for those who are interested in the topic difficult. The lack of review work in this field, in the authors' knowledge, and the great scientific interest retained by the topic prompted the authors to focus this manuscript on MPC as applied to ADAS. Indeed, the principal objective of this study is to provide an exhaustive review of the various MPC-based algorithms, thus providing the readers with the key elements to select the optimal control strategy when it comes to automated driving scenarios. Moreover, the present paper is meant to be accessible to researchers with different backgrounds.
Different databases were analyzed in this review, including among all Scopus, Science Direct, IEEE, MDPI and Springer. The research has been performed by using the following keywords: model predictive control, MPC, lane keeping, path following, path tracking, cruise control, adaptive cruise control, cooperative cruise control, receding horizon and ADAS. About 350 papers were originally examined by the authors, and only the most relevant to the aforementioned research topic have been included in the following analysis, i.e., approximately 160 studies.
The remaining sections are organized as follows: firstly an overview of the MPC strategy is provided, where the main characteristics of the controller are introduced along with brief historical facts. Then, starting from Section 3, the focus is shifted towards more specific sections of the MPC such as prediction, cost function and constraints. In these sections, a vast number of examples are presented in order to not only comprehend the different parts of the MPC yet to explore the diverse applications. In Section 6, the capability of the MPC to embed information coming from the connectivity is addressed. The following section hence provides an overview of the numerical and experimental results found in the articles considered in this study. Finally, a brief discussion on higher levels of automation is brought up and a comprehensive summary of these sections can be found in the conclusions.

Overview on Model Predictive Control Algorithms
As previously mentioned, the present review aims at providing an exhaustive explanation of the MPC methodology as applied to ADASs. To this scope, it is worth starting with a general overview about this controller.
Model Predictive Control is a family of control methods in which an open-loop optimization problem is solved using a plant model to predict future behaviours starting from state measurement or estimation. The periodical update of the state vector permits the correction of the controller behaviour. In this manner, a blend of classical feedback and optimal controls is obtained, with the advantages of both and with the possibility of an online implementation. In general, the MPC algorithm can be synthesized as follows: • a dynamical plant model is required to predict the behaviour of the system in a specific prediction horizon by using a control law; • initial conditions are needed to define the status of the system and are usually either imposed or obtained by using appropriate sensors; • the optimal control law, which optimizes a predefined performance index (or cost function) over the prediction horizon, is computed by using appropriate numerical methods • the optimal control is only applied in the control horizon, the system is hence updated, and the process is re-iterated. A general MPC controller can be schematically illustrated as in Figure 1, in which the subsystems analyzed in the following sections are highlighted in green.
Energies 2021, 14, x FOR PEER REVIEW 4 of 26 • the optimal control law, which optimizes a predefined performance index (or cost function) over the prediction horizon, is computed by using appropriate numerical methods • the optimal control is only applied in the control horizon, the system is hence updated, and the process is re-iterated.
A general MPC controller can be schematically illustrated as in Figure 1, in which the subsystems analyzed in the following sections are highlighted in green. The first applications of MPC date back to the 70s, and they suffered from a low computational capability. Therefore, they were mainly used in chemical plants [23] whose characteristic times were sufficiently long and compatible with the hardware resources of the time. However, thanks to the technology progress, MPC has been applied in a variety of fields, including the combined heat and power systems [24], the energy management strategy in HEVs [25] and Heat, Ventilation and Air Conditioning (HVAC) systems [26], as an example.
Focusing on the MPC applied to ADAS, Figure 2 illustrates the geographical distribution of published papers regarding the different analyzed scenarios. This figure has been obtained by exploiting the Scopus database using as keywords "Model Predictive Control" along with the different frameworks (i.e., Cruise Control, Lane Keeping and Path Following).
An analysis of the data obtained was carried out, splitting the studies among the different commercial areas. Namely, the North American Free Trade Agreement (NAFTA), Asia-Pacific (APAC), Europe, Middle East and Africa (EMEA) and Latin America (LATAM). The few papers that were not categorized by Scopus have been included in the "other" area. Herein belongs the research papers of the multinational industry sector.
More specifically, Figure 2a reports the distribution of the articles published by institutions belonging to the aforementioned geographical area, normalized to the total number of articles. Figure 2b-d report the number of published studies over a time horizon of 30 years for the considered ADAS, Path Following, Cruise Control and Lane Keeping solutions. The figures prove for a major interest in the Path Following application, with a threefold number of studies with respect to the other two analyzed ADAS systems. The first applications of MPC date back to the 70s, and they suffered from a low computational capability. Therefore, they were mainly used in chemical plants [23] whose characteristic times were sufficiently long and compatible with the hardware resources of the time. However, thanks to the technology progress, MPC has been applied in a variety of fields, including the combined heat and power systems [24], the energy management strategy in HEVs [25] and Heat, Ventilation and Air Conditioning (HVAC) systems [26], as an example.
Focusing on the MPC applied to ADAS, Figure 2 illustrates the geographical distribution of published papers regarding the different analyzed scenarios. This figure has been obtained by exploiting the Scopus database using as keywords "Model Predictive Control" along with the different frameworks (i.e., Cruise Control, Lane Keeping and Path Following).

Prediction
As previously stated, a fundamental part of an MPC controller is the prediction of the system evolution throughout a specific time horizon. What is included in the considered system and how its evolution is forecasted depend on the specific formulation of the    An analysis of the data obtained was carried out, splitting the studies among the different commercial areas. Namely, the North American Free Trade Agreement (NAFTA), Asia-Pacific (APAC), Europe, Middle East and Africa (EMEA) and Latin America (LATAM). The few papers that were not categorized by Scopus have been included in the "other" area. Herein belongs the research papers of the multinational industry sector.
More specifically, Figure 2a reports the distribution of the articles published by institutions belonging to the aforementioned geographical area, normalized to the total number of articles. Figure 2b-d report the number of published studies over a time horizon of 30 years for the considered ADAS, Path Following, Cruise Control and Lane Keeping solutions. The figures prove for a major interest in the Path Following application, with a threefold number of studies with respect to the other two analyzed ADAS systems.

Prediction
As previously stated, a fundamental part of an MPC controller is the prediction of the system evolution throughout a specific time horizon. What is included in the considered system and how its evolution is forecasted depend on the specific formulation of the MPC. In the literature, different techniques are used to face prediction problems and are applied to different cases. The most common are enlisted in what follows:

•
Ego-vehicle behaviour (e.g., speed, fuel or energy consumption, emissions and trajectory error) • Predecessor vehicle behaviour (e.g., speed and lane changing). Such case involves the human driver behaviour modelling • Traffic conditions (e.g., Traffic Light (TL) and Road Side Unit (RSU)) As far as the models used for the prediction are concerned, a further discussion can be performed: The choice of the prediction method depends on the scenario and the defined system boundaries, and the two will hence be considered in a joint discussion in the following. In the last part of the section, the prediction horizon influence will also be discussed.
A common choice used in many applications is that of adopting a dynamic system model to be integrated over time. Various explicit system formulations are employed, such as time-invariant systems, either linear or non-linear. A linear model often requires integration techniques that are computationally less expensive, thus allowing for the realization of online controllers. On the other hand, non-linear systems can mimic reality with higher fidelity. The type of dynamic system and the number of equations (i.e., state variables) strongly influences the computational burden. Thus, a trade-off between model complexity and computational effort should be accepted with a fixed hardware system. However, a nonlinear system can be usually linearized in the neighbourhood of the point of interest, e.g., the latest state measurement. Such an approach provides accurate results only if the prediction time horizon is relatively short. Thus, the prediction horizon plays a crucial role in the controller performances, and its choice is deepened in the late part of this section.
The prediction certainly must consider the whole scenario, including vehicles string, driver behaviour, road geometry and other environmental factors. Some techniques proved for a higher capability in dealing with specific problems and corresponding trends can be extrapolated from the literature. When the prediction of vehicle-related behaviour is of interest, simple mathematical models are suitable and allow for satisfactory performance. For some applications, such as ACC controllers, an elementary model resulting in the assumption of a constant speed for the preceding vehicle over the prediction horizon, can be successfully used [27]. Even though it might appear as a strong hypothesis, a good performance can be achieved due to the short duration of the prediction horizon and the re-updating process. Such simple models are also effective in issuing eco-driving controllers, which require the full knowledge of the vehicle control actions to minimize overall fuel consumption [28]. However, many complex systems were also proposed in the literature to improve the controllers' performances. Caldas, and Grassi Jr [29] used a nonlinear vehicle model to improve the future state estimation of the preceding vehicle, using the instantaneous radar measurement and the distance from the traffic light (TL) as an input. Nonlinear models, which consider information from V2I communication with TL, can effectively predict the predecessor vehicle's speed, as Schmied et al. demonstrated [30].
The development of such deterministic mathematical models can be challenging and often unsuitable when the focus is shifted on predicting the human driver behaviour. In these cases, the use of Machine Learning (ML)-based algorithms or of stochastic methods is preferred. The formers represent a broad class of techniques that can train a complex model (i.e., auto-tuning the model parameters) starting from available data to produce the desired outputs.
In the last several decades, within the exploitation of Artificial Intelligence (AI), ML applied to ADAS systems has started to be more and more common. Successful applications have been reported for vehicle velocity prediction [31,32], lane detection [33], ACC [34], ECO-ACC [35], lane changing detection [36] and EMS with V2x connectivity [37]. This widespread diffusion is mainly due to the algorithms' ability to properly predict and identify a wide range of behaviours. These data-driven methods can substitute a standard dynamic system model or act as a system model companion that predicts some specific future behaviour. Among the ML techniques, Deep Learning (DL) is particularly suited for big data problems, which can include the elaboration of data from Light Detection and Ranging (Lidar) and camera systems [38]. In particular, the DL is a class of ML techniques where multi-layer (i.e., deep) neural networks are used. Two notable subfamilies of models belonging to DL are Convolutional Neural Networks (CNNs) and Recurrent ones (RNNs). The former are characterized by the use of convolution to extract features maps from the input tensor data and then elaborate them. This characteristic makes CNNs particularly suitable for image processing and other perception data. In an RNN, the neurons output is recursively fed as an input, providing the network with a dynamic behaviour. Another notable ML algorithm family is Reinforcement Learning (RL). Due to their peculiar capability of learning by previous system operations, these algorithms have received greater attention from the scientific community for application in the ADAS field [39][40][41][42]. Ozkan et al. [35] used a Gated Recurrent Unit, a type of RNN, to predict the future behaviour of the preceding human-driven vehicle based on the recording of the last several seconds provided by sensors. Lee et al. [36] used a CNN to improve the comfort and safety of an ACC. The developed system elaborates a simplified image given by the sensor fusion of radar and a camera to predict the probability of the preceding vehicle to either keep or change the lane.
Along with ML, stochastic methods can also be used to model the system behaviour for a wide operating range. The most common statistical methods used in the ADAS field are the autoregressive models [43,44], both linear and nonlinear ones: Markov Chain and Hidden Markov Chain. They are effectively used for the prediction of the demanded torque/power [45,46], predecessor vehicle position [47], human driving errors [48], and lane changing maneuvers [49][50][51][52][53]. The autoregressive model is a stochastic technique that describes random processes in which the state is linearly linked with past observations. Instead, the Markov Chain is a more sophisticated model based on the use of a transition matrix, which applies to random processes with the Markov property (i.e., the future state depends on the present state alone). When some of the process states are not observable, the method is referred to as Hidden Markov Chain. In [44], short-term forecasts are performed by considering an autoregressive model that takes the previous speeds as input to estimate the vehicle future positions. A common Markov chain application is the modelling of human drivers' dynamic behaviour. This modelling can be integrated with stochastic model predictive control (SMPC) for calculating optimal advisory speeds, taking into account the tracking errors. One crucial point in these controllers is the transition matrix determination, which often requires extensive driving tests. A clear example is the work of Xuewei Qi et al. [48], where a driver-in-the-loop (DiL) connected Eco-Approach and Departure (EAD) system considering human driver error was developed. The system used a Markov Chain, with a transition matrix given by DiL data, to predict human error and correct the speed advice to improve the vehicle fuel consumption. The capability to predict human driver behaviour is also useful for predicting the speed profile of the preceding vehicle. This information is crucial for developing an effective Eco-ACC system that can account for the uncertainty in the preceding vehicle behaviour [54].
The traffic conditions also involve lateral manoeuvre (i.e., lane change), which affect both longitudinal and lateral ADAS. The ADAS for lane change manoeuvre computes the trajectories according to the estimated status of neighbouring vehicles for a safe lane change. Deterministic and probabilistic predictions are usually adopted for other traffic participants' states. The former assumes that the vehicles surrounding the ego-vehicle maintain their current movement during a finite time-horizon and would not recognize unexpected driving situations. SMPC can hence be successfully adopted to overcome this downside. To further overcome the drawbacks of the deterministic prediction, several researchers concentrated on the prediction of the probability behaviours of the ego surrounding vehicles. In particular, Suh et al. [55] developed a lane change decision algorithm, whose architecture is based on an SMPC approach to calculate the desired steering angle and longitudinal acceleration.
The stochastic modelling of a system by also considering uncertainty can potentially lead to a more robust controller, which is of interest for industrial applications due to safety and reliability regulations' requirements. An adaptive version of almost all types of prediction models is proposed in the literature to improve the robustness against uncertainty in vehicle models, parameter identification and external uncertainty.
The nature of the plant model strongly influences the controller performance in terms of prediction accuracy. The more the modelled system is nonlinear, the more the performance in terms of prediction accuracy derates. This phenomenon can be mitigated by employing the adaptive version of the MPC. The prediction model can adapt to the operating conditions by updating the plant model and the related nominal conditions rather than using more sophisticated nonlinear models. Such updates are then kept constant throughout the prediction horizon and optimal control problem resolution, whereas they can change with time. Several works are present at state of the art regarding this type of MPC applied to scenarios where the V2V-V2I-V2X connection is used to improve the vehicle energy management or the longitudinal or lateral dynamics. In the field of path tracking problems, Lin et al. [56] proposed a method for updating the vehicle model dynamics based on the recursive least squares algorithm so as to online estimate the cornering stiffness of the tire and the road friction coefficient. These adaptive controllers also proved to be more robust than the conventional ones [57]. For the sake of clearness, robust controllers would be ones that can face unpredictable system change and sensor measurement errors while maintaining nominal performances [58]. The controller robustness is not easy to mathematically account for and demonstrate. Often, it passes through the determination of feasible or admissible set in the space state [59]. If there are no feasible points that can lead to the desired set point, the nearest admissible solution is often chosen (Dixit et al. [58]). A similar framework is also represented in [60]. The robustness can be required when obstacles are present on-road and must therefore be avoided. This case is analyzed in [61], where the authors added a random variable to represent the possibility of encountering an obstacle.
The above-described methods can also be combined one to another to overcome single limitations. For example, Wikström et al. [62] used two different methods for predicting a short-time horizon and a long-time one. The former is referred to by using a stochastic approach whereas the latter is addressed to by exploiting the information from the TL infrastructure, which is in turn used to predict the predecessor vehicle behaviour.
Further, whatever prediction system is chosen, the two main parameters that affect the performance of the proposed MPC controllers are the prediction horizon and the sample time. Unfortunately, not all works report or discuss these two factors. Takahama et al. [63], in the simulation-based part of their work, used a sample time (Ts) of 0.05 s with a prediction horizon of 20 timesteps and a control horizon of one step, leading to a prediction horizon of about 1s. In [64], the authors used a sample time of 0.5s and a prediction horizon of 10 s to simulate an ECO-ACC in a WLTP drive cycle. Moreover, they studied the effect of the prediction horizon on the performance of the proposed controller by exploiting a DP algorithm. The latter proved that a prediction horizon of 20 s resulted in performance degradation of about 3% with respect to the optimal one set by the fuel consumption. In fact, too-small a prediction horizon can lead to non-smooth vehicle operation in case of a sudden change in the road environment. On the other hand, too-large a horizon can produce a performance derating together with unfeasible computational calculations. In Table 1, the sampling, the prediction and the control horizon time used in the reviewed papers is reported. Some outliers with uncommon values are found, but a general trend can be extrapolated. For PF applications, 50 ms is a common choice for the sample time, while the prediction horizon is kept around 1s. Due to the lower dynamics content, a higher sampling time can generally be used in LK and CC applications, which allow for a longer prediction horizon. A general conclusion can be drawn from the presented data. The literature is constantly focusing on robust and reliable solutions and ML appears to be a promising horizon. ML techniques, combined to stochastic models are the most promising ones. In particular, the DL can exploit the great data stream from the environment sensing unit (i.e., camera, lidar, radar), which seems to be a prerequisite for full automation vehicles. The main issue deriving from the use of such models is related to their training. As a matter of fact, a large and well-structured dataset, with all possible scenarios, is required to achieve good training quality [75,76]. In this context, the DL and RL, which can assure a progressive CAV learning of the scenario, are well-suited, efficient and good performing solutions for future systems.

Cost Function in MPC Problems
The present section focuses on the cost function implemented in Model Predictive Control (MPC) strategies for ADASs applications.
In general, an Optimal Control Problem (OCP) finds as a solution the trajectory for which the minimum value of an objective function J OCP is achieved. This is in general expressed as follows in Equation (1) [77]: in which x(t) and u(t) are the state variables and control inputs, respectively; E and F are the endpoint cost and the running cost functions. The former depends only on the final state of the control problem whereas the latter is a function of the states and controls taken during the time. To exhaustively describe the OCP, the constraints need to be identified accordingly to the scenario. An exhaustive description of constraints is provided to the reader in Section 5. When referring to the MPC formulation of the cost function, different variables are considered and used depending on the problem analyzed. However, the overall structure is often similar to the one found in Equation (2), which is extrapolated from Garcia et al. [78]: where P 0 , Q and R are weighting matrices that are tuned in each control problem to guarantee the stability; p and m are the prediction and the control horizons, respectively. Several objective functions may even embed a fourth term representing the variation in control input ∆u. What considerably changes in each formulation are the state variables and the control inputs. These two parameters are explained below to exhaustively understand the different objective functions. Among the scenarios (i.e., path tracking, lane keeping, Adaptive Cruise Control, the Cooperative Adaptive Cruise Control and energy management) taken into account in this research, it is seen how only small differences are found when the problem is similar. However, the optimization depends strictly on the choice of the state variables and control inputs, mainly owing to the fact that the control strategy computed optimizes the just mentioned parameters. Therefore, depending on the particular scenario depicted, the solution might be different due to diverse cost functions.
The general problem often found in the literature is the path tracking in longitudinal and/or lateral directions. The coupling of these two directions is mainly achieved through the state-space equations describing the motion of the vehicle. Given that the main objective is that of following a predefined trajectory, the state variables are the difference between the actual position and/or velocity to the references (i.e., the errors), whereas the control input is the vehicle acceleration. When the lateral dynamic is considered, the steering angle and the yaw rate are added as control input and state variable, respectively [60,[65][66][67][77][78][79][80][81][82][83][84][85][86][87][88][89]. It is worth mentioning that no further analyses on the works just cited is brought up, owing to the fact that all the studies use the same state variables and control inputs.
Concerning the cost functions of the Adaptive Cruise Control (ACC) problem, the primary objective is to follow a preceding vehicle ensuring a safety distance, which might be translated into tracking a reference distance. The reference term is often computed using a spacing Equation, as follows: where ∆x k, re f is the reference inter-vehicular distance of the k-th vehicle (i.e., the controlled vehicle); ∆x k,,0 is a certain initial space gap; h and v k are the time headway and the velocity of the k-th vehicle. This value is often found among the state variables along with the relative velocity between lead and ego vehicles and are the main parameters minimized when using MPC in the ACC framework [29,[90][91][92][93][94][95][96][97][98][99][100][101][102][103][104].
In the literature, the ACC can be exploited to enhance energy consumption. Herein, the main difference with the aforementioned scenario is that traction and braking torques/forces are found among the control variables. In doing so, the powertrain has to be taken into account. Thus, an enhancement of the energy efficiency could be achieved [105][106][107].
In the Cooperative Adaptive Cruise Control (CACC), the knowledge of the preceding vehicle acceleration is exploited to ensure the car string stability and reduce even further accelerations and decelerations, thus providing efficient energy consumption. The objective of CACC is similar to the ACC aim, i.e., minimizing the tracking error on a predefined distance, maintaining the relative speed as close to zero as possible while reducing the acceleration rate (jerk). The preceding acceleration enters the formulation often as a disturbance of the system and can be handled by switching to the robust type of MPC [44,50,[108][109][110][111][112][113][114][115][116][117][118][119][120][121][122][123]. CACC could also consider the lateral dynamics and therefore lane keeping is performed, thus adding to the state variables the lateral position and velocity errors which are then minimized [114].
It might also happen that the cost function is composed of different terms aiming at optimizing diverse objectives. As an example, Caldas and Grassi [29] have proposed a cost function made of five different terms in order to: minimize acceleration and braking phases in inclined roads; track a velocity reference; maximize comfort by minimizing the lateral acceleration and keep the vehicle speed lower than a threshold value; and minimize fuel consumption of the vehicle. Moreover, a similar structure of the cost function is found in [110] where three terms are to be achieved: the minimization of the reference trajectory error, the maximization of the comfort and the minimization of the battery energy consumption.

Constraints in MPC Problems
The formulation of MPC always requires the definition of the constraints. These might be different, accordingly to the problem analyzed, but a common pattern may be identified based on the application of the controller. Referring to the path tracking (both longitudinal and lateral), the constraints are often set to ensure stability, thus requiring the sideslip angle and the yaw rate to be below a certain value (i.e., a value that changes accordingly to the vehicle characteristics). Moreover, it happens that bounded values for acceleration and steering angle are set to comply with the physics of the problem [60,[65][66][67][78][79][80][81][82][83][85][86][87][88][89].
Similar constraints may be found in collision avoidance scenarios, where the main objective is also to follow for a certain path. Nevertheless, in this type of problems the controller is also constrained to a minimum distance to be ensured between the vehicles. This distance might be computed using the worst case scenario or by simply considering all the events [77,84].
There might be solutions of ACC oriented to the minimization of the fuel economy (often referred to as Eco-ACC) where constraints are set to the traction and braking forces not to exceed certain physical values. In this type of controller, the instantaneous rate of the forces just mentioned is also limited [105][106][107].

Connectivity
This section focuses on connectivity in MPC-based ADASs. In ADASs scenario, the characteristics in terms of connectivity are becoming increasingly important. The main motivations are the enhancement of traffic throughput, road safety and energy savings. Among ADASs, Lane keeping and Cooperative Adaptive Cruise Control (CACC) are the most widely analyzed at the-state-of-art. CACC aims at enhancing the performance of Adaptive cruise control (ACC) systems. The latter mainly exploits on-board sensors, such as radar or LiDAR, to evaluate the position and the distance of the vehicle in front. However, these sensors have some drawbacks, such as the limited sensing range and limited field of action. Vehicle-to-everything (V2X) communication technologies are showing great performance in overcoming these demanding tasks. Indeed, they feature extended operating range, both in term of field of view and sensing range [124]. Specifically, V2X technologies allow the communication between a vehicle and the surrounding environment gaining information not only relating to other vehicles, infrastructure and traffic but also relating to weather, road conditions and accidents. Given their general definition, these systems incorporate vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), vehicle-to-pedestrian (V2P) communication channels. How this information is handled depends on the control method used as well as the problem under analysis. As previously mentioned, model predictive control in ADASs applications field has shown a great potential in managing multiple control objectives subject to well-defined sets of constraints. MPC-based controllers exploit the information received from V2X systems, often used in combination with on-board sensors, in the prediction part. The prediction model varies depending on the case but the information received allows increasing the prediction accuracy resulting in better performance. Focusing on V2V communication, it takes place through dedicated short-range communications (DSRC) standards, i.e., short-range wireless communication channels. The information flow direction can be univocal or bi-univocal. The exchanged data are different depending on the application being considered. Speaking of CACC, in SAE J2735 [125], information on vehicle dynamics, information related to inputs provided by the driver and finally the position of the vehicle are the information mainly exchanged through the so-called basic safety messages (BSM). The first category includes signals such as speed, acceleration and yaw rate, while, among the possible inputs provided by the driver, the steering angle and the position of the accelerator or brake pedal are identified [124]. In the analyzed works, the exchanged information mainly focuses on signals relating to vehicle dynamics and the position/distance from the surrounding vehicles. The effective exchange of this information allows to obtain substantial advantages in terms of improvements in traffic flow as well as in safety and, therefore, in reducing accidents. CACC appears particularly effective in achieving these goals, especially when a platoon of several vehicles is considered. The key parameter to achieve a noticeable improvement in energy or fuel savings and also in passenger comfort is the correct management of the headway distance in the vehicle string. It is assumed that these vehicles can exchange information with each other in a certain direction. The information flow topology can be of different types [126][127][128]. In the literature, predecessor-following [129], bidirectional [130,131], predecessor-leader following [132], two predecessor-following and two predecessor-leader following are presented [133]. One of the biggest open challenges in this field is the handling of possible communication failures, delays and data packet losses. In the works presented in the literature, only a part of the authors focused on this aspect. Among these, Van Nunen et al. [117] have proposed a robust MPC designed against V2V communication failures showing improvements in the CACC performance either with or without information packet losses. Simplifying hypotheses such as neglecting signal loss due to limitations of range or channel load are commonly adopted, but there may also be no communication delay and packet drop [116,134]. As an example, Ma et al. [116] presented a NMPC for CACC of a platoon in predecessor-leader following scenario. Thanks to V2V technology, information on vehicle dynamics (speed and acceleration) and position are exchanged in the hypothesis of absence of communication delays and packet interruptions obtaining, in the best case, improvements of about 16% in terms energy savings. The analysis on CACC systems could be further extended to also consider evaluations of any abrupt lane changes such as cut-in and cut-out operations. These maneuvers interrupt the string in point causing sudden braking maneuvers by the following vehicles. Here, it is emphasized how the advent of the new connectivity can offer greater performance than the classic sensors, by ensuring a greater flow of information as well as a greater range of action. Kazemi et al. [50] have presented a stochastic MPC for handling cut-in maneuvers in CACC taking advantage of V2V data relating the cut-in of suspicious vehicles by means of BSM information. Instead, about the infrastructure, V2I technology allows communication between vehicle and the infrastructure including traffic lights, cameras, and lane markers, among others. Similarly to what was introduced before for V2V, V2I typically exploits wireless channels and uses the DSRC standard for transferring data. Thanks to V2I, it is possible to improve traffic flow and thus energy savings by adjusting the traffic signal phase and timing (SPaT) and speed limits. Indeed, an interconnected infrastructure has the possibility to let traffic lights work in tandem to clear traffic jams or deviate flow in case of road accidents. As an example, Xuewei Qi et al. [48] have used SPaT information to design a trajectory planning algorithm to determine a speed profiles that enhance fuel economy when approaching the signalized intersection. Instead, in [30] the I2V communication is considered in order to estimate predecessor's prospective velocity in order to adjust the speed of the vehicle behind through CACC, obtaining better fuel economy and reduced emissions. In addition, the information from the V2V and V2I channels can be combined to obtain more information and thus develop controllers that are more sophisticated [108,114,135,136]. Jianglin Lan et al. [114] developed a robust model predictive control for CACC and lane keeping of the followers in the platoon using data from V2V and V2I. More specifically, the former collects information on the real-time acceleration of the preceding vehicle while the latter provides data on the road curvature and grade. Instead, in [135,136], V2V data includes the distance to the leading vehicle and its speed while V2I data includes distance to the upcoming Traffic Signal Controlled Intersection (TSCI), its remaining time for the current traffic signal phase and the speed limit for the host vehicle's current lane.

Tests for Performance Evaluation
In the development process of ADASs, their reliability and safety in assisting drivers in vehicles' longitudinal and lateral driving should be tested in order to prove their capability to drive in live traffic.
Nowadays, vehicle manufactures develop and test ADAS technologies following the V-model, conventionally used for automotive electronics: the left side of the V individuates the development steps and the right side the validation ones. Tests on ADAS are executed contextually to their development, changing methods and test environments with respect to their status. Generally, considering the left side of the V-model, Model-in-the-Loop (MiL) and Software-in-the-Loop (SiL) tests can be performed. On the right side of the V-model, components or vehicles' development should be mature, so that Hardware-in-the-Loop (HiL), Vehicle-in-the-Loop (ViL) and driving tests can be performed. In addition to the environment test level of detail, it is important to define the test criteria to be adopted in the evaluation procedure: a statement on the tested system is evaluated quantitatively under a set of conditions with respect to a measurable result [137]. Numerical and experimental analyses carried out in the literature to evaluate control strategies designed for a specific ADAS (i.e., ACC, CACC, PF, etc.) may be incomparable due to the high degrees of freedom in the tests definition. These are related to the ego-vehicles characteristics, i.e., type of propulsion system (ICEV, HEV or BEV), powertrain size, drivetrain topology and vehicle handling dynamics. Furthermore, the different scenarios and evaluation references considered by researchers for ADAS testing may influence the metrics' values. Despite the availability of some analyses on autonomous vehicle testing [138] aimed at defining specific and generalized assessment protocols, performing tests that produce quantitative, repeatable and comparable results is still challenging for ADAS systems [139]. The authors hence believe that direct comparisons of safety critical metrics, such as collision avoidance, and other metrics, such as driver comfort, fuel consumption and trajectory tracking error, calculated by researchers in several different studies, are insufficient for properly benchmarking ADAS. A thorough analysis on the recent accomplishments in the performance evaluation approaches for MPC-based ADAS is hence necessary to highlight innovative control strategy, which could pave the way for future ADAS. This section aims at coping with such a goal.
In the first stages of ADAS development, MiL tests based on vehicle models were widely used. Many researchers applied such tests for the evaluation of MPC-based CC architectures' performance in terms of fuel consumption and energy savings. They highlighted how refined control architectures allowed for achieving improved performance in terms of fuel consumption. Table 2 summarizes the key features of MiL approaches for the fuel economy assessment considered in this section. The analysis highlights how MiL testing is extensively used to preliminary estimate performance improvement of innovative MPC control architecture to enhance ADAS performances [35]. This kind of test should consider many vehicles belonging to different classes to properly highlight the correlation between the vehicle class and the fuel economy potential. As an example, [29] considers three ICE vehicles and estimates a fuel economy potential in the range of 5.35-9.78%. A reliable estimation of fuel economy using innovative Eco-Driving ADAS might require a High-Fidelity Power-Train Model [140], such as the one exploited by Sakhdari and Azad [141]. They developed a high-fidelity model of a power-split Toyota Plug-in Prius in Autonomie environment, a generation of Powertrain System Analysis Toolkit (PSAT) software developed by Argonne National Lab. Interesting results are also to be observed by referring to the analyses in [64] aimed at optimizing the MPC prediction horizon, the latter holding a significant impact on fuel economy. Among the CC technologies, the extensions of the MPC control architecture to vehicle platooning also proved to be promising technologies for fuel saving. In fact, vehicle platoons, operating at close inter-vehicle distances reduces the overall aerodynamic drag and thus results in lower fuel consumption [69]. As an example, in [113] an eco-cooperative ACC is compared with a baseline ACC by means of DP for a BEV running on six different driving cycles. A reduction in energy consumption in the range of 13-23 % was obtained together with a reduction in the overall DP performance by 2-7%. Detailed scenarios that include dynamic traffic elements, such as traffic lights, also require careful analysis [62] and might lead to fuel economy potential from 5.2 to 29.8%.
The scenario influence on fuel economy performance for MPC-based controller was also considered by He et al. [37]. The performance of frameworks that incorporated traffic information in Traffic Vehicle Dynamics (TVD) model environment were evaluated for different scenarios and the results showed a reduction in fuel consumption of roughly 13% as compared to the rule-based strategy. MPC-based CC controller can be also evaluated in terms of jerk and deceleration. This kind of metric is widely used in the literature to assess for the performance of controls purposely designed to improve comfort [36]. As far as the latter is concerned, the approach proposed by Luo et al. [142] is promising. They tested an MPC for ACC in five different scenarios by using MiL. About 40 different experiments were carried out for each scenario by changing, for example, the initial inter-vehicular distance and the disturbing acceleration value of the previous vehicle. A reduction in the acceleration magnitude ranging around 41% was obtained together with a rough 74% jerk reduction.
As for fuel consumption, studies on MPC-based CACC technologies demonstrate how extending control architectures to platooning gives opportunities to increase comfort [143]. More specifically, in [119], the simulation results of the proposed robust MPC (RMPC) are compared to those of a nominal MPC in a highway driving scenario in CACC. Two vehicles are platooning, and the leading one sends information to the following one, which exploits this to improve safety and comfort. The two controllers do not show differences when the lead vehicle drives normally, and the main improvements of the robust MPC are shown in the emergency braking. In this scenario, the RMPC is capable of ensuring a minimum distance higher than the safety one in every situation, whereas the nominal control strategy fails in keeping the passengers safe.
Regarding MPC-based Path following technologies, MiL tests are widely used to assess for improvement in the safety using as metrics the tracking error to a reference safety planned trajectory [70]. In particular, Yu et al. [144] showed how NMPC ensures better performance on controlling vehicle steering with respect to a LQR and CLQR controller, obtaining reduction of maximum, mean and standard deviation of lateral errors of around 3%, 38% and 35%, respectively. Interesting results were also drawn by Brudigam et al. [145] on an MPC-based trajectory planning that proved to be more efficient than pure FTP.
The MPC-based CC evaluation problem can also be faced considering more metrics, given that controller's features are designed to optimize performance with respect to several objectives, e.g., fuel consumption, comfort and tracking errors. In [134] an ACC is designed according to the MPC framework with V2V technology, with road grade preview. The performances are evaluated by defining a cost given by the sum of three performance indices, energy consumption, tracking and comfort, respectively. The indices are compared to a controller baseline without grade preview: an improvement in performance up to a 30% was achieved.
If parts and components are in a mature state, HiL tests can be performed with the actual components integrated into specifically designed test benches (see Figure 3).
Energies 2021, 14, x FOR PEER REVIEW 15 of As for fuel consumption, studies on MPC-based CACC technologies demonstra how extending control architectures to platooning gives opportunities to increase comfo [143]. More specifically, in [119], the simulation results of the proposed robust MP (RMPC) are compared to those of a nominal MPC in a highway driving scenario in CAC Two vehicles are platooning, and the leading one sends information to the following on which exploits this to improve safety and comfort. The two controllers do not show d ferences when the lead vehicle drives normally, and the main improvements of the robu MPC are shown in the emergency braking. In this scenario, the RMPC is capable of ensu ing a minimum distance higher than the safety one in every situation, whereas the nom nal control strategy fails in keeping the passengers safe.
Regarding MPC-based Path following technologies, MiL tests are widely used to a sess for improvement in the safety using as metrics the tracking error to a reference safe planned trajectory [70]. In particular, Yu et al. [144] showed how NMPC ensures bett performance on controlling vehicle steering with respect to a LQR and CLQR controlle obtaining reduction of maximum, mean and standard deviation of lateral errors of aroun 3%, 38% and 35%, respectively. Interesting results were also drawn by Brudigam et a [145] on an MPC-based trajectory planning that proved to be more efficient than pure FT The MPC-based CC evaluation problem can also be faced considering more metric given that controller's features are designed to optimize performance with respect to se eral objectives, e.g., fuel consumption, comfort and tracking errors. In [134] an ACC designed according to the MPC framework with V2V technology, with road grade pr view. The performances are evaluated by defining a cost given by the sum of three pe formance indices, energy consumption, tracking and comfort, respectively. The indic are compared to a controller baseline without grade preview: an improvement in perfo mance up to a 30% was achieved.
If parts and components are in a mature state, HiL tests can be performed with th actual components integrated into specifically designed test benches (see Figure 3). In this environment there is the need of using high-fidelity models [146], whose p rameters should be accurately identified [147] to be hence validated through real wor data [148]. In particular, in [30] a BMW 320 vehicle model was used together with a re Diesel engine in HiL configuration to evaluate the MPC-based CACC fuel consumptio reduction. This performance assessment test addressed the fuel economy, considering th In this environment there is the need of using high-fidelity models [146], whose parameters should be accurately identified [147] to be hence validated through real world data [148]. In particular, in [30] a BMW 320 vehicle model was used together with a real Diesel engine in HiL configuration to evaluate the MPC-based CACC fuel consumption reduction. This performance assessment test addressed the fuel economy, considering the fuel consumption of preceding vehicle as a reference: results highlighted a fuel economy up to 13%. HiL tests are also usually exploited to assess for the real-time implementation of a controller. In [141], a dSPACE Micro-AutoboxII ECU was used, setting a 1 ms sampling time for the ECU and a 10 time step prediction horizon. The turnaround time was measured in between 0.4 and 0.7 ms.
Still, HiL approach shows its limits for ADAS applications as these latter should be judged not only by purely functional ECU software tests but also by how they affect and interact with the driver. Combining classic HiL simulation with a driving simulator in a driver-in-the-loop (DIL) simulation environment, it is possible to account for the driver interactions with the controls and displays [149]. In particular, Xuewei Qi et al. [48] applied a DiL test to account for human error in tracking a reference profile. A 12% of fuel consumption reduction was estimated. Tests required roadside infrastructure, including an Econolite 2070 controller, Windows PC to encode SPaT and MAP messages, and Arada Locomate DSRC Roadside Unit. The tests were executed with a hybrid vehicle (2012 Ford Escape), only used for driving trajectories collection.
As one could infer from Figure 4, the ViL environment requires the actual vehicle and is used either for human factor purposes or to perform tests with virtual test participants. This approach is a trade-off between driving tests and virtual testing: in contrast to realworld test driving, environmental elements are partly considered within the simulation. This approach requires a vehicle testing platform, whose typical configuration includes elements such as the ones reported in Table 3.

OR PEER REVIEW
16 of 26 of a controller. In [141], a dSPACE Micro-AutoboxII ECU was used, setting a 1 ms sampling time for the ECU and a 10 time step prediction horizon. The turnaround time was measured in between 0.4 and 0.7 ms. Still, HiL approach shows its limits for ADAS applications as these latter should be judged not only by purely functional ECU software tests but also by how they affect and interact with the driver. Combining classic HiL simulation with a driving simulator in a driver-in-the-loop (DIL) simulation environment, it is possible to account for the driver interactions with the controls and displays [149]. In particular, Xuewei Qi et al. [48] applied a DiL test to account for human error in tracking a reference profile. A 12% of fuel consumption reduction was estimated. Tests required roadside infrastructure, including an Econolite 2070 controller, Windows PC to encode SPaT and MAP messages, and Arada Locomate DSRC Roadside Unit. The tests were executed with a hybrid vehicle (2012 Ford Escape), only used for driving trajectories collection.
As one could infer from Figure 4, the ViL environment requires the actual vehicle and is used either for human factor purposes or to perform tests with virtual test participants. This approach is a trade-off between driving tests and virtual testing: in contrast to real-world test driving, environmental elements are partly considered within the simulation. This approach requires a vehicle testing platform, whose typical configuration includes elements such as the ones reported in Table 3.  Four in-wheel Potentially dangerous tests can also be performed without using robots, such as in [71], where SCMPC-based lane change assistance was evaluated on highway scenarios. A single virtual preceding vehicle was considered and attributed with a lower speed with respect to the ego-vehicle. The preceding vehicle was initially positioned 100 m ahead of the ego one and was forced to execute a cut-in maneuver. Experiments demonstrated how the controller is capable of performing collision-avoidance maneuvers and lane changes to avoid safety constraint violations. In a ViL test environment, real V2X communication units can also be included, as in [44]. MPC-based CACCs were tested with ViL using a powertrain that included real communication units for transmission of simulated traffic light signal phase and timing signals and surrounding traffic. In particular, test cases were first executed considering a perfect V2X and radar sensor. Then, a real V2X and/or a simulated radar sensor in the loop were used during tests to evaluate the effects of introducing real V2X communication. Results over an urban route showed energy savings up to 25% compared to a human driver. However, the ViL fully neglects the sensor setup. The virtual test participants' attributes are usually known and do not have to be captured by the sensors. Therefore, to mitigate such a gap, actual driving tests are usually performed. Zhaolong Zhang et al. [150] experimentally evaluated the human error in tracking an optimized speed profile. These measures were used to model the human error, which was hence integrated in the proposed SMPC-based GLOSA system. The average driving energy was reduced by 4.9% with respect to the one produced by GLOSA without considering the tracking human error.
Real driving tests also verify that the online updates of all the controllers input are suitable for ensuring acceptable performance. In [151] a robust MPC designed for path tracking was considered and evaluated: the difference between the reference trajectory and the real one proved to be small, even though steering angles of 700 • were achieved.
The effective performance of MPC control strategies can be proved by running tests in real-world conditions [152]. As an example, in [54] an ECO-ACC was tested on a real vehicle: using real measurements for the position and velocity of the preceding vehicle, an improvement of 21% with respect to a human-driven scenario was achieved. This type of test was also used for evaluating the response time of an MPC-based controller in traffic jam conditions [63].

Towards the Future: Higher Levels of Automation
This work focuses on a review of model predictive controls applied to advanced driver assistance systems. As highlighted in the previous sections, there are several examples of MPCs applied to SAE automation levels 0 to 2. However, regarding higher levels of automation (SAE levels 3 to 5), critical issues and open points are found. Considering level 3, the main need is in the correct management of man-machine interactions, especially when the person has to re-take control of the vehicle. This action must be performed safely and comfortably, as evidenced in the recent literature. Driver response time turns out to be a crucial parameter, closely related to driver drowsiness and attention detection. Among the presented works, standard smartphones [153] or brainwaves [154] are used to determine the driver's level of attention. However, this trend has not been further investigated as it is far from the objectives of this review.
As the level of automation increases, the complexity of the modelling phase of the surrounding environment increases, owing to the sensors' limitations (limited range, latency time, etc.) and the problems related to the communication of information with the surrounding environment (e.g., loss of data packets, etc.). In addition, there are several socio-economic and moral challenges that are still open points. Indeed, there is still no legislation to regulate these vehicles and a consideration on the willingness to accept this technology (both as users and as people who share the road with the users) must still be carried out. This last part is beyond the scope of this work and will therefore be neglected.
A fully autonomous vehicle consists of two main systems, namely perception and decision making, as evidenced by Mutz et al. [155]. These systems in turn incorporate various subsystems. Perception includes all those parts necessary for the elaboration of an internal representation of the environment. This part is therefore connected to the sensors used to locate the vehicle itself in the environment and to detect static or dynamic objects in the external environment (vehicles, pedestrians and objects). On the other hand, the decision-making system is the part used for the elaboration and implementation of the actual driving trajectory to reach the destination. Although the first part of perception is not the core of this research article, the authors believe it is important to mention its limits and open points as they are closely linked to the decision-making system that implements the actual control strategy.
Focusing on the perception part the main technical challenge is given by the sensors in terms of accuracy, latency time and the ability to maintain unchanged performance when driving conditions change (e.g., weather). In addition, as highlighted by Seif et al. [156], data management (of any possible signal, such as speed, acceleration, etc.) turns out to be one of the main bottlenecks in terms of timing. Seif et al. highlight that one hour of driving corresponds to 1TB of data collected, whose transmission rate is 2.2 Gbit/s using a 4G network or 5 Gbit/s for a 5G network. This leads to the conclusion that, considering the amount of data involved, future autonomous vehicles may not have all the necessary computing resources on board but could make use of cloud computing systems. Therefore, in addition to the problem of data reliability, with these amounts of information, concerns about their management will also increase. Indeed, although a stand-alone autonomous vehicle in a controlled driving environment is theoretically possible, the management of millions of vehicles is a research topic still to be studied. Its realization is linked to an enhancement of the sensor part as well as a cloud environment for the correct collection, process and transmission of data.
Regarding the decision-making part, there are two main steps to consider: path planning and tracking [157]. In a real driving environment, a hierarchical approach from the first to the second is generally considered. In path planning, the route is decided by imposing driving constraints (coming from adjacent vehicles, infrastructure, external environment and in general rules deriving from engineering experience). In path tracking, the control part is carried out on the planned route. To properly work, path planning requires knowledge of the surrounding environment as well as the vehicle position in the environment, which means that a highly efficient interconnected system is required. For what has been said so far, the MPC will be one of the main players in an autonomous driving scenario.
As examples of MPC applied to higher level of automation, Micheli et al. [158] used a non-linear MPC to plan the vehicle's optimal trajectory, taking into account obstacle avoidance. Lee and Kang [159] used a non-linear MPC model to obtain optimal control datasets to train a Deep Neural Network (DNN), obtaining similar performance with reduced computation time and achieving the real-time capability. Luciani et al. [160] proposed a MPC strategy for tracking longitudinal and lateral dynamics of an assisted and driverless vehicle with the objective of optimizing the comfort.

Conclusions
Model Predictive Control-based strategies represent interesting solutions when problems related to Advanced Driver-Assistance Systems have to be addressed. Being a mix of classical feedback and optimal controllers, an MPC can exhaustively solve these problems by minimizing a user-defined objective function while predicting future states using several appropriate methods. However, its implementation is far from being trivial, especially when the optimality is sought.
This review article offers a comprehensive understanding of different sections of the MPC, along with particular possibilities in the ADASs field. The main bullet points may be summarized as follows: The prediction of the vehicle behavior is exhaustively done in the literature, whereas the modelling of surrounding vehicles and their behaviors are crucial open points. Data-driven methods (i.e., Machine Learning and Deep Learning algorithms) are among the best solutions regarding ADASs; The cost function is strictly related to the state variables and control inputs and hence to the scenario where the MPC is to be applied. Its formulation might differ depending on several aspects, e.g., the variation in control input could be embedded to minimize the change rate of variables. Moreover, a final cost could be added related to the state reached at the end of the prediction horizon, thus avoiding possible scenarios which are not desired; Along with initial conditions, constraints should be set to ensure the stability of the control trajectory. As it happened for the objective function, constraints depend on the problem to be analyzed; When it comes to ADASs, connectivity between vehicles could be addressed thanks to V2V, V2I or V2X technology. The exchanged data depends on the application under analysis. Generally, signals related to vehicle dynamics, information related to inputs provided by the driver and the position of the vehicle are all considered.
Evaluations of MPC-based ADAS with MiL, HiL, ViL and Driving Tests are considered to analyze their performance in both development and validation phases. In particular, MiL tests can be used to assess MPC-based controller performance optimization. Regarding HiL, combining it with a driving simulator is useful for taking into account human tracking error. ViL tests may be useful to evaluate the effective responses of vehicle to MPC-based ADAS control actions also in safety critical scenarios, and to test it with real V2X systems. Driving Tests are useful for considering possible uncertainties in measurements, which is critical for ADAS when perceiving the environment.
Starting from SAE level 3 onwards, different points are still open regardless of the type of controller applied. A critical analysis of the literature concludes that, although a general use of the label "autonomous vehicle" is found, frequently the studies refer to a maximum of SAE level 2, highlighting a considerable gap in this field.