Decentralized local-global connectivity maintenance for networked robotic teams

A prerequisite for a team of robots to cooperate is to maintain connectivity among robots. Connectivity maintenance has been extensively studied recently and several local and global connectivity maintenance algorithms have been proposed for the distance dependent communication topology. Local methods are known to be very restrictive and it will be shown that global methods, based on power iteration estimation, could be sluggish in the presence of communication delay and non-converging in large and sparse robot teams. Therefore, a method based on k -hop routing is proposed, where k is a design parameter to determine the locality level of the proposed method. Before any link disconnection, a test for an alternative k -hop path is executed and, based on its result, the disconnection is allowed or blocked. Blocking displacement for maintaining connectivity will eventually immobilize (freeze) the network. Therefore, a procedure for unfreezing the network is also proposed. Simulation results are provided to further investigate the proposed method.


Introduction
Connectivity maintenance has been an active research field in the last decades and it has been widely investigated. One of the requirements for decentralized coordination and control methods, in multi-robot systems, is the connectivity of the communication graph [31,38] , which is relevant for accomplishing many cooperative multi-agent missions as collaborative transportation, search and rescue tasks [9,13] and decentralized control frameworks [16,21] . Therefore, connectivity preservation is a critical design consideration in mobile multi-robot systems and almost essential for any kind of team working in multi-robot systems.
In a network of mobile robots with limited range communication links, the movement of robots can cause link disconnection. Therefore, a connectivity maintenance procedure should provide a supervisory or an integrated control method to preserve connectivity of the network (i.e., maintenance of at least one communication path between each two robots). However, preserving connectivity is not the primary goal of the multi-robot system. Therefore, the main controller or the path planner should have enough freedom to reach the primary goal, which is different from connectivity maintenance, like reaching a place in the aggregate movement of a group, in an immigration problem. In other words, connectivity maintenance procedure should take action only when it is essential (i.e., any further movement may cause a disconnection).
Several approaches have been proposed to maintain connectivity of the graph related to the interconnections among robots. Mainly two different approaches can be cited, with regard to the amount of information exchange required to accomplish this goal. Authors in [1,17] have proposed a local approach, where the controller design is based on preservation of all initially existing links. In local methods, each robot only needs to access current states or outputs of its immediate neighbors and the time requirement to gather such an information is equal to a 1-hop communication delay, which can be safely neglected in many applications. On the other hand, local connectivity maintenance approach is restrictive with respect to the freedom of movement of the robots: in fact, keeping every initial connection leads to constraining the mobility of the robots, when disconnection of a certain link may not result in two disconnected sub-graphs (i.e., a disconnected network). Global connectivity maintenance, on the other side, has been investigate recently [11,29,31,39] and the goal is to preserve connectivity of the network in a global sense (i.e., preserving the possibility of communication for each two robots with a multi-hop path, while some initially existing links might disconnect), which is sufficient for cited multi-robot tasks and many others to be accomplished. Global connectivity algorithms are mainly based on The rest of the paper is organized as follows: in the next section, necessity for a new approach with tune-able level of locality is discussed. Section 3 provides needed background on graph theory and illustrates a modified algorithm for finding a path with certain properties in ad-hoc networks. Section 4 is a statement of the connectivity maintenance problem and, in Section 5 , our algorithm to maintain connectivity is presented. Simulation results for 3 different scenarios are shown in Section 6 , and the paper is concluded in Section 7 .

