---
abstract: 'Connectivity maintenance is an essential task in multi-robot systems and it has received a considerable attention during the last years. A connected system can be broken into two or more subsets simply if a single robot fails. A more robust communication can be achieved if the network connectivity is guaranteed in the case of one-robot failures. The resulting network is called biconnected. In [@Zareh2016biconnectivitycheck], we presented a criterion for biconnectivity check, which basically determines a lower bound on the third-smallest eigenvalue of the Laplacian matrix. In this paper, we introduce a decentralized gradient-based protocol to increase the value of the third-smallest eigenvalue of the Laplacian matrix, when the biconnectivity check fails. We also introduce a decentralized algorithm to estimate the eigenvectors of the Laplacian matrix, which are used for defining the gradient. Simulations show the effectiveness of the theoretical findings.'
author:
- 'Mehran Zareh, Lorenzo Sabattini, and Cristian Secchi [^1]'
bibliography:
- 'biblio\_connectivity.bib'
- 'biblio.bib'
- 'biblio\_applications.bib'
title: '**Enforcing Biconnectivity in Multi-robot Systems**'
---

Introduction
============

In the last decade, decentralized control systems have been increasingly investigated [@olfati2005consensus; @Zareh_consensus; @ZarehPhd15]. Advances in small size computation, communication, sensing, and actuation have caused a growing interest in decentralized control and decision making. Decentralized control of multi-robot systems can be exploited for addressing many real world applications (e.g., surveillance, exploration of unknown environments, space-based interferometers, and automatic highways). In these systems the robots coordinate their motion, in order to achieve the global objective. Because of some unknown obstacles, the robots might get trapped and hence disconnected from the team. Therefore, the robots must recognize these phenomena and utilize proper strategies to preserve the network connectivity. This is a substantial task that must be seen as an objective of the control action. In the existing literature on multi-robot control systems, the connectivity of the network graph, i.e. the interaction pattern among the robots, is assumed. There are two main approaches to preserve the connectivity: local and global maintenance. In local connectivity maintenance the aim is to develop a controller that keeps all initially existing communication links. Some examples of decentralized control for local connectivity maintenance can be found in [@notarstefano2006maintaining; @ajorlou2010class]. In comparison to the local ones, the global connectivity maintenance algorithms are based on global quantities of the network, and do not restrict link failures or creation. In the last few years, several works on this topic (see e.g. [@zavlanos2011graph; @sabattini2013decentralized; @sabattini2013distributed; @giordano2013passivity]) have appeared.

To obtain a robust communication in a multi-robot system, the connectivity has to be guaranteed when a single robot crashes or is suddenly called by a human user to perform some unpredicted task. In other words, the resulting graph must remain connected if one of the nodes and all its incident edges are removed. Possessing this property, the graph is called biconnected [@golumbic2004algorithmic]. In addition to robustness, biconnectivity provides a better bandwidth for communication by providing multiple paths to the destination. The connectivity robustness of robot networks under failures is often neglected in the literature. Some related works in graph theory describe algorithms to find biconnected components in a graph based on optimization theories. These algorithms mainly utilize depth-first search or backtracking [@tarjan1972depth; @tarjan1984finding] in a centralized way. In [@ahmadi2006distributed; @ahmadi2006keeping], the problem of biconnectivity check for a network is presented. They propose an approach to detect the biconnected component. Since the algorithm requires a global probe, it cannot be seen as a decentralized one. Very recently, [@ghedini2015improving] investigated the robustness problem in multi-robot systems so that, despite robot failures, most of the robots remain connected and are able to continue the mission. Based on a maximum 2-hop communication, each robot is able to detect dangerous topological configurations in the sense of the connectivity and can mitigate in order to reach a new position to get a better connectivity level. The paper, based on local information, introduces a parameter, called vulnerability, that allows each robot to detect the level of its effect on the topological configuration.

In order to have a biconnected network graph, one needs to recognize and relocate the robots, whose failure potentially can cause disconnection, so that more connections are created. In [@Zareh2016biconnectivitycheck], based on a decentralized algorithm, we proved that the biconnectivity conditions are related to the third-smallest eigenvalue of the Laplacian matrix.

In this paper, we propose an algorithm to enable each node of the network graph to detect if it is a crucial one for the network connectivity. These nodes are termed as articulation points. If there is no articulation point, then the resulting graph is biconnected. Moreover, we provide an algorithm for enforcing biconnectivity. First, each robot perturbs its communication links’ weights, estimates the eigenvalues of the perturbed Laplacian matrix, and checks the biconnectivity condition introduced in [@Zareh2016biconnectivitycheck]. Then, if the check fails, the robots starts moving to new positions to create new links. The main idea is to form a gradient-based controller to increase the third-smallest eigenvalue of the Laplacian matrix. To this end, we need to have decentralized estimates of the third-smallest eigenvalue and an associated eigenvector. For eigenvalue estimation we use the algorithm introduced by [@franceschelli2013decentralized]. We develop a decentralized protocol that allows each robot to estimate the eigenvectors of the Laplacian matrix.

