A Control Matching Model Predictive Control Approach to String Stable Vehicle Platooning

A predictive control strategy for vehicle platoons is presented in this paper, accommodating both string stability and constraints (e.g., physical and safety) satisfaction. In the proposed design procedure, the two objectives are achieved by matching a Model Predictive Controller (MPC), enforcing constraints satisfaction, with a linear controller designed to guarantee string stability. The proposed approach neatly combines the straightforward design of a string stable controller in the frequency domain, where a considerable number of approaches have been proposed in literature, with the capability of an MPC-based controller enforcing state and input constraints. A controller obtained with the proposed design procedure is validated both in simulations and in the ﬁeld test, showing how string stability and constraints satisfaction can be simultaneously achieved with a single controller. The operating region that the MPC controller is string stable is characterized by the interior of feasible set of the MPC controller.


Introduction
Automated highways, in particular vehicle platooning, is considered as an appealing technology to contribute alleviating traffic flow problem like congestions.A vehicle platoon consists of a chain of automated vehicles following each other led by a specific vehicle, i.e., the leader.The primary objective of a platoon is that vehicles should follow each other by maintaining a desired gap/distance to their preceding vehicles.The idea of platooning dates back to the eighties when California Partner for Advanced Transportation Technology (PATH) was established to study and develop intelligent vehicle-highway cooperation and communication systems, [1].Since then, several studies on the potential impact of vehicle platooning on different aspect of transportation and traffic flow have been conducted, [2].Potential benefit of vehicle platooning in reducing the fuel consumption is studied in [3].The impact of vehicle platooning on the traffic flow is studied in e.g., [4], [5] and [6].Regardless of the business model, to enable vehicle platooning, controllers must be developed to maintain a desired distance/time gap between vehicles.In platooning, the longitudinal dynamics are controlled relying on measurements from on board sensors, e.g. 25 radar and camera.However, to enable a short intervehicles distance between vehicles and to guarantee the so called string stability property, wireless communication may be required as well [7], [8].
The main challenges in the design of a longitudinal 30 dynamics controller for vehicle platooning applications are i) satisfying safety and performance requirements within the actuators limitations (hereafter refer to as time domain requirements) ii) guaranteeing string stability.As it is shown in previous works, [9,10,11], con-35 trol specifications and requirements, including safety, performance and actuators limitations can be formulated as inequality constraints in a model predictive control formulation.Alternatively, constraints satisfactions and safety can be verified a posteriori for any linear con-40 troller by using the set based approaches as in, e.g., [12] and [13].The focus of this paper is the design of a controller accommodating both time domain requirements and string stability.String stability is defined as the ability of a vehicle platoon to attenuate the effect of disturbances introduced by the leader (or any other vehicles) as it propagates down stream in the platoon.However, slightly different definitions for string stability can be found in the literature, e.g., string stability w.r.t.different disturbance signals and different norm sense [14].In this work, string stability is defined as the capability of a vehicle platoon in attenuating the energy of the acceleration signals as moving toward the tail of the platoon, as proposed by [15].However, it should be noted that string stability cannot guarantee safety.This motivates the fact that controllers should be equipped with a tool such that they can handle constraints (e.g., safety) explicitly.
Combining string stability and constraints satisfaction requirements in a single controller is not trivial.In general, guaranteeing constraints satisfaction, is not trivial in frequency domain designs.On the other hand translating the frequency domain definition of string stability into time domain settings as MPC, is not trivial either .In [20] and [21], the string stability requirement is translated into inequality constraints in an MPC controller.However, the proposed methods require that each vehicle broadcasts an intended trajectory to its followers which might be impractical with couldn't read your comment wireless communication technology.
In this work, we propose a predictive control design procedure for vehicle platoons, accommodating both string stability and constraints (e.g., physical and safety) satisfaction.This is a two-step procedure.In the first step, a linear controller is designed in order to guarantee string stability.It is important to point out that the design can be based on any string stability definition and by resorting to any design procedure leading to a linear control structure.In this paper, as an example, a controller based on H ∞/2 is designed to guarantee string stability.The choice of an H ∞ controller is well motivated considering the L 2 string stability criterion adopted in this work.However, any other linear controller which can result in a string stable vehicle platoon can be suitable as well.Then, in the second step, the control problem is formulated in an MPC framework with the ability of handling the time domain constraints.Furthermore, a controller matching approach is used to tune the weighting matrices of the MPC controller such that its behavior matches the string stable controller while the constraints are not active, [22].In particular, the physical, safety and design constraints are embedded in an MPC controller.Then a convex optimization problem is solved to find the weighting matrices of MPC controller such that the same behavior as the string stable controller achieved by MPC controller.Accomplishing the afore- mentioned two steps results in a string stable MPC controller with the capability of fulfilling constraints, e.g.safety and actuator limitation.

