Francisco Navas

Vicente Milanés

Carlos Flores

Fawzi Nashashibi

Multi Model Adaptive Control for CACC applications

Keywords: Heterogeneous string, Homogeneous string, Cooperative Adaptive Cruise Control, Youla-Kucera parameterization, Multi-Model Adaptive Control

This paper proposes a multi-model adaptive control (MMAC) algorithm based on Youla-Kucera (YK) theory to deal with heterogeneity in cooperative adaptive cruise control (CACC) systems. The main idea of MMAC is to choose the plant in a predefined set that best approximates the system dynamics, applying the corresponding predesigned controller. A set of linear plants describing different vehicle dynamics is defined. Different CACC controllers are designed depending on these linear plants. Simulation and experimental results prove how MMAC determines the closest plant in the set, choosing the CACC system able to ensure string stability.

I. INTRODUCTION

Traffic demand has increased significantly over recent years. According to the European Commission, road transport constitutes 82.4% of the whole passengers' transport in the European Union (EU) [START_REF] Energy | Transport in figures'-statistical pocketbook 2005[END_REF]. This leads to traffic congestion problems, which if not solved, could have a cost up to 213 billion euros in the next 10 years [START_REF] Cookson | Europe's traffic hotspots[END_REF].

To overcome the problem of this huge rising traffic volume, intelligent transportation systems (ITS) technology provides efficient solutions without additional infrastructure cost. An example of such a system is the commercially available adaptive cruise control (ACC) [START_REF] Moon | Design, tuning, and evaluation of a fullrange adaptive cruise control system with collision avoidance[END_REF], that can maintain a minimum safety time gap with the vehicle ahead. Recently, research focuses on the cooperative version of this system, so-called cooperative ACC (CACC) [START_REF] Ploeg | Design and experimental evaluation of cooperative adaptive cruise control[END_REF]. Vehicle-to-vehicle (V2V) communication is added to ACC, providing a lower minimum safety time gap, which could increment highway capacity in almost a 100 % [START_REF] Shladover | Impacts of cooperative adaptive cruise control on freeway traffic flow[END_REF].

The main criteria to evaluate a CACC system is the minimum time gap achievable that guarantees string stability. The latter is defined as the attenuation of disturbances along the string of vehicles [START_REF] Swaroop | A review of constant time headway policy for automatic vehicle following[END_REF]. As it needs to be ensured to avoid collisions, improve highway capacity and reduce fuel consumption, string stability analysis for a string of vehicles has been a hot topic in research.

When vehicles within the string have identical dynamics (i.e. homogeneous string), disturbances attenuates/amplifies uniformly along the string. String stability for homogeneous string of vehicles has been widely studied [START_REF] Swaroop | A review of constant time headway policy for automatic vehicle following[END_REF], being ensured for any positive time gap value if no delay is present in the communication link between vehicles. This statement is validated through experimental results [START_REF] Naus | Model-based control for automotive applications[END_REF] [START_REF] Öncü | String stability of interconnected vehicles: Network-aware modelling, analysis and experiments[END_REF].

On the contrary, when vehicles in the string have not identical dynamics, disturbances do not attenuate/amplify in F. Navas is with AKKA Research Department (France); but work was developed with RITS Team at INRIA Paris, France.

{francisco-martin.navas-matos@akka.eu}. the same way downstream; e.g. a vehicle with slower dynamics will have difficulties to follow a vehicle with faster dynamics. This was first noticed during the GCDC 2011, where ATeam remarked how string stability is explicitly affected by preceding vehicle's dynamics-the minimum time gap achievable goes from 0.6s to 1.5s [START_REF] Nieuwenhuijze | Cooperative driving with a heavy-duty truck in mixed traffic: Experimental results[END_REF]. Guidelines are given in [START_REF] Shaw | Controller design for string stable heterogeneous vehicle strings[END_REF] [START_REF]String stability analysis for heterogeneous vehicle strings[END_REF] about how to change variables of a CACC controller depending on whether slower or faster dynamics vehicle is in front of the ego-vehicle.

String stability for a heterogeneous string of vehicles has been mainly addressed in two different ways: Robust controla fixed controller able to work under bounded uncertainties in the plant. Dynamics difference between ego and preceding vehicles is seen as uncertainty in the platoon model; Adaptive control-controller changes with the unknown uncertainties in the system, e.g. control is modified depending on ego and preceding dynamics. Adaptive control is needed when robust control is not able to offer decent behaviour due to all the parameters changes that can occur in the system.

Related to robust control, [START_REF] Lestas | Scalability in heterogeneous vehicle platoons[END_REF] added some local conditions for heterogeneity to a robust controller designed for a homogeneous string of vehicles. Dynamics of the different agents within the strings need to be known to validate if the required local conditions are fulfilled. [START_REF] Guo | Hierarchical platoon control with heterogeneous information feedback[END_REF] proposed a controller design based on linear matrix inequality (LMI) to ensure individual stability, while an H ∞ control algorithm considers disturbances that affect string stability. Again some conditions based on the components of the string should be validated. A H ∞ robust control design was presented in [START_REF] Gao | Control of a heterogeneous vehicular platoon with uniform communication delay[END_REF] to overcome uncertainty between model connections. The range of model parameters needs to be known apriori. [START_REF] Gao | Robust control of heterogeneous vehicular platoon with uncertain dynamics and communication delay[END_REF] presented a H ∞ control method which can guarantee both individual and string stabilities to parameters uncertainties and communication delay. Heterogeneity is reflected by different vehicle mass and time lag of powertrain dynamics. Wind gust and road slopes are also considered as external disturbances.

