Coalitional Distributed Model Predictive Control Strategy for Vehicle Platooning Applications

This work aims at developing and testing a novel Coalitional Distributed Model Predictive Control (C-DMPC) strategy suitable for vehicle platooning applications. The stability of the algorithm is ensured via the terminal constraint region formulation, with robust positively invariant sets. To ensure a greater flexibility, in the initialization part of the method, an invariant table set is created containing several invariant sets computed for different constraints values. The algorithm was tested in simulation, using both homogeneous and heterogeneous initial conditions for a platoon with four homogeneous vehicles, using a predecessor-following, uni-directionally communication topology. The simulation results show that the coalitions between vehicles are formed in the beginning of the experiment, when the local feasibility of each vehicle is lost. These findings successfully prove the usefulness of the proposed coalitional DMPC method in a vehicle platooning application, and illustrate the robustness of the algorithm, when tested in different initial conditions.


Introduction
One of the recent interests in the control community is focused on developing advanced control techniques in the framework of autonomous vehicles. Thus, considerable efforts were made to increase the efficiency and to improve the collaboration through the connectivity between multiple autonomous vehicles, using well established control strategies, such as Model Predictive Control (MPC) or Distributed Model Predictive Control (DMPC) [1]. Among these strategies, vehicle platooning of connected and autonomous vehicles has increased potential [2]. The idea behind this methodology is to control a group of vehicles, such that the entire ensemble travels with a constant velocity, while maintaining a desired, safe inter-vehicle distance [3]. One of the most common vehicle platooning frameworks uses the predecessor-following communication topology. Each platoon vehicle receives information only from its preceding vehicle, via a vehicle-to-vehicle (V2V) communication technology [4].
For vehicle platooning applications, several control approaches were proposed in the state-of-the-art literature, see the review paper [5]. Thus, a distributed adaptive robust H ∞ control strategy for vehicle platooning is given in [6]. Here, an adaptive robust H ∞ controller is compared in simulation with a robust H ∞ controller in a seven vehicles platoon application. The platoon stability is formulated using a Linear Matrix Inequality (LMI) condition derived from the Lyapunov stability theory. Another approach, based on stochastic dynamic programming is provided [7]. The idea is to describe the coordinated platooning problem of autonomous vehicles at highway junctions as a Markov decision process. In [8], a decentralized multi-agent game-theoretical strategy is proposed, in which individual autonomous vehicles form platoons using either one-to-one or manyto-many coordination. Furthermore, two game-theoretical models are proposed, with complete or incomplete information exchanged between agents. The method is validated systems, in which the disturbance acts as an uncertainty in the nominal model [24,25]. Several approaches to calculate robust control invariant sets can be mentioned, such as those based on: graph theory and algorithms [26], linear matrix inequalities [27], Hamilton-Jacobi reachability framework [28] or dynamic programming [29]. In [30], the boundary of the maximal robust positively invariant set is studied by adapting the theory of barriers formulation. The latter is then used in [31], to perform a transient stability analysis for power systems. In [32], an analysis regarding the scalability of robust positively invariant sets with respect to the disturbance set is provided. In [33], robust positive invariant sets are computed using sequence-based techniques and tested on a switched system with average dwell time.
In this work, the focus is on developing and testing a novel C-DMPC methodology. The algorithm is designed for state-coupled sub-systems, in which the interaction between consecutive modules is considered an uncertainty in the states, rather than the inputcoupled C-DMPC formulation from [18]. Emphasis is given to the computational procedure used to ensure the closed-loop stability of the algorithm, thus providing the technical details regarding the computation of the maximal robust positively invariant sets, instead of giving the basic pseudo-code algorithm [18]. Hence, to ensure several available options for the terminal region constraint set, a predefined table is computed in the initialization stage of the C-DMPC algorithm. Each cell in this table is a maximal robust positively invariant set, computed for a distinct parametrization of the input, state, and uncertainty constraint values. Thus, the invariant sets table is tailored specifically for a realistic vehicle platooning application, rather than the academic model of a cyber-physical multi-agent system from [18]. A vehicle platoon application is envisioned, consisting of four vehicles, dynamically coupled through the states. The model takes into account the dynamics of the vehicle, as opposed to the DMPC algorithms provided in [11][12][13], which were tested using a point-mass vehicle model. Each vehicle is locally controlled by an agent connected through an uni-directional channel, in a predecessor-following communication topology. The interaction between sub-systems is considered as state uncertainty for the nominal local model. This means that between consecutive vehicles, each agent in-charge needs to receive information from its predecessor and transmit data to its successor. Another key feature within the C-DMPC algorithm is the amount of information exchanged between agents, which is minimized by defining the uncertainties as boxes of fixed size, and transmitting only the bounding limits. Based on this uncertainty value, the feasibility of each local optimization problem is checked, and in case of infeasibility, a coalition between neighbouring agents is formed. The C-DMPC methodology is formulated to ensure zerostate minimization for the local and coalitional optimization problems, which is described in a more straightforward manner than in [18], where an integral state is introduced to ensure zero offset reference tracking. The robustness of the algorithm is analysed in various simulation tests, using a homogeneous platoon, with different initial conditions, both homogeneous and heterogeneous, under the same optimization parameters and constraints. The string stability of the platoon is analysed a posteriori, i.e., by verifying that the condition from [34] is satisfied on the obtained results, rather than imposing it as a constraint in the optimization problem. Moreover, the string stability of the platoon is investigated taking into account the nature of the proposed C-DMPC control framework. When a coalition is formed, the agents inside are treated as one entity with respect to the remaining agents outside of the coalition, which is different from the string stability analysis provided in a DMPC context in [35].
Taking all the above mentioned into considerations, the main contributions for this work, when compared to our previous papers and state-of-the-art literature are as follows:

1.
A novel C-DMPC methodology, suitable for a state-coupled vehicle platooning application is developed.

2.
The control performances of the algorithm were analysed for simulation tests using a realistic vehicle platoon model from the literature.

3.
Both the robustness of the algorithm and the string stability of the platoon were investigated.
The remainder of this paper is structured as follows: Section 2 introduces the problem formulation, while the details regarding the computation of the invariant sets table are presented in Section 3. A summary of the C-DMPC method is provided in Section 4, followed by the simulation results and discussion given in Section 5. The conclusions and future work ideas are presented in Section 6.
Notation: N denotes the set of natural numbers; Z denotes the set of integer numbers; Z + denotes the set of positive integer numbers; R denotes the set of real numbers; X denotes a closed convex polytope in H-representation, written as a matrix inequality (X = {x ∈ R : Ax ≤ b); . 1 denotes the 1-norm; and . ∞ denotes the ∞-norm.

Problem Formulation
Let us consider a multi-agent system consisting of N interconnected pairs (S i , A i ), ∀i ∈ N , where N denotes the set {1, . . . , N} ⊂ N, S i denotes the sub-system and A i denotes the agent (or local controller) in charge of S i . In the remaining of this paper, we consider that all sub-systems S i have a nominal model with state uncertainty, described as follows: where x i ∈ R n i is the state, u i ∈ R m i is the input, w i ∈ R p i is the state uncertainty and y i ∈ R q i is the output. A i,i , B i,i , A i,i−1 and C i are matrices with adequate dimensions. n i , m i , p i and q i are the number of states, inputs, state uncertainties and outputs, respectively, and k ∈ Z + is the discrete-time instant.
It is noteworthy to mention that in (1) the nominal model contains a state uncertainty w i , defined based on the dynamical coupling of the sub-systems. Since all the sub-systems S i , ∀i ∈ N , are unidirectionally interconnected, the relevant information is received from each predecessor denoted with index i − 1.
Consider linear inequality constraints for the states, inputs and uncertainties defined with: where X i , U i and W i denote the polytopes obtained from the state, input and uncertainty constraints, respectively. Further on, the local optimization problem solved by each agent A i , ∀i ∈ N , is described in the min-max framework, by minimizing the control input for the maximum level of uncertainty, which will be received from its predecessor agent. Thus, the noncooperative DMPC cost function solved at each sampling instant is as follows: with the following notations for sub-system S i : x l i = x i (k + l|k) is the output predictor computed at sample time k, for time k + l, within the prediction horizon N p , l ∈ {1, . . . , N p }; the output trajectory is obtained recursively using model (1), the state measurement are the maximum limits for the state, input and the uncertainty sequences, respectively; x min i , u min i are the minimum limits for the state and input sequences, respectively; R u i ∈ R m i ×m i and R w i ∈ R n i ×n i are the weight matrices for the input trajectory, and the optimization variablex max that acts as a self-imposed limit for the state sequence. After the local optimization problem is solved, the self-imposed value will be transmitted to the neighbour, which will use it as a boundary for the uncertainty variable. In this manner, each local agent is assured that the actual uncertainty trajectory (which is not communicated) is bounded at the received value.
The set Ω i is a maximal robust positively invariant set for the output terminal constraint, and its computation will be detailed in the following.

Computation of the Maximal Robust Positively Invariant Set
In this section, the computation of the maximal robust positively invariant set Ω i , ∀i ∈ N , which will be used as a terminal output region x N p i ∈ Ω i is described. The procedure was initially presented in [19] and particularized in [18] for the sub-system model with an integral additional state.
Hereafter, a short summary is provided, followed by details regarding the computation of the invariant sets.
Let us consider the following assumptions: • Each sub-system S i , ∀i ∈ N , is modelled by (1) and subject to constraints (2); • For the proposed coalitional framework, in the case of communication network failure, the information exchange between neighbouring agents stops. To ensure the feasibility of the control architecture, the invariant sets are tailored for the nominal model (in which the uncertainty w i is zero); • A local linear feedback u i = K i x i that is computed to guarantee that the stability of the closed loop is a-priory determined. In this paper, the state feedback matrix K i is computed with two methods: (i) using Ackermann's formula [36] and (ii) through the minimization of a linear-quadratic cost function [37].
For the sub-system (1) subject to the constraints (2), the set Ω i is maximal robust positively invariant if [18,19,38]: Hereafter, the pseudo-code algorithm provided in [18], which describes how to compute the predefined invariant set table is summarized and will be further detailed.
As previously mentioned, during the initialization phase, each agent A i , ∀i ∈ N , calculates a table of invariant sets Ω i by applying Algorithm 1.

Algorithm 1
For α = u max : −step α : u min For β = w min : step β : w max 1. Compute the inequality constraints: Compute the robust positively invariant set: Further on, several computational details regarding the second step from Algorithm 1 (i.e., how to compute the robust positively invariant set) are illustrated. For simplicity, the indices are omitted:

1.
Compute the closed loop system matrix using the sub-systems model matrices A, B, and control feedback gain K; 2.
Re-write the input inequality constraints from Algorithm 1, step 1, i.e., described in matrix form using matrix A u and vector b u with adequate dimensions, in the state variable x using u = Kx; 3.
Aggregate state and input constraints from step 2 in a single polytope; 4.
Compute the uncertainty polytope using the uncertainty constraints from Algorithm 1, step 1; 5.
Iteratively, check the invariance order by executing the following: (a) Subtract the uncertainty polytope from the aggregated polytope from step 3; Compute the polytope that, from the previous iteration, using the dynamics of the control loop, arrived in the current region (i.e., defined as step 5(a)); (c) Intersect the two polytopes obtained at steps 5(a) and 5(b); (d) Compare the result of the polytopes intersection-from step 5(c) with the aggregated constraint polytope from step 3; (e) If the invariant set has changed then: Update the constraint polytope (with the value computed from step 5(c)) and continue the iterations; else: Save the invariant set and end the iterations.
It is worth mentioning that the maximal robust positively invariant set is computed recursively (as shown in step 5) for a finite number of iterations. If by the end of those, the desired region is not found, then the algorithm will return an empty set, meaning that for the particular combination of constraints values, there is no available invariant set (i.e., the corresponding cell in the table is empty).

Coalitional Distributed Model Predictive Control (C-DMPC) Algorithm
In this paper, a novel C-DMPC methodology was designed for sub-systems coupled through the states, which must exchange the state-uncertainty maximum value. Moreover, the algorithm which was firstly introduced in [18] for cyber-physical systems, was tailored in this work for a vehicle platooning application, and customized to ensure zero-state minimization. Hereafter, a concise summary is provided: • At each sampling time, each agent solves a default robust min-max non-cooperative DMPC problem with state-uncertainty. If the local solution is infeasible, due to the uncertainty value received from its neighbour, then the coalition procedure between the agents is activated ad hoc without a supervisor level.
• Inside a coalition C, the local models of each involved sub-systems are merged, obtaining the following coalition model (written for simplicity without sub-script indices): where x C , u C , w C are the aggregated state, input and uncertainty vectors of the coalition C (e.g., . Moreover, the matrices A C , B C , A j C and C C are computed according to the aggregation. The set N C contains the neighbouring agent for C neighbour, i.e., the predecessor sub-system for the sub-systems included in the coalition. For example, a coalition between agents A 3 and A 4 remains state-coupled with A 2 , which is outside the coalition and sends information to A 3 . It follows that, the constraint sets for a given coalition C are obtained as the union of the constraints sets (2) corresponding to each agent A i , i ∈ C: where X C , U C and W C are the state, input and uncertainty constraints polytopes for coalition C, respectively. • A coalition once formed is active only for a single sampling period and can gradually increase its size. Hence, the feasibility for the coalition optimization problem is verified. If the solution is infeasible, this means that the received uncertainty value is too large, and an agent from the neighbourhood must be incorporated in the coalition, to decrease the uncertainty value. For example, if the coalition between A 3 and A 4 has an infeasible solution, then, in the same sampling time, agent A 2 is included in the existing coalition. Afterwards, the optimal solutions are re-calculated, for both the coalition and the agents outside the coalition, and the feasibility is re-evaluated. Following this reasoning, in the extreme case, all the agents from the network can be gradually included in a single coalition. This represents the particular case of a centralized optimization problem. Inside a coalition C, the following optimization problem is minimized: where, the weight matrices R u C and R w C are block diagonal; Ω C is the aggregated terminal set; x 0 C is the aggregated vector containing the corresponding initial state values; x max C , u max C , w max C are the aggregated maximum limits for the state, input and the uncertainty sequences, respectively; x min C , u min C are the aggregated minimum limits for the state and input sequences, respectively; u l C = u 0 C , . . . , u and x l C are the aggregated input, uncertainty and state trajectories of the coalition C; the optimization variablex max C is the aggregated self-imposed limit for the aggregated state sequence. • Between neighbouring agents, only the self-imposed optimization variablex max from (3) is shared. In this manner, although the sub-systems are state-coupled, the coupling signals are considered as local uncertainties, and a robust optimization problem is defined using the shared information as the uncertainty limit. With this value received from the neighbour, each local agent searches for a robust positively invariant set in the predefined table, computed in the initialization phase of the algorithm (see Section 2). If there is no pre-computed terminal region Ω i which can include the received uncertainty, then the local optimization problem becomes infeasible and the coalition procedure is started.
In what follows, a summarized pseudo-code for the coalitional DMPC, which uses the invariant sets as terminal regions is provided. Starting from the algorithm provided in [18], the following novel algorithm is obtained for the current system configuration, namely state-coupled sub-systems, which at each iteration must exchange the state uncertainty polytope.

Remark 1.
In Algorithm 2, step 6, the local feasibility is verified for all agents in the network. When more than one agent has an infeasible local solution, a sub-unitary random coalition priority is given to each one of them. This means that, to avoid conflicts and subjectivity, all agents in need of a coalition, i.e., due to infeasibility, have an equal chance of initially entering in a coalition. However, after this random coalition initialization start-up, the methodology sequentially increases the size of the coalition when needed, always starting from coalitions of 2 agents.

Algorithm 2
Initialization: For each agent A i , ∀i ∈ N , compute a table T i , with potential terminal sets Ω i . At each sampling time k, each agent A i , ∀i ∈ N , receives the local state value and performs the following steps: 1. Computes the uncertainty polytope using default limit values for the state-uncertainty constraints: i−1 from its predecessor. 5. Repeats Steps 1-3 using the uncertainty constraint value received in Step 4. 6. Checks the feasibility of the local optimization problem: If the optimization problem from Step 5 is feasible: then: Coalitions between agents are not necessary. Each local agent A i sends to its sub-system S i , the first value from the optimal trajectory U * i ; else: Coalitions between agents are necessary. The coalition model is defined as in (5), by aggregating the models of the sub-systems involved in the coalition. Moreover, the optimization problem (3) is redefined in terms of the coalition and is solved. If all the optimization problems (inside and outside the coalition) are feasible: then: The existing coalition was successful and can be dissolved after every sub-system S i receives the first value from the optimal trajectory U * i ; else: The existing coalition was not successful. Another agent must be included in the existing coalition. 7. End algorithm. ([18,19]). Within Algorithm 2, the feasibility of the coalitional control problem is ensured because W C ⊆ ∏ i∈C W i , U C = ∏ i∈C U i and Ω C = ∏ i∈C Ω i . Keeping the coalition stable is guaranteed by the terminal constraint set, calculated as the Minkowski sum of the polytopes for each individual agent of the coalition. As long as initially all of the local optimization problems can be solved in a decentralized fashion, the algorithm is recursively feasible.

Simulation Results
In this section, the C-DMPC methodology is tested in simulation for a vehicle platooning application described in Section 5.1 and the obtained results are provided in Section 5.2. Moreover, the string stability analysis of the platoon is provided in Section 5.3.

Platooning Application Setup
In this subsection, the C-DMPC methodology is tested in simulation for a N = 4 vehicle platooning application, as described in [39]. Each vehicle from the platoon is modelled with the following continuous-time dynamical model [40]: is the distance between platoon vehicles, and d r,i (t) = r − hv i (t) is the desired relative distance, computed taking into account the standstill distance r and the time headway value h. The relative velocity between two consecutive vehicles is ∆v Note that the vehicle's model (8) is coupled through the states. The time constant of the dynamics for the vehicle's engine is τ i , while u i is its input, defined as the desired acceleration for the vehicle. In Figure 1, a schematic diagram for a vehicle platooning application is provided, in which, the leader denoted V 0 travels with a constant velocity and has a 0 = 0 and u 0 = 0, and is considered a virtual leader which is not optimized. Thus, in this paper, we control only the follower vehicles from the platoon, denoted with V i , ∀i ∈ {1, . . . , 4}. For simulation purposes, all followers are considered identical, with τ i = 0.1, ∀i ∈ {1, . . . , 4}, and the headway time value h = 1.5. The vehicle's model (8) was discretized with the sampling period Ts = 0.1 seconds.
The optimization parameters used in the cost function (3) are: the prediction horizon N p = 26 samples; the input and the uncertainty weights R u i = 0.1 and R w i = 1, respectively, ∀i ∈ {1, . . . , 4}. These values were empirically selected to achieve the best results in the C-DMPC algorithm. This means that, the feasibility of the algorithm must be ensured at each sampling time, for one of the possible communication topologies.
The numerical values for the limit constraints described in (2) are as follows: Please note that, in order to compute the table with invariant sets, these values were taken into account.
To compute the feedback control laws K i , ∀i ∈ {1, . . . , 4}, using the vehicle model (8), two case-studies were analysed, corresponding to the two methods that were used, namely: • Case 1: classical state-feedback control, based on the Ackermann's formula [36], obtaining: Please note that, this feedback gain matrix was obtained imposing identical desired closed-loop transient performance for each sub-system, namely an overshoot value of 5% and settling time of five time units. • Case 2: minimization of a linear-quadratic cost function, by solving a discrete-time Riccatti Equation [37]: It is worthy to mention that, these matrices were computed using the same weight matrix as in the solved optimization problem, i.e., R u i = 5. The invariant sets obtained for sub-system S 1 using Algorithm 1, from Section 3 are depicted in Figures 2 and 3. Those sets were computed using the following numerical values: u max = 10, w max = 10, w min = 0.1, step α = step β = 0.5. The polytopes computed using the feedback matrix K from Case 1 are denoted with Ω i , and plotted in Figure 2. Similarly, the polytopes calculated using the feedback matrixK from Case 2 are denoted withΩ i and depicted in Figure 3. In both figures, the largest invariant set (i.e., corresponding to the maximum input constraint value α = u max = 10 and the minimum uncertainty β = 0.1) is depicted in red colour. As expected, the larger possible invariant set that can be used in the terminal constraint definition includes the other smaller invariant sets. This is especially visible in Figure 3, in which the smaller polytopes, obtained when the input constraint is decreased are gradually "cropped" from the dimension of the red polytope. Both  Figures 2 and 3 provide a graphical representation for the invariant set table computed in the initialization phase of the algorithm, i.e., for each cell in the table, a coloured polytope is depicted. According to the design of Algorithm 1 from Section 3, several invariant sets are computed, for different parametrizations of the input and uncertainty constraints limits, via α and β values. Thus, the larger invariant set polytope (i.e., corresponding to the maximum input constraint value α = u max = 10 and the minimum uncertainty β = 0.1) is denoted with Ω 1 (see Figures 2 and 3). However, as the input limit decreases, also the invariant sets have smaller dimensions, which are included in the larger set. Note that, the computed invariant sets are three dimensional, because the state variable for the vehicle model (8) has three values, and can be plotted as convex hull (ref. Figures 2 and 3). Remark 3. Algorithm 1, from Section 3 was implemented in MATLAB R2020b using the YALMIP toolbox [41]. For each input, state and uncertainty constraint set values, a maximum of 100 iterations were computed to search for the robust positively invariant set.

Remark 4.
The computational complexity of Algorithm 1, is related to the number of iterations required to compute each robust positively invariant set Ω i from table T i . This value gives the invariance order for each Ω i . Although this is computed only once and outside of the procedure which solves the optimization (see Initialization from Algorithm 2), the necessary computational time is non-trivial. This is influenced by the used parametrization, which should be chosen according to the sub-system's constraint limits (i.e., the values α and β, and their corresponding step size values step α = step β ). Furthermore, the feedback gain matrix K has a significant impact on the algorithm complexity, which can be seen in the invariance orders for each Ω i set. Hence, under the same parametrization, using the feedback matrix K from Case 1, 16 invariant sets were obtained, with invariance orders ranging from 14 to 45 iterations. Furthermore, using the feedback matrixK from Case 2, 17 invariant sets were obtained, with invariance orders ranging from 3 to 36 iterations. Note that, for simplicity, only the first 7 polytopes, in the descending order with respect to the α value, denoted with Ω i , ∀i ∈ {1, . . . , 7}, are plotted. Figure 2. Case 1-Depiction of the predefined invariant sets corresponding to sub-system S1, computed for uncertainty constraint limit value β = 0.1. Figure 3. Case 2-Depiction of the predefined invariant sets corresponding to sub-system S1, computed for uncertainty constraint limit value β = 0.1.

Illustrative Results
In the local optimization problem formulated in (3), the control goal was to regulate all local states to zero. From a vehicle platooning perspective, in which each vehicle is modelled with (8), this results in a vehicle platoon which travels with a constant speed and implicitly with 0 acceleration, and maintains a constant desired inter-vehicle distance. A multitude of tests were performed on the homogeneous platoon defined in Section 5.1. These were conducted using both homogeneous and heterogeneous initial conditions x 0 i , for each vehicle ∀i ∈ {1, . . . , 4}, with numerical values selected within the imposed constraint limits. However, for brevity, the most representative tests are provided, with the following initial values: Remark 5. Two simulations were performed for each test, using the invariant set tables T i , computed with the feedback matrix K from (9) andK from (10), respectively. The simulation results obtained using the invariant sets Ω i computed with the feedback matrixK from Case 2, were almost identical to the ones computed with the feedback matrix K from Case 1, and for brevity were not included in the paper.
The performance of the proposed C-DMPC algorithm was studied for all the simulation tests mentioned in Table 1, and is given in Table 2. This evaluation was performed computing the cumulative cost index in norm-1, using the state vectors of each vehicle V i , ∀i ∈ {1, . . . , 4}, from the platoon, i.e., J V i = ∆d i 1 + ∆v i 1 + a i 1 . Moreover, for an overall view, the cumulative cost index for each simulated test Test j , ∀j ∈ {1, . . . , 8}, is also computed, i.e., J Test j = ∑ 4 i=1 J V i . The computational time for each simulation test is also provided. The consistence of the performance indices values effectively illustrate the robustness of the proposed C-DMPC algorithm.  Test Remark 6. The proposed algorithm was tested in simulation and was designed to ensure satisfactory control performances for a vehicle platooning application. The simulations were performed using MATLAB R2020b on Windows 10, 64-bit Operating System with a laptop Intel Core i7-9850H CPU @ 2.60 GHz460 and 16 GB RAM. Thus, the algorithm was not yet optimized to be executed on embedded devices, and to be tested in a real-time setup, but this is a subject of future work.
Hereafter, for brevity, only the simulation results for two tests from Table 1 are presented, namely starting from: (i) the homogeneous initial values from Test 4 , and (ii) the heterogeneous initial values from Test 8 .
The relative distance error, the relative speed and the acceleration for each follower vehicle, respectively, obtained for the initial conditions from Test 4 (ref. Table 1), are depicted in Figures 4-6. Furthermore, the same variables are depicted in Figures 7-9, obtained for the initial conditions from Test 8 (ref. Table 1).
As expected, at the end of the simulation scenario, all the states and implicitly the inputs (see Figures 10 and 11, respectively) reach the desired zero value.  Table 3 [18].
As previously mentioned, in the proposed C-DMPC algorithm, all agents first solve a robust min-max non-cooperative DMPC problem with state uncertainty, starting from given initial conditions. This can be seen as C ∅ active, in which all agents are outside a coalition. If one or more local solutions are infeasible, then the coalition procedure starts and coalitions between different agents are formed.
When analysing both Figures 12 and 13, one can remark that only in the beginning of the simulation test, i.e., for the first 12 samples (see Figure 12) and, respectively, 11 samples (see Figure 13), the coalitions are activated. This is due to the fact that for the particular initial condition from the simulation test chosen for the platoon, some of the local problems are infeasible. Our proposed C-DMPC algorithm is designed such that, at each sampling time, when a local problem is infeasible, i.e., the min-max DMPC algorithm fails to reach a solution, a coalition is activated. Moreover, the algorithm always starts with the smallest coalition size, i.e., including two agents, and when needed, increases its dimension by sequentially including other neighbours, until the largest possible size is reached, i.e., see the activation of C 1234 , at time step k = 1 in Figure 12. After the feasible solution is reached, the current coalition deactivates, and the procedure is repeated at the next sampling time. This is the reason that in Figure 12, at time step k = 2, a smaller size coalition C 23 between agents A 2 and A 3 is activated. Coincidentally, in Figure 12, coalition C 23 is consecutively activated at time steps k = 2, 3 and 4, whereas coalition C 34 between A 3 and A 4 is activated from time samples k = 5 to k = 12. Afterwards, since both the acceleration state and the control input almost reach the desired zero value (see the detailed plot from Figures 6 and 10), there is no need for the coalition activation. In this case, the uncertainty received from the predecessor vehicle is included in one of the predefined terminal sets, and the local problem is feasible. Hence, starting from time instant k = 13 until the end of the simulation, the control architecture for all the platoon vehicles is min-max non-cooperative DMPC (or C ∅ ). For a better visualisation, only the first 15 time samples are plotted in Figure 12. An agent inside a coalition is depicted with a red star marker within a blue circle, whereas for one outside a coalition, the corresponding blue circle is empty. When analysing Figure 13, the same reasoning is used and one can remark that coalition C 23 is activated from time samples k = 1 to k = 3, while coalition C 34 is activated from time samples k = 4 to k = 11. After that time-instant, no more coalitions are activated.

String Stability Analysis
The string stability of the vehicle platoon, which ensures that the inter-vehicle distance error does not amplify towards the end of the platoon is analysed using the formulation given in [34]: where ∆d i and ∆d i−1 are the distance errors for two consecutive vehicles from the platoon, and i ∈ (0, 1) is a parameter.
To verify that the platoon is string stable, the property (11) was used a posteriori, similarly with the work in [35], by analysing the corresponding ∆d i values obtained for each vehicle from the platoon. This was performed by computing the values for every two consecutive vehicles in the platoon, which according to (11), must be smaller or equal to 1, to ensure that the errors do not propagate towards the end of the platoon. Since the simulated platoon does not have a leader vehicle, the first investigation was performed between vehicles V 2 and V 3 by firstly computing 3 . Next, 4 was computed between vehicles V 3 and V 4 .
All the simulation tests starting from the initial conditions provided in Table 1 were investigated, and the results are given in Table 4. However, one must take into account that our results are obtained in the C-DMPC framework. This means that when a coalition is activated, the vehicles inside the coalition must be viewed as a single entity, since the models are aggregated in the coalitional optimization problem. Thus, according to the coalitions activated in Test 8 simulation, when C 23 is active, the distance error for A 3 is not taken into account, thus analysing only the states for vehicles 1, 2 and 4. Moreover, when C 34 activates, only the states for vehicles 1, 2 and 3 are meaningful, since A 4 is inside the coalition, and 'coupled' with A 3 .
Hence, the string stability property for the proposed C-DMPC suitable for a platooning application is satisfied in all the investigated tests.

Remark 7.
When analysing the string stability of a platoon controlled with a coalitional methodology, one must take into account the coalitions which are formed between the vehicles, which implicitly guarantee the feasibility of all the optimization problems.

Conclusions
In this paper, a coalitional distributed model predictive (C-DMPC) methodology, suitable for a vehicle platooning application was proposed. Details regarding the computation of the maximal robust positively invariant sets, which were used as terminal regions in the C-DMPC algorithm were also provided. The control strategy was tested for a vehicle platooning application, consisting of a virtual leader and four follower vehicles, with a leader-follower uni-directional communication topology. The simulation results show the efficiency of the proposed coalitional DMPC algorithm, in which the coalitions between different agents are formed when needed (i.e., the local feasibility of the solution is lost). Otherwise, the control topology between vehicles is robust min-max non-cooperative DMPC with state uncertainties.
Future work will test the proposed C-DMPC algorithm in an experimental setup using a platoon of mobile robots.

Materials and Methods
The simulations from this work were performed using MATLAB R2020b on Windows 10, 64-bit Operating System on a laptop (Intel Core i7-9850H CPU @ 2.60 GHz and 16 GB RAM). The optimizations were implemented using the YALMIP toolbox [41].

Conflicts of Interest:
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Abbreviations
The following abbreviations are used in this manuscript:

MPC
Model Predictive Control DMPC Distributed Model Predictive Control C-DMPC Coalitional Distributed Model Predictive Control