NAVIGATION of multiagent systems is a field that has recently gained increasing attention both in the robotics and the control communities. While most efforts in the past focused on centralized planning [21], specific real-world applications have lead researchers throughout the globe to turn their attention to decentralized concepts. This study is motivated from the field of microrobotics [15], where a large number of autonomous microrobots must cooperate at the submicrometer level. Other applications include decentralized air traffic management systems [37], distributed control of multiple unmanned aerial vehicles (UAVs) [33], and coordination of multiple robots in hazardous civil operations.

The variations of the approaches so far lie in the specifications that the control design should impose on the multiagent team, e.g., formation convergence and achievement of flocking behavior. In the formation control case, agents must converge to a desired configuration encoded by their relative positions. Many control schemes that achieve formation stabilization in a distributed manner have been proposed, e.g. , [1], [3], [7], [10], [14], [19], [20], [22], and [27]. The agreement problem, where agents must converge to the same point in the state space [5], [17], [26], [29], [32], is also relevant. On the other hand, flocking behavior involves convergence of the velocity vectors and orientations of the agents to a common value at steady state [16], [28], [36]. In many cases, the collision avoidance objective was not taken into account. It is obvious that this specification is necessary for the implementation of such algorithms in robotic systems. Collision avoidance has been dealt with in [12], [23], [24], [28], [31], and [36].

The objective of this paper is distributed swarm aggregation with collision avoidance. Each agent is assigned a control law, which is the sum of two elements: a repulsive potential field, which is responsible for the collision avoidance objective, and an attractive potential field, which forces the agents to converge to a configuration where they are close to each other. Furthermore, the attractive potential field forces the agents that are initially located within the sensing zone of an agent to remain within this zone for all time. Hence, the control design renders the set of edges of the initially formed communication graph positively invariant for the trajectories of the closed-loop system. In this way, if the communication graph, which is formed based on the initial relative distances between the team members, is connected, then it remains connected throughout the closed-loop system evolution.

A centralized version of this model was analyzed in [12], [13], and [24]. The innovation of our approach with respect to the aforementioned data is the fact that the control design is distributed. The collision avoidance objective is guaranteed through the use of repulsive potentials that disappear whenever agents are outside the sensing zone of one another, respecting the agents' limited sensing capabilities. Thus, all-to-all communication for collision avoidance [36] is no longer needed. The framework also takes into account nonholonomic constraints. We also provide a control law that renders the connectivity properties of the initially formed communication graph invariant for the trajectories of the closed-loop system, and treat the dynamic edge addition case as well. In the latter case, it is shown that the resulting swarm size is smaller than that of the static graph case treated previously. Connectivity preserving algorithms for single-integrator agents have recently been dealt with in [17], [18], [38], and [39], while the case of nonholonomic agents is treated in [9]. In contrast to [9], [17], and [18], which treat the agreement problem, the control law of this paper considers the collision avoidance objective, and moreover, it is a distributed control law, contrary to the centralized approach of [38] and [39].

In summary, the innovations and contributions of the paper are:

the use of distributed control laws for swarm aggregation;

the inclusion of the collision avoidance objective in the connectivity preserving control law;

the application of the results to nonholonomic agents;

the extension of the results to dynamic edge addition;

the fact that we prove that should a dynamic graph formulation be applied, the resulting swarm size is smaller than that of the static graph case.

A preliminary conference version of the paper appeared in [8],
compared to which we provide in the current paper a complete analysis of the nonholonomic and dynamic graph cases, as well as a more detailed simulations' section.

The rest of the paper is organized as follows. Section II describes the system and states the problems treated in this paper. Section III presents the proposed control strategy for the single integrator case. The stability analysis of the control strategy is included in Section IV. Section V extends the results to the case of unicycle-type kinematic robots. In Section VI, we reformulate the problem to allow for dynamic edge addition and provide an improved result on the swarm size than the one provided in Section IV. Computer simulation results are included in Section VII, while Section VIII provides a summary of the results of this paper.

SECTION II

## System and Problem Definition

Consider *N* (point) agents operating in . The configuration space is spanned by *q* = [*q*_{1}^{T},…,*q*_{N}^{T}]^{T}. The motion of each agent is described by the single-integrator kinematic model
TeX Source
$$\dot{q}_i=u_i,\quad i \in {\cal N}=\{1,\ldots, N\}\eqno{\hbox{(1)}}$$where denotes the velocity (control input) for each agent.

For the objective of swarm aggregation, each agent *i* is assigned to a specific subset *N*_{i} of the rest of the team, called agent *i*'s *communication set*, that includes the agents with which it can communicate in order to achieve the desired aggregation objective. Interagent communication can be encoded in terms of a *communication graph.*

*Definition 1:* The *communication graph* *G* = (*V*,*E*) is a undirected graph that consists of a set of vertices *V* = {1,…,*N*} indexed by the team members, and a set of edges *E* = {(*i*,*j*) ∊ *V* × *V* ‖ *i* ∊ *N*_{j} }, containing pairs of nodes that represent interagent communication specifications.

The definition of set *N*_{i} is provided later. Apart from the aggregation objective, it is required that the agents do not collide. Collision avoidance is meant in the sense that the point agents are not simultaneously found at the same points. The collision avoidance procedure is distributed in the sense that each agent has to have only local knowledge of the agents that are very close at *each time instant.* Since agent *i* can sense agents located at a distance no larger than *d* at each time instant, we assume that for the collision avoidance objective, agent *i* has knowledge of the positions of agents located at a distance no larger than a radius *d*_{1}, where 0 < *d*_{1} ≤ *d*, at each time instant (see Fig. 1). The subset of *N*, including the agents that are located at a distance no larger than the radius *d*_{1} from agent *i*, is denoted by *M*_{i}. Hence
TeX Source
$$M_i = \left\{{j \in {\cal N}, j \ne i:\left\Vert {q_i - q_j } \right\Vert \le d_1} \right\} .\eqno{\hbox{(2)}}$$