Vehicle Modeling
Consider two adjacent vehicles, as shown in Fig. 1.Let p i−1 , v i−1 and a i−1 denote the position, velocity and acceleration of the vehicle preceding the i-th vehicle (ego vehicle) in a platoon and p i , v i and a i denote the position, velocity and acceleration of the i-th vehicle.Denote by e p the position error w.r.t. a desired distance from the preceding vehicle, i.e., e p,i = p i−1 −p i −d 0 −v i h i , where d 0 and h i are a constant safety distance and the constant headway time, respectively.The headway time is the time necessary to the ego vehicle to travel the distance to the preceding vehicle, at its current speed.The error dynamics are then described by the following set of equations where e v,i is the relative velocity.The longitudinal acceleration dynamics can be described by, where K i , τ i and θ i are the steady state gain, the time constant of the actuator (engine and brake) and the actuator delay, respectively and a des i is the demanded acceleration, [23].The model ( 1)-(2) can then be written in a state-space form as where and are the state, control and disturbance vectors, respectively.Notice that the acceleration of the preceding vehicle is considered as a measured disturbance.

Constraints and time domain requirements 110
Control objective is to minimize the position and velocity errors while satisfying a number of requirements described next.The requirements are written for a vehicle i.

Safety: 115
The safety requirement is introduced to guarantee that a safe minimum distance is maintained from the preceding vehicle in order to prevent rear-end collisions.Based on the notation introduced in Section 2, the safety requirement can be written as e p,min ≤ e p,i (t) ≤ e p,max , ∀t ≥ 0, where e p,max is the maximum allowed distance from the preceding vehicle.We observe that, e p,max can be selected according to performance criteria (e.g., to not allow increasing the platoon length), the choice of lower bound in (9) e p,min is based on safety requirement.120

Performance:
Since the primary objective of the automated driving system is to regulate the vehicle velocity to the platoon velocity, the relative speed between the two adjacent vehicles is constrained as, e v,min ≤ e v,i (t) ≤ e v,max , ∀t ≥ 0, (10) where e v,min and e v,max can be chosen based on the performance requirement.

Acceleration requirement
To ensure that all vehicles belonging to a platoon deliver the same amount of acceleration/deceleration, based on the platoon requirement, the following constraint can be used where a min and a max , are the minimum and maximum 125 allowed acceleration, respectively.

Actuator limitations:
Due to the physical limitation of actuator (engine and brake), acceleration commanded by the controller is limited by the the following constraints:

Desired velocity range:
According to the platoon requirements, the vehicles should be able to operate within a desired velocity range which can be set through the following constraint: where v max is the maximum allowed velocity.Constraints ( 9)-( 13) can be compactly rewrittenin the following form, where ( 14) is a polytope in the input and state space.The projections of (14) onto the state space and input 130 space are represented by X and U, respectively.

String stability:
String stability is an important property of a vehicle platoon which should be considered in controller design.Among alternative definitions of string stability, 135 we adopt a predecessor-follower string stability criterion based on the L 2 induced norm w.r.t. to acceleration signals, [24].Denote by a i−1 and a i the acceleration signals of two adjacent vehicles.Then string stability is defined as, 140

Definition 1 (String stability). A vehicle platoon is predecessor-follower string stable w.r.t. a acceleration disturbance if the following holds,
where Γ i (s) and σ are the transfer function from a i−1 (s) → a i (s) and the singular value, respectively.This condition can be written in terms of L 2 induced norm of input output, Condition (15) states that the total energy of output signal is less than than the total energy of input signal over interval t ∈ [0, ∞).
Remark 1.The presented predecessor-follower string stability criterion is more stringent than the leader- follower string stability, [20].
Remark 2. An alternative definition for string stability can be defined using L ∞ , which can guarantee no overshoot w.r.t. to desired signals while the signal propagates in the platoon [16].