Related works
Recent works in the area of connectivity maintenance could be categorized based on several features as locality, boundedness of the control input, dynamic behavior of the robots and time delay considerations.
With regard to the locality of the proposed methods, local connectivity maintenance based on preserving initial links of a connected network, to preserve its connectedness property, has been investigated in multiple works [14,17,37] . Artificial potential functions to provide attraction between robots when their distance increases are proposed in [35][36][37] for preserving local connectivity while reaching a flocking goal. In these works, gradient of the artificial potential function is added to the control input of the robots to artificially impose the existence of the potential function. Recently authors in [27][28][29][30]39] have discussed about achieving connectivity from a global point of view, to attain more flexibility. The idea is to allow disconnections of initially existing links, while these disconnections could be tolerated and connectivity of the network is preserved (i.e., a criteria for network connectivity like positiveness of the second smallest eigenvalue of the Laplacian matrix is satisfied). However, such a global solution is not always achievable, without restricting the speed of robots in the presence of communication delay. To show this, simply consider robots with maximum speed S max and 1-hop communication delay τ , with a limited range of communication which we call R hereafter. In such a network, an l -hop communication delay is l τ and the maximum, non looped, length of a communication path in a network with N robots is N − 1 . Also, consider the condition where there is only an (N − 1) -length communication path between two robots in the network, which is the worst case. The time needed to exchange information between these robots is equal to (N − 1) τ . Therefore, even a centralized estimation of connectivity (i.e., sending all information to one of the robots) at least requires a time larger than (N − 1) τ to retrieve all the information needed for calculating the adjacency matrix and provide a reliable output about connectivity. Consider two robots in opposite direction and velocity magnitude S max , with only an (N − 1) -length communication path connecting each other: their relative displacement before a reliable output from the connectivity estimator can be up to 2 S max (N − 1) τ . Therefore, if R < 2 S max (N − 1) τ, the network could be disconnected, just before obtaining any reliable output from the connectivity estimator. Thus, for any multi-robot system with R < 2(N − 1) τ S max , global connectivity maintenance is not achievable for N robots. In other words, the upper bound on the maximum achievable robot speed is less than R 2(N−1) τ , for any method guaranteeing global connectivity in the presence of communication delay as in [32] , even with the assumption of unbounded control input. On the other hand, with the same line of argument, this upper bound on the speed for a k -hop Connectivity maintenance algorithm is R 2 kτ and consequently R 2 τ for local connectivity maintenance. Therefore, global connectivity preservation may be even more restrictive than the local approach of maintaining initial connections, in certain circumstances, where the displacement of robots in a time delay is comparable to the limited range of communication or with a highly populated robotic system on a sparse associated graph. It is worth noting that according to these calculated upper bounds, speed restriction for global connectivity is of O ( 1 N ) (i.e., reciprocally more restriction with the scale of the network). While, speed restriction for k -hop connectivity maintenance is of fixed order O ( 1 k ) with respect to the size of multi-robot system. A more detailed comparison between local and global connectivity maintenance is given in [22] . The aforementioned works are considering the possibility of using unbounded control inputs to solve the connectivity maintenance problem, which is not practical in real world robotic systems. To solve this issue, boundedness of the control input has been investigated in [5,11,12,23] . Connectivity maintenance control input, in these works, is added to another bounded input needed for achieving any specific goal of the robotic system. Also, boundedness of the control input puts another restriction on the connectivity maintenance procedures, which is unavoidable from a practical point of view: in many robotic systems the control input is the acceleration of the robots. Therefore, a robot is not able to stop instantly. Hence, there will be a displacement after a stop command from a path planner, which puts another upper bound on the speed of the limited communication range multi-robot system. To show this, consider the maximum initial inter distance among the robots as R max (0) and let R = R − R max (0) . Consider two robots with this maximum distance link to be moving in opposite directions with the maximum speed magnitude: the robots should be able to stop, if their movement is going to result in a disconnection. Therefore, each robot should be able to stop before having a

ARTICLE IN PRESS
JID: EJCON [m5G; July 15, 2019;16:15 ] displacement more than R /2. With a fully actuated robot, in the best case (i.e., possibility of determining direction of the acceleration to be in opposite direction of speed), the maximum speed must be less than β R , for the robot to be able to stop with a displacement less than R /2, where β is the maximum magnitude of the bounded acceleration and R is the communication range. Different types of robotic mechanical systems and various classes of dynamic models have been investigated in the recent works on connectivity maintenance. Authors in [20] proposed a formation with connectivity preservation algorithm for robots with single integrator dynamics. Flocking with connectivity maintenance has been investigated for double integrator with damping in [6] . Robots with Lagrangian model have been considered in [29,30,32] and connectivity maintenance in rendezvous problem with unknown additive dynamic and disturbance is investigated in [7] . Connectivity maintenance in the presence of communication delay has been examined in [32] .
In this paper, locality of the proposed algorithm can be deliberately chosen. Therefore, it will be possible to tune the search distance for an alternative path and the designer will be able to match the upper bound on the speed limit, in delayed communication graphs, with the physical capability of the robots. The control input is considered to be bounded, and no restriction is considered with the dynamic model of the robots as long as there exists a controller capable of steering the robot to a desire point, while satisfying a (to be defined) output constraint, which we have considered as assumptions in this work.
The proposed algorithm is a supervisor on the reference signal provided by the path planner and the problem of connectivity maintenance is decomposed into designing a controller for the robots to track the reference input and a supervisor to change the reference input, if the planned path is leading to disconnection.

Preliminaries
A graph theoretic description of the interconnection topology of a multi-robot system is provided in the following subsection and a modified dynamic source routing method for finding an alternative path, disjoint from a set of edges, which is used as a function in our main algorithm, is described in Section 3.2 . The following equation is used multiple times, for calculating the maximum traveling distance with a constant break acceleration to stop a robot from moving: where x is the traveling distance, s(0) is the initial speed and a is the break acceleration. Indexing variables in this work are defined locally and it might happen to redefine them in several places without making ambiguity. A spherical sector, in this paper, is a portion of a sphere defined by the intersection of a cone with apex at the center of the sphere. The axis of the sphere sector is considered to be the axis of the defining cone.

Graph theoretic concepts in multi-robot systems
Connections between N robots with limited connectivity range, moving in an n -dimensional space, is modeled using a distance dependent graph which, based on movement of the robots, could be time-varying. Let G (t) = (V, E(t )) be a graph and the set of nodes or vertices be the set of edges and A is the adjacency matrix associated with the graph, such that A ii = 0 and A ij > 0 if there is a link from node j to node i . The neighbors of node v i are A path is a sequence of edges that connects a sequence of vertices. A sub string of a path is a sub sequence of the vertices in the path. Two edge-disjoint (or edge-independent) paths have no edge in common. A path is disjoint from a set S e of edges if none of the edges in S e are contained in the path. The length of a path is the number of edges included in that path and a k -hop path is a k -length path with k − 1 nodes as hops between the source and the destination. Let x i ∈ R n denote the position of v i : then the distance dependent adjacency matrix, for an undirected communication (i.e., duplex links), is defined as follows: Adjacency matrix for a weighted graph is defined as is the weight associated to the edge from vertex i to vertex j . The degree matrix associated with a graph is defined as: Let be the Laplacian matrix. The second smallest eigenvalue λ 2 of the Laplacian matrix is known to be an index of the connectivity of the graph. A communication topology with equal range of communication for all the robots will be called homogeneous limited range hereafter.
Theorem 1 [26] . In an undirected graph, the following statements are equal: (a) The graph is connected. (b) There exists at least one path between every pair of the nodes in the graph. (c) There is at least a spanning tree.