The outline of the paper is as follows. In Section \[section:notations\], we introduce notations and some basic notions on graph theory, which will be used in this work. The problem statement is introduced in Section \[section:problem\_statement\]. Section \[section:main\_results\] provides the main contribution of this paper. We provide some theorems on decentralized eigenvector and eigenvalue estimation, and a gradient-based controller to achieve biconnectivity. In Section \[section:simulations\], the simulation results are given to verify the theoretical findings. Finally, in Section \[section:conclusions\], we conclude the paper and describe the open problems.

Preliminaries {#section:notations}
=============

In this section, we recall some basic notions and definitions on graph theory and introduce the notation used in the paper.

The topology of bidirectional communication channels among the robots is represented by an undirected graph ${\mathcal{G}}({\mathcal{V}}, {\mathcal{E}})$ where ${\mathcal{V}}=\{1,\ldots,n\}$ is the set of nodes (robots) and ${\mathcal{E}}\subset{\mathcal{V}}\times {\mathcal{V}}$ is the set of edges. An edge $(i, j) \in  {\mathcal{E}}$ exists if there is a communication channel between robots $i$ and $j$. Self loops $(i, i)$ are not considered. The set of robot $i$’s neighbors is denoted by ${\mathcal{N}}_i  = \{j \ : \ (j, i) \in  {\mathcal{E}}; j = 1, \ldots, n\}$. The network graph ${\mathcal{G}}$ is encoded by the so-called [*adjacency matrix*]{}, an $n \times n$ matrix $A$ whose $(i,j)$-th entry $a_{ij}$ is greater than $0$ if $(i,j)\in {\mathcal{E}}$, $0$ otherwise. Obviously in an undirected graph matrix $A$ is symmetric. The degree matrix is defined as $D={\text{diag}}(d_1,d_2, \ldots, d_n)$ where $d_i = \sum_{j=1}^{n}a_{ij}$ is the degree of node $i$. The Laplacian matrix of a graph is defined as ${\mathcal{L}}=D-A$. The $i$-th column of ${\mathcal{L}}$ is denoted by $l_i$. The Laplacian matrix of a graph has several structural properties. Due to the Gershgorin Circle Theorem [@meyer2000matrix] applied to the rows or the columns of the Laplacian, it is possible to show that it has non-negative real eigenvalues for any undirected graph ${\mathcal{G}}$. By construction matrix ${\mathcal{L}}$ has at least one null eigenvalue because either the row sum or the column sum is zero. Furthermore, let ${\mathbf{1}}$ and $\mathbf{0}$ be respectively the vectors of ones and zeros with proper dimensions, then ${\mathcal{L}}{\mathbf{1}}=\mathbf{0}$ and ${\mathbf{1}}^T{\mathcal{L}}=\mathbf{0}^T$. Denote by $\lambda_i(\cdot)$ the $i$-th smallest eigenvalue of a matrix, and $v_i(\cdot)$ an associated right eigenvector. Due to the symmetry, the eigenvalues of the Laplacian matrix are all real, and can be ordered as $$0=\lambda_1({\mathcal{L}})\le\lambda_2({\mathcal{L}})\le \ldots\le \lambda_n({\mathcal{L}}).$$ In ${\mathcal{G}}$ a node $i$ is reachable from a node $j$ if there exists an undirected path from $j$ to $i$ or vice versa. If ${\mathcal{G}}$ is connected then ${\mathcal{L}}$ is a symmetric positive semidefinite irreducible matrix. Moreover, the algebraic multiplicity of the null eigenvalue of ${\mathcal{L}}$ is one. For a graph ${\mathcal{G}}$, the second smallest eigenvalue of the Laplacian matrix is called *algebraic connectivity*. This eigenvalue gives a measure of connectedness of the graph. Algebraic connectivity is a non-decreasing function of graphs with the same set of vertices. This means that if ${\mathcal{G}}_1({\mathcal{V}}, {\mathcal{E}}_1)$ and ${\mathcal{G}}_2({\mathcal{V}}, {\mathcal{E}}_2)$ are two graphs constructed on the set ${\mathcal{V}}$ such that ${\mathcal{E}}_1 \subseteq {\mathcal{E}}_2$, then $\lambda_2({\mathcal{G}}_1)\leq\lambda_2({\mathcal{G}}_2)$. In other words, the more connected the graph becomes the larger the algebraic connectivity will be.

We denote $\tilde{a}_i=[a_{ij}]^T\in {\mathbb{R}}^{n}, \ \ j=1,\ldots,n,j\ne i$. We also define the perturbed adjacency matrix $A^i(\epsilon)$ obtained from $A$ by multiplying all $a_{ij}$ and $a_{ji}$s by $\epsilon\in {\mathbb{R}}^+$. The associated perturbed degree $D^i(\epsilon)={\text{diag}}(A^i(\epsilon){\mathbf{1}})$ and Laplacian matrix ${\mathcal{L}}^i(\epsilon)=D^i(\epsilon)-A^i(\epsilon)$ are defined accordingly. Indicate the reduced graph ${\mathcal{G}}^{R_i}$ achieved from ${\mathcal{G}}$ by removing node $i$ and all its incident edges. Accordingly, $A^{R_i}$ is the adjacency matrix, $D^{R_i}$ is the degree matrix, and ${\mathcal{L}}^{R_i}$ is the Laplacian matrix of ${\mathcal{G}}^{R_i}$.

Problem Statement {#section:problem_statement}
=================

We study the biconnectivity maintenance problem in multi-robot systems. Communications are assumed to be between each robot and its 1-hop neighbors, or neighbor-to-neighbor data-exchange. The connectivity of the initial network is also presumed.

The following definitions from the algebraic graph theory will be used in the rest of this paper.

A vertex $i \in {\mathcal{V}}$ of a connected graph ${\mathcal{G}}$ is called an *articulation point* if ${\mathcal{G}}_i^R$ is not connected.

A connected graph is called *biconnected* if it has no articulation point.

A *block* in ${\mathcal{G}}$ is a maximal induced connected subgraph with no articulation point. If ${\mathcal{G}}$ itself is connected and has no articulation point, then ${\mathcal{G}}$ is a block [@west2001introduction].

If the sub-graph based on node $i$ and its neighbors ${\mathcal{N}}_i$ is a block, then $i$ is called a locally-biconnected node.

We raise the two following problems.

For a multi-robot system with a connected interaction graph ${\mathcal{G}}$, using a distributed algorithm, find if the resulting network graph is biconnected.

If the network graph is not biconnected, then provide an algorithm to enforce this property.

The former problem was investigated in the authors’ previous work [@Zareh2016biconnectivitycheck]. In this paper, we focus on the latter. In other words, we develop a decentralized algorithm to bring a connected network into a biconnected one, i.e., the robots keep their connectivity even if one of them, for any reason, fails to communicate with the others.

Main Contribution {#section:main_results}
=================

To enable the robots to achieve a biconnected network graph, they must be aware of their connectivity status in the graph, when the corresponding nodes on the network graph and all the incident edges are disconnected. If the graph remains connected in the case of robot $i$ failure, then the node $i$ in the graph is not an articulation point. By putting weakly connected links between node $i$ and its neighbors, we aim at providing an estimate of the condition after a complete disconnection. This was proven in our previous work [@Zareh2016biconnectivitycheck]. We obtained that, if the third-smallest eigenvalue of the Laplacian matrix, for a nearly disconnected network, at any locally biconnected node $i$ and for some small $\epsilon\in {\mathbb{R}}$, meets the following condition $$\label{eq:lambda_3_epsilon_bound}
        \lambda_3({\mathcal{L}}^i(\epsilon)) >\epsilon \sqrt{n}\  (\sum\limits_{k=1}^{n}{a}^2_{ik})^{1/2},$$ then the resulting system is biconnected. If this condition does not hold, then in order to obtain a biconnected graph, the third-smallest eigenvalue must increase. In order to increase this value, we will hereafter define a decentralized protocol based on gradient descent. Note that $$\lambda_3({\mathcal{L}}^i(\epsilon))=v_3^T({\mathcal{L}}^i(\epsilon)) {\mathcal{L}}^i(\epsilon) v_3({\mathcal{L}}^i(\epsilon)),$$ To obtain the gradient, an estimate of $v_3({\mathcal{L}}^i(\epsilon))$ is required.

In this way, our approach to solve the biconnectivity problem contains the following steps

a)  First, using the algorithm introduced in [@franceschelli2013decentralized], we estimate the third-smallest eigenvalue of the Laplacian matrix.

b)  Then, we propose a decentralized consensus estimator to obtain the eigenvector associated with the third-smallest eigenvalue of the Laplacian matrix.

c)  Finally, using a decentralized gradient-based protocol, the increment of the third-smallest eigenvalue is ensured.