Related to adaptive control, almost all the existing work takes as baseline controller a CACC feedforward/feedback proportional-derivative (PD) controller. This type of controller has been extensively used due its simplicity and performance. [START_REF] Wang | String stable heterogeneous vehicle platoon using cooperative adaptive cruise control[END_REF] designed a new feedforward controller for a heterogeneous string of vehicles to minimize spacing error and make independent string stability from preceding vehicles dynamics. Models of ego and preceding vehicles are included in the feedforward, so string stability remains as in a homogeneous string of vehicles. However, there is not mention of how to obtain the dynamics of both vehicles in order to adapt the controller. More recently, one-vehicle look-ahead topology with model reference adaptive control is considered in [START_REF] Harfouch | Adaptive control of interconnected networked systems with application to heterogeneous platooning[END_REF]. They augmented a normal feedforward/feedback CACC system working in the homogeneous case with an adaptive term compensating unknown driveline vehicle dynamics. The idea is the same, but dynamics estimation for subsequent adaptation is included. Preceding vehicle dynamics estimation is also developed in [START_REF] Flores | Online feedforward/feedback structure adaptation for heterogeneous cacc strings[END_REF] with a particle filter algorithm. [START_REF] Zhu | Adaptive optimal control of heterogeneous cacc system with uncertain dynamics[END_REF] proposes an adaptive optimal control solution able to learn the optimal feedback loop based on online data. However, vehicle dynamics are considered as a first-order function with differences of 0.04s in their response time, which seems unreal to simulate heterogeneity. Finally, an adaptive robust control solution is proposed in [START_REF] Zhang | Hierarchical design of connected cruise control in the presence of information delays and uncertain vehicle dynamics[END_REF]. It deals with different information delays, communication topologies, ego-vehicle uncertainty and external disturbances. However, dynamics differences between vehicles are expressed as a maximum speed, distance and different controller parameters, leading to simplified vehicle models that again could not represent the real difference in a heterogeneous string of vehicles.

Adaptive control based on identification covers a greater dynamic range of vehicle dynamics than robust control. With the idea of avoiding an identification process that could slow down the control loop, a set of linear plants that describes a range of vehicle dynamics can be defined. Plants should be general enough to cover a wide range of possible dynamics, properly emulating the intended string heterogeneity. Likewise, a string stability analysis should be carried out in order to define application limits, which is missing in the literature.

Controller reconfiguration depending on a set of linear plants it is called in the literature Multi Model Adaptive Control (MMAC) [START_REF] Lourenco | Learning in multiple model adaptive control switch[END_REF]. Different applications of this methodology are found in the literature: clinical stroke rehabilitation [START_REF] Brend | Multiple-model adaptive control of functional electrical stimulation[END_REF], attitude tracking control for a spacecraft [START_REF] Ma | Multiple-model adaptive control for spacecraft under sign errors in actuator response[END_REF] or large-scale photovoltaic plants [START_REF] Zhou | Damping inter-area oscillations with large-scale pv plant by modified multiplemodel adaptive control strategy[END_REF]. The idea of MMAC is a supervisor who chooses the proper controller among pre-designed candidates controllers once more information is known about the plant. Pre-designed controllers are conceived with the set of linear plants. MMAC is able to determine the closest plant in the set, switching to its corresponding controller to maintain the desired performance. [START_REF] Anderson | Multiple model adaptive control with safe switching[END_REF] proposed an indirect adaptive control based on the identification of linear plants by using the v-gap metric. As the metric is difficult to obtain in real time, [START_REF] Baldi | Multiplemodel adaptive switching control for uncertain multivariable systems[END_REF] proposed a similar approach but using model unfalsification: If a model and a controller are unable to reproduce the observed behaviour in closed-loop, then the set plant-controller is not the correct representation of the system. However, noise correlation problems are affecting system performance. The noise correlation problem is later solved in [START_REF] Bendtsen | Multiple model adaptive control using dual youla-kucera factorisation[END_REF] by using the dual Youla-Kucera (YK) parameterization.

Here the MMAC algorithm based on YK in [START_REF] Bendtsen | Multiple model adaptive control using dual youla-kucera factorisation[END_REF] is used together with the widely used CACC feedforward/feedback control structure. A set of linear plants describing different vehicle dynamics is defined representing heterogeneous strings for MMAC validation. Stability analysis is provided, clearly defining application limits. MMAC should estimate the closest plant in this set to ego and preceding vehicles, so the predesigned CACC controller able to ensure string stability is chosen. An outline of this algorithm is in Fig. 1. Encouraging results are obtained both in simulation and in real tests.

In brief, main contributions in this paper are the following:

• Adaptive control solution for CACC heterogeneous/ho- mogeneous string of vehicles without need of identification algorithm. • First and second order models are employed with wider parameter variations in order to properly emulate string heterogeneity.

• Application limits are well-known, and applicable to a wider range just by setting more plants in the set. • String stability is ensured for a a specific dynamics range in both ego and preceding vehicles. • YK-based MMAC approach has been adapted to CACC applications and applied for the first time experimentally. • Dynamics estimation results faster than other estimation/identification processes in the literature [START_REF] Harfouch | Adaptive control of interconnected networked systems with application to heterogeneous platooning[END_REF]. • Experimental results belong to the very first heterogeneous CACC algorithm results in the literature together with [START_REF] Van Nunen | String stable model predictive cooperative adaptive cruise control for heterogeneous platoons[END_REF]. The paper is structured as follows. Section 2 gives some background for a good understanding of the paper. Section 3 describes MMAC for a general set of linear plants and controllers. The same is modified in Section 4 for its application to CACC systems. Simulation and experimental results are analysed in Sections 5 and 6. Finally, some concluding remarks are given in Section 7.

II. PRELIMINARIES

This section describes some basic notation, which will be used extensively in the sequel. MMAC relies on the YK parameterization [START_REF] Anderson | From youla-kucera to identification, adaptive and nonlinear control[END_REF] for controller reconfiguration and supervision.