Control problem formulation
In this work a control matching MPC strategy is adopted which simultaneously can fulfill specifications, requirements and string stability condition presented in Section 3. In this section, we present the two necessary 155 steps to design the controller.First, a mixed H ∞/2 is synthesized to guarantee string stability condition (16).Then control problem is formulated in an MPC framework to fulfill constraints ( 9)- (12).The weighting matrices in the objective function of MPC controller are 160 chosen according to the control matching technique proposed in [22].Details on the control design are presented in the sequel.

String stable controller
Consider the feedback/feedforward control policy, where K ss FB and K ss FF are static state feedback and feedforward gains, respectively.Utilizing the control policy (17) and setting u = u ss,i in (3), yields the closed loop system, ẋ(t where and denote by, 170 Naturally, we want to choose the gain K ss in (17) to stabilize position error e p,i .In addition we would like to keep the control effort and acceleration as small as possible.In the frequency domain we thus want to chose K ss such that, the 2-norm, H 2 is minimized.

175
We also want to find K ss such that acceleration signals are attenuated as much as possible along the tail of the platoon.We thus want to optimize K ss such that Γ ∞ is minimized.In particular the condition (15) should be satisfied in order to ensure string stability.We calculate K ss as, where α and β are non-negative tuning parameters that can be chosen to trade off between the different control objectives.The optimization problem ( 20) can be formulated as an LMI which can be solved using convex optimization solvers [25].

Model Predictive controller
In order to stabilize the error dynamics with a receding horizon framework, the system dynamics (3) are discretized using the Euler method with sampling time t s : We recall that the control objective of each vehicle is to regulate the position and velocity errors e p and e v to zero, respectively, while satisfying the constraints described in Section 3.

185
We assume that the state and the disturbance vectors can be measured every sampling time instant t s , and solve the following quadratic programming (QP) optimization problem in receding horizon, where ] ∈ R N is the vector of input signal over the horizon, i.e., the vector of optimization variables, N is the prediction horizon length, Q 0 , R 0 and P 0 are weighting matrices of appropriate dimensions on state, control signal and final state, respectively.Constraints (22d) include the safety, performance requirements and actuators limitations.Note that to reject the measured disturbance ω, the prediction model (22c) can be written in the augmented form where the augmented state vector is x = [x, ω] T , while the dynamic of ω t+k|t is described by (22f).

Control Matching Problem
As shown in (22), every time instant a Quadratic Programming problem (QP) is solved.Given the initial conditions, x(k) and ω(k), the QP-problem can be written as follows, the weighting matrices in the objective function (23a), H, F, Y and polyhedral constraint (23b) with M ∈ R r×N , E ∈ R r×n and W ∈ R r are defined as follows, where S u and S x are, and Q, R are block diagonal matrices, The solution to the unconstrained optimization problem (23a), that is, when the constraints (23b) are not active, i.e., MU(k) ≺ W(k)+Ex(k) can be obtained by using the necessary and sufficient optimality condition, Hence the vector of optimal control sequence U (k) can be calculated as follows, The first element of U (k) can be extracted as following and is applied to the plant at time k. where The control matching problem can be seen as the problem of calculating the weighting matrices of the optimization problem (22), i.e., Q 0, P 0 and R 0 such that the control action calculated by the MPC controller, u (k) in ( 29) is equal to the control action calculated by the string stable controller, u ss in (20a).This amounts to solving the following, T is the augmented state vector.The variable to be found in (30) are Q, P and R according to ( 24)- (27).Solving (30) for Q, P and R requires inverting the singular matrix Λ.To remove Λ from (30), we enforce the solution to the unconstrained MPC problem be the same as the favourite controller over an N-step prediction horizon instead, To enforce that the first control action of MPC controller matches the string stable H ∞/2 controller, we set can be chosen freely.Equation (31) can be cast as an optimization (or feasibility) problem where the weighting matrices Q, P, R and free matrix gains k i are the optimization variables.However, considering k i as free variables results in an optimization problem subject to bilinear matrix inequalities (BMI).Even though, nowadays, there are available solvers to tackle such problem, BMI problems are still considered as NP hard problem due to their non-convex nature.Assuming that the matrix gains k i are fixed (pre-specified), (31) can be cast as a semi definite programming (SDP), i.e. linear objective function subject to LMI, [22], Lemma 1.Consider the following convex optimization problem where K is the matrix of pre-specified gains over the N-step prediction horizon, . . .
Clearly, if the objective function (32a) becomes zero at the optimum, i.e., V = 0, then the solution to the optimization problem, i.e.Q i , P and R i are also the exact solution to the (31).Hence, if V = 0, the MPC controller (22) will behave the same as the string stable controller presented in Section 4.1, as long as the constraint (23b) are not active.
Note that the MPC controller proposed in Section 4.2 can enforce string stability as long as the constraints are not active, i.e. when the following holds, This corresponds to the interior of feasible (admissible) set of the MPC controller.Once the constraints are active, the behavior of MPC controller would be different than the string stable controller in general.However, this is not restrictive since when the constraints are active, e.g.either the safety is endanger or the control signal is saturated.Clearly, if the safety is endanger, then string stability is not the priority of the controller, and if the control signal is saturated the string stability cannot be guaranteed with string stable controller neither.