The next section provides one of the key results of this paper.

Eigenvector estimation
----------------------

In this section, we introduce an estimation protocol to obtain any eigenvector of the Laplacian matrix. These results can be specified to obtain the eigenvector associated with the third-smallest eigenvalue of the Laplacian matrix.

Assume that, in a multi-robot system, the network graph ${\mathcal{G}}$ is connected. Let $\tilde{{\mathcal{L}}}={\mathcal{L}}-\tilde{\lambda}({\mathcal{L}}) I$, with $\tilde{\lambda}({\mathcal{L}})\in \{\lambda_1({\mathcal{L}}),\ldots,\lambda_n({\mathcal{L}})\}$. The eigenspaces of ${\mathcal{L}}$ and $\tilde{{\mathcal{L}}}$ are identical. Specifically, the kernel of $\tilde{{\mathcal{L}}}$ lies in ${\text{span}}(\tilde{v}({\mathcal{L}}))$. Denote by $\tilde{l}_i\in{\mathbb{R}}^n$ the $i$-th column of $\tilde{{\mathcal{L}}}$. Let $\displaystyle P_i=\dfrac{\tilde{l}^i\tilde{l}^{i^T}}{\tilde{l}^{i^T}\tilde{l}^i}$, $i=1,\ldots,n$, and define a block-diagonal matrix $P={\text{diag}}(P_1,\ldots,P_n)$.