Definition 1.
A k -local connectivity maintenance algorithm is a method that allows an edge disconnection only if there is an alternative k -length path for that edge, disjoint from the set of other disconnecting edges.

Definition 2.
A disconnecting edge is an edge with an inter distance larger than some specific value, defined in Eq. (9) , while the robots are still able to prevent disconnection of that edge. 0-local connectivity is trivially identical with the local connectivity definition, as defined in [23,[29][30][31] . It will be shown that k > (N − 1) , for k -local connectivity maintenance, is meaningless and (N − 1) -local connectivity is equivalent to global connectivity, defined in other works.
A complete (or all to all) graph has an edge between each pair of its nodes and a circular graph has exactly two edges for any node, and it is connected.
The algebraic connectivity is bounded and its amount is dependent on the definition of weights associated with the edges in a weighted graph (i.e., A i j = w i j ), which consequently impacts the definition of the adjacency matrix and the Laplacian matrix. For example, a scalar multiplication of weights has the same effect on the algebraic connectivity (i.e., λ 2 (αL ) = αλ 2 (L ) ).
Lemma 1 [4,8] . Assume an undirected graph with N nodes, and with max (D i j ) ≤ N − 1 . For such a graph, the maximum achievable algebraic connectivity is N , and it can be achieved by a complete graph.

Routing in ad-hoc networks
An ad-hoc routing protocol is a way of finding a communication path between two nodes in a network, with a decentralized procedure, where the nodes are not connected to any centralized manager. Two main types of routing protocols in ad-hoc networks are proactive (or table driven) and reactive (or on-demand) algorithms. The proactive algorithms, like the optimized link state routing protocol [15] , keep fresh available route lists based on periodic messages among nodes. On the other hand, for on demand routing protocols, like dynamic source routing (DSR) [19] and mobility and direction aware ad-hoc on demand distance vector [33] , a route discovery function is activated, whenever there is a need to send a new information packet through an unknown route. Also, there are hybrid and hierarchical ad-hoc routing procedures, that have features of both basic procedures [34] .
In this paper, ad-hoc routing is used to assess if a link can be disconnected. In particular, given a link to be disconnected, ad-hoc routing is used to find the availability of an alternative k -hop path that does not contain such links.
The disconnecting links should not be used by the routing procedure and a universal clock is not considered in our work. Therefore, we will use a maximum k-hop propagation of the discovery phase (i.e., robots ignore a discovery message if it is exchanged more than k times) instead of using a dead time. However, the robot which had requested the search for an alternative path uses a local timer for indicating a dead time and waits only (K + 1) τ max for the return of the discovery message, which also does not require a universal clock. However, the robot which had requested the search for an alternative path uses a local timer for indicating a dead time and waits only (K + 1) τ max for the return of the discovery message, which also does not require a universal clock. We have added a set of links that are not allowed to forward discovery messages, to avoid using those disconnecting links in the routing process. Also, in this work, we are searching for an alternative path. Therefore, it is not needed to announce the found path using the found path itself, and it is possible to use the direct disconnecting edge itself to announce the existence of the found alternative path. This modified discovery function works as follows: 1. On demand, a discovery message containing k + 1 id blocks and the set of my disconnecting edges (i.e., disconnecting edges of the robot running the algorithm) will be created by the source, with the first and the last blocks filled by the source and the destination ids, respectively. This message will be broadcast on all of the source edges excluding those that are in the set of disconnecting edges. 2. On receiving a discovery message, each node investigates if it is itself the destination: if so, the found path will be announced to the source. Otherwise, the receiver of the discovery will search for its own id in the id blocks: if its id is not in the message and there exist a non filled id block, the receiver will register its id at the first empty block and the message will be broadcast on all of its edges excluding those that are in the set of its disconnecting edges. Otherwise, if blocks are all filled or the node has already registered its id in the message, the receiver will not propagate the message.
Algorithm 1 illustrates our modified version of the path discovery method. Each robot is considered to have a unique id and the algorithm is event-driven (i.e., the algorithm does nothing until an event occurs). The Demand event is triggered whenever there is a need to find a path between the robot and another robot with id = Dest inat ion _ id. My _ id is the id of the robot itself, which is running the code. My _ Disconnecting _ Edges is the set of disconnecting edges of the robot. The Broadcast (., .) function sends its first argument on all the edges connected to the broadcasting node but those in the second argument. The Recei v e event occurs when a discovery Message is received from a neighbor. The symbol "." as an operator is used to extract a part or property of an object (e.g., Message . ID is the ID list in the Message ). The Register (., .) function Algorithm 1: Route Discovery in Ad-Hoc Multi-Robot-Systems.

Result : Discovering a route On Event < Demand(Dest inat ion _ Id) >
inserts the first argument in the first empty block of the second argument. The Announce (Message, Source _ Id) function sends the discovered path to the source robot which has initiated the discovery message.

Problem statement
The concern of this paper is to design a decentralized supervisor, such that movement in the robotic network with distance dependent graph defined in (2) will not result in a disconnected network (i.e., non satisfaction of one of the items in Theorem 1 ), while a 1-hop communication is delayed at most τ max seconds.
Each robot is only able to determine its own input and only the information about its neighbors are accessible. There is no assumption directly on the dynamic model of the robots. The assumptions are a maximum velocity magnitude and a controller existence, that will be subsequently defined in (8) and (7) . Also, there is no assumption about homogeneity of robots dynamic model.

Main results
In this section we will introduce our approach toward connectivity maintenance. First, the sluggishness of the decentralized power iteration based method, in certain conditions, will be shown. A basic version of our proposed algorithm is proposed in Section 5.2 , and realistic considerations as communication delay and mechanical constraints are investigated in Section 5.3 .

Power iteration based connectivity maintenance
The approach of the power iteration method is to determine the eigenvector of a matrix that is corresponding to the largest eigenvalue, using iterated multiplication of the matrix by a random vector. Assume F ∈ R ω×ω , with ω as the size of matrix F , as a diagonalizable matrix, with v F ω , . . . , v F 1 as its eigenvectors and its ordered eigenvalues . Then, Therefore: For all j = ω, ( λ F j λ F ω ) z converges to zero, when z → ∞ . Therefore,

ARTICLE IN PRESS
that is the eigenvector corresponding to the largest eigenvalue of matrix F, up to a multiplier. In each iteration, the result is normalized after each multiplication to avoid the result to grow unboundedly or diminish to the zero vector. Authors in [28,39] have proposed a decentralized form of the power iteration method to find the eigenvector in the subspace P = { r ∈ R ω | r⊥ 1 ω } . By using a spectral shift transformation (i.e., Q = I − αL ), to reverse the eigenvalues order, where I is the identity matrix and 1 ω is an ω-dimensional vector with all elements equal to one. Their estimator resulted in an estimation of the eigenvector corresponding to the second biggest eigenvalue of Q , that is the second smallest eigenvalue of the Laplacian matrix.
The error of estimation of the centralized form of power itera- Therefore, the error is exponentially converging with the rate However, it is quite common in structural graphs (e.g., complete or circular graphs) to have a Laplacian matrix with similar second and third smallest eigenvalues. In this case, the spectral transformed problem will not converge (i.e., . Even though, in the derivation of the decentralized power iteration method [39] , there exists an equilibrium for the case of similar eigenvalues, the dynamic estimator will converge to a vector in a (p − 1) -dimensional ball perpendicular to the eigenvectors associated with λ j = λ 2 , where λ 1 = 0 , λ 2 = . . . = λ p < λ p+1 , . . . , λ ω are eigenvalues of the Laplacian matrix. However, the convergence of the estimator only guarantees a bounded error and nothing more than a simple normalized guess about associated eigenvector with λ 2 in the described ball.
Results for connectivity maintenance based on decentralized power iteration [28,29,31] are based on an initial excess connectivity assumption (i.e., λ 2 (0) > η, where η is a bounded value greater than the sum of estimation error bound of λ 2 and a desired minimum algebraic connectivity). However, as described in Lemma 1 , λ 2 (0) is a property of the initial communication graph and it is also bounded (it might be even smaller than the initial estimation error). In other words, for the initial estimate, it is possible to choose a number in the interval (0, ω] as the initial guess about ˜ λ 2 (0) , where ˜ λ 2 is the output of the estimator and max (D i j ) < ω − 1 . Also, 0 < λ 2 (0) < ω. Therefore, it could happen that λ 2 (0) < | λ 2 (0) −˜ λ 2 (0) | , which means λ 2 (0) < η, that is in contrary with the assumption made in the aforementioned decentralized power iteration based methods. Also, in the condition of repeated eigenvalues equal to λ 2 , the estimation error is not converging and the assumption of excess connectivity may not be satisfied even running the estimator for a long time before execution of the system, without any movement of the robots.
The decentralized power iteration algebraic connectivity estimation error converges with a slower rate than the centralized form. Therefore, the decentralized λ 2 estimation error rate of convergence is slower than g( λ 3 λ 2 ) z with g as some coefficient. Thus, for the error to be slower than some specific value c , the required . Length of the longest path in a network with N nodes is N − 1 and the delay for communication over this path is (N − 1) τ max . Therefore, the time needed for gathering information from all nodes to execute one iteration is at most (N − 1) τ max seconds. Thus z c (N − 1) τ max seconds are needed for the estimation error of λ 2 to be smaller than some specific value c . In this period of time, the distance between two robots with opposite directions can grow to 2 z c (N − 1) τ max S max . Therefore, is a requirement, not to let an edge disconnect before a bounded error estimation of λ 2 is provided. It is worth noting, that z c can be infinitely big in case of λ 3 → λ 2 , which means S max → 0.

Basic local-global connectivity maintenance method
With increasing number of agents and the sparsity of the communication graph, the complexity of a global solution to the connectivity maintenance problem also increases. Therefore, in this subsection a method based on k -hop connectivity is introduced in which the level of locality can be tuned based on networks requirements and specifications.
Based on the definition of connectivity, which is availability of a communication path between any two different nodes of the network, our proposed method investigates the existence of a khop path between robots whose movement may disconnect some existing communication links. Proof. Because of connectivity, there is a path between each pair of nodes, initially. For all disconnecting edges, with the assumption made, there is an alternative edge-disjoint path from D E i . Therefore, pair of nodes on sides of edges in D E i will remain connected.

Lemma 2. Disconnecting a set of edges D
where v x is one of the nodes on one side of a disconnecting edge of v i . Then, for each pair of nodes { v y , v z } that are connected by a path involving an edge in D E i , there exists another path disjoint from D E i . To show this, consider the non disjoint path involving the edge (v i , v x ) and the initial connect- Therefore, there will be an alternative disjoint path from D E i for each pair of nodes and the network remains connected after disconnecting D E i . Fig. 1 further illustrates Lemma 2 . In Fig. 1 a the disconnecting edge will be allowed to disconnect, because there is an alternative path to connect the vertices on sides of the disconnecting edge. While, in Fig. 1 b, the network will be divided into two isolated networks so the disconnection will not be allowed. Fig. 1 c shows a condition where the alternative path has a disconnecting edge and there is no alternative path excluding the set of all disconnecting edges ( D E i ). Therefore, disconnection in this case will not be allowed.
With the movement of a robot, more than one of its incident edges could be disconnected: hence, the existence of an alternative path should be checked for all of them in the general case. However, in the homogeneous limited range problem, neighbor nodes Proof. In the homogeneous limited range problem, each node based on its neighbors' location, is able to compute which ones of its neighbors are neighbors themselves. Therefore, a node is able to partition its neighbors in connected disjoint sub-groups, which are defined by the connected disjoint sub-graphs of the neighbors.

ARTICLE IN PRESS
Consider the case where the movement of node v i will disconnect the set of edges , the set of all vertices adjacent to the edges in the set D E i except for v i ) and consider a partition of V D i into κ sub-sets ∪ κ α=1 S α = V D i , such that each set of vertices S α with its associated edges construct a connected sub-graph. If there is a path between v i and v l ∈ S γ , with 1 < γ < κ, then by connectivity of S γ there also exist a path between v i and v p ∈ S γ . Therefore, connectivity will be preserved for disconnection of multiple edges, if there is an alternative path for one representative in each connected partition of neighbors.
Lemma 3 helps reducing the number of needed searches for alternative paths. For example, in R 2 , the circular coverage of a node can be partitioned into 6 equal sectors. The maximum distance between any two points in these sextants is less than R : then, any pair of robots in these sectors are already connected. Therefore, the neighbors of each node can be partitioned in at most 6 connected disjoint subgraphs, in this case.
Here we provide a supervisory algorithm for a simple case of connectivity maintenance problem, that will be modified for a realistic case in the following subsection. Based on Lemmas 2 and 3 , our local-global connectivity preservation algorithm is shown in Algorithm 2 , for robots with dynamics described as follows: ˙ x i (t) = u i (t) (5) where x i (t) ∈ R n is the position of the robot i , and u i (t) ∈ R n is the actuator input.
Algorithm 2 has to be implemented on all robots. It could be considered as a decentralized supervisory controller, which cancels any attempt toward disconnection of the network.

Algorithm 2:
Connectivity Maintenance for non-delayed communication and first order integrator dynamic.

Result : Connectivity Preservation repeat
Definition of the functions and variables used in this algorithm are as follows: • x (t) N i is the position of the robots in the neighborhood of robot i .
• Edge _ Disconnection (x (t) N i , R ) output is a set containing all the edges associated with v i , which will be disconnected with any further movement (i.e., v j ∈ N i | x i − x j = R ). • Select _ Sector(. ) output is a set containing only one node in each connected sub-graph of the input argument, as described in Lemma 3 .
• Vert (.) output is the set of vertices on sides of the set of edges given as the input.
initiates a k -hop routing search to find a path, disjoint from D E i , between v i and v j , by means of Algorithm 1 . • Response (.) is returning the result of its input argument, which is the result of the route discovery, which is done by Algorithm 1 .

Remark 1.
In this algorithm, communication and computation delays are not considered, and the dynamic model is not realistic, because the input works on the velocity of the robot, which requires unbounded acceleration.

Theorem 2.
A robotic network composed of N robots whose dynamics are given as in (5) and whose distance dependent adjacency matrix is defined as in (2) , will preserve connectivity under the supervisory controller given in Algorithm 2 .
Proof. Considering the dynamics of the robots and the communication model, the motion of robot i can cause disconnection of an edge connecting with robot j only if x j − x i = R . Edges with this characteristic can then be stored in set D E i for each robot i . Then, the existence of a k -hop alternative path disjoint from D E i is tested (considering the results in Lemma 3 regarding the reduction of the number of necessary searches). If k -hop alternative routes are found for each edge, then u i ( t ) is allowed, otherwise v i will be frozen and the edges will not be disconnected. Therefore, an edge is disconnected only if there are other disjoint (from disconnecting edges) paths connecting the vertices with disconnecting edges and, according to Lemma 2 , this is sufficient for connectivity preservation. Proof. Consider the minimum spanning tree of the graph excluded from the disconnecting edges. This tree will have N − 1 edges, if it exists. Therefore, if the graph stays connected after an edge disconnection, then there will be a path with length less than N − 1 between each vertices. Therefore, searching for a (N − 1) -hop alternative path is sufficient for global connectivity.

Local-global connectivity maintenance method with realistic considerations
The previous subsection presented a basic version of the proposed method. However, it is not preserving connectivity in the presence of communication delay, which does exist in real world communication links. Nevertheless, it will be shown, that in the expense of shortening the communication range, achieving connectivity maintenance in the presence of communication delay is possible.
We will hereafter consider the following realistic robotic dynamic, which is more realistic than (5) We have made the following assumptions: (8) which are a feasibility condition for controller design and a maximum speed consideration for robots (i.e., a maximum attainable speed by bounded inputs). With x i d as the desired location for robot i and δ as the maximum distance from the line connecting the initial location and the desired location, while controlling the robot to move on this line. It is worth noting that the con- 2 is necessary for any kind of controller which maintains connectivity. Otherwise, a robot with only one link to the network could be detached regardless of the controller's bounded action. The set Line ( The controllability notion lim t→∞ x i (t) = x i d represents the ability to asymptotically drive the robot to a desired position.
With this defined dynamic model for the robots and the existence of communication delay. It is not possible to stop robots from moving at the exact time a disconnection of the network is going to happen. Therefore, the connectivity maintenance algorithm has to evaluate the safety of an edge disconnection and command the robots, when the inter-distance between robots is a certain amount less than R . Consider an asymmetric communication topology in which request for discovering a k -hop connectivity can only propagate through the links with limited range less than R s defined in (9) , with adjacency matrix for discovery propagation as (10) , and the adjacency matrix for response as defined in (11) .
where τ max is the maximum time delay with a 1-hop communication. Note that with this definition of R s , implicitly we have as- In this case, a procedure like Algorithm 2 with R s as the maximum communication range can maintain connectivity. However, the asymmetric definition of the adjacency matrix might freeze the whole system with an inter-distance R f , R s < R f < R − 2 δ, where any k -hop routing discovery will not propagate, while the network is still connected. This phenomenon also occurs for Algorithm 2 with inter-distance R .
Therefore, another procedure should be added to unfreeze the network simultaneously. Consider a robot with at least one link with length more than R s that did not get announcement of a found alternative path after a specific time. Let where Dis joint _ path ((v i , v j ) , D E i ) is a path between v i and v j disjointed from the set of disconnecting edges D E i . Any robot should move in a direction which will result in decreasing the distance between it and its neighbors in N i ( t ). In general this problem could be solved as the following constraint problem, where t f i is the moments when robot i get a Freeze 2 command. All solution to this problem x u i are formulated in Equation (12) . The Freeze 2 command changes the reference set point of robot i to the position it had occupied at the moment tf i . The time t u i is the first moment robot i is unfrozen after some interval of being frozen.
The set x u i (t) includes all the points p , such that: if robot i goes to point p its distance with each of its neighbors will be reduced.
Note that x j (t f j ) is not accessible at the moment t f i because of the communication delay. Also, t f i ≥ t f j if j ∈ X i , because at the moment t f i robot j might be already in a freeze state, otherwise it will get a Freeze 2 command at the moment t f i because robot i has an edge with it, which is disconnecting without a disjointed alternative path from other disconnecting edges. Therefore, x u i (t) is defined from t f i + τ max . Consider each robot pursue the following target: Theorem 3. If each robot follows the reference in (13) , eventually X i will be empty.
Proof. Consider node v i with X i = ∅ . The constraint problem in (12) will always have a solution if all the nodes v j ∈ N i connected to v i are inside a sphere sector with opening angle less than π , in a sphere with radius more than R s and center v i as shown in Fig. 2 . Consider the right circular base of the sphere sector, which is closer to the vertex of the sphere sector than any robot in N i . The center of this circular base is one of the solutions to the problem (12) : to show this, consider each plane consisting v j ∈ N i , v i itself and the center of the circular base as shown in Fig. 2 , then: the base circle is perpendicular to the sphere sector, π /2 ≤ θ ≤ π and γ > 0. Therefore, for any j : Now consider the smallest convex surface C ( t ) enveloping all the nodes. This convex surface will be a convex polyhedron and,  16:15 ] neighbors in N ζ are inside a sphere sector with opening angle strictly less than π . Consider: x ζ (t) − x j (t) (16) as the sum of all inter distances between each pair of vertices on the surface C ( t ), with their neighbors in N ζ ( t ). Let the vertices on the polyhedral track the set points driven by equation (13) , then the energy like function (16) will eventually decrease. To show the decreasing behavior of (16) , while tracking (13) , let t f = max ζ t f ζ .
If the set of vertices which are on the largest enveloping surface remains unchanged, then: With the assumption made in (7) : So: Therefore: Otherwise, if a new robot appears to be on the enveloping polyhedral in a finite time, then we can apply the above argument for this new envelope. Therefore, the smallest enveloping surface is eventually shrinking. Consequently, there will be no frozen edge with distance larger than R s .

