{'fraction_non_alphanumeric': 0.0485800109229929, 'fraction_numerical': 0.012971054068814856, 'mean_word_length': 4.135464871687001, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 14, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Distributed Nonlinear Control Design using Separable Control Contraction Metrics

This paper gives convex conditions for synthesis of a distributed control system for large-scale networked nonlinear dynamic systems. It is shown that the technique of control contraction metrics (CCMs) can be extended to this problem by utilizing separable metric structures, resulting in controllers that only depend on information from local sensors and communications from immediate neighbours. The conditions given are pointwise linear matrix inequalities, and are necessary and sufficient for linear positive systems and certain monotone nonlinear systems. Distributed synthesis methods for systems on chordal graphs are also proposed based on SDP decompositions. The results are illustrated on a problem of vehicle platooning with heterogeneous vehicles, and a network of nonlinear dynamic systems with over 1000 states that is not feedback linearizable and has an uncontrollable linearization


I. INTRODUCTION
In recent years, rapid advances in communication and computation technology have enabled the development of large-scale engineered systems such as smart grids [1], sensor networks [2], smart manufacturing plants [3], and intelligent transportation networks [4]. Despite these advances, the systematic design of feedback controllers for such large systems remains challenging.
When it is assumed that a system has linear dynamics and that all sensor information can be collected in a single location for control computation, well-developed synthesis methods such as LQG and H ∞ can be applied [5], [6]. However, emerging applications motivate going beyond these assumptions.
Firstly, for geographically distributed systems with hundreds or thousands of nodes, such as transportation and power networks, it is not practical to collect all sensor information in one location for control. In this case there is a need for distributed methods that rely only on information available locally or communicated from nearby nodes.
Secondly, most real systems exhibit nonlinear dynamics. When large excursions in operating conditions are expected, e.g. due to changing production demands in a flexible manufacturing system, or recovery from a fault in a smart electrical grid, one must take into account the system nonlinearity.
Decentralised and distributed control are long-standing problems in control theory, with important early work detailed in [7] and [8]. A key concept is the vector Lyapunov function, i.e. a Lyapunov function made up of individual storage functions for the nodes, a concept closely related to the separability property we use in this paper. Terminology is not completely uniform in the literature, but in this paper we take "decentralised" to mean that at each node the controller uses only local state information, and "distributed" to mean that some communication is allowed between nearby nodes.
For linear state feedback, information flow can be encoded by a sparsity structure on the feedback gain matrix, however in general this problem can be NP-hard [9]. It has been recognized by many authors that if the search is restricted to diagonal (or block diagonal) Lyapunov matrices, then the problem is convex (see, e.g., [10], [11], [12] and references therein). The main benefit is that sparsity structure in the gain matrix is preserved under the standard change of variables for LMI-based design. In general, restricting the set of Lyapunov functions is conservative: it produces sufficient conditions for stabilizability, but not necessary conditions. However, for the important sub-class of systems for which internal states are always non-negative, known as positive systems, existence of a diagonal Lyapunov function is actually necessary and sufficient (see, e.g., [13] and references therein). This result has been extended to H ∞ design [11], and scalable algorithms for control design [12] and identification [14] of networked positive systems.
Design of controllers for nonlinear systems has also been a major topic of research for many years, see e.g. [15], [16], [17] for established approaches. Most methods require (at least implicitly) the construction of a control Lyapunov function. While for certain structured systems, constructive methods such as backstepping and energy-based control can be used [16], no general methodology exists. Indeed, the set of control Lyapunov functions can be non-convex and disconnected [18], which poses a challenge for synthesis.
A drawback of standard Lyapunov functions is the fact that they are defined with respect to a particular set-point or limit set, which must be known a priori. When the target trajectory may change in real time, a common situation in robotics or flexible manufacturing, it is more appropriate to define a function depending on the distance between pairs of points. Tools such as contraction metrics [19] and incremental Lyapunov functions [20] provide such a capability for stability analysis. Contraction concepts have proven useful in the analysis of networked systems, in particular oscillation synchronization and entrainment [21], [22], [23], [24], and techniques for contraction analysis based on sum-separability properties of metrics [25], [26], [27], [28]. Extensions to reaction-diffusion PDE systems have appeared in [29], where again a metric is constructed that integrates over space, generalizing the notion of sum-separability to continuous spaces.
The concept of a control contraction metric (CCM) was introduced in [30], [31] and extends contraction analysis to constructive control design. The main advantages this method offers over the Lyapunov approach are that the synthesis conditions are convex, and it provides a stabilizing controller for all forward-complete solutions, not just a single set-point. It was shown in [31] that the CCM conditions are necessary and sufficient for feedback-linearizable nonlinear systems.
The main contributions of this paper are the following. 1) We extend the results of [31] to show that by imposing a separable structure on a control contraction metric, a distributed nonlinear feedback controller can be obtained via convex optimization, with the property that all on-line computations can be performed with prescribed information sharing between nodes. 2) We provide necessary conditions for the existence of a separable metric for certain classes of monotone systems. 3) We show that the off-line convex search for a CCM can scale to large-scale systems with chordal graph interaction structure. The conference paper [32] presented preliminary results related to, but less general than, the results of this paper. In particular, it considered completely decentralized design, and did not address scalability of the resulting computations. The main result of [32] is Corollary 1 in this paper.