Feasibility and Stability
In general feasibility and global stability of an MPC controller is not guaranteed.In particular for the control matching technique utilized in the previous section, 245 persistent feasibility and global stability can be guaranteed by introducing terminal constraint and penalty on the final states.

Preliminaries
First, a few definitions are introduced which are used 250 later to guarantee persistent feasibility and global stability of MPC controller (22).

Definition 2 (Robust backward reachable set).
Denote by T as a desired target set, the robust backward reachable set with polytopic uncertainty for system (6) subject to the constraint ( 14)defines as, the set of states which by using a feasible control signal u ∈ U can evolve to the target set T for all ∀ω ∈ W.
For the closed loop system (3, 29) subject to the constraint ( 14) the robust backward reachable set is defined as, the set of states which can evolve to the target set T for ∀ω ∈ W. the set C ∞ ⊂ X is said to be the maximal control invariant set, if it is control invariant set and contains all 265 control invariant set contained in X.

Persistent feasibility
Denote by X f the terminal constraint for the MPC controller (22).To obtain persistent feasibility, i.e., feasibility for all future time, the terminal constraint (22e) in MPC problem (22) can be set as a control invariant set.The details are given in the following lemma.Lemma 2. Consider the MPC controller (22) with N ≥ 1.If X f is a control invariant set for system (6) then the MPC controller is persistently feasible.

Details of proof can be found in [].
The recursive algorithm for calculating the positive and control invariant set is given in Algorithm 1. Essentially, calculating both positive and control invariant set requires the same steps.However, for the control and positive invariant set the robust backward reachable set is calculated based on (37) and (38), respectively.

Algorithm 1 Maximal positive/control invariant set
Let Ω = {O, C} i = 0, In Fig. 2, the maximal control invariant set of system (6) subject to the constraint (14) is depicted in yellow.The constraints on position error e p and e v are set to be −3 ≤ e p ≤ 3 and −4 ≤ e v ≤ 4, respectively.The positive invariant set for the system (3) stabilized with u(k) = K FB x(k) subject to the constraint (14) is shown in dark yellow.

Remark 3. As discussed earlier, introduction of terminal constraints can result in a persistently feasible MPC controller. However, it should be noted that this is true as long as the disturbance is within the pre-assumed set W. In case of an unmodelled disturbance or a model mismatch infeasibility still may occur. To overcome this
problem the constrains are soften by introducing a slack variable ≥ 0 which is quadratically penalized in the objective function (22).

Global stability
Apparently, stability of MPC controller is guaranteed as long as the constraints are not active due to the stability of string stable controller.However, to guarantee the global stability of MPC controller we can impose constraint on the terminal states (22e) and and also penalizing the to final states in the objective function (22).

305
Lemma 3. Consider the MPC controller (22), introducing the terminal constraint X f = O ∞ where O ∞ is the positive invariant set for the closed loop system x(k + 1) = (A + BK FB )x(k) with K FB a stabilizing controller for the system (3).By introducing the following LMI constraint to the optimization problem (32a) (A+ BK FB ) T P(A+ BK FB )+K T FB RK FB +Q−P ≤ 0, (39) the weighting matrices Q, P and R are found such that the resulting closed loop MPC dynamics are asymptotically stable.
For details on the proof of stability of the control match-310 ing technique, we refer to [22].