Remark 2.
The proof of Theorem 3 has not considered free movement for unfreeze robots. Therefore, our proof is correct only if there is not any movement except for that caused by (13) . However, in the case where there is free movement and a new robot might get a freeze command, the number of frozen robots will oscillate. Hence, movements ruled by (13) will unfreeze some of frozen robots and free movements might add some new frozen robots.
Algorithm 3 is our proposed method to maintain connectivity in the presence of communication delay and dynamics (6) . The algorithm is event driven and each event subroutine is executed when the event occurs. The < unfreeze > event will occur at time t u i , if N i is inside a sphere sector with opening angle less than π , X i (t u i − ) = ∅ and X i (t u i ) = ∅ , with > 0& → 0 . On < unfreeze > events, the reference input is switched back to the Path _ P lanner. On < freeze > event, the axis of the sphere sector is calculated, and a point on this axis is selected as a reference input for the controller, such that all the robots in X i are farther from the circular base crossing this point. Wait ( τ max ) is to wait τ max seconds, so that the robot can access its neighbors information at their freeze Algorithm 3: Connectivity Maintenance with delayed communication and realistic dynamic considerations.

Result : Connectivity Preservation repeat
end end time, because the freeze event occurs at t f i but information from neighbors are accessible after a 1-hop delay. The · operator is the dot product of two vectors. Any time a discovery message is sent, a new instance of a T imer _ e v ent(., . ) will be created, which is triggered by an acknowledgement of discovery or after the dead time (specified in its second argument) is elapsed. Ack is to specify acknowledgement of a discovery message for an alternative path by the destination (i.e., the alternative path has been found). Here, the Freeze 2 command changes the reference set point of the robot to the position it occupied at the moment t f i (i.e., the moment the Freeze 2 command is executed). Functions used in this algorithm are similar to Algorithm 2 , with the difference of passing R s as the limited range of communication distance and x (t − τ ) N i is the delayed location of neighbor nodes.
An overall view of our approach and its position in the control loop is shown in Fig. 3 .