A general description of a set of linear plants and its corresponding predesigned controllers is given, to later apply the doubly coprime factorization used by the YK parameterization.

A. System description and assumptions

Let's consider a set of nominal plants represented as {G} = {G 0 ..., G i ..., G n }, describing different dynamics of a system. G i denotes the i th linear, time-invariant, discrete plant mapping input signals u i ∈ R m in output signals y i ∈ R p . For each of these plants a discrete feedback controller K i mapping error signals e i in input signals u i is designed such that the closedloop (CL) behavior of the system is the desired one. Thus, a set of candidate controllers is defined relying on the nominal set of plants {K} = {K 0 ..., K i , ..., K n }. Plants and controllers are represented in state space as:

G i = A i B i C i D i ; K i = A c i B c i C c i D c i (1)
Time variations in the real plant G real are considered slow compared to input-output dynamics. The longitudinal low level of the vehicle is considered to be properly designed, keeping the same LTI response with uncertainties as slope, wind gust, .... Nominal plants are defined, such that once a candidate controller is selected, it remains unchanged-i.e. the variations in G real are smaller than those needed to change from one nominal plant to other within the set.

B. Doubly coprime factorization

[G i , K i ] needs to be factorized through the doubly coprime factorization [START_REF] Ishihara | Doubly coprime factorizations related to any stabilizing controllers in state space[END_REF] to apply later the basis of MMAC, that is, the YK parameterization.

Mi

Ñi X l,i Y l,i = Mi X l,i + Ñi Y l,i = I (2)
These coprime factors should be such that G i and K i are:

G i = N i M i -1 = Mi -1 Ñi K i = U i V i -1 = Ṽi -1 Ũi (3)
At the same time, these coprime factors

U i ∈ RH mxp ∞ , Ũi ∈ RH mxp ∞ , V i ∈ RH pxp ∞ , Ṽi ∈ RH pxp ∞ , N i ∈ RH pxm ∞ , Ñi ∈ RH pxm ∞ , M i ∈ RH pxm ∞ and Mi ∈ RH pxm ∞
should satisfy the double Bézout's identity [START_REF] Pommaret | Generalized bezout identity[END_REF].

[32] allows to obtain coprime factors for [G i , K i ], when G i and K i are described in state-space form, Eq. ( 1). These factors satisfy (3) and the double Bézout's identity.

III. MULTI MODEL ADAPTIVE CONTROL

Multi-model adaptive control (MMAC) is a supervisor switching among prespecified candidate controllers as new data about the plant is known, until one of these controllers finally remains unchanged.

It considers that the real plant G real belongs to a set of nominal plants {G} = {G 0 ..., G i ..., G n }, or at least is close to one of them. Each of the nominal plants is associated to a controller to give a desired performance {K} = {K 0 ..., K i , ..., K n }.

The supervisor is at a higher level, specifying which is the switching sequence γ that makes the system converge to the best controller for the unknown real plant G real . If G real coincides with one of the nominal plants in the set {G}, a good candidate controller K i is straightforward. Otherwise, the closest nominal plant in the set should be chosen, switching to the corresponding controller. Both supervisor and switching are related to Youla-Kucera (YK) parameterization.

YK parameterization is divided in two: Parameterization of all the controllers that stabilize a given plant; useful for performing switching between the candidate controllers [START_REF] Moore | All stabilizing controllers as frequency-shaped state estimate feedback[END_REF]. And its dual formulation (also called Hansen scheme), all the plants stabilized by a given controller, which recasts CL identification into an open-loop-like problem [START_REF] Hansen | Closed-loop identification via the fractional representation: Experiment design[END_REF]; employed within the supervisor to determine the switching sequence γ based on signals u and y.

Both theorems are briefly explained in their corresponding sections. Once the basis is known, subsection MMAC algorithm explains how they are used together, examining the set plant-controller [G i , K i ] and choosing the controller that is best able to fulfill performance requirements.

A. YK parameterization. Switching

YK parameterization provides all stabilizing controllers for a given plant G i within the set {G} by interconnecting an initial controller K 0 with Q i , called YK parameter. The initial controller could be any in the set {K}. Doubly coprime factors should be obtained, so the corresponding Q i can be obtained as in [START_REF] Niemann | An architecture for implementation of multivariable controllers[END_REF]. Thus, different controllers K i can be implemented just by getting the YK parameter Q i . Different Q i 's are obtained for each controller in the set {K}; so the YK parameter set is

{Q} = {Q 0 , ..., Q i , ..., Q p }.
As the initial controller is K 0 , its corresponding Q 0 = 0. The control structure able to switch from an initial controller K 0 to any in the set {K} is depicted in Fig. 2 (a).

When doing controller transitions, the scalar factor γ i plays a key role. It regulates the different level of activation of the YK parameter Q i . γ i may vary from 0 to 1, being 0 a 100% contribution of K 0 and 1 a 100% contribution of K i . If the set of controllers is greater than 2, n > 2, a linear combination of all the controllers could be implemented as:

Q = n ∑ i=1 γ i Q i with n ∑ i=1 γ i = 1 (4)
In the present work, just one of the candidate controllers is activated at the same time. Controller reconfiguration depends on the supervisor.

B. Dual YK parameterization. Supervisor

Dual YK parameterization is used to recast CL identification into an OL-like problem [START_REF] Dasgupta | A parametrization for the closed-loop identification of nonlinear time-varying systems[END_REF]. It provides all the plants stabilized by a given controller. Again, once double coprime factors are obtained for an initial plant G 0 and a fixed controller K i in the set {K}, all the plants stabilized by the controller can be represented by the dual YK parameter S i .

From the general description of any plant stabilized by K i , it is possible to identify the real plant G real connected to the controller, just by identifying the dual YK parameter S i . Then the set of all plants stabilized by K i is represented by the scheme in Fig. 2 (b). To identify S i , output ζ 0 and input z i need to be obtained from measurable data:

z i = Ṽi u -Ũi y (5)
ζ 0 = M0 y -Ñ0 u (6)
Even when u and y are measured in CL, the identification of S i is OL-like by employing the filtered signals ζ 0 and z i . Identification algorithms as [START_REF] Karaboyas | Efficient adaptive algorithms for arx identification[END_REF] [38] [START_REF] Tutsoy | Design of a completely model free adaptive control in the presence of parametric, non-parametric uncertainties and random control signal delay[END_REF] are suitable for S i identification.

S i can be interpreted as the difference between real G real and initial plant G 0 . Its output, ζ 0 , gives an insight of this difference. When G real = G 0 the value of ζ 0 is zero. MMAC algorithm uses this property, so an identification algorithm is no longer needed to figure out the closest plant in the set {G}.

C. MMAC algorithm

Let {K} = {K 0 ..., K i ..., K n } be a set of predesigned controllers for different plants {G} = {G 0 ..., G i ..., G n }. γ is the switching sequence: {γ} = {γ 0 ..., γ i ..., γ n }. It determines which controller K i is activated by setting the corresponding γ i to 1 at the YK reconfiguration controller structure shown in Fig. 2 (a). Only one γ i can be set to 1 at the same time.

The switching sequence γ is specified by the supervisor. The goal is to figure out which plant in the set {G} is the closest to the real plant G real . As outlined above, S i does not need to be directly identified to know the closest plant in the set [START_REF] Bendtsen | Multiple model adaptive control using dual youla-kucera factorisation[END_REF]. If G real coincides with the initial plant G 0 , ζ 0 should be zero for any value of u and y. By choosing different coprime factors Mi and Ñi for every nominal plant in the set {G}, ζ i = Mi y -Ñi u gives the closeness to these plants. The smallest truncated 2norm J i = ( ζ i 2 ) 2 will activate the signal γ i corresponding to the controller K i able to fulfill performance requirements.

The MMAC algorithm for a real plant G real with a set of stabilizing controllers {K} designed for a set of nominal plants {G} is described in Algo. 1. h should be positive, and expresses the mandatory difference between two norms for controller change.

Algorithm 1 Multi Model Adaptive Control 1. Initialization γ[n] = [0] Switching sequence initialization K[n] = [K 0 , ..., K i , ..., K n ] Candidate controllers M[n] = [ M0 , ..., Mi , ..., Mn ] Left coprime factor M for G i Ñ[n] = [ Ñ0 , ..., Ñi , ..., Ñn ] Left coprime factor N for G i ζ [n] = [0] S i output initialization J[n] = [0] Truncated 2-norm initialization loop 2. YK Controller reconfiguration UpdateController(γ) Apply controller K i , with i = γ Get(u,y)
Obtain measurements u and y 3. Supervisor 3.1 Closeness to plants in set

for i in (0, n) do ζ [i] = M[i]y -Ñ[i]u Output of S i J[i] = (norm2(ζ [i])) 2 Compute truncated 2-norm/ Closeness to nominal plants i min = argmin i {i ∈ n | J[i]} The smallest norm corresponds to the closest plant 3.2 Evaluate switching sequence if (J[γ[i] == 1] ≤ J[i min ] + h) then γ = γ Previous controller remains else γ[i min ] = 1 Controller changes γ[∀i except i = i min ] = 0 end loop

IV. MMAC FOR CACC APPLICATIONS

This section describes how MMAC can be used together with a CACC feedforward/feedback structure to address the problem of heterogeneity in CACC string of vehicles.

This work proposes a feedforward/feedback fractional-order (FO) PD controller [START_REF] Li | A fractional order proportional and derivative (fopd) motion controller: tuning rule and experiments[END_REF], able to keep performance but increasing flexibility design by moving from integer to fractional order differentiation. This CACC FOPD controller is extended with the feedforward filter in [START_REF] Wang | String stable heterogeneous vehicle platoon using cooperative adaptive cruise control[END_REF] to ensure string stability even if different dynamics are present in the string. A model of each of the vehicles in the string would be necessary. Further details are in subsection CACC control structure.

In order to avoid any identification process that could slow down the control loop, MMAC is used as a supervisor able to choose the proper controller among a pre-designed CACC controller set {K}. The task of the supervisor will be to estimate the closest plant to the ego and preceding vehicles, so the controller ensuring string stability will be chosen. Details how Algo. 1 is modified for a CACC application are in subsection Supervisor and switching.

A. CACC control structure

A string of z vehicles driving in the same lane is considered. j determines the order of a vehicle inside the string, j ∈ [1, z]. Vehicle j denotes ego-vehicle and vehicle j -1 preceding vehicle. The solution here focuses on ego-vehicle situation depending on preceding's dynamics. From now on, G real is equivalent to ego-vehicle G j .

Vehicle j tracks its preceding vehicle, regulating the distance with respect to the desired inter-vehicle distance provided by a constant time gap spacing policy [START_REF] Swaroop | A review of constant time headway policy for automatic vehicle following[END_REF]. As seen in Eq. ( 7) the desired intervehicle distance d re f , j is the addition of two terms, a fixed standstill distance s j and a variable term composed by the vehicle's velocity v j multiplied by the constant time gap h j .

d re f , j = s j + h j v j (7)
This desired distance is compared with the real one d j , so a distance error needs to be regulated to zero: e d, j = d jd re f , j . A FOPD controller (see Eq. ( 8)) is designed following guidelines in [START_REF] Flores | Using fractional calculus for cooperative car-following control[END_REF].

K j = K p, j + K d, j s α j = A c j B c j C c j D c j ( 8
)
String stability is defined as the attenuation of speed disturbances along the string of vehicles. A sufficient condition is presented in [START_REF] Rajamani | Vehicle dynamics and control[END_REF]: The absolute position of each vehicle cannot be amplified as it propagates along the string:

SS = x j /x j-1 ∞ ≤ 1 f or i > 1 (9)
When ideal communication is considered (no delays are present in the communication link), the choice of a feedforward filter as

F j = 1/(h j s + 1) = [A f j B f j ;C f j D f j ]
ensures string stability for any positive value of h j [START_REF] Öncü | Cooperative adaptive cruise control: Tradeoffs between control and network specifications[END_REF]. The statement above is no longer valid when a heterogeneous string of vehicles is considered. [START_REF] Wang | String stable heterogeneous vehicle platoon using cooperative adaptive cruise control[END_REF] included dynamics of ego and preceding vehicles in F j (see Eq. 10), proving string stability even when dynamics are not the same.

K j G j 1/s h j - e j - v j-1 u j x j x j-1 s j F j v j d j u j,ff u j,c
F j = 1 h j s + 1 G j-1 G j = A f j B f j C f j D f j ( 10
)
Both ego G j and preceding vehicle G j-1 need to be known to ensure string stability. When G j = G j-1 , the feedforward controller reduces to the homogeneous case.

Figure 3 shows the classical SISO structure for CACC systems. Notice how the control signal u j is the addition of u j, f f and u j,c . Here the controller structure is modified to MIMO, so FOPD controller K j and feedforward filter F j can be changed at once by using the YK parameterization. The modified MIMO structure is shown in Fig. 4.

Notice that there are as many controllers as there are possible dynamics combinations between ego and preceding vehicles.

B. Supervisor and switching

Let's consider n number of nominal plants in the set {G} = {G 0 ..., G i ..., G n }. Preceding G j-1 and ego G j vehicles can be described by any of these nominal plants; or have a close behavior to one of them. Depending on ego and preceding dynamics combination, a set of (n + 1) 2 CACC controllers is created {K} = {K xr }, where x is the closest plant in {G} to the preceding vehicle G j-1 , and r the closest to the egovehicle G j . Similarly, γ is the switching sequence {γ} = {γ xr }, specifying which controller in {K} is activated by modifying to 1 the corresponding γ xr at the YK controller reconfiguration structure. Only one γ xr can be set to 1 at the same time.

The switching sequence γ is specified by the supervisor. The goal is to determine which of the plants in the set {G} is the closest to the real one G j . As already outlined, this is done through the signal ζ i . The smaller its truncated 2norm J i the closer to the plant G i . The same kind of system is installed in the preceding vehicle, sending to ego-vehicle which is the closest plant to G j-1 . Once x and r are known, the corresponding switching signal γ xr is activated, so string stability is ensured.

The general MMAC algorithm in Algo. 1 is modified for CACC applications. It remains the same, except for a switching sequence γ that depends on two different indexes, a communication link added to get the value of x when obtaining measurements u and y, and an extra condition when egovehicle is exactly between two plants in the set {G}. Even if unlikely, the fastest model is chosen in order to provide the most string stable controller in the most critical situation. The mandatory difference between two norms h is set to 0.4.

V. SIMULATION RESULTS

This section presents the MMAC CACC performance when the string of vehicles is heterogeneous. In the following subsections, the sets of nominal plants and corresponding CACC controllers are introduced. These sets are chosen according to the requirements of convergence and stability. Different simulations have been carried out. The first of them (subsection Matching case), dynamics of both vehicles, preceding and ego, coincide exactly with one of the plants in the set {G}. Subsection Non-matching plant considers that preceding and/or ego-vehicle have dynamics close to one of the plants in the set.

A. Plant and controller sets

Convergence and stability for MMAC algorithms are assured by assuming that the true plant is sufficiently close to the identified model in the set [START_REF] Anderson | Multiple model adaptive control. part 1: Finite controller coverings[END_REF] [START_REF] Stefanovic | Stability and convergence in adaptive systems[END_REF]. Thus, determination of the correct set of nominal plants ensures convergence and stability [START_REF] Anderson | Multiple model adaptive control with safe switching[END_REF]. The idea is to determine the stability criterion for each pair plant/model, analyzing the maximum uncertainty around the plant without affecting the performance/stability of the system. In that way, one can define the required number of plants for the desired application range.

Vehicles with fast or slow dynamics, and with a certain overshoot are considered through second-order transfer functions: They are LTI plants mapping control velocity signals in output velocity signals:

G i = w 2 n,i s 2 + 2 f damping,i w n,i s + w 2 n,i = A i B i C i D i (11)
where f damping,i is the damping factor and w n,i is the natural frequency in rad/s. Application range is defined by limits in f damping,i and w n,i : f damping,i ∈ [0.55, 0.65] and w n,i ∈ [0.9524, 6.667]. Notice that these limits could be extended in order to deal with every possible vehicle in the market. These limits are in consistency with real vehicle models in the literature as [START_REF] Milanés | Cooperative adaptive cruise control in real traffic situations[END_REF], [START_REF] Naus | Cooperative adaptive cruise control, design and experiments[END_REF] and [START_REF] Kianfar | A receding horizon approach to string stable cooperative adaptive cruise control[END_REF], validating the selected application range.

Once the application range is defined, string stability in Eq. ( 9) is extended in order to get the minimum number of nominal plants in {G} able to cover the whole application range with string stability guarantee. For doing so, uncertainties in damping factor and natural frequency of both ego and preceding vehicles are included into the string stability condition (see Eqs. ( 12) and ( 13)) as ∆ f damping, j , ∆ f damping, j-1 , ∆w n, j and ∆w n, j-1 . MMAC uses the same LTI plant model for a given vehicle operational range. When doing so, there are inaccuracies between the associated model and the real model. This can be seen as heterogeneous string stability problem within the given operational range. String stability must be guaranteed in the worst-case scenario, providing the number of nominal plants for the MMAC design.