Simulations and Experimental Results
In this study a platoon of three vehicles is considered to evaluate the performance and effectiveness of the proposed method in simulations and experiments, 315 respectively.Simulations and experiments are used to demonstrate the capability of the controller proposed in Section 4. In particular, three scenarios are considered to evaluate the ability of platoon in i) following preceding vehicle with constant time gap ii) maintaining string 320 stability (16) and iii) fulfilling constraints (14).Experiments are performed in a straight track of almost 400m length.Simulation and experiments scenarios are detailed in the sequel.• a Trimble GPS receiver SPS85, updating the position with a maximum frequency of 20 Hz and an accuracy of < 1 m and interfaced to the rest of the system through an ethernet port,

355
• the same communication box as the lead vehicle, • a dSpace MicroAutoBox II, a rapid prototyping system based on an IBM PowerPC processor running at 900 MHz, • an ethernet switch.

360
Communication is established among the three vehicles through the protocol IEEE 802.11p, implemented in a OpenWrt environment.This is a Linux distribution for embedded systems.Follower i − 1 and i, fuse the information from their onboard sensors and GPSs with 365 the information shared via V2V communication through standard Kalman filters outlined in [11], to obtain their relative positions and velocities within the platoon

Scenario 1 (vehicle following)
The primary objective of a vehicle platoon is that each vehicle should be able to adjust its velocity to the 385 velocity of the leader while following its preceding vehicle with a desired distance.To demonstrate the capability of a platoon equipped with controllers proposed in Section (4) an experiment with three aforementioned prototype vehicles is conducted.The experiment start 390 at a very low speed and the the lead vehicle start accelerating to reach a speed of about 10m/s.The lead vehicle keeps the speed constant for about 25s and then start braking to almost standstill.As can be seen from Fig. 5, the vehicles in the platoon are capable of fol-395 lowing each other at the desired speed with almost no position errors at the steady state.The control command calculated by MPC controller presented in Section (4.2.1) is presented in Fig. 6.As can be seen except at the time t = 15s where the upper constraint on the 400 control command become active, there is a very good match between the MPC controller and the string stable controller presented in Section (4.1).

Scenario 2 (string stability)
The capability of the proposed approach to guaran-405 tee string stability ( 16) is evaluated both in simulations and experiments.The scenario considered in the simulation is based on the velocity profile introduced in [26].Such scenario mimics a real traffic situation in moderately congested traffic, where acceleration and deceleration are inevitable.

simulations
In simulation a reference velocity profile according to Fig. 7 is considered for the leader.In the upper plot of Fig. 7, the velocity profile of the leader and the three    by MPC controllers (22).The results indicate a good velocity tracking without introducing any overshoot.To evaluate string stability, the lead vehicle introduces a speed variation disturbance, Fig. 7.In the middle plot 420 of Fig. 7 the acceleration signals of three followers are depicted.The acceleration is damped out in the platoon which confirms string stability.The position errors of the three mentioned vehicles are also presented to the bottom in Fig. 7.The simulation results also 425 indicate a very satisfactory response in terms of damping the position error in the platoon.The scenario is simulated using both controllers introduced in Section (4), i.e., the string stable H ∞/2 and the MPC controller which is tuned according to the control matching tech- nique presented in Section (4.2.1).The control signals of the two controllers for previously described scenarios are presented in Fig. 8.As we expected the control signal of the two controllers are identical, hence the string stability of vehicle platoon with MPC controller is guaranteed as well.