Consider the following distributed estimator $$\dot{z}_i(t)=\sum\limits_{j=1}^{n}a_{ij}(z_j(t)-z_i(t))-P_iz_i(t), \ i=1,\ldots, n,$$ in which $z_i, \ i=1,\ldots,n$ is the $i$-th agent’s estimation vector for $\tilde{v}({\mathcal{L}})$. We can rewrite the above equation in state-space form as $$\label{eq:z(t)}
    \dot{z}(t)=-Mz(t),$$ in which $z=[z_1^T,\ldots,z_n^T]^T$, $M=k({\mathcal{L}}\otimes I+P)$, with $k\in {\mathbb{R}}^+$ being the estimator gain.

The following assumption will be used in the rest of this paper.

\[assump:simple\] All eigenvalues of the Laplacian matrix are simple.

Note that the elements of ${\mathcal{L}}$ are functions of the relative distances. Since the robot’s positions are supposed to be random, the elements can get any real value. Accordingly, ${\mathcal{L}}$ is a doubly-stochastic unstructured matrix. Therefore, the eigenvalues and the elements of any eigenvector of ${\mathcal{L}}$ are almost surely distinct. If the distances, in some applications, get equal values, then we can define random edge weights to ensure Assumption \[assump:simple\]. Therefore, the above assumption is not restrictive. This will be verified later by simulations.

The next lemmas demonstrate some properties of $P$ and ${\mathcal{L}}\otimes I$.

Matrix $P$ has all eigenvalues equal to $0$ and $1$.

From the definition of $P$, we can show that $$P\cdot P={\text{diag}}(P_1\cdot P_1,\ldots,P_n\cdot P_n).$$ We have $$P_i\cdot P_i=\dfrac{\tilde{l}^i\tilde{l}^{i^T}}{\tilde{l}^{i^T}\tilde{l}^i}\cdot \dfrac{\tilde{l}^i\tilde{l}^{i^T}}{\tilde{l}^{i^T}\tilde{l}^i}=\dfrac{\tilde{l}^i(\tilde{l}^{i^T}\tilde{l}^i)\tilde{l}^{i^T}}{\tilde{l}^{i^T}\tilde{l}^i(\tilde{l}^{i^T}\tilde{l}^i)}=\dfrac{\tilde{l}^i\tilde{l}^{i^T}}{\tilde{l}^{i^T}\tilde{l}^i}=P_i.$$ Consequently $$P\cdot P={\text{diag}}(P_1,\ldots,P_n)=P.$$ Therefore $\lambda^2(P)=\lambda(P),$ which gives $\lambda(P)=0$, or $\lambda(P)=1$.

In the next lemma, using the fact that any two eigenvectors associated to two different eigenvalues of ${\mathcal{L}}$ are perpendicular, from Assumption \[assump:simple\], we select a set of orthonormal eigenvectors $v_1({\mathcal{L}}), \ldots, v_n({\mathcal{L}})$.

\[lemma:eig\_L\_kron\] The eigenvalues of ${\mathcal{L}}\otimes I$ are achieved by $n$-times repeating each eigenvalue of ${\mathcal{L}}$, i.e., $$\lambda_{kn+1}({\mathcal{L}}\otimes I)=\ldots=\lambda_{(k+1)n}({\mathcal{L}}\otimes I)=\lambda_k({\mathcal{L}}), \ k=0,\ldots,n-1.$$ The set $\{v_k({\mathcal{L}})\otimes v_l({\mathcal{L}}),\ l=1,\ldots,n\}$ forms an orthogonal basis for the eigenspace of ${\mathcal{L}}\otimes I$ associated with $\lambda_k({\mathcal{L}})$, $k=1, \ldots,n$.

It is trivial to show that the eigenvalues of ${\mathcal{L}}\otimes I$ are $n$ times repeatedly achieved from those of ${\mathcal{L}}$.

