A standard method for solving convex distributed optimization problems is the consensus alternating direction method of multipliers (CADMM). CADMM is an ADMM-based optimization method where compute nodes (robots) alternate between updating their primal and dual variables and communicating with neighboring nodes. To achieve a distributed primal-dual update, CADMM introduces auxiliary primal variables (i.e. \(\theta _i = z_{ij}\)  and \(\theta _j = z_{ij}\)  instead of \(\theta _{i} = \theta _{j}\) ). CADMM works by first optimizing the auxiliary primal variables, followed by the original primal variables, then the dual variables, as in the original formulation of ADMM [1]}. Implementations of CADMM then perform minimization with respect to the primal variables and gradient ascent with respect to the dual on an augmented Lagrangian that is fully distributed among the robots:
\(\mathcal {L}_a = \sum _{i \in \mathcal {V}} \ell (\theta _i) + p_i^{\top }\theta _i + \frac{\rho }{2} \sum _{j \in \mathcal {N}_i} \vert \vert \theta _i - z_{ij} \vert \vert _2 ^2\) 