For the specific range defined above, three models in the set {G} are enough to ensure string stability in the whole application range. String stable areas for pairs (G 0 , K 0 ), (G 1 , K 1 ) and (G 2 , K 2 ) are depicted in Fig. 5. Small overlapping between them is carried out in order to have a safer solution.

X j X j-1 (∆ f damping, j , ∆ f damping, j-1 , ∆w n, j , ∆w n, j-1 ) = = G j (∆ f damping, j ,∆w n, j )F j G j-1 (∆ f damping, j-1 ,∆w n, j-1 ) - G j (∆ f damping, j ,∆w n, j )K j s 1 -( G j (∆ f damping, j ,∆w n, j )K j s + G j (∆ f damping, j , ∆w j )K j h j ) (12)
G i (∆ f damping,i , ∆w n,i ) = = (w n,i + ∆w n,i ) 2 s 2 + 2( f damping,i + ∆ f damping,i )(w n,i + ∆w n,i )s + (w n,i + ∆w n,i ) 2 with i = j, j -1 ( 13
)
Values for nominal plants in the set are in Table I. G 0 , G 1 and G 2 go from faster to slower dynamics. Plants G x1 , G x2 and G x3 are also present in Table I, and they will be the nonmatching cases in the corresponding subsection. Notice how G x3 have first order dynamics corresponding to the production vehicle in [START_REF] Naus | Cooperative adaptive cruise control, design and experiments[END_REF]. The latter allows to test how the algorithm behaves in a high-speed scenario and with a different order model. τ i refers to the time constant of the first order transfer function.

G 0 f damping,0 = 0.6 w n,0 = 3.3333 G 1 f damping,1 = 0.6 w n,1 = 1.6667 G 2 f damping,2 = 0.6 w n,2 = 1.1111 G x1 f damping,2 = 0.65 w n,2 = 6.6667 G x2 f damping,2 = 0.55 w n,2 = 0.9524 G x3 τ 3 = 0.2
For every plant in the set {G} = {G 0 , G 1 , G 2 } a FOPD controller has been designed with the objective of being robust to uncertainties. Guidelines in [START_REF] Flores | Using fractional calculus for cooperative car-following control[END_REF] are followed, resulting in a controller set

{K} = {K 0 , K 1 , K 2 }. Controller TABLE II FOPD CONTROLLER PARAMETERS K p K p α h K 0 K p,0 = 0.35 K d,0 = 0.15 α 0 = 0.3847 h 0 = 1s K 1 K p,1 = 0.5 K d,1 = 0.225 α 1 = 0.3847 h 1 = 1s K 2 K p,2 = 0.6 K d,2 = 0.3 α 2 = 0.3847 h 2 = 1s
parameters are shown in Table II. This set is extended including the feedforward filter; Eq. ( 10) depends on possible combinations between plants in {G}, yielding {K xr } = {K 00 , K 01 , K 02 , K 10 , K 11 , K 12 , K 20 , K 21 , K 22 }, where x is the plant in the preceding vehicle, and r the plant in the egovehicle.

Once nominal plants and candidate controllers are defined, Theorem 1 is applied to get the coprime factors needed in Theorem 3, so the set of YK parameters is obtained as

{Q xr } = {Q 00 , Q 01 , Q 02 , Q 10 , Q 11 , Q 12 , Q 20 , Q 21 , Q 22 }.
Each of them permits controller reconfiguration from an initial controller to a controller in the set {K xr }. This set is reduced by choosing an initial controller K 00 . Thus, the new set of YK parameters is

{Q xr } = {Q 01 , Q 02 , Q 10 , Q 11 , Q 12 , Q 20 , Q 21 , Q 22 }.
Controller transition is done through the scalar factor γ xr associated to Q xr . In the switching sequence γ only one γ xr can be set to one at the same time. If none of them is activated, the inital controller K 00 will be applied. Table III

K xr G j-1 G j K j F j Q xr γ xr K 00 G 0 G 0 K 0 1 hs+1 - - K 01 G 0 G 1 K 1 1 hs+1 G 0 G 1 Q 01 γ 01 K 02 G 0 G 2 K 2 1 hs+1 G 0 G 2 Q 02 γ 02 K 10 G 1 G 0 K 0 1 hs+1 G 1 G 0 Q 10 γ 10 K 11 G 1 G 1 K 1 1 hs+1 Q 11 γ 11 K 12 G 1 G 2 K 2 1 hs+1 G 1 G 2 Q 12 γ 12 K 20 G 2 G 0 K 0 1 hs+1 G 2 G 0 Q 20 γ 20 K 21 G 2 G 1 K 1 1 hs+1 G 2 G 1 Q 21 γ 21 K 22 G 2 G 2 K 2 1 hs+1 Q 22 γ 22

B. Matching case

The matching case considers that ego and preceding vehicles have dynamics that coincide exactly with one of the plants in the set {G}. Specifically, preceding vehicle has dynamics corresponding to plant G j-1 = G 0 , while ego-vehicle has faster dynamics like

G j = G 2 .
The dual YK parameterization is used in the supervisor, so identification algorithms are not needed to determine which is the closest plant in the set. ζ i is used instead. By obtaining the signal value for every plant in the set, one can easily determine closeness. The top graph in Fig. 6 shows the evolution of these signals through time for the ego-vehicle G j , while the bottom graph depicts the truncated 2-norm J i related to ζ i . Different system activation times are considered to see how the system reacts to different initial conditions. Solid-line indicates the case where MMAC is activated at 0s, while dotted line shows the situation where MMAC is activated at 29s. In both cases, ζ 2 and J 2 are always zero, as G j = G 2 . This plant index r is used together with the received index x to specify the switching sequence γ.