By multiplying ${\mathcal{L}}\otimes I$ by $v_k({\mathcal{L}})\otimes v_l({\mathcal{L}})$ we get $$\begin{array}{rl}
    ({\mathcal{L}}\otimes I)(v_k({\mathcal{L}})\otimes v_l({\mathcal{L}}))&={\mathcal{L}}v_k({\mathcal{L}}) \otimes I v_l({\mathcal{L}})\\&=\lambda_k({\mathcal{L}}) (v_k({\mathcal{L}})\otimes v_l({\mathcal{L}})), 
     
    \end{array}$$ which means that $v_k({\mathcal{L}})\otimes v_l({\mathcal{L}})$ is an eigenvector of ${\mathcal{L}}\otimes I$ associated with $\lambda_k({\mathcal{L}})$. Note that, for $l\ne m $ we have $v_l^T({\mathcal{L}})v_m({\mathcal{L}})=0$. Then $$\begin{array}{l}
    (v_k({\mathcal{L}})\otimes v_l({\mathcal{L}}))^T(v_k({\mathcal{L}})\otimes v_m({\mathcal{L}})) \\\hspace{2cm} =v_k^T({\mathcal{L}})v_k({\mathcal{L}})\otimes v_l^T({\mathcal{L}})v_k({\mathcal{L}})=0.      
    \end{array}$$ This shows the eigenvectors orthogonality and completes the proof.

The set $\{{\mathbf{1}}\otimes v_1({\mathcal{L}}),\ldots,{\mathbf{1}}\otimes v_n({\mathcal{L}})\}$ forms an orthogonal basis for the kernel of ${\mathcal{L}}\otimes I$.

\[lemma:eigvec\_P\] The intersection of the kernels of ${\mathcal{L}}\otimes I$ and $P$ is ${\text{span}}({\mathbf{1}}\otimes \tilde{v}({\mathcal{L}}))$.

It is trivial to show that ${\mathbf{1}}\otimes \tilde{v}$ is in the kernel of $P$. Now, by contradiction we prove that there is no other intersection between the kernels. Let ${\mathbf{1}}\otimes \psi$, $\psi\in {\mathbb{R}}^n\notin{\text{span}}(\tilde{v}({\mathcal{L}}))$, be another intersection for the kernels of ${\mathcal{L}}\otimes I$ and $P$. Then $$P({\mathbf{1}}\otimes \psi)=0.$$ From the definition of $P$ we get that $$\frac{1}{\tilde{l}^{i^T}\tilde{l}^i}\tilde{l}^i\tilde{l}^{i^T} \psi=0, \ i=1,\ldots,n.$$ This gives that $$\tilde{l}^{i^T}\psi=0,\ i=1,\ldots,n.$$ Since ${\text{span}}(\tilde{v}({\mathcal{L}}))$ is the kernel of $\tilde{{\mathcal{L}}}$, the above equation does not give any solution for $\psi$. As a consequence, the intersection of the kernels of ${\mathcal{L}}$ and $P$ is ${\text{span}}({\mathbf{1}}\otimes\tilde{v}({\mathcal{L}}))$.

\[lemma:M\] For a connected graph ${\mathcal{G}}$, if all Laplacian’s eigenvalues are simple, the matrix $ M $ in is positive semidefinite, and has a simple null eigenvalue.

For any non-zero normalized vector $x\in {\mathbb{R}}^{n^2}, \ x^Tx=1$, the Rayleigh quotient [@horn2012matrix] of $M$ is defined as $$R(M,x)=x^TM x.$$ Let $\gamma_1\le \ldots\le\gamma_{n^2}$ be eigenvalues of $M$. Since $M$, ${\mathcal{L}}\otimes I$, and $P$ are symmetric matrices, and hence Hermitian, from the min-max theorem [@horn2012matrix] we get $$\begin{array}{rl}
\gamma_1=\displaystyle \min\{R(M,x): x\ne 0\}&= k\min\{R({\mathcal{L}}\otimes I,x)\\&+R(P,x):x\ne 0\}\\
&\displaystyle=k\min\{R({\mathcal{L}}\otimes I,x):x\ne 0\}\\&\displaystyle+k\min\{R(P,x):x\ne 0\}\\
&=k\lambda_{1}+k\lambda_{P_{min}}=0.
\end{array}$$ From Lemma \[lemma:eig\_L\_kron\], we know that ${\mathbf{1}}\otimes v_j$, $j=1,\ldots,n$ form an orthogonal basis for the kernel of ${\mathcal{L}}\otimes I$. From Lemma \[lemma:eigvec\_P\], we know that the intersection of the kernels of ${\mathcal{L}}\otimes I$ and $P$ is ${\text{span}}({\mathbf{1}}\otimes \tilde{v}({\mathcal{L}}))$. This means that $$R(M,x)=0$$ occurs only for $x={\mathbf{1}}\otimes \tilde{v}({\mathcal{L}})$. In other words, $M$ is a positive semi-definite with the only one null-eigenvalue associated with the one-dimensional kernel ${\text{span}}({\mathbf{1}}\otimes \tilde{v}({\mathcal{L}}))$.