While *M*_{i} contains the agents located at a distance no larger than *d*_{1} from agent *i* at each time instant, the communication set *N*_{i} is defined in a slightly different manner in relation with the proposed control design. More specifically, in the following section, we show that the proposed control law forces the agents that are initially located within the sensing zone of an agent to remain within this area for all time. In this way, no edges are lost, and if the communication graph is initially connected, then it remains connected for all time. Therefore, the set *N*_{i} is defined as the set that agent *i* can sense when it is located at its initial position *q*_{i}(0)
TeX Source
$$N_i = \left\{{j \in {\cal N}, j \ne i:\left\Vert {q_i(0) - q_j(0) } \right\Vert < d} \right\}.\eqno{\hbox{(3)}}$$Let *G* = (*V*,*E*) denote the initially formed communication graph under ruling (3), according to Definition 1. An edge between agents *i*,*j* exists if they are initially located within distance *d* from each other, i.e., (*i*,*j*) ∊ *E* ⇔ *j* ∊ *N*_{i} if and only if ‖*q*_{i} (0 ) − *q*_{j} (0 )‖ < *d* . By showing that for all pairs of agents (*i*,*j*) s.t. ‖*q*_{i} (0 ) − *q*_{j} (0 )‖ < *d*, the proposed controller guarantees that ‖*q*_{i} (*t* ) − *q*_{j} (*t* )‖ < *d* for all *t* > 0, the edges are guaranteed to remain invariant (i.e., agents *i*,*j* remain within distance *d* from one another), and hence, the communication graph itself remains invariant throughout the closed-loop system evolution. This result is stated and proved in Lemma 3. The case of dynamic edge addition will be considered in Section VI. On the other hand, the set *M*_{i} changes at time instances when an agent *j*≠ *i* enters or leaves the set {*q*: ‖*q*_{i} − *q*}‖ ≤ *d*_{1} }. Therefore, the (distributed) control law is of the form *u*_{i} = *u*_{i} (*q*_{i},*q*_{j}),*j* ∊ *N*_{i} ∪ *M*_{i}.

SECTION III

## Control Strategy

We first define a repulsive potential field to deal with the collision avoidance specification between agents *i* and *j* ∊ *M*_{i}. We consider the cases of both a bounded and an unbounded repulsive potential. *V*_{ij} is required to possess the following properties.

*V*_{ij} is a function of the square norm of the distance between agents *i*,*j*, i.e.,
TeX Source
$$V_{ij} = V_{ij} \left({\underbrace {\left\Vert {q_i - q_j }\right\Vert ^2 }_{\beta _{ij} }} \right) = V_{ij} \left({\beta _{ij}} \right).$$

*V*_{ij} attains its maximum value whenever β_{ij}→ 0. This maximum value is finite when the potential force is bounded. For the case of an unbounded repulsive potential, we require that *V*_{ij}→ ∞ whenever β_{ij}→ 0.

It is everywhere continuously differentiable.

∂ *V*_{ij}/∂ *q*_{i} = 0 and *V*_{ij} = 0 whenever β_{ij} > *d*_{1}^{2}.

The partial derivative satisfies ρ_{ij} < 0 for 0 < β_{ij} < *d*_{1}^{2} and ρ_{ij} = 0 for β_{ij}≥ *d*_{1}^{2}.

It is straightforward to see that if the potential field satisfies these requirements, then agent *i* needs to have knowledge of only the states of agents within *M*_{i} at each time instant to fulfil the collision avoidance objective. The fourth requirement also guarantees that ∑_{j ∊ Mi}
∂ *V*_{ij}/∂ *q*_{i} = ∑_{j ≠ i}∂ *V*_{ij}/∂ *q*_{i}. The gradient with respect to *q* and the partial derivative of *V*_{ij} with respect to *q*_{i}
are computed by ∇ *V*_{ij} = 2ρ_{ij} *D*_{ij} *q* and ∂ *V*_{ij}/∂ *q*_{i} = 2ρ_{ij}(*D*_{ij}
)_{i} *q*, where the matrices *D*_{ij},
(*D*_{ij})_{i}, for *i* < *j*, are given by ,
where
, , and for
*k*,*l* ≠ *i*,*j*, and . The definition of *D*_{ij},(*D*_{ij})_{i} for *i* > *j* is straightforward. This definition of *V*_{ij} guarantees that the potential field has the following important symmetry property: ρ_{ij} = ρ_{ji} ∀ *i*,*j* ∊ *N*,*i* ≠ *j* .

For the purpose of aggregation, we define an attractive potential between agents *i* and *j* ∊ *N*_{i}, which is required to have the following properties.

*W*_{ij} is a function of the square norm of the distance between agents *i*,*j*, i.e.,
TeX Source
$$W_{ij} = W_{ij} ({\Vert {q_i - q_j }\Vert }^2) = W_{ij} ({\beta _{ij} }).$$

*W*_{ij} is defined on β_{ij}∊ [0,*d*^{2}).

*W*_{ij}→ ∞ whenever β_{ij}→ *d*^{2}.

It is everywhere continuously differentiable for β_{ij}∊ [0,*d*^{2}).

The partial derivative satisfies *p*_{ij} > 0 for 0 ≤β_{ij} < *d*^{2}.

Function *W*_{ij} is hence defined to ensure that agents that are located at a distance no larger than *d* from agent *i* at time *t* = 0
remain within agent *i*'s sensing zone for all *t* > 0. We have ∇ *W*_{ij} = 2*p*_{ij} *D*_{ij} *q* and ∂ *W*_{ij}/∂ *q*_{i} =
2*p*_{ij}(*D*_{ij})_{i} *q*, where , and the matrices *D*_{ij}, (*D*_{ij})_{i} were defined previously. The following symmetry property holds in this case as well: *p*_{ij} = *p*_{ji} ∀ *j* ∊ *N*_{i}
.