Figure 7 depicts the performance of MMAC CACC algorithm when preceding vehicle is G j-1 = G 0 and ego-vehicle G j = G 2 . A comparison is made between an ego-vehicle with an erroneous controller and with the controller that makes the system string stable, observing the transition from one to another when using MMAC. The initial and erroneous controller in the YK controller reconfiguration is K 00 . The top graph plots vehicles' speeds when using K 00 (dotted red line), K 02 (dotted blue line), MMAC activated at 0s (solid green line) and MMAC activated at 29s (solid pink line). Preceding vehicle speed is also shown (black solid line). The second graph plots the switching sequence γ given by the supervisor. The switching sequence is determined by the signals in Fig. 6. Dot-line indicates the case where MMAC is activated at 29s. Only γ 02 is shown to have a lighter graph; the rest are zero even when MMAC is activated at 29s. Finally, the bottom graph represents the distance error for each of the controllers.

At second 0 Ego-incorrect, Ego-MMAC 1 and Ego-MMAC 2 are overlapping; it is not until second 1.8 that the corresponding γ 02 is activated, making a transition of Ego-MMAC 1 from Ego-Incorrect to Ego-Correct. From second 1.5 to 32 Ego-MMAC 2 matches with Ego-Incorrect as the system has been activated at second 29, and the correct γ 02 is not identified until second 32. It is then when Ego-MMAC 2 starts its transition from Ego-Incorrect to Ego-Correct.

From these results, one observes the importance of using different controllers depending on vehicle dynamics. When using K 00 the string of vehicles results unstable. Ego-vehicle speed is amplified in comparison with the preceding one, and distance error tracking is large. No matter the activation time, MMAC is able to specify in a few seconds the correct switching sequence that makes the string stable. Thus, distance error tends to zero and the transition between controllers is really soft. To the best of authors' knowledge, the only work mixing controller reconfiguration and dynamics estimation for an heterogeneous string of vehicles is the one in [START_REF] Harfouch | Adaptive control of interconnected networked systems with application to heterogeneous platooning[END_REF]. Parameters estimation takes 31s, which is much slower than the presented work.

C. Non-matching case

The non-matching case considers that ego-vehicle and/or preceding vehicle are not one of the plants in the set {G}, but within the application range: G x1 , G x2 and G x3 . The Vinnicombe ν-gap in [START_REF] Glenn | Uncertainty And Feedback, H Loop-shaping And The V-gap Metric[END_REF] is employed to figure out which is the closest plant in the set, so later can be verified if the proposed MMAC algorithm is properly working. ν-gap goes from 0 to 1, and expresses the difference between two plants; the closer to zero the more the two plants look alike. In the case of G x1 , the lower value of ν-gap is for G 0 (νgap(G x1 , G 0 )= 0.5336), so it is the closest plant to G x1 in

J 0 1 J 1 1 J 2 1 J 0 2 J 1 2 J 2 2
Fig. 6. ζ i and J i comparison. G j-1 = G 0 and G j = G 2 . Solid-line indicates the case where the system is activated at 0s, while dotted line shows the case where the system is activated at 29s. Figure 8 shows the evolution through time of ζ i and J i when G j-1 = G 1 and ego-vehicle G j = G x3 (Citroen C4 model used in [START_REF] Naus | Cooperative adaptive cruise control, design and experiments[END_REF]). Again different system activation times are considered, 10s and 35s in solid and dotted lines respectively. In both cases, one can observe how the minimum value corresponds to ζ 0 . Even if G x3 is a production vehicle model and not a candidate plant in the set {G}, dual YK parameterization gives a good insight of the closest plant. Notice that ζ 0 is not zero in these cases, but it is much more smaller than ζ 1 and ζ 2 . Figure 9 depicts the performance of MMAC CACC algorithm when preceding vehicle is G j-1 = G 1 and ego-vehicle is the production vehicle G j = G x3 . Again incorrect (K 00 , dotted red line) and correct controller (K 10 , dotted blue line) are compared with MMAC activated at 10s (solid green line) and MMAC at 35s (solid pink line). Preceding vehicle (black solid line) follows a speed profile that goes between 22 and 28m/s. Indexes are identified in preceding and ego vehicles, so the corresponding γ 10 is activated in few seconds no matter the activation time, making the distance error zero in a smooth way.

At second 10 Ego-incorrect, Ego-MMAC 1 and Ego-MMAC 2 are overlapping; it is not until second 12.8 that the corresponding γ 10 is activated, making Ego-MMAC 1 goes from Ego-Incorrect to Ego-Correct. It is not until second 36 that Ego-MMAC 2 starts its transition from Ego-Incorrect to correct as the system has been activated at second 35, and the correct γ 10 is identified at second 36.

Finally, a case with two non-matching models in preceding and ego vehicles is considered: G j-1 = G x1 and ego-vehicle G j = G x2 . This is the most critical case possible, as it considers the fastest preceding vehicle together with the slowest egovehicle, and different damping factors in the limits of the application range. Evolution through time of ζ i and J i for egovehicle is in Fig. 10. The closest plant is G 2 as ζ 2 is the lower one. Differences between the unstable controller and stable one are remarkable in the distance error tracking.

Figure 11 depicts the performance of MMAC CACC algorithm when preceding vehicle is G j-1 = G x1 and egovehicle G j = G x2 . Incorrect (K 00 , dotted red line) and correct controllers (K 02 , dotted blue line) are compared with MMAC solution (solid green line). Indexes are correctly identified in preceding and ego vehicles, so the corresponding γ 02 is activated, preserving string stability. MMAC shut down is also analysed in the same figure; the system shuts off at 71.5s passing smoothly from a string stable behaviour to an unstable one. Notice how in the unstable case, the distance error tracking gets bigger than in previous cases. This distance error is directly associated with an ego-vehicle speed that is amplified.

At second 0 Ego-incorrect and Ego-MMAC are overlapping; it is at second 3 that the corresponding γ 02 is activated, making Ego-MMAC goes from Ego-Incorrect to Correct. At second 71.5 MMAC system is switched off, making Ego-MMAC comes back to Ego-Incorrect.