II. PRELIMINARIES AND PROBLEM FORMULATION A. Notation
We use the notation R ≥0 for the non-negative reals, and N [a,b] with a < b for natural numbers between a and b. Let n > 0 be any integer, the vector e i denotes the vector with zeros in all entries except the i-th where it is 1. Given N matrices M 1 , . . . , M N ∈ R p×q , the notation diag(M 1 , . . . , M N ) denotes the block matrix M ∈ R N p×N q with the M i matrices on the main (block) diagonal, and zeros elsewhere. The notation M 0 (resp. M 0) stands for M being positive (resp. semi)-definite. The sets of (semi)-definite symmetric matrices are denoted as S n The notation L ∞ loc (R ≥0 , R m ) stands for the class of functions u : R ≥0 → R m that are locally essentially bounded. Given differentiable functions M : R n → R n×n and f : R n → R n the notation ∂ f M stands for matrix with dimension n × n and with (i, j) element given by ∂mij ∂x (x)f (x). The notatioṅ f always stands for the total derivative with respect to time t.
Let N > 0 be an integer, a graph consists of a set of nodes V ⊂ N [1,N ] and a set of edges E ⊂ V ×V and it is denoted by the pair (V , E ) = G . A node i ∈ V is said to be adjacent to a node j ∈ V if (i, j) ∈ E , the set of nodes that are adjacent to j is defined as N (j) = {i ∈ V : i = j, (i, j) ∈ E }. A graph is said to be undirected if, for every edge (i, j) ∈ E , there exists (j, i) ∈ E . It is said to be directed if otherwise. For a directed graph G = (V , E ), we define an undirected graph  Figure 1: Illustration of the directed graphs representing the physical interaction between nodes G p , and the communication network G c . These may or may not be identical.
with the same vertex set the graph that contains all edges appearing in either graph.
Given two nodes i, j ∈ V , an ordered sequence of vertices v k , k = 1, ..., n with v 1 = i, v n = j and (v k , v k+1 ) ∈ E ∀k is said to be a path from node i to the node j. A path is said to be cycle if node i equals node j, no edges are repeated, and the nodes i and j − 1 are distinct.
For an undirected graph, the following concepts are recalled from [33], [34]. A graph is said to be a tree if it is connected and does not contain cycles. A clique C ⊂ V of the graph G is a maximal set of nodes that induces a complete (fully connected) subgraph on G . A chord of a cycle is any edge joining two nonconsecutive nodes. A graph is said to be chordal if every cycle of length greater than three has a chord. The importance of a graph being chordal is that it has a treedecomposition into cliques [35,Proposition 12.3.11] such a tree is said to be a clique tree and it is denoted as T (G ).