experiments
The effectiveness of proposed method is also evaluated in the experiment with a platoon of three vehicles.We should note that, preferably one would like to repeat similar experiment as the one described in the simulation to evaluate the capability of vehicle platoon in maintaining string stability in practice as well.However, due to the lack of appropriately long test track, the scenario considered here is restricted by the length of available test track.
The lead vehicle is driven manually by a driver and the speed variation starts after cruising to 40 km h , then the driver braked to almost 30 km h .This sequence is repeated two times and at the end of the track a slightly 450 harsher brake is applied for approaching to standstill.Followers i − 1 and i are controlled by MPC controllers which are developed according to the method presented in Section 4.2.1 to guarantee string stability.In addition to the MPC controller the string stable state feed-455 back/feedforward controller introduced in Section 4 is also implemented on the real time platform.The control action of the string stable controller is logged for the sake of comparison between the two controllers.The results from the experiments are presented in Fig. 9.  (16).The position errors between vehicles are depicted to the bottom.As can be seen the position error is almost kept below 1m during the maneuver.The control signals of MPC controller together with the the control signal generated by the string stable H ∞/2 controller are presented in Fig. 10 with dashed dotted red, and solid blue, respectively.This figure indicates that as long as the constraints are not active both controllers, i.e., the MPC controller and H ∞/2 controller show identical behaviors.
Furthermore, string stability is also verified in the frequency domain.Hence, the magnitude of Γ i ( jω) in ( 16) is estimated using a parametric system identification approach.In particular, an ARX model with three poles and two zeros is considered.The choice of such model is motivated by considering the fact that from (18), the transfer function between a i−1 and a i can be modelled as a third order with two zeros.The magnitude of the estimated transfer function together with the magnitude of theoretical transfer function calculated based on (18) are presented in Fig. 11.The results indicate that the consistency between experimental results and theory.
We should note that the MPC controllers are implemented using fast QP solver generated by CVXGEN, [27].The sampling time of controllers is t s = 0.05sec and a prediction horizon N = 4 is considered.
Remark 4. In this experiment as can be seen from the middle part of Fig. 9, in addition to the acceleration a i−1 , the control command, i.e., u i−1 is also sent to the follower i.Hence, the commanded control u i−1 is used by the controller to calculate the feedforward action.In general this can result in a quicker feedforward action.

Scenario 3 (constraint satisfaction)
Constraint satisfaction is also evaluated in the experiments with three prototype vehicles.Contrary to the 500 previous scenario where the constraints never became active.In this case, the capability of MPC controllers in handling the constraint is evaluated.In particular, two cases with a platoon of two and three vehicles are considered.The aim of such experiments is to push the ve-505 hicle to the limit that is defined by the constraints introduced in Section (3) and subsequently verify the capability of proposed method in handling such constraints.

Two vehicles experiment
A velocity profile according to Fig. 12 is considered.Hence, the safety constraint, i.e., constraint on the negative position error is set by the MPC controller.
As can be seen from the figure a soft constraint on e p,min = −0.6m.The soft constraint is used to avoid infeasibility and a maximum relaxation of s max = −0.5m is used as hard constraint.In this scenario the vehicle is pushed to the constraints.In particular, by looking at Fig. 12, we can see that the constraints become active at t = 35s and t = 44s.As we expected when the constraints are active the behaviors of the two controllers are not matched anymore.The control signals of the two controllers are shown in the Fig. 13.When the safety constraint become active, MPC controller commanded the maximum braking capability, at t = 35sec, and also a harsh brake at, t = 44sec, to avoid violating the constraint.While this is the case for the MPC controller, the string stable H ∞/2 controller cannot handle the situation.Commanding the brake by MPC controller results in a deceleration by vehicle which e.g., can be noticed at t = 35sec, see Fig. 12 .Consequently, the MPC controller managed to keep vehicle within the constraints.
Remark 5.The scenario considered here is an example to show that with an MPC controller is possible to satisfy constraints arising from our specifications and requirements introduced in Section (3).

Three vehicles experiment
We repeat similar scenario as previous case with a platoon of three vehicles.Similar to previous case soft and hard constraint on the position error and control command are set, respectively.In order to evaluate the effectiveness of proposed method in handling the constraint the second follower is pushed such that the the constraint on the position error become active.This is done by applying a harsh brake at t = 29s by the leader.Furthermore, we also consider a faulty scenario where the follower i cannot receive the control command of first follower u i−1 .This can result in a slower response by follower i.As can be seen from Fig. 14 at t = 33s and t = 50s the position error constraint become ac-550 tive.Hence, as we expected the controller apply a harsh brake to avoid further violation of the constraint, see Fig. 15.

Conclusion
In this work a control matching approach is used to 555 combine the benefits of frequency domain controller de-  sign, i.e., string stability and benefits of MPC, i.e., constraint satisfaction for a vehicle following application.We showed that by using this approach, the MPC controller can be tuned such that it behaves similar to a string stable H ∞/2 .Therefore, string stability is guaranteed as long as the constraints are not active.Then it is demonstrated that when the constraints are active the MPC controller is superior.The set that both controllers have identical behavior is the interior of feasible set of 565 MPC controller.This can be characterized by a convex polytope.Proposed method is implemented on the three prototype vehicles and is evaluated in three scenarios, i.e., vehicle following, string stability and constraints satisfaction.The simulation results together with the 570 experimental results indicate that a single MPC controller can guarantee string stability while respecting the constraints arising from our requirements and specifications.