The proposed control law for each agent *i* is given as the sum of the negative gradients of the two potentials in the *q*_{i} direction
TeX Source
$$u_i = - \sum_{j \in N_i } {{{\partial W_{ij}}\over {\partial q_i }}} - \sum_{j \in M_i } {{{\partial V_{ij}}\over{\partial q_i }}}.\eqno{\hbox{(4)}}$$The control law can also be written as *u*_{i} = − 2∑_{j ∊ Ni}*p*_{ij}(*q*_{i} − *q*_{j})− 2∑_{j ∊ Mi}{ρ_{ij}(*q*_{i} − *q*_{j}). Since the proposed control law of *i* requires the knowledge only of the states of agents belonging to *N*_{i} ∪ *M*_{i}, it respects the sensing limitations of each agent. It is hence clearly a *distributed* control design.

SECTION IV

## Stability Analysis

The function *V* = ∑_{i}(∑_{j ∊ Ni}{*W*_{ij}}+ ∑_{j ≠ i}{*V*_{ij}) is used as a candidate Lyapunov function for the multiagent system. Differentiating *V* with respect to time, we get . We first compute the gradient of *V.* We have
TeX Source
$$\sum_i {\sum_{j \in N_i} {\nabla W_{ij} } } = 2\left({\sum_i {\sum_{j \in N_i } {p_{ij} D_{ij} } } } \right)q = 4\left({P \otimes I_2}\right)q$$where the *N* × *N* matrix, *P*, can be shown to be given by *P*_{ii} = ∑_{j ∊ Ni}*p*_{ij}, *P*_{ij} = − *p*_{ij} for *j* ∊ *N*_{i},*i* ≠ *j*, and *P*_{ij} = 0 for *j* ∉ *N*_{i}. The form of matrix *P* was derived based on the form of the *D*_{ij} matrices.

We can also compute
TeX Source
$$\sum_i {\sum_{j \ne i} {\nabla V_{ij} } } = 2\left({\sum_i {\sum_{j \ne i} {\rho _{ij} D_{ij} } } }\right)q = 2\left({R_1 \otimes I_2 } \right)q$$where matrix *R*_{1} can be computed by
TeX Source
$$\left({R_1 } \right)_{ij} = \left\{\matrix{\displaystyle \sum_{j \ne i} {\rho _{ij} } + \sum_{j \ne i} {\rho _{ji} },\hfill& i = j\hfill \cr- \rho _{ij} - \rho _{ji},\hfill& i \ne j.\hfill} \right.$$The gradient of *V* is now given by ∇ *V* = 4(*P* ⊗ *I*_{2})*q* + 2(*R*_{1} ⊗ *I*_{2})*q* . The time derivative of the stack vector of the agents' positions is given by
TeX Source
$$\eqalignno{ \dot q =& \left[\matrix{\displaystyle { - \sum_{j \in N_1 } {{{\partial W_{1j}}\over {\partial q_1 }}^T },} & \ldots, & \displaystyle { - \sum_{j \in N_N } {{{\partial W_{Nj}}\over {\partial q_N }}} ^T }} \right]^T \cr& + \left[\matrix{\displaystyle { - \sum_{j \in M_1 } {{{\partial V_{1j} }\over {\partial q_1 }}^T },} & \ldots, & \displaystyle { - \sum_{j \in M_N } {{{\partial V_{Nj} }\over {\partial q_N }}} ^T }} \right]^T .}$$The first term on the right-hand side of the previous equation is given by
TeX Source
$$\left[\!\matrix{\displaystyle{ {-}\! \sum_{j \in N_1 } {{{\partial W_{1j} }\over {\partial q_1 }}^T }\!\!,} & \ldots, & \displaystyle{{-}\!\! \sum_{j \in N_N } {{{\partial W_{Nj} }\over {\partial q_N }}} ^T }} \right]^{T\!}{=}\,{-}2({P \otimes I_2 })q.$$Also note that
TeX Source
$$\eqalignno{& \left[\matrix{\displaystyle{ - \sum_{j \in M_1 } {{{\partial V_{1j} }\over{\partial q_1 }}^T },} & \ldots, & \displaystyle{ - \sum_{j \in M_N } {{{\partial V_{Nj} }\over{\partial q_N }}} ^T }} \right]^T \cr& = \left[\!\matrix{\displaystyle{ {-}\! \sum_{j \ne 1} {{{\partial V_{1j} }\over{\partial q_1 }}^T }\!\!,} & \ldots, & \displaystyle {{-}\!\sum_{j \ne N} {{{\partial V_{Nj} }\over{\partial q_N }}} ^T }} \!\right]^{T\!}{=}\, - 2\left({R \otimes I_2 } \right)q.}$$The elements of the matrix *R* are computed based on the form of the *D*_{ij} matrix and are given by *R*_{ii} = ∑_{j ≠ i}ρ_{ij} and *R*_{ij} = − ρ_{ij} for *i* ≠ *j.* Hence, *q·* = − 2({*P* ⊗ *I*_{2})*q* −2(*R* ⊗ *I*_{2})*q* . Now, using the symmetry of the potentials, we get ρ_{ij} = ρ_{ji}⇒ *R*_{1} = 2*R*, so that , and since *R*_{1} = 2*R*
TeX Source
$$\Rightarrow \dot V = - 8\left\Vert {\left({\left({P \otimes I_2 } \right)q + \left({R \otimes I_2 } \right)q} \right)} \right\Vert ^2 \le 0.\eqno{\hbox{(5)}}$$We now state the first result of this paper.

*Theorem 1:* Assume that swarm (1) evolves under control law (4). Then, the system reaches a configuration in which *u* = 0, i.e., *u*_{i} = 0 for all *i* ∊\cal *N.*

*Proof:* The level sets of *V* are compact and invariant with respect to the relative positions of adjacent agents. Specifically, the set Ω_{c} = {*q* : *V*(*q*) ≤ *c*} for *c* > 0 is closed by the continuity of *V.* For all (*i*,*j*) ∊ *E*, we have . Equation (5) and LaSalle's invariance principle guarantee that the system converges to the largest invariant subset of the set *S* = {*q*:((*P* + *R*) ⊗ *I*_{2})*q* = 0}. Since , we have *u* = 0 and the result follows.

The next lemma establishes collision avoidance in the case of an unbounded potential.

*Lemma 2:* Consider system (1) driven by control law (4) and starting from a feasible set of initial conditions . Assume that the repulsive potential is unbounded. Then, is invariant for the trajectories of the closed-loop system.

*Proof:* For every initial condition , the time derivative of *V* remains nonpositive for all *t* ≥ 0 by virtue of (5). Hence, for all *t* ≥ 0. Since *V* → ∞ when ||*q*_{i} − *q*_{j}|| → 0 for at least one pair , we conclude that for all *t* ≥ 0.

The next result of the paper involves the fact that the proposed control law forces agents that are initially located within distance *d* from each other to remain within this distance for all time. Hence, the definition of *N*_{i} is rendered meaningful since each agent *i* does not have to violate its sensing constraints in order to sense agents within *N*_{i} as the closed-loop system evolves. In other words, the control design also guarantees that an agent *j*, initially located at a distance less than *d* from *i*, will never leave the sensing zone of *i.* This is proved in the following lemma.

*Lemma 3:* Consider multiagent system (1) driven by control law (4). The set is invariant for the trajectories of the closed-loop system.

*Proof:* Since *V*(*q*(*t*)) ≤ *V*(*q*(0)) < ∞ for all *t* ≥ 0 and *V* ∞ when ‖*q*_{i} − *q*_{j}‖ *d* for at least one pair (*i*,*j*) ∊ *E*, we conclude that for all *t* ≥ 0.

Based on the fact that all agents initially located within distance *d* from each other remain within this distance for all time, the set *N*_{i} is a static set. Hence, no new edges are created even when an agent, not initially located within the sensing radius of another agent, enters inside this set at some time instant *t* > 0. The case of dynamic edge addition, i.e., adding new edges to the communication graph each time a new agent enters the sensing zone of another agent, will be treated in Section VI. In essence, starting from the set , the communication graph remains invariant (no edges are lost) and collisions are avoided.

In the sequel, we derive bounds on the swarm size. We first show that the “swarm center” remains constant, i.e., for all *t* ≥ 0. This is proven by the fact that Since is constant, we assume, without loss of generality, that it is the origin of the coordinate system, i.e., .

Moreover, at an equilibrium point, we have *u* = 0, by virtue of Theorem 1. Considering the function Φ = (1/2)∑_{i}*q*_{i}^{T} *q*_{i} and taking its time derivative, we have Φ = (1/2)∑_{i}*q*_{i}^{T} *q*_{i}⇒ · Φ = ∑_{i}*q*_{i}^{T} · *q*_{i} = 0 . Hence, we can derive a conclusion similar to the one in [13]
TeX Source
$$\eqalignno{ \dot \Phi &= - 2\sum_i {\left({q_i^T \left({\sum_{j \in M_i } {\rho _{ij} \left({q_i - q_j } \right)} + \sum_{j \in N_i } {p_{ij} \left({q_i - q_j } \right)} } \right)} \right)} \cr& = - \sum_i {\left({\sum_{j \in M_i } {\rho _{ij} \left\Vert {q_i - q_j } \right\Vert ^2 } + \sum_{j \in N_i } {p_{ij} \left\Vert {q_i - q_j } \right\Vert ^2 } } \right)} = 0}$$and hence, at an equilibrium position
TeX Source
$$\sum_i {\sum_{j \in N_i } {p_{ij} \left\Vert {q_i - q_j } \right\Vert ^2 } } = \sum_i {\sum_{j \in M_i }{\vert {\rho _{ij} } \vert \left\Vert {q_i - q_j } \right\Vert ^2 } }\eqno{\hbox{(6)}}$$since ρ_{ij}≤ 0 ∀ *j* ∊ *M*_{i}. The last equation enables us to derive bounds on various distances that describe the swarm size. These are based on the bounds on the designed potential functions. The attractive potential is chosen so that *p*_{ij}≥ *a* where *a* > 0. An example is given by the function *W*_{ij}(β_{ij}) = *b*/(*d*^{2} − β_{ij}) for μ < β_{ij} < *d*^{2} and *W*_{ij}(β_{ij}) = *a*β_{ij} for 0 ≤ β_{ij}≤ μ, where the positive parameters *b* andμ are chosen in order to render the function *W*_{ij} everywhere continuously differentiable. We then have ∑_{i}∑_{j ∊ Ni}*p*_{ij}‖*q*_{i} − *q*_{j}‖^{2}≥ *a*∑_{i}∑_{j ∊ Ni}‖*q*_{i} − *q*_{j}‖^{2}.

For the repulsive potential, we consider the cases of both unbounded and bounded repulsion forces. In the first case, we can design *V*_{ij} so that ρ_{ij} satisfies the bound ‖ρ_{ij}| ≤ρ/β_{ij}, where ρ > 0. An example of such a potential is given by *V*_{ij}(β_{ij}) = ρ ln (1/β_{ij}) for β_{ij} < *c*, *V*_{ij}(β_{ij}) = *h*(β_{ij}− *d*^{2})^{2} for *c* ≤ β_{ij} < *d*^{2}, and *V*_{ij}(β_{ij}) = 0 for β_{ij}≥ *d*^{2}, where the positive parameters *c* and *h* are chosen in order to render the function *V*_{ij} everywhere continuously differentiable. We then have ∑_{i}∑_{j ∊ Mi}|ρ_{ij}| ‖*q*_{i} − *q*_{j}‖^{2}≤ ρ ∑_{i}|*M*_{i}|, where | *M*_{i}| is the cardinality of *M*_{i}. Equation (6) yields ∑_{i}∑_{j ∊ Ni}‖*q*_{i} − *q*_{j}‖^{2} = ∑_{i}∑_{j ∊ Ni}β_{ij}≤ (ρ/*a*)∑_{i}|*M*_{i}|. The right-hand side is maximized whenever each agent is located at a distance less than *d*_{1} from all other agents, i.e., the repulsive potential is active for all pairs . We then have ∑_{i}|*M*_{i}|≤ *N*(*N* − 1) . For each pair of agents that form an edge, an ultimate bound is then given by
TeX Source
$$\beta _{ij} \le {\rho \over a}N\left({N - 1} \right)\quad\forall \left({i, j} \right) \in E\eqno{\hbox{(7)}}$$We then have the following theorem.

*Theorem 4:* Assume that swarm (1) evolves under the control law (4) and the initially formed communication graph is connected. Denote by β_{max} the maximum distance between two members of the group, i.e., . Under the preceding assumptions, the following bound holds at steady state: β_{max}≤ (ρ/*a*)*N*(*N* − 1)^{2} .

*Proof:* Since the graph is connected, the maximum length of a path connecting two arbitrary vertices is *N*−1. The result now follows from (7).

In the case of bounded repulsion, the repulsive potential can be constructed so that ρ_{ij} satisfies the bound , where σ > 0. We then have ∑_{i}∑_{j ∊ Mi}|ρ_{ij}| ‖*q*_{i} − *q*_{j}‖^{2}≤ ∑_{i}∑_{j ∊ Mi}σ ‖*q*_{i} − *q*_{j}‖ ≤ σ *d*_{1} ∑_{i}|*M*_{i}| ≤ σ *d*_{1} *N*(*N* − 1), since β_{ij}≤q *d*^{2}_{1} for all *j* ∊ *M*_{i}. Using (7), a better bound on the maximum distance of agents forming an edge can be achieved: β_{ij}≤ (σ/*a*)*d*_{1} *N*(*N* − 1) ∀ (*i*,*j*) ∊ *E* . A result similar to that of Theorem 4 holds. The use of parameter *d*_{1} provides additional freedom to the control designer in choosing the design parameters. However, note that in this case, collision avoidance is no longer guaranteed.

SECTION V

## Case of Nonholonomic Kinematic Unicycle-Type Agents

In this section, we consider the case of a swarm of multiple unicycles. The stability analysis requires tools from nonsmooth analysis, a review of which is given in the next section.

### A. Tools From Nonsmooth Analysis

*Definition 2:* [11] For a finite-dimensional state-space, the vector function *x*(·) is called a *Filippov solution* of , where *f* is measurable and essentially locally bounded, if it is absolutely continuous and …*x*∊ *K*[*f*](*x*) almost everywhere where and *N*_{0} is a set of measure zero that contains the set of points where *f* is not differentiable.

*Theorem 5:* [34] Let *x* be a Filippov solution to on an interval containing *t* and let be a Lipschitz and regular function. Then, *V*(*x*(*t*)) is absolutely continuous, (*d*/*dt*)*V*(*x*(*t*)) exists almost everywhere, and , where ∂ *V* is the *Clarke's generalized gradient* [4].

The Lyapunov function *V* we use here is smooth, and hence, regular, and thus, ∂ *V*(*x*) = {∇ *V*(*x*) }∀ *x.* We will use the following nonsmooth version of LaSalle's invariance principle.

*Theorem 6:* [34] Let Ω be a compact set such that every Filippov solution to starting in Ω is unique and remains in Ω for all *t*≥ *t*_{0}. Let be a time-independent regular function such that (if , this is trivially satisfied). Define . Then, every trajectory in Ω converges to the largest invariant set in the closure of *S.*

### B. Control Design and Stability Analysis

In this section, the proposed control law is presented. Consider *N* nonholonomic agents operating in . Let denote the position of agent *i.* The configuration space is spanned by *q* = [*q*_{1}^{T},…,*q*_{N}^{T}]^{T}. Each agent has an orientation θ_{i} with respect to the global coordinate frame. The configuration of each agent is represented by . The motion of the agents is described by the following nonholonomic kinematics:
TeX Source
$$\matrix{\dot x_i = u_i \,\cos\, \theta _i\hfill \cr\dot y_i = u_i\, \sin\, \theta _i,\hfill \cr\dot \theta _i = \omega _i\hfill} \quad i \in {\cal N} = \left\{{1, \ldots, N} \right\}\hfill\eqno{\hbox{(8)}}$$where *u*_{i} and ω_{i} denote the translational and rotational velocity of agent *i*, respectively. Similarly to the previous case, the aggregation control law for each unicycle is of the form . Consider *V* = ∑_{i}(∑_{j ∊ Ni}*W*_{ij}}+ ∑_{j ≠ i}*V*_{ij}) again as a candidate Lyapunov function. Since the proposed control law is discontinuous, we will use Theorem 5 for the time derivative of *V.* Since *V* is smooth, we have ∂ *V* = {∇ *V*}, which is calculated as ∇ *V* = 4(*P* ⊗ *I*_{2})*q* + 2(*R*_{1} ⊗ *I*_{2})*q* = 4((*P* ⊗ *I*_{2})*q* + (*R* ⊗ *I*_{2})*q*). We define . We have *q* = [*q*_{1}^{T},…,*q*_{N}^{T}]^{T} = [[*x*_{1},*y*_{1}]^{T},…,[*x*_{N},*y*_{N}]^{T}]^{T}, and we let *x* and *y* denote the stack vectors of the agents coefficients in the *x* and *y* coordinates, respectively, i.e., *x* = [*x*_{1},…,*x*_{N}]^{T} and *y* = [*y*_{1},…,*y*_{N}]^{T}. Furthermore, let (*a*)_{i} denote the *i* th element of vector *a.* Then, we have the following theorem.

*Theorem 7:* Assume that the nonholonomic swarm (8) evolves under the control law
TeX Source
$$\eqalignno{u_i & = - {\mathop{\rm sgn}} \left\{{f_{xi}\, \cos\, \theta _i + f_{yi} \,\sin\, \theta _i } \right\} \cdot \left({f_{xi}^2 + f_{yi}^2 } \right)^{1/2}& \hbox{(9)}\cr\omega _i &= - \left({\theta _i - \arctan\, 2\left({f_{yi}, f_{xi} } \right)} \right)& \hbox{(10)}}$$where (*Fx*)_{i} = *f*_{xi} and (*Fy*)_{i} = *f*_{yi}. Then, the system reaches the equilibrium points of the single integrator case, i.e., a configuration in which ((*P* ⊗ *I*_{2}) + (*R* ⊗ *I*_{2}))*q* = 0 .

*Proof:* The generalized time derivative of *V* is calculated by
TeX Source
$$\eqalignno{& \dot{\tilde V} = \left({\nabla V} \right)^T \cr& \times K\!\left[\!\matrix{{u_1 \cos \theta _1,} & {u_1 \sin \theta _1,} & \ldots, & {u_N \cos \theta _N,} & {u_N \sin \theta _N }}\! \right]^T \cr& \subset 4\left({\left({P \otimes I_2 } \right)q + \left({R \otimes I_2 } \right)q} \right)^T \cr& \times K\!\left[\!\matrix{{u_1 \cos \theta _1,} & {u_1 \sin \theta _1,} & \ldots, & {u_N \cos \theta _N,} & {u_N \sin \theta _N }} \!\!\right]^T \cr& \subset 4\left({Fx} \right)^T \left[\matrix{{K\left[{u_1 } \right]\cos \theta _1, } & \ldots, & {K\left[{u_N } \right]\cos \theta _N }} \!\!\right]^T \cr& + 4\left({Fy} \right)^T \left[\matrix{{K\left[{u_1 } \right]\sin \theta _1, } & \ldots, & {K\left[{u_N } \right]\sin \theta _N }} \!\!\right]^T \cr& \subset \sum_{i \in {\cal N}} {\left\{{4K\left[{u_i } \right]\left({\left({Fx} \right)_i \cos \theta _i + \left({Fy} \right)_i\sin \theta _i } \right)} \right\}}}$$where we used [30, Th. 1.3] to calculate the inclusions of the Filippov set. Since *K*[sgn(*x*)]*x* = {| *x* |} [30, Th. 1.7], the choice of control laws (9) and (10) results in , so that the generalized derivative of *V* reduces to a singleton. By Theorem 6, the agents converge to the largest invariant subset of the set . However, for each , we have ‖ω_{i}| = π/2 whenever *f*_{xi}cos θ_{i} + *f*_{yi}sin θ_{i} = 0. In particular [35], this choice of ω_{i} renders the surface *f*_{xi}cos θ_{i} + *f*_{yi}sin θ_{i} = 0 noninvariant for agent *i* whenever *i* is not located at *f*_{xi} = *f*_{yi} = 0 . Hence, the largest invariant set *S*_{0} contained in *S* is *S* ⊃ *S*_{0} = {*f*_{xi} = *f*_{yi} = 0 ∀ *i* ∊ *N*}, which is equivalent to the equilibria of the single integrator case: ((*P* ⊗ *I*_{2}) + (*R* ⊗ *I*_{2}))*q* = 0 .

Hence, the control design (9), (10) forces the nonholonomic swarm to behave in exactly the same way as in the single integrator case. This nonholonomic control strategy is an extension of the result of [35] (which is itself an extension of the earlier results [2] and [6]) for the single agent case to the case of multiple agents. The difference lies in the fact that the potential of each agent involves its relative positions with respect to neighboring agents and not its distance from a single equilibrium point.

SECTION VI

## Case of Dynamic Graphs

The previous sections involved the case where the communication graph considered was static, i.e., no new edges were added whenever an agent, not initially located within the sensing zone of another agent, entered its sensing zone. In practical situations, however, it is more convenient to consider the creation of new edges whenever an agent enters the sensing zone of another agent. This naturally leads to a smaller swarm size, and corresponds to a more realistic formulation of the problem in hand. In this section, we consider the dynamic graph formulation in the single integrator case. The results can also be applied to the nonholonomic case of the previous section.

In this section, we consider two types of communication sets for each agent *i* at *each time instant.* The first one corresponds to the sensing zone of *i*, i.e., to the agents that agent *i* senses at each time instant
TeX Source
$$N_i \left(t \right) = \left\{{j \in {\cal N}, j \ne i:\left\Vert {q_i \left(t \right) - q_j \left(t \right)} \right\Vert < d}\right\}.\eqno{\hbox{(11)}}$$In order to add new communication links, we assume that a new communication link is created each time a new agent enters a subset of the sensing zone of *i* at some time instant. In particular, we define the set
TeX Source
$$N_i^{\ast} \left(t \right) = \left\{{j \in {\cal N}, j \ne i:\left\Vert {q_i \left(t \right) - q_j \left(t \right)} \right\Vert \le d - \varepsilon } \right\}$$where ε > 0 is a small positive scalar. It is obvious that *N*_{i}^{∗}(*t*) ⊆ *N*_{i}(*t*). We assume that the communication graph is initially formed based on the communication sets *N*_{i}(0), i.e.,
TeX Source
$$E\left(0 \right) = \left\{{\left({i, j} \right):j \in N_i \left(0 \right)} \right\}.$$A set of edges is updated according to the following rule:
TeX Source
$$E\left(t \right) = E\left({t^ - } \right) \cup E^{\ast} \left(t\right)$$where
TeX Source
$$E^{\ast} \left(t \right) = \left\{{\left({i, j} \right):\left({\left({i, j} \right) \notin E\left({t^ - } \right)} \right)\wedge \left({j \in N_i^{\ast} \left(t \right)} \right)} \right\}.$$In other words, a new edge is added whenever an agent *j*, which did not form an edge with *i*, enters at some time instant the set *N*_{i}^{∗}(*t*), which is a subset of the sensing zone of *i.* By designing the control law in such a way that it forces agents that come to a distance *d* − ε between them to remain within distance *d* for all time afterwards, this definition of edge addition becomes meaningful, since each agent has to sense agents only within its sensing zone at each time instant.

The main difference with the formulation of the static graph case is the definition of the aggregation potential between agents *i* and *j.* Specifically, we denote the aggregation potential in the dynamic graph case between any two agents by *W*_{ij}^{d} and recalling the definition of *W*_{ij} in the static graph case, we define *W*_{ij}^{d} as *W*_{ij}^{d} (β_{ij}) = *W*_{ij}(β_{ij}) for (*i*,*j*)∊ *E*(*t*) and *W*_{ij}^{d} (β_{ij}) = ∼ *W*_{ij}(β_{ij}) for (*i*,*j*) ∉ *E*(*t*). Hence, whenever two agents form an edge, their aggregation potential is identical to the aggregation potential of the static graph case. Whenever an agent *j* forms a new edge with an agent *i*, the function *W*_{ij}^{d} switches from ∼ *W*_{ij} to *W*_{ij}. The function ∼ *W*_{ij} is defined in such a way that the switch to *W*_{ij} is held in a sufficiently smooth manner. This is encoded in the following properties.

∼ *W*_{ij}(β_{ij}) = *W*_{ij}(β_{ij}), for ‖*q*_{i} (*t*) − *q*_{j} (*t*)‖ ≤ *d* − ε.

∼ *W*_{ij}(β_{ij}) = ∼ *W*_{ij}(*d*^{2}) = const., for ‖*q*_{i} (*t*) − *q*_{j} (*t*)‖ > *d.*

*W*_{ij}((*d* − ε)^{2}) = ∼ *W*_{ij}((*d* − ε)^{2}) and (∂ *W*_{ij}/∂ β_{ij}) ((*d* − ε)^{2}) = (∂ ∼ *W*_{ij}/∂ β_{ij})((*d* − ε)^{2}) .

∼ *W*_{ij} is continuously differentiable everywhere.

∂ ∼ *W*_{ij}/∂ β_{ij} > 0, for *d*−ε < ‖*q*_{i} (*t*) − *q*_{j} (*t*)‖ < *d.*

The control law is now defined as
TeX Source
$$
u_i = - \sum_{({i, j}) \in E} {{{\partial W_{ij} }\over{\partial q_i }}} - \sum_{({i, j}) \notin E} {{{\partial \tilde W_{ij} }\over{\partial q_i }}} - \sum_{j \in M_i } {{{\partial V_{ij} }\over{\partial q_i }}}.
\eqno{\hbox{(12)}}
$$This definition of *W*_{ij}^{d}, and in particular,
∼ *W*_{ij}, allows agent *i*
to neglect agents outside its sensing zone at each time instant. Moreover, repulsion *V*_{ij} is the same as in the static graph case.

The overall system can be treated as a hybrid system in which discrete transitions occur each time a new edge is added, i.e., each time two agents not forming an edge before come to a distance closer than *d*−ε to one another. The convergence analysis is now held using the common Lyapunov function tool from hybrid stability theory [25]. In particular, the function *V* = ∑_{i}∑_{j ≠ i}(*W*_{ij}^{d} + *V*_{ij}) serves as a valid *common Lyapunov function* for the underlying hybrid system. Using the analysis of the single integrator case, it is easy to show that at time spaces where no new edges are added, the time derivative of *V* is given by
TeX Source
$$\dot V = - 8\left\Vert {\left({\left({P^d \otimes I_2 } \right)q + \left({R \otimes I_2 } \right)q} \right)} \right\Vert ^2 \le 0$$where the matrix *P*^{d} is defined as
TeX Source
$$P_{ij}^d = \left\{\matrix{\displaystyle\sum_{j \ne i} {p_{ij}^d },& i = j \cr\displaystyle- p_{ij}^d,& i \ne j} \right.$$with
TeX Source
$$p_{ij}^d = \left\{\matrix{\displaystyle{{\partial W_{ij} }\over{\partial \beta _{ij} }},& \left({i, j} \right) \in E \cr\displaystyle{{\partial \tilde W_{ij} }\over{\partial \beta _{ij} }},& \left({i, j} \right) \notin E.} \right.$$At times, when new edges are added, the common Lyapunov function and the control laws of all agents are continuously differentiable while the values of the common Lyapunov function, its time derivative, and the values of the control laws remain *constant.* Hence, *V* serves as a common Lyapunov function for the stability of the hybrid system, and since no Zeno behavior occurs whenever the system enters a new discrete state, i.e. , once an edge is added, it is never deleted, we can use the extension of LaSalle's invariance principle to hybrid systems established in [25] to show that the system converges to the largest invariant subset of the set *S* = {*q*:((*P*^{d} + *R*) ⊗ *I*_{2})*q* = 0}. In essence, the results of Theorem 1 and Lemma 2 hold in this case as well. The counterpart of Lemma 3 in the dynamic graph case involves the fact that once an agent *j* enters the set *N*_{i}^{∗}(*t*) for the first time, it is forced to remain within the sensing zone of *i*, encoded by the set *N*_{i}(*t*), for all future times. Thus, the definition of edges in the dynamic graph case is meaningful, since it respects the sensing capabilities of all agents. The following counterpart of Lemma 3 holds.

*Lemma 8:* Consider the system of multiple kinematic agents (1) driven by the control law (12). Then, all agent pairs that come into distance less than or equal to *d*−ε for the first time remain within distance strictly less than *d* for all future times.

*Proof:* Since *V*(*q*(*t*)) ≤ *V*(*q*(0)) < ∞ for all *t*≥ 0, and *V* → ∞ when ‖*q*_{i} − *q*_{j}‖ → *d* for at least one pair of agents (*i*,*j*) that has formed an edge either: 1) at *t* = 0 or 2) at some time τ, 0≤ τ ≤ *t*, we conclude that all pairs of agents that did not initially form an edge and come to a distance less than *d* − ε for the first time remain within distance strictly less than *d* for all future times.

The fact that agents that initially formed edges remain within distance strictly less than *d* from each other is established in Lemma 3. These two lemmas guarantee that the definition of edges in the dynamic graph case respects the limited sensing capabilities of all agents, since each agent has to sense agents only within its sensing zone in order to fulfill the communication link imposed by the existence of edges.

Having now established a framework that allows for the addition of edges in the communication graph while maintaining connectivity, we can follow the analysis of the static case to show that similar bounds for the swarm size can be derived in this case as well. In particular, the system now reaches a configuration where equation ((*P*^{d} + *R*) ⊗ *I*_{2})*q* = 0 holds. Following the analysis of the static graph case, an equation similar to (6) is derived in the dynamic graph case as well
TeX Source
$$\sum_i {\sum_{j \neq i } {p^d_{ij} \left\Vert {q_i - q_j } \right\Vert ^2 } } = \sum_i {\sum_{j \in M_i }{\vert {\rho _{ij} } \vert \left\Vert {q_i - q_j } \right\Vert ^2 } }.\eqno{\hbox{(13)}}$$An improved result on the bound of the swarm size with respect to the static graph case can be obtained in the dynamic graph case. In particular, using the notation ‖{*q*_{i} − *q*_{j}}‖^{2} = β_{ij}, the last equation can be rewritten as
TeX Source
$$\eqalignno{& \sum_i {\left({\sum_{j \in M_i } {p_{ij}^d \beta _{ij} } + \sum_{j \notin M_i } {p_{ij}^d \beta _{ij} } } \right)} = \sum_i {\sum_{j \in M_i } {\vert {\rho _{ij} } \vert \beta _{ij} } } \cr& \Rightarrow \sum_i {\sum_{j \notin M_i } {p_{ij}^d \beta _{ij} } } = \sum_i {\sum_{j \in M_i } {\left({\vert {\rho _{ij} } \vert - p_{ij}^d } \right)\beta _{ij} } } .}$$Assuming that the repulsion term satisfies the bound | ρ_{ij}| ≤ρ/β_{ij}, and noting that *p*_{ij}^{d} ≥ 0 for all , we get
TeX Source
$$\sum_i {\sum_{j \in M_i } {\left({\vert {\rho _{ij} } \vert - p_{ij}^d } \right)\beta _{ij} } } \le \sum_i {\sum_{j \in M_i } {\vert {\rho _{ij} }\vert \beta _{ij} } } \le \rho \sum_i {\vert {M_i }\vert }$$so that
TeX Source
$$\sum_i {\sum_{j \notin M_i } {p_{ij}^d \beta _{ij} }} \le \rho \sum_i {\vert {M_i } \vert }.\eqno{\hbox{(14)}}$$We now denote by *E*(∞) the set of edges that have been formed at steady state. Using the bound *p*_{ij}≥ *a* on the attractive term for the agents that have formed an edge, the left-hand side of the previous inequality is bounded as follows:
TeX Source
$$\eqalignno{& \sum_i {\sum_{j \notin M_i } {p_{ij}^d \beta _{ij} } } \cr& = \sum_i {\sum_{ j:\left({i, j} \right) \in E\left(\infty \right) \atop j \notin M_i } {p_{ij}^d \beta _{ij} } } + \sum_i {\sum_{ j:\left({i, j} \right) \notin E\left(\infty \right) \atop j \notin M_i } {p_{ij}^d \beta _{ij} } } \cr& \Rightarrow \sum_i {\sum_{j \notin M_i } {p_{ij}^d \beta _{ij} } } \ge \sum_i {\sum_{ j:\left({i, j} \right) \in E\left(\infty \right) \atop j \notin M_i } {p_{ij}^d \beta _{ij} } } \cr& = \sum_i {\sum_{ j:\left({i, j} \right) \in E\left(\infty \right) \atop j \notin M_i } {p_{ij} \beta _{ij} } } \cr& \quad\Rightarrow \sum_i {\sum_{j \notin M_i } {p_{ij}^d \beta _{ij} } } \ge \sum_i {\sum_{ j:\left({i, j} \right) \in E\left(\infty \right) \atop j \notin M_i } {ad_1^2 } }.& \hbox{(15)}}$$The two bounds (14) and (15) suggest that
TeX Source
$$\sum_i {\sum_{\scriptstyle j:\left({i, j} \right)\in E\left(\infty \right) \atop\scriptstyle j \notin M_i } {ad_1^2 } } \le \rho \sum_i {\vert {M_i } \vert}\eqno{\hbox{(16)}}$$at steady state. We will now show that an appropriate choice of *d*_{1} forces all agents that have formed an edge to be at a distance not larger than *d*_{1} at steady state, i.e., ‖*q*_{i} − *q*_{j}‖ ≤ *d*_{1} for all (*i*,*j*) ∊ *E*(∞). This is proved by showing that inequality (16) is not viable even in the worst-case scenario. Thus, let us assume that at least one pair that has formed an edge at steady state is at a distance larger than *d*_{1} from one another, i.e., ‖{*q*_{k} − *q*_{l}‖ > *d*_{1} for some (*k*,*l*) ∊ *E*(∞). This implies that *k* ∉ *M*_{l}, and vice versa. In that case, (16) yields
TeX Source
$$\eqalignno{& \sum_i {\sum_{\scriptstyle j:\left({i, j} \right) \in E\left(\infty \right) \atop\scriptstyle j \notin M_i } {ad_1^2 } } = 2ad_1^2 \le \sum_i {\sum_{j \notin M_i } {p_{ij}^d \beta _{ij} } } \le \rho \sum_i {\vert {M_i } \vert } \cr& = \rho \left\{{\left({N - 1} \right)\left({N - 2} \right) + 2\left({N - 2} \right)} \right\} = \rho \left({N^2 - N - 2} \right) \cr& \Rightarrow d_1^2 \le {{\rho \left({N^2 - N - 2} \right)}\over{2a }}.}$$The last inequality is rendered impossible by choosing *d*_{1}^{2} > [ρ (*N*^{2} − *N* − 2)]/2*a.* In this case, we have *j* ∊ *M*_{i} for all pairs of agents that form an edge at steady state, and hence, an ultimate bound is given by
TeX Source
$$\beta _{ij} \le d_1^2 \quad \forall \left({i, j} \right) \in E\left(\infty \right).\eqno{\hbox{(17)}}$$This equation provides the means to provide a better bound of the swarm size, as will be shown in the sequel. We first note that the parameter *d*_{1} can be chosen by the following inequality:
TeX Source
$${{\rho \left({N^2 - N - 2} \right)}\over{2a}} < d_1^2 < {{\rho N\left({N - 1} \right)}\over a}.\eqno{\hbox{(18)}}$$The last inequality is feasible since the inequality
TeX Source
$${{\rho \left({N^2 - N - 2} \right)}\over {2a}} < {{\rho N\left({N - 1} \right)}\over a}$$is equivalent to *N*^{2} − *N* +2 > 0, which holds for all *N* > 0.

The following theorem, which is the counterpart of Theorem 4 in the dynamic graph case, shows that a better bound is derived in the dynamic graph case provided that *d*_{1} satisfies (18).

*Theorem 9:* Assume that swarm (1) evolves under the control law (12), and the initially formed communication graph is connected. Denote by β^{d}_{max} the maximum distance between two members of the group, i.e., . Assume that parameter *d*_{1} satisfies (18). Under the preceding assumptions, the following bound holds at steady state: β_{max}^{d} ≤ *d*_{1}^{2} (*N* − 1) . Moreover, we have β_{max}^{d} < β_{max}, where β_{max} = (ρ/*a*)*N*(*N* − 1)^{2} is the swarm size corresponding to the static graph case of Theorem 4.

*Proof:* Since the graph is connected, the maximum length of a path connecting two arbitrary vertices is *N*−1. Equation (17) now yields β_{max}^{d} ≤ *d*_{1}^{2} (*N* − 1) . Now, since *d*_{1} satisfies (18), we have
TeX Source
$$\beta _{\max }^d \le d_1^2 \left({N - 1} \right) < {{\rho N\left({N - 1} \right)^2 }\over a} = \beta_{\max }$$and thus, β_{max}^{d} < β_{max}.

This result shows that allowing edges to be added in a dynamic fashion leads to an improved (i.e., smaller) swarm size. This derivation is not surprising, since the addition of new communication links increases the attractive potential, and hence, leads to a tighter swarm size.

To support the results of this paper, we provide a series of computer simulations.

The first simulation of Fig. 2 involves the evolution of a swarm of nine single-integrator agents that navigate under the proposed control law in both the static and dynamic edge addition cases. In both cases, the agents have the same initial conditions and controller parameters. In particular, agents use an unbounded repulsive potential. The first screenshot shows the initial positions of the nine agents. In the first case (in the middle), they navigate under control law (4), while in the second case (at the bottom), under control law (12). The parameters in the simulations are given by *d*_{1} = 0.033, *d* = 0.04, ρ/*a* = 2 × 10^{−5}, and of course, *N* = 9. This choice of *d* renders the initially formed communication graph connected. Moreover, condition (18) is satisfied, since [ρ(*N*^{2}−*N*−1)]/2*a* = 7× 10^{−4}, [ρ *N*(*N*−1)]/*a* = 14.4× 10^{−4}, and *d*_{1}^{2} = 10.89 × 10^{−4}. Thus, [ρ (*N*^{2} − *N* − 2)]/2*a* < *d*_{1}^{2} < [ρ *N*(*N* − 1)]/*a* holds. This is a sufficient condition for the fact that the swarm size is smaller in the case of dynamic edge addition.

As witnessed in Fig. 2, the control law in the dynamic graph formulation indeed leads to a tighter final swarm size. In fact, in the dynamic case, the edges are added until the graph is rendered complete, i.e., we have all-to-all communication, while in the static graph case, the initially formed graph remains invariant for all time.

A comparison of the final swarm sizes of the two cases is depicted in Fig. 3. This figure shows the evolution of the swarm size in both cases from time 1000 and onwards. Note that the swarm size in the static graph case is bounded by β_{max}≤ (ρ/*a*)*N*(*N*−1)^{2} = 0.01152, while in the dynamic case, by β^{d}_{max}≤ *d*_{1}^{2}(*N*−1) = 0.008089 by virtue of Theorems 4 and 9, respectively. It can be verified from the two plots of Fig. 3 that the final swarm size in both cases fulfills the expected bounds. It can also be witnessed that apart from the reduction of the swarm size, the convergence rate is also significantly increased in the case of the dynamic edge addition. This is depicted by the significantly smaller swarm size the team has attained at time 1000 in the second case.

The same values of controller parameters have been retained in the simulation of Fig. 4 as well. We have only decreased the sensing radius with respect to the first simulation. In particular, we now have *d* = 0.035. Agents navigate under the static graph control strategy (4). The initial positions of the agents of this simulation are the same as in the previous one, while Fig. 4 depicts the evolution of the closed-loop system in time. This decrease renders the initially formed communication graph disconnected. Specifically, there are two connected components. Due to the lack of connectivity, the swarm is eventually split into its two connected components, as witnessed in the figure.

The last simulation in Fig. 5 involves the evolution of a swarm of six kinematic unicycles navigating under control laws (9) and (10). The first screenshot shows the initial positions of the six agents, while the second one the evolution of their trajectories in time. Swarm aggregation is eventually achieved, since the communication graph that is formed based on the *initial* relative positions of the agents is connected. The same values of controller parameters as in the first simulation have been retained in the simulation of Fig. 5 as well.

A distributed control strategy for connectivity preserving swarm aggregation with collision avoidance was presented. Specifically, each agent was assigned a control law that was the sum of two elements: a repulsive potential field, which was responsible for the collision avoidance objective, and an attractive potential field, which forced the agents to converge to a configuration where they are close to each other. Furthermore, the attractive potential field forced the agents that were initially located within the sensing radius of an agent to remain within this area for all time. It was shown that under the proposed control law, agents converge to a configuration where each agent is located at a bounded distance from each of its neighbors. In the case of dynamic edge addition, an improved bound on the swarm size was derived. The results were extended to deal with the case of nonholonomic kinematic unicycle-type agents as well.

Further research involves the development of bounded control laws for connectivity maintenance, as opposed to the unbounded control laws used in this paper. The use of bounded control laws can be more practical in some problems where actuation is required to be bounded. Furthermore, we aim to extend the results to dynamic agents and take the individual robots size into account in the collision avoidance procedure.