B. Networked System Definition
In this paper, we consider systems made up of a network of N ∈ N nodes. Interconnection between the nodes is defined by two directed graphs: a physical interaction network graph G p and a communication network graph G c . Both graphs have the same vertex set V = N [1,N ] corresponding to system nodes, but may have different edge sets, as illustrated in Figure 1. We assume both graphs have self-loops at each node, i.e. (i, i) is in the edge set for all i ∈ V .
The physical graph G p = (V , E p ) defines the dynamical interaction between individual nodes. At each node i ∈ V , there is local state vector x i ∈ R ni and control input u i ∈ R mi . We definex i ∈ Rn i as a stacked vector of node states x j for which (j, i) ∈ E p , i.e. all nodes that influence x i . Each node's dynamics are governed by the differential equation: We allow the case that for some nodes i ∈ V , b i (x i ,x i ) = 0 and m i = 0, i.e. node i has no direct control input. For the complete networked system we will also use the notatioṅ with stacked vectors and functions and input matrix B = diag(b 1 , . . . , b N ). The functions f : R n → R n and B : R n → R m×n are assumed to be smooth, i.e., infinitely differentiable. Similarly, the graph G c = (N [1,N ] , E c ) specifies a communication network, in that (j, i) ∈ E c if node j can send instantaneous measurements of its state to node i for control computation, and x i ∈ R ni is a stacked vector of node states x j ∈ R nj such that (j, i) ∈ E c .

C. Universal Exponential Stabilizability
A function u ∈ L ∞ loc (R ≥0 , R m ) is said to be an input signal or control for (1). For such a control for (1), and for every initial condition x (0), there exists a unique solution to (1) ( [36]) that is denoted by X(t, x (0), u ), when evaluated at time t. This solution is defined over an open interval (t, t), and it is said to be forward complete if t = +∞. We define a target trajectory as a pair (x , u ) where x = X(·, x (0), u ) is a forward-complete solution of (1). Given a communication graph G c we define x i analogously to x i above.
Following [30], [31], the system (1) is said to be universally exponentially stabilizable with rate λ > 0 if there exists a feedback controller k : R n × R n × R m → R m and a constant value C > 0 such that for every target trajectory (x , u ), solutions x(t) of the closed-loop systeṁ exist for all t ≥ 0 and satisfy for every initial condition x(0) ∈ R n . Note that this is a stronger condition than global exponential stabilizability of a particular target trajectory, such as the origin.

D. Problem Statement
The main objective of this paper is to find a distributed controller that can stabilize any trajectory of a particular system. To formalize this we make the following definition: for i ∈ N [1,N ] . That is, each local control signal depends only on local state and target trajectory information and neighbor information communicated in accordance with G c .
We are now ready to state formally the distributed control problem we consider in this paper. Problem 1. For the system (1), find a G c -admissable state feedback controller such that for any target trajectory (x , u ), the closed-loop system satisfies (2) for almost all x(0) ∈ R n .
The "almost all x(0) ∈ R n " condition simplifies the resulting CCM control construction, however the result can be extended to "all x(0) ∈ R n " by the sampled-data controller constructed in [31].