Figure 2 :
Figure 2: Maximal control invariant set C ∞ and maximal positive invariant set O ∞ are in light and dark yellow, respectively.

Figure 3 :
Figure 3: The truck of one the following vehicles.

6. 1 . 1 .
Vehicle model identification To identify the parameters in the model (2) experi-370 ments are performed.In such experiments a step command is sent to the vehicle and the acceleration response of the vehicle is measured.The experiment is done for acceleration and deceleration maneuver.The step responses can be seen in Fig. (4(a)),(4(b)).The step com-375 mand is plotted in dashed red, the acceleration measurements and the simulated output of estimated model are shown in dashed dotted black and solid blue, respectively.Using these experiments the parameters, i.e., static gain K i , time constant τ i and the actuator time de-380 lay θ i in longitudinal vehicle dynamics (2) can be estimated according to the Fig. (4(a)),(4(b)).

Figure 4 :
Figure 4: Step response of Volvo S60, The step command, the acceleration measurements and the model output are presented in dashed red, dashed dot black and solid blue, respectively.
415 followers are shown.The two followers are controlled

Figure 5 :
Figure 5: (a) Velocity profile of three vehicles, i.e. lead vehicle in dashed blue, first follower i − 1 controlled by an MPC in solid black and the last follower i controlled by MPC dashed dotted red (b) Acceleration profile of leader, first and second follower controlled by an MPC in dashed blue, solid black and dashed dotted red, respectively, dotted green represent the control command of follower i − 1 (c) Position error between follower i − 1 and leader and between follower i and i − 1 in solid black and dashed dotted red, respectively.

Figure 6 :
Figure 6: Control signal of MPC controller and String stable controller for the follower i in dashed dotted red and solid blue, respectively.Dashed black represents the constraints.

Figure 7 :
Figure 7: (a) Reference velocity in dashed blue and velocity profile of three vehicles, i.e. lead vehicle in solid black, first follower controlled by an MPC in dashed green and the last follower controlled by MPC dashed dotted red (b) Acceleration profile of leader, first and second follower controlled by an MPC in solid black, dashed green and dashed dotted red, respectively (c) Position error between follower i − 1 and leader and between follower i and i − 1 in dashed green and dashed dotted red, respectively

Figure 9 :
Figure 9: (a) Velocity profile of three vehicles, i.e., lead vehicle in dashed blue, first follower i − 1 controlled by an MPC in solid black and the last follower i controlled by MPC dashed dotted red (b) Acceleration profile of leader, first and second follower controlled by an MPC in dashed blue, solid black and dashed dotted red, respectively, dotted green represent the control command of follower i − 1 (c) Position error between follower i − 1 and leader and between follower i and i − 1 in solid black and dashed dotted red, respectively.

Figure 10 :
Figure 10: Control signal of MPC controller and String stable controller for the vehicle i in dashed dotted red and solid blue, respectively.

Figure 11 :
Figure 11: Theoretical and estimated magnitude of frequency response in solid blue and dashed black, respectively.

Figure 12 :
Figure 12: (a) Velocity profile of three vehicles, i.e. lead vehicle in solid green, first follower controlled by an MPC in dashed blue and the second follower controlled by MPC dashed dotted red (b) Position error, i.e. first follower and second follower for MPC and H ∞/2 controllers are shown in solid blue and dashed dotted red, respectively.The soft and hard constraints are shown in dashed green and blue, respectively (c) Difference between control signal of MPC controller and String stable controller for the first follower.

Figure 13 :
Figure 13: Control signal of MPC controller and String stable controller for the vehicle i in dashed dotted red and solid blue, respectively.
Figure 14: (a) Velocity profile of three vehicles, i.e., lead vehicle in dashed blue, first follower i − 1 controlled by an MPC in solid black and the last follower i controlled by MPC dashed dotted red (b) Acceleration profile of leader, first and second follower controlled by an MPC in dashed blue, solid black and dashed dotted red, respectively, dotted green represent the control command of follower i − 1 (c) Position error between follower i − 1 and leader and between follower i and i − 1 in solid black and dashed dotted red, respectively.

Figure 15 :
Figure 15: Control signal of MPC controller and String stable controller for the vehicle i in dashed dotted red and solid blue, respectively.