Theorem 4.
For an initially connected (based on adjacency matrix defined in (10) ) graph, the multi-robot system with communication graph defined in (2) , with link delay less than τ max and with the maximum speed and controller existence assumptions (7) and (8)  direction), link distance between each pair of robots can grow up to (2 k + 2) τ max S max . Also, each robot v i can access to the location of its neighbor v j with a delay τ ij < τ max : in this time delay the robot can get away at most 2 τ max S max . If, after time (k + 1) τ max , the robot does not receive the acknowledgement of an alternative path, the supervisor will switch the reference from the path planner and it will command to freeze (i.e., to stay in its current position). However, due to bounded input or mechanical constrains, after the Freeze 2 command the robot may still move in a ball with radius δ, as assumed in (7) . Therefore, the maximum movement between two robots, during this process, will be less than (2 k + 4) τ max S max + 2 δ. Due to the asymmetric connection considered in (10) and (11) , the discovery message is only propagated by links with inter-distant less than R s . Therefore, any link propagating the discovery message will remain connected (i.e., its distance remains smaller than R ), at least until the acknowledgement of the discovery message is received, which means an alternative path exists and the edge can be disconnected without disconnecting the network, or after waiting (k + 1) τ max , the discovery is considered to be failed by the robot and a Freeze 2 command will be executed. In the failed case of discovery the inter distance will be at most R s + (2 k + 4) τ max S max + 2 δ, which is less or equal to R due to the definition of R s in (9) . Thus, any link disconnection will have an alternative k -length path or its disconnection will not be allowed. Therefore, according to Lemma 2 , the graph will stay connected.
In Algorithm 3 , to find the axis of the sphere sector and to test if all the neighbors are inside a sphere sector with opening angle less than π , first two robots h and k that are making the biggest less than π angle, between h , i , k , is found using ) then we define the axis as the unit vector on the bisector of the angle between h , i , k . If the vectors from i to all other robots has an angle less than π 2 then the sphere sector's opening angle is less than π . To test this (x w (t f w ) − x i (t f i )) · axis > 0 is checked, where w is the robot which the vector from i to w is making the biggest angle with the axis of the sphere sector.