E. Differential Dynamics and Control Contraction Metrics
We recall some standard facts from Riemannian geometry (see e.g. [37] for a complete development). A Riemannian metric on R n is a symmetric positive-definite bilinear form that depends smoothly on x ∈ R n . In a particular coordinate system, for any pair of vectors δ 0 , δ 1 of R n the metric is defined as the inner product δ 0 , and orthogonality δ 0 , δ 1 x = 0 can be defined on the tangent space. The metric is said to be bounded if there exists constants m > 0 and m > 0 such that, for all x ∈ R n , mI n ≤ M (x) ≤ mI n , where I n ∈ R n×n is the identity matrix.
Let Γ(x 0 , x 1 ) be the set of piecewise-smooth curves c : where the notation c s stands for the derivative ∂c ∂s . The Riemannian energy between x 0 and x 1 , denoted as e(x 0 , x 1 ), is defined as the minimal energy of a curve connecting them: This curve is smooth and is referred to as a geodesic. Along each solution of (1), one can define the differential (a.k.a. variational or prolonged) dynamics: where δ x (resp. δ u ) is a vector of the Euclidean space R n (resp. R m ) and the matrix A ∈ R n×n has components given by The differential dynamics (4) describe the behaviour of tangent vectors to curves of solutions of (1). Similarly to (1), given a control δ u for system (4), the solution to (4) computed at time t ≥ 0, along solutions (x(t), u(t)) of (1), and issuing from the initial condition A sufficient condition for the stability of (4) is provided by analyzing the derivative of a particular function along the solutions of systems (1) and (4) [19]. (1) if, for any control u for system (1), there exists a scalar λ > 0 such that the inequality In particular, a metric V (x, δ x ) = δ T x M (x)δ x is a contraction metric for (1) if the following linear matrix inequalitẏ holds for all x, u [19]. SinceṀ = ∂ f (x)+B(x)u M (x) and A(x, u) are affine in each control input u i , this implies that the corresponding coefficient matrices must be zero: for each i ∈ N [1,m] , which means b i are Killing vectors for the metric M . In that case, the inequality (6) is equivalent to In the remainder of the paper, we will often drop explicit dependence on x of M (x) and other matrices for brevity, but these matrices are always state dependent unless explicitly stated otherwise. The existence a contraction metric for system (1) implies that every two solutions to this system converge to each other exponentially with rate λ. To the authors knowledge, this was first proven in [38] using Finsler metrics, a more general class than Riemannian metrics. The paper [39] introduced the concept of a Finsler-Lyapunov function to further investigate relationships between Finsler structures and differential notions of stability and contraction.
Contraction analysis was extended to constructive control design in [31] by introducing the concept of a control contraction metric.

Definition 3 ([31]).
A bounded metric is said to be a control contraction metric for system (1) if (7) holds and there exists a constant value λ > 0 such that for δ x = 0 we have the implication Condition (9) can be interpreted as the requirement that the system be contracting in all directions orthogonal to the span of the control inputs. It was shown in [31] that this is equivalent to the existence of a differential feedback gain for all x, u, which leads to the following control design method.
Step 1: (Offline LMI computation) The inequality (10) is equivalent (see [31]) to the existence of a bounded "dual metric" W : R n → R n×n such that W (·) = W (·) T 0 and a function Y : R n → R m×n satisfying the following linear matrix inequality for all (x, u) ∈ R n × R m . Note that (11) is linear in the matrix functions W and Y . Consequently, for polynomial systems, the pointwise LMI (11) can be solved via sum of squares programming [40]. For non-polynomial systems, these constraints could be approximately satisfied either via polynomial approximation of dynamics, bounding of dynamics via linear differential inclusions [41], or via gridding the state/input space.
Once a solution to LMI (11) has been computed, the function defined, for every (x, δ x ) ∈ R n × R n , by is a differential feedback law that renders the origin globally exponentially stable for system (4) in closed loop with δ u .
Step 2: (Online controller computation). The feedback law for system (1) can be obtained by integration as follows.
1) Compute a minimal geodesic: 2) Integrate the differential controller For a bounded metric, the Hopf-Rinow theorem (cf. [37,Theorem 7.7]) ensures that for every pair x(t), x (t), there exists a minimizing geodesic γ solving (13). Furthermore, for each x (t) this geodesic is unique and a smooth function of x(t) for almost all x(t).
Remark 1. In the case that the metric M = W −1 is independent of x, the unique minimal geodesic is a straight line joining x to x . Furthermore in the case that Y and hence K are also independent of x, the above controller reduces to a linear feedback law so (14) can be thought of as a natural generalisation of linear feedback synthesis to nonlinear systems. Remark 2. For Theorem 1, we have assumed that (15) holds for all x ∈ R n . If (15) holds only on a subset S ⊂ R n , then it is necessary to ensure that γ(s) remains in this subset for all s ∈ [0, 1]. This is the case if both x and x are in S for all t, and S is geodesically convex. For constant metrics, geodesic convexity is the standard convexity in R n , since geodesics are straight lines.