The following theorem provides conditions to estimate the eigenvectors of the Laplacian matrix.

\[theorem:consensus\] For the system given in with a connected undirected graph and a Laplacian matrix with all simple eigenvalues, we get $$\label{eq:consensus}
    \lim\limits_{t\to\infty}z_i(t)=\gamma \tilde{v}({\mathcal{L}}), \ \ i=1,\ldots,n, \ \gamma\in {\mathbb{R}}.$$

Note that $z(t)={\mathbf{1}}\otimes \tilde{v}({\mathcal{L}})$ is an equilibrium point for the system in . Consider the following Lyapunov functional $$V(t)=z^T(t)Mz(t).$$ It is easy to show that $z(t)={\mathbf{1}}\otimes \tilde{v}({\mathcal{L}})$ is an equilibrium space. By differentiating with respect to time we get $$\dot{V}(t)=-z^T(t)M^2 z(t).$$ From Lemma \[lemma:M\], we know that $M$ is a positive semi-definite matrix whose kernel is ${\text{span}}({\mathbf{1}}\otimes \tilde{v}({\mathcal{L}}))$. As a consequence, $M^2$ is also a positive semi-definite matrix with only one null-eigenvalue, and $\dot{V}$ gets a value equal to zero only on the equilibrium space. This implies that the system converges along the vector ${\mathbf{1}}\otimes \tilde{v}({\mathcal{L}})$. Or $$\lim\limits_{t\to\infty} z(t)=\gamma({\mathbf{1}}\otimes \tilde{v}({\mathcal{L}})), \ \gamma\in{\mathbb{R}}$$ which proves .

Theorem \[theorem:consensus\] says that, if the network graph does not change during a certain time interval, then each agent’s estimate, $z_i(t)$, converges to a vector parallel to the eigenvector of the Laplacian matrix. This is a key result of this paper.

The presented algorithms for eigenvalue and eigenvector estimation are independent. However, the latter algorithm requires an estimate of the eigenvalues. Hence, the total estimation time includes the time for eigenvalue estimation plus the time for eigenvector estimation. It is assumed that during this time the network graph remains constant.

Decentralized gradient construction
-----------------------------------

In this section we derive the analytical form of a completely decentralized gradient controller to increase the value of any non-null eigenvalue of the Laplacian matrix.

For an undirected graph ${\mathcal{G}}$ with the Laplacian matrix ${\mathcal{L}}$, consider the eigenvalue problem $${\mathcal{L}}v({\mathcal{L}})=\lambda({\mathcal{L}}) v({\mathcal{L}}),$$ with $v({\mathcal{L}})\in{\mathbb{R}}^n$ being a normalized vector. By multiplying both sides by $v^T({\mathcal{L}})$ we obtain $$v^T({\mathcal{L}}){\mathcal{L}}v({\mathcal{L}})=\lambda({\mathcal{L}}) v^T({\mathcal{L}})v({\mathcal{L}})=\lambda({\mathcal{L}}).$$ Derivation with respect to the node $i$’s position gives $$\label{eq:dlambda/dp}
\begin{array}{rl}
    \dfrac{d\lambda({\mathcal{L}})}{dp_i}=& \dfrac{d(v^T({\mathcal{L}}){\mathcal{L}}v({\mathcal{L}}))}{dp_i}=\dfrac{dv^T({\mathcal{L}})}{dp_i}{\mathcal{L}}v({\mathcal{L}}) \vspace{1em}\\ 
&+v^T({\mathcal{L}})\dfrac{d{\mathcal{L}}}{dp_i} v({\mathcal{L}})+v^T ({\mathcal{L}}){\mathcal{L}}\dfrac{dv({\mathcal{L}})}{dp_i}.
\end{array}$$ Since ${\mathcal{L}}$ is symmetric, we know that $$v^T({\mathcal{L}}){\mathcal{L}}\dfrac{dv({\mathcal{L}})}{dp_i}=\dfrac{dv^T({\mathcal{L}})}{dp_i}{\mathcal{L}}v({\mathcal{L}})=\dfrac{1}{2}\lambda \dfrac{d(v^T({\mathcal{L}})v({\mathcal{L}}))}{dp_i}=0.$$ Then from we get $$\dfrac{d\lambda({\mathcal{L}})}{dp_i}=v^T({\mathcal{L}})\dfrac{d{\mathcal{L}}}{dp_i} v({\mathcal{L}}).$$ Consider not a group of single integrator robots, $\dot{p}_i=u_i$, where $p_i$ is the position of the $i$-th robot. Then, we introduce the following gradient-based controller $$\label{eq:eigenvalue_increase}
u_i=\frac{d\lambda({\mathcal{L}})}{dp_i}=v^T({\mathcal{L}})\frac{d{\mathcal{L}}}{dp_i} v({\mathcal{L}}).$$ If the conditions in does not hold, we use the above gradient control to increase the value of $\lambda_3({\mathcal{L}}(\epsilon))$.