It has been proved the correct behaviour of MMAC for CACC applications even if the real vehicle G j is not exactly one of the candidate plants in the set {G}. Different orders and speed scenarios have been used. Real vehicle dynamics should be within the application range. A larger set of models and controllers would be needed in practice to cover the different dynamics in a fleet of vehicles.

VI. EXPERIMENTAL RESULTS

A string of two cycabs is used as the experimental test platform. Cycabs are mobile platforms used in several research labs conceived for urban applications [START_REF] Sekhavat | The cycab robot: a differentially flat system. in intelligent robots and systems[END_REF]. The vehicle is controlled by a commanded velocity. The velocity is limited up to 4m/s, because it is mainly designed for crowded areas where higher speeds can lead to unsafe situations. MMAC CACC algorithm is implemented in C++ using RTMaps 1 prototyping software.

Experimental results serve as convergence validation of a real system. This is a non-matching case. Since both vehicles in the string have similar dynamics, the string will always be homogeneous, not being required the activation of any γ xr in the switching sequence γ. The initial controller is modified to K 01 ; in that way, a modification of γ will be mandatory to obtain the best performance possible.

Figure 12 depicts the evolution through time of ζ i and J i during the experimental test. MMAC algorithm is activated at 0s. The minimum value corresponds to ζ 0 , so G 0 is the closest plant to the real dynamics of a cycab. It is not until 2.5s that the differences between J 0 , J 1 and J 2 are big enough to determine the switching sequence γ. made between the second cycab in the string with an erroneous controller and with the controller that makes the system string stable, showing the transition between both when using MMAC. The top graph plots cycabs' speeds when using K 10 (dotted red line), K 00 (dotted blue line) and MMAC activated at 0s (solid green line). First cycab's speed is also shown (black solid line). The middle graph shows the switching sequence γ determined by signals in Fig. 12. The bottom graph plots the corresponding distance errors when using correct, erroneous and MMAC controllers. Notice that initial distance errors are not the same for the 3 tests; a maximum error of 20cm was considered to start each of the tests.

From these results, one can see how important it is to take into account vehicle dynamics to ensure string stability. Inappropriate performance can be clearly appreciated on the distance error tracking. Even if this is less remarkable in the speed response, distance error is longer when the velocity step is big enough. The difference in the second step is less remarkable, as the speed step is smaller, but oscillations are present in the distance error. For the MMAC algorithm, it takes 2.5s to determine that both vehicles are closer to G 0 , switching to the homogeneous controller K 00 through γ 00 . The transition between both controllers is smooth. The resulting transient is a combination of the initial distance error and the controller reconfiguration induced by γ 00 . These results validate the simulation results seen in the previous section.

Experimental results serve as a convergence proof of a real vehicle with some of the plants in {G}. As vehicles are homogeneous, the most important task is to detect that both vehicles have similar dynamics, in order to switch to the classical homogeneous CACC controller.

VII. CONCLUSIONS

This paper explores the use of MMAC for CACC applications in heterogeneous/homogeneous string of vehicles.

Youla-Kucera theory is explained as the basis of a general MMAC algorithm based on a set of nominal plants and predefined controllers. MMAC acts as a supervisor determining the closest plant to the real system in the set, switching to the predesigned controller that will give the best performance possible. No identification algorithm is needed, the dual YK parameterization is used instead.

The general MMAC algorithm is later applied to a feedforward/feedback FOPD CACC system, so a structure able to handle different dynamics in a string without the need of an identification algorithm is obtained.

Performance of MMAC CACC algorithm is analysed through simulation results. A set of 3 linear plants is considered for validation purposes. Real vehicles models are considered within the application range. Dynamics matching and non-matching (even with different model order) cases with a plant in the set are considered, verifying how the supervisor is able to provide the closest plant in the set, activating the controller that ensures string stability. Dynamics estimation results much faster than other estimation processes in the literature. A test setup of two cycabs is used, showing that MMAC CACC design is not only theoretically, but also practically feasible.

Although the set {G} is composed by 3 plants, this could be extended to n plants, so a larger dynamic range can be covered in heterogeneous CACC applications.

Finally, as communication delays have a direct impact in the string stability of the system, the developed YK controller structure will be extended in order to deal with such delays and different communication topologies.

VIII. ACKNOWLEDGMENTS

Authors express their gratitude to the french project VALET (ANR-15-CE22-0013) and the RITS Team for its support in the development of this work.

Fig. 1 .

 1 Fig. 1. Outline MMAC for CACC applications.

Fig. 2 .

 2 Fig. 2. (a) YK parameterization for controller reconfiguration and (b) Dual YK parameterization for CL identification.

Fig. 3 .Fig. 4 .

 34 Fig. 3. CACC SISO structure.

Fig. 5 .

 5 Fig. 5. Uncertainty range string stable for pairs (G 0 , K 0 ), (G 1 , K 1 ) and (G 2 , K 2 ).

Fig. 7 .

 7 Fig. 7. Simulation results MMAC CACC. G j-1 = G 0 and G j = G 2 .

Fig. 8 .Fig. 9 .

 89 Fig.8. ζ i and J i comparison. G j-1 = G 1 and G j = G x1 . Solid-line indicates the case where the system is activated at 0s, while dotted line shows the case where the system is activated at 20s.

Fig. 10 .Fig. 11 .

 1011 Fig. 10. ζ i and J i comparison. G j-1 = G x1 and G j = G x2 . System shutdown at 71.5s.

Figure 13 2 Fig. 12 .Fig. 13 .

 1321213 Fig. 12. ζ i and J i comparison. Experimental results. Homogeneous string of two cycabs.

  gathers the information related to the controller set and the corresponding YK parameter.