III. CONVEX DESIGN OF DISTRIBUTED CONTROLLERS
In this section, we present the main results of the paper, extending the CCM methodology described above to distributed control design. Inspired by the notion of sumseparable Lyapunov functions (see e.g. [42]), we introduce the following class of control contraction metrics: Definition 4. A control contraction metric V for system (1a) is called sum-separable if it can be decomposed like so: where, for each index i ∈ N [1,N ] , and for every ( In other words, Definition 4 states that the metric V on R n can be decomposed into a sum of smaller components, each of which depends only on the local information x i , δ xi . Accordingly, we define the following class of matrix functions: Definition 5. For the system (1a), let Π denote the set of matrix functions R n → S n >0 with the following properties: 1) Each M (x) ∈ Π is block diagonal with N blocks, and the i th block has dimension n i . 2) The i th block of M (x) is a function only of x i .
To address the information constraints on k described in Problem 1, the structure of the feedback defined by Equation (14) is obtained by imposing a suitable constraint on the function Y to be satisfied together with the LMI (11).
The set Ξ defines the topology of the differential feedback law to be designed for system (4) and the dependence of each element of the matrix Y on the state-space variables.
Proof. To prove the theorem we first establish G cadmissability of the controller, and then that it achieves the desired form of stability.
By assumption, W ∈ Π, so we also have M = W −1 ∈ Π, and therefore M defines a sum-separable metric, as per Definition 4.
At a particular time t, the first stage of control calculation is to compute a minimum-energy geodesic from x(t) to x (t). Because M is sum-separable, the energy of any curve c : [0, 1] → R n satisfies the following equation Hence each local controller at node i, with knowledge of x i (t), x i (t), x i (t), x i (t), can compute the minimal geodesics γ i (t) and γ i (t), referring to the stacked vector function of geodesics γ j (t) for j : (j, i) ∈ E c .
The second stage of the control computation is integration of the differential control law. Since M ∈ Π, i.e. both block diagonal and with local state-dependence of the blocks, the transformation K( preserves the sparsity pattern and local dependence of Y (x), so K(x) ∈ Ξ. This means that the i, j block of K(x) can be written as K ij (x i , x i ).
Then, each local agent computes the control signal, where t-dependence of signals has been dropped for simplicity: ∂γ j ∂s (s) ds. (17) By construction, this control signal satisfies G c -admissability. The LMI (15) implies that the inequality Thus, M is a control contraction metric for system (1) and, according to the main result of [31], (12) is a differential feedback rendering the equilibrium of the origin globally exponentially stable for system (4) in closed loop.
holds for all (x, u) ∈ R n × R m , where R(x) = diag(ρ 1 (x 1 )I n1 , . . . , ρ N (x N )I n N ) for some scalar functions ρ i (x i ), i = 1, .., N . Then, W is a sum-separable control contraction metric for system (1) and there exists a solution to Problem 1 with fully decentralized information structure, i.e. G c has no edges (i, j), i = j.
To see that Corollary 1 is a particular case of Theorem 1, note that by choosing Y = −RB T /2, (18) is equivalent to (15). Furthermore, Y by construction is block diagonal and the i th block depends only on x i , hence Y ∈ Ξ. Remark 3. In the above we have assumed that each node consists of a node state x i and a colocated node control u i . However, the above strategy is easily extended to a communication structure based on separate "state measurement nodes" x i and "actuation nodes" u j , and a communication networks from sensors to actuators defined by a directed bipartite graph G c , the adjacency matrix of which defines the sparsity structure of Y . For the online control computation, at each measurement node the state x i (t) is measured, and a minimal geodesic path to x i (t) is computed. Then this path is communicated to each control node j such that (i, j) is an edge of G c . Then each control node can compute the control according to (14).
Remark 4. As shown in [31], the Riemannian energy function then provides a useful control-Lyapunov function for any target trajectory. In particular, at each time it defines a convex set of control signals that achieve exponential contraction towards the target trajectory. This was used in [43] to guarantee stability in distributed economic model predictive control.

A. Conditions for Existence of a Separable CCM
The results we have presented so far give sufficient conditions for existence of a distributed controller by way of a separable CCM. A natural question to ask is how conservative is the restriction to a separable CCM.
For linear time-invariant positive systems, i.e. those leaving the positive orthant invariant, stability is equivalent to the existence of a separable quadratic Lyapunov function [13]. This leads to the following simple result: Theorem 2. Suppose n i = 1 and for a particular equilibrium condition x e , u e of (1), the local linearizationż = A(x e , u e )z + B(x e )v admits a stabilizing feedback gain K such that the closed-loop system matrixż = (A(x e , u e ) + B(x e )K)z is positive. Then in a neighborhood of (x e , u e ) there exists a sum-separable contraction metric satisfying the conditions of Theorem 1.
Proof. The linear closed-loop system has a diagonal quadratic Lyapunov function z T P z taking the metric with M = P and differential feedback, δ u = Kδ x , (15) therefore holds at x e , u e . Since it is a strict inequality and A, B are smooth functions of x, u, it holds in a neighborhood of (x e , u e ).
The natural nonlinear analogue of a positive system is a monotone system [44], which preserves element-wise ordering between pairs of solutions, though for monotone systems the question of the existence of a separable Lyapunov function is more subtle [42]. In [28] global existence of separable contraction metrics was shown for certain classes of monotone contracting nonlinear systems. In addition, the utility of naturally-separable l 1 -type metrics have been used by several authors in the analysis of monotone system [26], [27]. Beyond these results, to the authors' knowledge the question of how restrictive it is to require M to be separable remains open. for all x, x , u , where K = ∂k ∂x , 2) monotone: (A + BK) ij ≥ 0 for i = j, 3) linearly coupled: (A + BK) ij is independent of x for i = j. Then there exists a sum-separable contraction metric satisfying the conditions of Theorem 1.
Proof. Since the closed-loop system is contracting, monotone, and has linear coupling, by [28, Theorem 6] it has a separable contraction metric. Now, by assumption (19) holds for all x, x , u for the closed-loop system, i.e. with A = A(x, k(x, x , u )). In particular, it holds when x = x , for which u = k(x, x , u ) = u . So for any x , u , This implies that (10) holds for all x, u, hence M is a separable control contraction metric for (1).

IV. SCALABLE DESIGN OF DISTRIBUTED CONTROLLERS
While the above developments give convex conditions for the design of distributed controllers, for large scale systems they may still be impractical. The problem is that one must find W and Y that satisfy (15), which is a matrix inequality of the same dimension of the total number of states in the full network. Despite its sparsity, this can still be very challenging to solve.
In this section we show that when the combined communication/physical interconnection graph is chordal, the problem of solving (15) is dramatically simplified. Many engineering systems naturally have chordal graph structures, and this has motivated research in efficient methods for semidefinite and sum-of-squares programming [34], [33], [45].
Theorem 4. Let G := G p ∪G c and suppose G u is chordal. Let l ∈ N be the number of nodes of the clique tree T (G u ). Then, the pointwise LMI (15) can be decomposed into l pointwise LMIs of smaller dimension, each corresponding to a clique. Furthermore, each pointwise LMI depends only on the x i ,x i and x i for each node i contained in the corresponding clique.
Proof. Using the Algorithm 3.1 from [34], it is possible to decompose the graph G into the clique tree T (G ). Let the integer l > 0 be the number of cliques in T (G ). Our proof follows similar arguments to Section II of [33].
Let the sets C 1 , . . . , C l be the nodes of T (G ), and card k be cardinality (number of elements) of the set C k , k ∈ N [1,l] . For each index k ∈ N [1,l] , define the matrix E k ∈ R card k ×n obtained from the n × n identity matrix with blocks of rows indexed by N [1,N ] \ C k removed.
Denote the left-hand side of the LMI (15) by T . The existence of l cliques implies that there exist matrices F k : Then if F k ≺ 0, ∀k ∈ N [1,l] , the matrix T is negative definite. Thus, the LMI (15) holds. For each node i ∈ V contained in the clique C k . The corresponding matrix F k has arguments x i ,x i and x i . In other words, F k depends on how strongly the nodes of the system (defined by G c ) and communication network (defined by G p ) are connected among each other.
If a graph is not chordal, it is possible to make it chordal by adding "fake" edges to form new cliques in the graph. This is referred to as a chordal embedding, chordal extension, or a triangulation. Algorithms for finding such triangulations are well-developed and widely-used for solving large sparse linear equations and semidefinite programs [46], [34].  We note here that these "fake" edges are only used to define the l cliques used in the decomposition (20), in order to speed up the computational verification of (15). The fake edges do not appear in the communication graph and do not have any impact on the resulting structure of the metric M or differential controller K, and hence do not effect the theoretical results on stabilization or distributed communication structure.

A. Distributed Control of a Vehicle Platoon
We first illustrate the proposed method through the design of a distributed nonlinear platoon controller. Platooning provides a means for improving road safety, throughput and vehicle efficiency. The control objective is for groups of vehicles to cooperatively maintain a group reference velocity with small intervehicle spacing.
Each vehicle is assumed to be equipped with a radar measuring intervehicle distance and a wireless communication device to communicate with surrounding vehicles. Limitations in range and delay in the communication device mean that allto-all communication within a platoon is generally impossible, i.e. the platoon must operate with communication limited to nearby vehicles. Several authors have proposed distributed controllers achieving stability and string stability subject to communication constraints e.g. [47], [48], [49] and references therein. In [50], the use of a nonlinear protocol leads to significant improvements in string stability.
Adapting the model used in [51, Sec 3.1], we design decentralized controllers for platoons of heterogenous vehicles with dynamicṡ where s i , v i , u i and ω i are the ith vehicles position, velocity, control input and a disturbance. The term T i (v i ) represents the dynamics of the drive chain The parameters used are randomly selected from the range shown in table I. Choosing a state vector of x = (s 1 , v 1 , s 1 − s 2 , v 2 , ..., s N −1 −s N , v N ) T allows for the problem of platooning at a constant velocity with constant spacing to be formulated as tracking a trajectory where v * is the desired nominal platoon velocity and d * is the intervehicular spacing. The dynamics of the platoon are written concisely in the form (1b). We consider a balanced communication graph with a horizon h. That is, each agent i has access to the state of agents One advantage of the convexity of CCM synthesis is the ease of adding additional constraints. In this paper, we constrain the nonlinear controller to match a prescribed linear H ∞ controller near a particular operating point.
We assume the existence of a block diagonal storage function V (x) = x T P x rendering the structured controller design problem convex. While the restriction to a block diagonal P is generally conservative, we find the same resulting gain bound for the cases when P is full and P is block diagonal.
We solve a state-feedback H ∞ control problem by searching for a storage function P = Q −1 and feedback gain K = ZQ ∈ Ξ that minimizes a performance bound sup w ||y|| L 2 ||w|| L 2 ≤ α via the following semidefinite program [52]: In general, there are many controllers that can satisfy the same gain bound in problem (23). As such, we can improve performance by first solving (23) and then fixing α and maximize the smallest eigenvalue of Q.

Distributed CCM
The set of matrices W, Y satisfying LMIs (15) define a set of universally stabilizing control laws of the form (14). Note however, that the model exhibits non-physical behaviour for negative or large v i , when the term T i (v i ) is zero or negative, hence LMI (15) cannot be satisfied over all x. It can, however, be enforced over a convex set v i ∈ [0, 50ms −1 ] using Lagrange multipliers, c.f. Remark 2 above. We utilize a dummy variable ν to help solve the following feasibility problem where Y ∈ Ξ consists of degree 2 polynomials, W is a block diagonal, flat metric and τ i is a lagrangian multiplier consisting of degree 2 polynomials in x and ν. Solving this problem with N = 10 and λ = 0.02 using Yalmip [53], [54] and Mosek on an intel i7 processor with 8GB of ram took 9 seconds for h = 0 and 40 seconds for h = 1.
We compare the resulting controllers for two communication patterns in three different situations. The first situation looks at tracking a step change in reference velocity from 10ms −1 to 5ms −1 that occurs at time t = 5 seconds. We then study the platoon response to a temporary disturbance at time t = 10 and a worst-case step disturbance at time t = 20 as described by (24). The platoon velocity response can be seen in figure 3 and the platoon's position response can be seen in figure 4. Figures 3 and 4 show the well known, desirable effects that increasing communication has on the rate of synchronization and propogation of disturbances down the vehicle chain. Figure 4 also shows an overall reduction in the magnitude of the disturbance response. Note that the nonlinear system is operating far from the linearization point of 25ms −1 . The use of separable control contraction metrics, allows for controllers with different communication patterns to be easily developed with guaranteed stability across an operating range.

B. Scalability and Flexibility: Large-Scale System with Uncontrollable Linearization
In this subsection, we consider a more academic example to illustrate the flexibility and scalability of the CCM approach. Consider a system of N agents with local dynamicṡ for i ∈ N [1,N ] and for convenience define the boundary states x 0 = x 1 and x N = x N +1 . For each index i ∈ N [1,N ] , define the vectors q i = (x i , y i ),q i = (x i−1 , x i+1 ) and let q = (q 1 , . . . , q N ), and Note that system (25) is not controllable when linearized about the origin, since the x and y dynamics are decoupled, and are not linearly independent at the origin. Furthermore, due to the quadratic term on y, the only possible action by the controller on the x-subsystem is to move the x-component of solution to (25) towards the positive semi-axis. In other words, the controller cannot reduce the value of the x-component.
To show the advantages of the method proposed in this paper, a benchmark composed of three scenarios, according to the constraints imposed on the matrix Y , has been created. Namely, the unconstrained case, in which G c is a complete graph, the "neighbor" case, in which G c = G p , and the fully decentralized case, in which G c has no edges (i, j) with i = j.
In each case we searched for a constant dual metric W and a matrix function Y with second-order polynomial terms in the variables as described by Ξ. The numerical results were obtained using Yalmip [53], [54] and Mosek running on an Intel Core i7 with 32GB RAM.
For the unconstrained case, the graph G c describing the communication network is fully connected and the matrix Y was full, with each element able to depend on all state variables. For this case, the set of matrix inequalities (15) could not be solved due to memory constraints when N > 8, i.e. state dimension n > 16.
For the two latter cases, it was possible to solve (15) for up to N = 512 systems, i.e. a full state dimension of n = 1024, using the chordal decomposition of Section IV. Since the string topology is chordal, and the LMI (15) can be decomposed into N − 1 cliques each with two nodes. Figure 5 shows simulations of the network (25) with N = 4. All controller structures achieve exponential convergence, whereas the open loop simulation (performed with u ≡ 0) does not converge to the origin. Figure 6 shows a plot of the time taken to solve (15) for the three cases considered in this topology: unconstrained, "neighbor" and fully decentralized. According to this graph, for N = 1, 2, the time taken for each of the three cases is comparable. However, as the number of systems increases, the unconstrained quickly becomes infeasible, whereas the neighbor and decentralized cases, the computation time is approximately linear in the number of nodes.

VI. CONCLUSIONS
In this paper we have developed a method for control design using separable control contraction metrics, building upon [31]. The main advantage in using a separable CCM is that it allows a convex (semidefinite programming) search for nonlinear feedback controllers with specified communication structure in the controller. Furthermore, we have shown that the search for a CCM can be made scalable for certain interaction structures defined by chordal graphs.