## 3 Distributed Model Predictive Control  
To complete the requirements to state an OCP, we introduce a strict convex stage cost function \(\ell_{p}\colon Z\times U\rightarrow\mathbb{R}_{\geq 0}\), which is a positive definite with respect to an individual target \(z_{p}^{*}\in Z\) for each robot. In this distributed setting, each robot is steered by a controller which solves an OCP over a finite horizon length \(N\) based on the measured state. Then, after solving its OCP, the first control value of the obtained control sequence is applied, and the procedure is repeated until a termination condition is met, i.e., the target \(z_{p}^{*}\) is reached. To this end, the overall OCP is stated as  
\[\min_{\mathbf{u}_{p}}J_{p}^{N}\left(\mathbf{u}_{p};z_{p}^{0},i_{ p}\left(n\right)\right) :=\sum_{k=0}^{N-1}\ell_{p}\left(z_{p}^{u}\left(k;z_{p}^{0}\right),u_{p} \left(k\right)\right)\] (16) subject to \[z_{p}^{u}(k+1;z_{p}^{0}) =f(z_{p}^{u}(k;z_{p}^{0}),u_{p}(k)), k \in\left[0:N-1\right],\] \[u_{p}(k) \in U, k \in\left[0:N-1\right], \tag{17}\] \[G\left(z_{p}^{u}\left(k;z_{p}^{0}\right),i_{p}(n)(k),i_{p}(n)(k- 1)\right) \geq 0, k\in\left[1:N\right],\] \[z_{p}^{u}\left(k;z_{p}^{0}\right) \in Z, k\in\left[1:N\right],\] \[z_{p}^{*}\in Z,\] \[z_{p}(0)\in Z\]  
regarding the given constraints concerning the kinematic model, control, state constraints, and coupling constraints induced by the information of the other robots and by individual initial conditions and targets. By solving the OCP, an optimal control sequence \[\mathbf{u}_{p}^{*}=\left(u_{p}^{*}\left(0\right),\ldots,u_{p}^{*}\left(N-1\right) \right), \tag{18}\]  
is obtained, where uniqueness is ensured by the strict convexity of the cost function \(\ell_{p}\). We introduce the corresponding value function as \(V_{p}^{N}\): \(Z\times\left(\mathbb{N}_{0}\times\mathcal{G}\right)^{\left(P-1\right)\left(N -1\right)}\rightarrow\mathbb{R}_{\geq 0}^{+}\) via  
\[V_{p}^{N}\left(z_{p^{\prime}}^{0},i_{p}\left(n\right)\right)=J_{p}^{N}( \mathbf{u}_{p^{\prime}}^{*}z_{p}^{0},i_{p}\left(n\right)). \tag{19}\]  
The DMPC scheme, which is executed by each robot based on the scheme by References [30,31], is presented in algorithmic form and is divided in an initialisation phase (Algorithm 1) and an execution phase (Algorithm 2). ```
1:Given admissible states \(z_{p}\) for initial states \(z_{p}^{0}\) for all \(p\in\left[1:P\right]\)
2:for\(p=1\) to \(P\)do
3:for\(k=1\) to \(N\)do
4: Set\(\mathcal{I}_{p}\left(0\right)\left(k\right):=\left(k,q\left(z_{p}^{0}\right)\right)\)
5:endfor
6: Broadcast\(\mathcal{I}_{p}\left(0\right)\)
7: Set\(w_{p}=false\)
8:endfor
9:Set\(\mathbf{Q}=\emptyset\)
```  
**Algorithm 1** DMPC initialisation for the overall system  
In Algorithm 1, every robot keeps its initial state in the first time instant and broadcasts this before the OCP is solved. \(\mathbf{Q}\) and \(w_{p}\) are needed later for the derivation of conditions for convergence and practical stability. ```
1:Call Algorithm 1
2:for\(n=0,1,\ldots\)do
3:for\(p=1\) to \(P\)do
4:if\(n>0\)then
5: Measure\(z_{p}\left(n\right)\)
6: Receive\(\mathcal{I}_{q}(n)\) for \(q\in\left[1:P\right]\setminus\left\{p\right\}\)
7: Assemble\(i_{p}\left(n\right)\) using Algorithm 3
8:else
9: Receive\(\mathcal{I}_{q}(n)\) for \(q\in\left[1:P\right]\setminus\left\{p\right\}\)
10: Set\(i_{p}\left(n\right)\) according to Equation (6)
11:endif
12:SolveOCP in Equation (16) and Apply\(u_{p}^{*}\left(0\right)\)
13: Broadcast\(\mathcal{I}_{p}\left(n\right)\)
14:endfor
15:endfor
```  
**Algorithm 2** DMPC execution for the overall system  
As stated in Reference [10], the asymmetry of information has to be handled: Robot \(p\) has information \(\mathcal{I}_{q}\left(n\right)\) of the robots \(q,q\in\left[1:p-1\right]\), while for the successive robots \(q,q\in\left[p+1:P\right]\), the information of the last time instant \(\mathcal{I}_{q}\left(n-1\right)\) is accessible. The latter issue is solved in Algorithm 3.