The elements of the Laplacian matrix that depend on $p_i$ are the ones in the $i$-th row, and due to symmetry, the $i$-th column. Consequently, the elements of $\dfrac{d{\mathcal{L}}}{dp_i}$ are all zeros except for the $i$-th row and $i$-th column. This implies that $u_i$ can be computed in a decentralized way.

Now we are ready to render our decentralized biconnectivity enforcing algorithm. The flowchart in Fig. \[fig:flowchart\] shows how the biconnectivity algorithm works.

= \[diamond, draw, fill=blue!20, text width=6em, text badly centered, node distance=3cm, inner sep=0pt\] = \[rectangle, draw, fill=blue!20, text width=7em, text centered, rounded corners, minimum height=4em\] = \[draw, -latex’\] = \[draw, ellipse,fill=red!20,node distance=2cm,minimum height=3em\]

(start) [Node $i$ starts]{}; (If\_locally) [Is it locally biconnecte?]{}; (Perturb) [Multiply the adjacent weights by $\epsilon$]{}; (Eig\_est) [Estimate eigenvalues [@franceschelli2013decentralized]]{}; (If\_bicon) [Does biconnectivity check [@Zareh2016biconnectivitycheck] hold?]{}; (Eigvec) [Estimate $v_3({\mathcal{L}}^i(\epsilon))$ from ]{}; (Gradient) [Use gradient-based controller in ]{}; (Stop) [Stop]{};

(start) – (If\_locally); (If\_locally) – node [no]{}(Perturb); (If\_locally)-| node [yes]{}(Stop); (Perturb) – (Eig\_est); (Eig\_est) – (If\_bicon); (If\_bicon) – node [yes]{}(Stop); (If\_bicon) – node [no]{}(Eigvec); (Eigvec) – (Gradient); (Gradient) |- (If\_locally);

Note that the algorithm is separately done by any single robot, and all the included sub-algorithms are based on the local data exchange. Therefore, the whole procedure is totally decentralized.