Remark 3.
For discrete communications (i.e., packet based information exchange) the amount of time needed to send a packet of information could be added to the maximum time delay.

Remark 4.
Instead of the Freeze 1 and Freeze 2 functions, a local connectivity maintenance procedure (e.g., a potential function) can be activated, when a link distance is going to be greater than R s for links without an alternative path. Activation of this potential function for link distance more than R s will recover the link to a distance less than R s , which is the function of unfreeze subroutine of our work. However, developing such a procedure is beyond the scope of this work and it is suggested for a future works.

Discussion and simulation results
Based on robots dynamic model involved in the networked multi-robot system, the problem of a controller design to satisfy the assumptions made in (7) could be solved with different controller synthesis methodologies. The problem could be formulated as an output or state constraint model predictive controller design problem [24,25] . Also, it is possible to satisfy the assumptions with a controller guaranteeing a known bounded l ∞ → l ∞ gain between state and disturbance, as an input to state definition of stability [18] .
In this section we introduce a sliding mode controller for double integrator robots subject to damping, where the needed assumptions are fulfilled.
The i -th robot's model is given in (22) , where x i ∈ R n and u i ∈ R n are the position and the control input of the robots, respectively. It has been considered that f (x i , ˙ x i , d i ) ∞ < μ (i.e., a bounded additive force, which we consider as disturbance) and the input is constrained: u i ∞ < β (i.e., bounded control input in each direction) with the . ∞ as the infinity norm of a vector.
Consider the control input to be βSat (ψ ( ˙ The sliding boundary layer is defined as the subspace of the error dynamics state space, where ˙ e i (t) + e i (t) ∞ < 1 /ψ . Outside of the boundary layer: the required time, in the worst case, to change the direction of ˙ e i in each dimension is, at most, S max β−μ .
Therefore, the maximum displacement for a robot, while e i (t) · e i (t) > 0 , is at most = S 2 max 2(β−μ) , and the maximum error is less , outside the boundary layer. Inside the boundary layer: according to its definition, ˙ e i (t) + e i (t) ∞ < 1 /ψ and when e i ( t ) is growing e i (t) ·˙ e i (t) > 0 , with this two statements, when e i is grow- Therefore, in both regions, inside and outside of the boundary layer: max d i , ˙ Simulation results for 20 robots with dynamic model (22) on an initially complete graph are illustrated in Fig. 4 . The goal is to organize the robots on the largest possible circular shape, while connectivity is maintained. Robots are initially in the same place  5. Largest connected circle, for different values of k in the notion of k-local connectivity for maximum speed S max = 9 m/s . and the path planner tries to unboundedly increase the diameter of the circle. In this experiment, the subroutine for "on event < unfreeze > " in Algorithm 3 is not executed, because we want the robots to freeze, when the largest possible circle happens. In this experiment, different values for the locality level of the algorithm are chosen. Parameter values used for this simulation are shown in column ex-1 of Table 1 . It is shown that searching for a longer alternative k -length path will result in a larger coverage for the multi-robot system. However, this result is due to the small communication delay compared to the number of robots and their maximum speed. In conditions where the robots are very fast or the communication delay is very long, locality of the algorithm is not proportional to the maximum attainable coverage. Fig. 5 shows results for the same goal with S max = 9 m/s and other parameters are equal to the experiment ex-1, as shown in ex-2 column of Table 1 . Note that, in this experiment, maximum coverage for k = 5 is larger than the result for k = 19 .
In another scenario, one of the robots is considered to be unable to move in the first 120 seconds, because of an obstacle or a fault, while the goal of all the robots is to reach to the point (20 0,20 0) in the Cartesian plane, from the origin. Due to the connectivity maintenance restrictions, the moving group should wait, until the unable to move robot's fault is resolved. In Fig. 6 a and  b, the movement of robots in each Cartesian axis of R 2 is illustrated. The motion of the robots during this simulation is also shown in the attached video, which is 30 time faster than real time. Dynamic models of the robots are considered to be as in (22) , where r is a random vector in R n and r ∞ < μ, considered as an additive disturbance. Also, number of edges of the communication network and the algebraic connectivity are depicted in Fig. 6 c and d, respectively. The oscillating movement of the robots, while waiting for the faulty robot, is due to the events < freeze > and < unfreeze > subroutines of Algorithm 3 , such that the network is unfreezed by this subroutine (i.e., normal robots turn back toward the faulty robot to reduce inter-distances more than R s ) and in another try to reach to the point (20 0,20 0) the network freezes again and this oscillation continues until the faulty robot recovers from the fault. Parameters used for this simulation are shown in column ex-3 of Table 1 .

Bandwidth requirement
To the best of the authors knowledge, all the existing connectivity maintenance procedures like [1,5,11,20,28,31] are assuming a continuous time availability of neighbors information, which needs infinite number of messages and infinite bandwidth. However, here we assume possibility of implementing a discrete versions of the existing methods. The proposed local-global connectivity maintenance needs information exchange for the alternative path search, when one of the edges are going to be disconnected. While, in normal working condition (i.e., there are no disconnecting edge), only distance between neighbors are checked. On the other side, traditional global connectivity maintenance methods are always information demanding. The number of message exchanges for different methods are as follows: • With local connectivity maintenance method: each robot needs to send information to immediate neighbors. Therefore, N messages are broadcast to neighbours. • The needed assumption for power iteration based method to work correctly is to have a bounded estimation error [28] .
To achieve a bounded error less than some bound c , number of iteration is needed, as shown in Section 5.1 .
Each iteration needs data exchange between neighbors: hence, similar to the local method, each iteration needs O ( N ) messages. Therefore, power iteration based method needs data exchange of O ( z c N ). It is worth noting, that z c is not a fixed value and is dependent on the ratio of λ 2 to λ 3 and when λ 2 = λ 3 it needs infinite data exchanges. • In the proposed method, there are maximally N 2 edges for an N robots network, and each robot propagates the alternative path discovery message, for a disconnecting edge, only once, and ignores the message if it had registered its id in the discovery message another time, according to Algorithm 1 . Thus, for each disconnecting edge, at most N messages will be broadcast to the neighbors. In the worst case of an all to all graph with all the edges being disconnecting, there will be O ( N 3 ) messages needed for the proposed method. Fig. 7 shows number of messages which are exchanged in ex-3.

Conclusion
In contrast with the belief of achieving more flexibility with a global solution for connectivity maintenance, this paper showed that, in the presence of communication delay, global approaches to connectivity maintenance are restricting the maximum achievable speed for the robots. Therefore, the paper proposed an algorithm that allows to freely tune the level of locality. The connectivity maintenance problem was divided into designing a controller to cope with the dynamics of the robots for satisfying some assumptions and a general algorithm to cope with the connectivity which, from a practical point of view, makes the system design modular (i.e., the designer of the multi-robot system only need to consider the controller part for different types of robots).
With connectivity maintenance as the highest level supervisor, a single permanent movement failure for one of the robots will limit the work-space of the whole robotic system permanently. Studying a higher level decentralized algorithm for disabling the connectivity maintenance algorithm in such situation is recommended for future study on this subject.