Simulation results {#section:simulations}
==================

In this section we aim at showing the effectiveness of the proposed algorithms. We suppose that the communication is defined by the $R$-disk model, in which the elements of the adjacency matrix are defined as $$\label{eq:a_ij}
    a_{ij}=\left\{\begin{array}{lc}
 e^{-(\|p_i-p_j\|^2)/(2\sigma)}& \|p_i-p_j\|\le R  \\ 
 0&  \|p_i-p_j\|> R,
 \end{array} \right.$$ The selected communication parameters are $$R=0.5\ \ \sigma=0.125.$$

In the following example, the performance of the eigenvector estimation algorithm is demonstrated.

For the random graph in Fig. \[fig:graph1\], the adjacency and Laplacian matrices can be computed from .

![Network graph of a randomly positioned multi-robot system[]{data-label="fig:graph1"}](graph1.jpg){width="1\linewidth" height="0.2\textheight"}

The eigenvalues of the Laplacian matrix are $$\{0,\ 0.303,\ 0.412,\ 1.125,\ 1.288,\ 1.721
,\ 2.327,\
2.970\}.$$

Normalized eigenvectors associated with the second and the third-smallest eigenvalues ($\lambda_2=0.303$ and $\lambda_3=0.412$) are $$\begin{array}{ccc}
v_2=\left[\begin{array}{r}
0,494\\
-0,446\\
-0,311\\
-0,277\\
0,490\\
-0,258\\
0,277\\
0,031 
\end{array}\right]& &v_3=\left[\begin{array}{r}
  0.208\\
  0.178\\
  0.103\\
  0.130\\
  0.069\\
  0.049\\
  0.189\\
  -0.925
\end{array}\right]
\end{array} .$$ The simulation results for $k=50$ and $500$ are shown in Figs. \[fig:v\_2\] and \[fig:v\_3\]. The corresponding elements of the estimation vectors for different robots are shown with the same colors. We can see that, by use of the proposed algorithm, the state of each robot very rapidly converges to the desired eigenvector. By increasing $k$ the convergence rate increases. We can see that the Assumption \[assump:simple\] is true.

[1]{} ![Decentralized estimation of $v_2$[]{data-label="fig:v_2"}](eigenvector_v2_slow.jpg "fig:"){width="\columnwidth" height="0.2\textheight"}

[1]{} ![Decentralized estimation of $v_2$[]{data-label="fig:v_2"}](eigenvector_v2.jpg "fig:"){width="1\columnwidth" height="0.2\textheight"}

[1]{} ![Decentralized estimation of $v_3$[]{data-label="fig:v_3"}](eigenvector.jpg "fig:"){width="\columnwidth" height="0.2\textheight"}

[1]{} ![Decentralized estimation of $v_3$[]{data-label="fig:v_3"}](eigenvector3_fast.jpg "fig:"){width="1\columnwidth" height="0.2\textheight"}

The next example demonstrates the results of a consensus problem in a multi-robot system, once with and another time without the biconnectivity algorithm.

\[example:2\] Consider the graph in Fig. \[fig:graph2\] with $n=8$ nodes. At time zero, the robots start running a simple consensus protocol $$\dot{p}_i=u_i^{c},$$ where $p_i$ indicates the position of the robot $i$, and $u_i^c$ is the local controller $$u_i^c=\sum\limits_{j\in{\mathcal{N}}_i}a_{ij}(p_j-p_i).$$

![Initial network graph of the multi-robot system in Example \[example:2\].[]{data-label="fig:graph2"}](graph2.jpg){width="1\linewidth" height="0.2\textheight"}

Fig. \[fig:graph\_simpleconsensus\_withouth\_BM\] shows that the system gets disconnected after $t=1~sec$.

![Network graph after $t=1~sec$ without biconnectivity algorithm. []{data-label="fig:graph_simpleconsensus_withouth_BM"}](graph_simpleconsensus_withouth_BM.jpg){width="1\linewidth" height="0.2\textheight"}

Next, the biconnectivity algorithm is utilized. We first check biconnectedness, following the procedure introduced in [@Zareh2016biconnectivitycheck]. Note that the node $*$ in Fig. \[fig:graph2\], is the only not locally biconnected one, and hence, it must meet the sufficient conditions introduced in . Based on the criterion , and multiplying the weight of the node $*$ by $\epsilon=0.05$, we get $$\lambda_3({\mathcal{L}}^*(\epsilon))=0.013<\epsilon\sqrt{(8)}\sum_{k=1}^{n}a_{*k}=0.0022,$$ which implies that the biconnectivity check fails. In order to increase the value of $\lambda_3({\mathcal{L}}^*(\epsilon))$, we use the gradient-based controller in , by estimating $v_3({\mathcal{L}}^*(\epsilon))$ implementing . From and , we obtain the following biconnectivity protocol for node $*$ $$\begin{array}{rl}
u_*^b&=v_3^T({\mathcal{L}}^*(\epsilon))\dfrac{d{\mathcal{L}}^*(\epsilon)}{dp^*}v_3({\mathcal{L}}^*(\epsilon))  \\ 
=& -\sum_{j=1}^{n}a_{*j}(v_{3_j}({\mathcal{L}}^*(\epsilon))-(v_{3_j}({\mathcal{L}}^*(\epsilon)))^2\dfrac{p_*-p_j}{\sigma^2},
\end{array}$$ in which $v_{3_j}({\mathcal{L}}^*(\epsilon))$ indicates the $j$-th element of the estimation vector $v_3({\mathcal{L}}^*(\epsilon))$. As shown in Fig. \[fig:graph\_simpleconsensus\_with\_BM\], the graph reaches biconnectivity after 1 second.

[0.5]{} ![Network graph achieved from biconnectivity algorithm.[]{data-label="fig:graph_simpleconsensus_with_BM"}](graph_simpleconsensus_with_BM02sec.jpg "fig:"){width="1\linewidth" height="0.2\textheight"}

[0.5]{} ![Network graph achieved from biconnectivity algorithm.[]{data-label="fig:graph_simpleconsensus_with_BM"}](graph_simpleconsensus_with_BM.jpg "fig:"){width="1\linewidth" height="0.2\textheight"}

Conclusions {#section:conclusions}
===========

In this paper, we developed a decentralized algorithm to achieve graph biconnectivity in multi-robot systems. We presented an estimation protocol to be executed by every single robot to estimate the eigenvectors of the Laplacian matrix. Simulations showed that, by increasing the estimation gain, we can expedite the convergence rate. Using the estimate of the eigenvector, a gradient control was proposed to increase the third-smallest eigenvalue of the Laplacian matrix, to reach the requirements of the biconnectedness, introduced by the authors in [@Zareh2016biconnectivitycheck]. In our future work, we aim at finding the convergence rate of the proposed algorithm.

[^1]: Authors are with the Department of Sciences and Methods for Engineering (DISMI), University of Modena and Reggio Emilia, Italy
