anurag ganguli jorge corte´s francesco bullo · anurag ganguli jorge corte´s francesco bullo...

21
arXiv:cs/0611022v1 [cs.RO] 6 Nov 2006 1 Multirobot rendezvous with visibility sensors in nonconvex environments Anurag Ganguli Jorge Cort´ es Francesco Bullo Abstract— This paper presents a coordination algorithm for mobile autonomous robots. Relying upon distributed sensing the robots achieve rendezvous, that is, they move to a common location. Each robot is a point mass moving in a nonconvex environment according to an omnidirectional kinematic model. Each robot is equipped with line-of-sight limited-range sensors, i.e., a robot can measure the relative position of any object (robots or environment boundary) if and only if the object is within a given distance and there are no obstacles in-between. The algorithm is designed using the notions of robust visibility, connectivity-preserving constraint sets, and proximity graphs. Simulations illustrate the theoretical results on the correctness of the proposed algorithm, and its performance in asynchronous setups and with sensor measurement and control errors. Index Terms— Multi-robot coordination, Cooperative control, Distributed algorithm, Mobile robot, Visibility, Nonlinear systems and control I. I NTRODUCTION Multi-agent robotic systems have been receiving increasing attention in recent times. This is due in no small part to the remarkable advances made in recent years in the development of small, agile, relatively inexpensive sensor nodes with mobile and networking capabilities. These systems are ultimately intended for a wide variety of purposes such as search and rescue, exploration, environmental monitoring, location-aware computing, and the maintaining of structures. In this paper we design algorithms to steer a group of robots to a common location, or rendezvous, in a nonconvex environment. The rendezvous problem is a fundamental motion coordina- tion problem for collections of robots. In its essence, it is the most basic formation control problem and can be used as a building block for more sophisticated behaviors. It is related to the classic consensus problem in distributed algorithms. This problem is, here, tackled in a fully distributed manner, i.e., our robots do not have any global knowledge about the position of all other robots, do not have any global knowledge about the environment, and do not share a common reference frame. The information that is available to an individual robot is only what is provided by a local “visibility sensor.” In other words, a robot can measure the relative position of a second robot if Submitted to http://www.arxiv.org on November 5, 2006. An early version of this work appeared in the IEEE Conf. on Decision and Control and European Control Conference, in Seville, Spain, 2005. Anurag Ganguli is with the Coordinated Science Laboratory, University of Illinois at Urbana-Champaign, and with the Center for Control, Dynamical Systems and Computation, University of California, Santa Barbara, CA 93106, USA, [email protected] Jorge Cort´ es is with the Department of Applied Mathematics and Statistics, University of California, Santa Cruz, CA 95064, USA, [email protected] Francesco Bullo is with the Center for Control, Dynamical Systems and Computation, University of California, Santa Barbara, CA 93106, USA, [email protected] and only if the robots are visible to each other in the nonconvex environment and lie within a given distance of each other. The literature on multirobot systems is very extensive. Examples include the survey in [1] and the special issue [2] of the IEEE Transaction on Robotics and Automation. Our multi-robot model is inspired by the literature on networks of mobile interacting robots: an early contribution is the model proposed in [3] consisting of a group of identical “distributed anonymous mobile robots” characterized as follows. Each robot completes repeatedly a cycle of operations: it senses the relative position of all other robots, elaborates this in- formation, and moves. In this early work, the robots share a common clock. A related model is presented in [4], where the robots evolve asynchronously, have limited visibility, and share a common reference frame. For these types of multirobot systems, the “multi-agent rendezvous” problem and the first “circumcenter algorithm” have been introduced in [5]. This circumcenter algorithm has been extended to various asyn- chronous strategies in [6], [4], where rendezvous is referred to as the “gathering” problem. The circumcenter algorithm has been extended beyond planar problems to arbitrary dimensions in [7], where its robustness properties are also characterized. None of these previous works considers the problem in non- convex environments with line-of-sight visibility sensors. We conclude the literature review by mentioning that forma- tion control and rendezvous problems have been widely inves- tigated with different assumptions on the inter-agent sensing. For example, a control law for groups with time-dependent sensing topology is proposed in [8]; this and similar works, however, depend upon a critical assumption of connectivity of the inter-agent sensing graph. This assumption is imposed without a model for when two robots can detect and measure each other’s relative position. In this paper, we consider position-dependent graphs and, extending to visibility sensors a key idea in [5], we show how to constrain the robots’ motion to maintain connectivity of the inter-agent sensing graph. Next, we describe the essential details of our model. We consider a group of robotic agents moving in a nonconvex environment without holes. We assume each robot is modeled as a point mass. We assume that each robot is equipped with an omnidirectional limited-range visibility sensor; the nomenclature is adopted from [9, Section 11.5]. Such a sensor is a device (or combination of devices) that determines within its line of sight and its sensing range the following quantities: (i) the relative position of other robots, and (ii) the relative position of the boundary of environment. By omnidirectional we mean that the field-of-vision for the sensor is 2π radians. Examples of visibility sensors are scanning laser range finders

Upload: others

Post on 25-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

arX

iv:c

s/06

1102

2v1

[cs.

RO

] 6

Nov

200

61

Multirobot rendezvous with visibility sensorsin nonconvex environments

Anurag Ganguli Jorge Cortes Francesco Bullo

Abstract— This paper presents a coordination algorithm formobile autonomous robots. Relying upon distributed sensing therobots achieve rendezvous, that is, they move to a commonlocation. Each robot is a point mass moving in a nonconvexenvironment according to an omnidirectional kinematic model.Each robot is equipped with line-of-sight limited-range sensors,i.e., a robot can measure the relative position of any object(robots or environment boundary) if and only if the object iswithin a given distance and there are no obstacles in-between.The algorithm is designed using the notions of robust visibility,connectivity-preserving constraint sets, and proximity graphs.Simulations illustrate the theoretical results on the correctnessof the proposed algorithm, and its performance in asynchronoussetups and with sensor measurement and control errors.

Index Terms— Multi-robot coordination, Cooperative control,Distributed algorithm, Mobile robot, Visibility, Nonline ar systemsand control

I. I NTRODUCTION

Multi-agent robotic systems have been receiving increasingattention in recent times. This is due in no small part to theremarkable advances made in recent years in the developmentof small, agile, relatively inexpensive sensor nodes with mobileand networking capabilities. These systems are ultimatelyintended for a wide variety of purposes such as search andrescue, exploration, environmental monitoring, location-awarecomputing, and the maintaining of structures. In this paperwe design algorithms to steer a group of robots to a commonlocation, or rendezvous, in a nonconvex environment.

The rendezvous problem is a fundamental motion coordina-tion problem for collections of robots. In its essence, it isthemost basic formation control problem and can be used as abuilding block for more sophisticated behaviors. It is related tothe classic consensus problem in distributed algorithms. Thisproblem is, here, tackled in a fully distributed manner, i.e., ourrobots do not have any global knowledge about the positionof all other robots, do not have any global knowledge aboutthe environment, and do not share a common reference frame.The information that is available to an individual robot is onlywhat is provided by a local “visibility sensor.” In other words,a robot can measure the relative position of a second robot if

Submitted to http://www.arxiv.org on November 5, 2006. An early versionof this work appeared in the IEEE Conf. on Decision and Control andEuropean Control Conference, in Seville, Spain, 2005.

Anurag Ganguli is with the Coordinated Science Laboratory,Universityof Illinois at Urbana-Champaign, and with the Center for Control, DynamicalSystems and Computation, University of California, Santa Barbara, CA 93106,USA, [email protected]

Jorge Cortes is with the Department of Applied MathematicsandStatistics, University of California, Santa Cruz, CA 95064, USA,[email protected]

Francesco Bullo is with the Center for Control, Dynamical Systems andComputation, University of California, Santa Barbara, CA 93106, USA,[email protected]

and only if the robots are visible to each other in the nonconvexenvironment and lie within a given distance of each other.

The literature on multirobot systems is very extensive.Examples include the survey in [1] and the special issue [2]of the IEEE Transaction on Robotics and Automation. Ourmulti-robot model is inspired by the literature on networksofmobile interacting robots: an early contribution is the modelproposed in [3] consisting of a group of identical “distributedanonymous mobile robots” characterized as follows. Eachrobot completes repeatedly a cycle of operations: it sensesthe relative position of all other robots, elaborates this in-formation, and moves. In this early work, the robots sharea common clock. A related model is presented in [4], wherethe robots evolve asynchronously, have limited visibility, andshare a common reference frame. For these types of multirobotsystems, the “multi-agent rendezvous” problem and the first“circumcenter algorithm” have been introduced in [5]. Thiscircumcenter algorithm has been extended to various asyn-chronous strategies in [6], [4], where rendezvous is referredto as the “gathering” problem. The circumcenter algorithm hasbeen extended beyond planar problems to arbitrary dimensionsin [7], where its robustness properties are also characterized.None of these previous works considers the problem in non-convex environments with line-of-sight visibility sensors.

We conclude the literature review by mentioning that forma-tion control and rendezvous problems have been widely inves-tigated with different assumptions on the inter-agent sensing.For example, a control law for groups withtime-dependentsensing topology is proposed in [8]; this and similar works,however, depend upon a critical assumption of connectivityof the inter-agent sensing graph. This assumption is imposedwithout a model for when two robots can detect and measureeach other’s relative position. In this paper, we considerposition-dependentgraphs and, extending to visibility sensorsa key idea in [5], we show how to constrain the robots’ motionto maintain connectivity of the inter-agent sensing graph.

Next, we describe the essential details of our model. Weconsider a group of robotic agents moving in a nonconvexenvironment without holes. We assume each robot is modeledas a point mass. We assume that each robot is equippedwith an omnidirectional limited-range visibility sensor; thenomenclature is adopted from [9, Section 11.5]. Such a sensoris a device (or combination of devices) that determines withinits line of sight and its sensing range the following quantities:(i) the relative position of other robots, and (ii) the relativeposition of the boundary of environment. By omnidirectionalwe mean that the field-of-vision for the sensor is2π radians.Examples of visibility sensors are scanning laser range finders

Page 2: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

2

Initial position of the agents Final position of the agentsEvolution of the network

Fig. 1. Execution of thePerimeter Minimizing Algorithm de-scribed in Section V-A on a group of robots distributed in a polygon, Q,shaped like a typical floor plan. The graph shown in the left-most figure isthe r-range visibility graphGr-vis,Qǫ

(see Section II).

with accurate distance measurements at high angular density,1

time-of-flight range cameras,2 and optical depth sensors basedon structured light systems, e.g., see [10]. The range dataobtained from the sensors can be processed to obtain ageometric representation of the area visible from a robot, e.g.,see [11]. We do not directly address in this work issues relatedto feature extraction from range data. We assume that thealgorithm regulating the robots’ motion is memoryless, i.e.,we consider static feedback laws. Given this model, the goalis to design a discrete-time algorithm which ensures that therobots converge to a common location within the environment.See Figure 1 for a graphical description of a simulation.

This paper’s main contribution is a novel provably correctalgorithm that achieves rendezvous in a nonconvex planarenvironment among robots with omnidirectional range-limitedvisibility sensors. Rendezvous is achieved among all robots ifthe inter-agent sensing graph is connected at the initial timeor becomes connected at any time during the evolution.

The technical approach contains a number of novel con-tributions and proceeds as follows. First, we review a fewuseful geometric notions [12], such as robust visibility [13] andproximity graphs [14], and introduce various novel visibilitygraphs. Second, to maintain connectivity during the systemevolution, we design novel constraint sets that (i) ensure thatthe visibility between two robots is preserved, and (ii) areupper semicontinuous or closed maps of the robots’ positions.Third, based on a discussion on visibility graphs, we definea new proximity graph, called the locally-cliqueless visibilitygraph, which contains fewer edges than the visibility graph,and has the same connected components. This construction isuseful in the connectivity maintenance problem. Fourth, weprovide a careful analysis of the algorithm we propose. Asnovel Lyapunov function, we consider the perimeter of therelative convex hull of the robot positions. The main theoremis proved via our recent version of the LaSalle InvariancePrinciple for set-valued maps [7]. Fifth and final, extensivesimulations validate our theoretical results and establish theconvergence of our algorithm under more realistic assumptionsthan the ones adopted in the theoretical analysis: our algorithmperformance is still adequate assuming asynchronous agentoperation, noise errors in sensing and control, or finite-sizedisk robots.

1E.g., the Hokuyo URG-04LX, seehttp://www.hokuyo-aut.jp,and the Sick S2000, seehttp://www.sick.com.

2E.g., the SwissRanger SR-3000, seehttp://www.swissranger.ch.

The paper is organized as follows. Section II contains someuseful geometric notions. In Section III we model robotswith visibility sensors and we introduce the rendezvous andconnectivity maintenance problems. In Section IV we intro-duce constraint sets and locally-cliqueless visibility graphs.In Section V we propose thePerimeter Minimizing

Algorithm for the rendezvous problem. Numerical simula-tions are presented in Section VI. Additional analysis resultsand all proofs are presented in Appendices I-III.

II. GEOMETRIC NOTIONS

In this section we introduce some useful geometric notions.We begin by reviewing some standard notation. LetZ≥0, R,R≥0, and R>0 denote the sets of nonnegative integer, real,nonnegative real, and positive real numbers, respectively. Forp ∈ R2 and r ∈ R>0, let B(p, r) denote theclosed ballcentered atp of radiusr. Given a bounded setX ⊂ R2, letco(X) denote the convex hull ofX , and letCC(X) denote thecircumcenterof X , i.e., the center of the smallest-radius circleenclosingX . For p, q ∈ R2, let ]p, q[= λp+ (1 − λ)q | 0 <λ < 1 and [p, q] = λp + (1 − λ)q | 0 ≤ λ ≤ 1 denotethe open and closed segmentwith extreme pointsp and q,respectively. Let|X | denote the cardinality of a finite setX inR2. Given a set of pointsX ⊂ R2, and another pointp ∈ R2,let dist(p,X) denote the Euclidean distance ofp to the setX .The diameterdiam(X) of a compact setX is the maximumdistance between any two points inX .

Now, let us turn our attention to the type of environmentswe are interested in. Given any compact and connected subsetQ of R2, let ∂Q denote its boundary. A pointq of ∂Q isstrictly concaveif for all ǫ > 0 there existsq1 and q2 inB(q, ǫ)∩ ∂Q such that the open interval]q1, q2[ is outsideQ.A strict concavityof ∂Q is either an isolated strictly concavepoint or a connected set of strictly concave points. Accordingto this definition, a strict concavity is either an isolated point(e.g., pointsr1 and r2 in Figure 2) or an arc (e.g., arca1 inFigure 2). Also, any strictly concave point belongs to exactlyone strict concavity.

Definition II.1 (Allowable environments) A setQ ⊂ R2 isallowableif

(i) Q is compact and simply connected;(ii) ∂Q is continuously differentiable except on a finite

number of points;(iii) ∂Q has a finite number of strict concavities.

Recall that, roughly speaking, a set is simply connected if itis connected and it contains no hole. A particular case of theenvironment described above is a polygonal environment, theconcavities being the reflex vertices3 of the environment.

At almost all strictly concave pointsv, one can define thetangent to∂Q. (Here, the wording “almost all” points meansall except for a finite number.) At all such pointsv, theinternaltangent half-planeHQ(v) is the half-plane whose boundary istangent to∂Q at v and whose interior does not contain anypoints of the concavity; see Figure 2.

3A vertex of a polygon is reflex if its interior angle is strictly greater thanπ.

Page 3: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

3

v′′

a1

r1 r2

v′

Fig. 2. An allowable environmentQ: the closed arca1 and the isolatedpoints r1, r2 are strict concavities.v′ is a point ona1 where the slope of∂Q is defined.HQ(v′) is the half-plane with the tangent to∂Q at v′ as theboundary and the interior in the direction of the arrow.v′′ is a point ona1where the slope of∂Q is not well-defined. In this case, we define the tangentto be the one shown in the plot.HQ(v′′) is the half-plane with the tangentto ∂Q at v′′ as the boundary and the interior in the direction of the arrow.

A point q ∈ Q is visible from p ∈ Q if [p, q] ⊂ Q. Thevisibility set V(p) ⊂ Q from p ∈ Q is the set of pointsin Q visible from p. This notion can be extended as follows(see [13]):

Definition II.2 (Robust visibility) Takeǫ > 0 andQ ⊂ R2.

(i) The pointq ∈ Q is ǫ-robustly visible from the pointp ∈ Q if ∪q′∈[p,q]B(q′, ǫ) ⊂ Q.

(ii) The ǫ-robust visibility setV(p, ǫ) ⊂ Q from p ∈ Q isthe set of points inQ that areǫ-robustly visible fromp.

(iii) The ǫ-contractionQǫ of the setQ is the setp ∈Q | ||p− q|| ≥ ǫ for all q ∈ ∂Q.

These notions are illustrated in Figure 3. Loosely speaking,two pointsp, q are mutually0-robustly visible if and only ifthey are mutually visible. We present the following propertieswithout proof in the interest of brevity.

p

Fig. 3. Robust visibility notions.Q is the outer polygonal environment; theǫ-contractionQǫ is the region with the curved boundary and containing thepoint p; the visibility setV(p) is the region shaded in light gray; theǫ-robustvisibility setV(p, ǫ) is the region shaded in darker gray. Note that the isolatedconcavities ofQ give rise to strictly concave arcs inQǫ.

Lemma II.3 Given an allowable environmentQ and ǫ > 0,the following statements hold:

(i) q ∈ Q is ǫ-robustly visible fromp ∈ Q if and only if[p, q] ⊂ Qǫ;

(ii) if ǫ is sufficiently small, thenQǫ is allowable;

(iii) all strict concavities of∂Qǫ have non-zero length andare continuously differentiable.

Remarks II.4 (i) In light of Lemma II.3(ii), in what fol-lows we assume thatǫ is small enough forQǫ to beconnected and therefore allowable.

(ii) Robust visibility is a useful concept in many practicallymeaningful ways. For example, according to this notion,points are visible only if they are at least at a distanceǫ from the boundary. This is useful when an object isarbitrarily close to the boundary and is indistinguishablefrom the boundary itself. Additionally, the parameterǫmight be thought of as a measure of the physical sizeof the robot. Thus confining the robots to theǫ-robustvisibility set guarantees free movement of the robot inthe environment. Indeed, the notion ofǫ-contraction isrelated to the classical work on motion planning in [15],see also [9].

We now define some graphs which will be useful in de-scribing the interactions between robots.

Definition II.5 (Proximity graphs) A proximity graph is agraph whose nodes are a set of pointsP = p1, . . . , pn andwhose edges are a function ofP . GivenP ⊂ Q, ǫ > 0 andr > 0, define:

(i) The visibility graphGvis,Q at P is the graph with nodesetP and with edge setEvis,Q(P) defined by:(pi, pj) ∈Evis,Q(P) if and only if [pi, pj ] ⊂ Q.

(ii) Theǫ-robust visibility graphGvis,Qǫis the visibility graph

at P for Qǫ.(iii) Ther-disk graphGr-disk at P is the graph with node set

P and with edge setEr-disk(P) defined by:(pi, pj) ∈Er-disk(P) if and only if ‖pi − pj‖ ≤ r.

(iv) The r-range visibility graphGr-vis, Q at P is the graphwith node setP and with edge setEr-disk(P)∩Evis,Q(P).

(v) A Euclidean Minimum Spanning TreeGEMST,G at P ofa proximity graphG is a minimum-length spanning treeof G(P) whose edge(pi, pj) has length‖pi − pj‖. IfG(P) is not connected, thenGEMST,G(P ) is the unionof Euclidean Minimum Spanning Trees of its connectedcomponents.

In other words, two pointsp, q are neighbors in ther-rangevisibility graph, for instance, if and only if they are mutuallyvisible and separated by a distance less than or equal tor.Example graphs are shown in Figure 4. General properties ofproximity graphs are defined in [14], [7]. For simplicity, whenG is the complete graph, we denote the Euclidean MinimumSpanning Tree ofG by GEMST.

We say that two proximity graphsG1 and G2 have thesame connected componentsif, for all sets of pointsP , thegraphsG1(P) andG2(P) have the same number of connectedcomponents consisting of the same vertices.

Definition II.6 (Neighbors set) Given a set of pointsP =p1, . . . , pn and a proximity graphG, we let Ni(G,P) =Ni,G(P) denote theset of neighbors including itselfof pi. In

Page 4: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

4

other words, ifpi1 , . . . , pim are the neighbors ofpi in G atP , thenNi(G,P) = Ni,G(P) = pi1 , . . . , pim ∪ pi.

Fig. 4. The figure on the left shows the visibility graph (whose edges arethe solid lines as well as the dashed lines) and theǫ-robust visibility graph(whose edges are the solid lines alone) of a set of points in a nonconvexpolygon. The figure on the right shows ther-rangeǫ-robust visibility graph.The disk in the figure shows the sensing range for one of the agents.

Definition II.7 (Relative convex hull) Take an allowableenvironmentQ.

(i) X ⊆ Q is relatively convexif the shortest path insideQ connecting any two points ofX is contained inX .

(ii) The relative convex hullrco(X,Q) of X ⊂ Q is thesmallest4 relatively convex subset ofQ that containsX .

(iii) If X is a finite set of points, then avertexof rco(X,Q)is a pointp ∈ X with the property thatrco(X \ p, Q)is a strict subset ofrco(X,Q). The set of vertices ofrco(X,Q) is denoted byVe(rco(X,Q)).

The relative convex hull of an example set of points and itsvertices are shown in Figure 5. In what follows we will need

v2v1

v3

v4

v5v6

v7

Fig. 5. Relative convex hullrco(X,Qǫ) of a set of pointsX (soliddisks) inside a theǫ-contraction of an allowable setQ. The set of verticesVe(rco(X,Qǫ)) is the setv1, . . . , v7.

the notion of perimeter of certain sets, and in particular, of therelative convex hull of a collection of points.

Definition II.8 (Perimeter) Take an allowable environmentQ and a closed subsetX ⊂ Q.

(i) If X has measurable boundary∂X and is equal to theclosure of its interior, thenperimeter(X) is the lengthof ∂X .

4That is, rco(X,Q) is the intersection of all relatively convex subsets ofQ that containX.

(ii) If rco(X,Q) is not equal to the closure of its interior,thenperimeter(rco(X,Q)) is the length of the shortestmeasurable curve insideQ enclosingX .

Remarks II.9 (i) If rco(X,Q) is equal to the closure ofits interior, then its boundary is the shortest measurablecurve insideQ enclosingX (i.e., the two definitionsof perimeter are equivalent). On the other hand, ifrco(X,Q) is a segment, then Definition II.8(ii) says thatthe perimeter ofrco(X,Q) is twice its length.

(ii) The key property of Definition II.8 is that, ifX is afinite set of points inQ, then the perimeter ofrco(X,Q)depends continuously on the points inX .

III. SYNCHRONOUS ROBOTS WITH VISIBILITY SENSORS

AND THE RENDEZVOUS AND CONNECTIVITY

MAINTENANCE PROBLEMS

In this section we model a group ofn robots with visibilitysensors in a given allowable environmentQ. We assume thatǫ is a known positive constant sufficiently small so thatQǫ

is allowable. Fori ∈ 1, . . . , n, we model theith robot as apoint pi ∈ Q and we refer to Section VI for an extension toa disk model. We make the following modeling assumptions:

Synchronized controlled motion model: Robot i moves attime t ∈ Z≥0 for a unit period of time, according tothe discrete-time control system

pi[t+ 1] = pi[t] + ui[t]. (1)

We assume that there is a maximum step sizesmax > 0 forany robot, that is,‖ui‖ ≤ smax. Note that then identicalrobots aresynchronizedin the sense that the calculationof u[t] in equation (1) takes place at the same timest forall robots.

Sensing model: Robot i senses (i) the presence and theposition of any other robot that is visible and withindistancer from pi, and (ii) the subset of∂Q that isvisible and within distance(r + ǫ) from pi. This in turnimplies that the robot can sense the subset of∂Qǫ that isvisible and within distancer from pi. It is convenient todefine thesensing region from positionpi to beS(pi) =V(pi, ǫ)∩B(pi, r). The ranger is the same for all robots.

Note that, by definition, two robots with visibility sensorsdetect each other’s presence and relative position if and onlyif they are neighbors in the robust visibility graphGvis,Qǫ

.

Remark III.1 (No common reference frame) The modelpresented above assumes the ability of robots to senseabsolute positions of other robots; this assumption is onlymade to keep the presentation as simple as possible. In thisand subsequent remarks, we treat the more realistic settingin which the n robots haven distinct reference framesΣ1, . . . ,Σn. We let Σ0 denote a fixed reference frame.Notation-wise, a pointq, a vectorw, and a set of pointsSexpressed with respect to frameΣi are denoted byqi, wi

andSi, respectively. For example, this means thatQi is theenvironmentQ as expressed in frameΣi. We assume that theorigin of Σi is pi and that the orientation ofΣi with respect

Page 5: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

5

to Σ0 is R0i ∈ SO(2). Therefore, changes of reference frames

are described by the equations:q0 = R0i q

i + p0i , w0 = R0iw

i,andS0 = R0

iSi+p0i . If we let VQj (pji , ǫ) denote the visibility

set expressed inΣj , for j ∈ 0, 1, . . . , n, then one can define

S(pji , Qj) = VQj (pji , ǫ) ∩B(pji , r),

and verify thatS(p0i , Q0) = R0

iS(pii, Q

i)+p0i . Note thatpii =0.

Finally, we can describe our motion and sensing modelunder the no common reference frame assumption. Robotimoves according to

p0i [t+ 1] = p0i [t] +R0i [t]ui[t], (2)

and it senses the robot positionspij and the subset of(∂Q)i

that are within the sensing regionS(pii, Qi).

We now state the two control design problems addressed inthis paper for groups of robots with visibility sensors.

Problem III.2 (Rendezvous) The rendezvous problemis tosteer each agent to a common location inside the environ-mentQǫ. This objective is to be achieved (1) with the limitedinformation flow described in the model above, and (2) underthe reasonable assumption that the initial position of the robotsP [0] = p1[0], . . . , pn[0] gives rise to a connected robustvisibility graphGvis,Qǫ

at P [0].

As one might imagine, the approach to solving the ren-dezvous problem involves two main ideas: first, the underlyingproximity graph should not lose connectivity during the evo-lution of the group; second, while preserving the connectivityof the graph, the agents must move closer to each other. Thisdiscussion motivates a second complementary objective.

Problem III.3 (Connectivity maintenance) The connectiv-ity maintenance problemis to design (state dependent) controlconstraints sets with the following property: if each agent’scontrol takes values in the control constraint set, then theagents move in such a way that the number of connectedcomponents ofGvis,Qǫ

(evaluated at the agents’ states) doesnot increase with time.

IV. T HE CONNECTIVITY MAINTENANCE PROBLEM

In this section, we maintain the connectivity of the group ofagents with visibility sensors by designing control constraintsets that guarantee that every edge ofGr-vis, Qǫ

(i.e., every pairof mutually range-limited visible robots) is preserved. Wehavethree objectives in doing so. First, the sets need to dependcontinuously on the position of the robots. Second, the setsneed to be computed in a distributed way based only on theavailable sensory information. Third, the control constraint setsshould be as “large” as possible so as to minimally constrainthe motion of the robots. Because it appears difficult toformalize the notion of “largest continuous constraint setthatcan be computed in a distributed fashion,” we instead proposea geometric strategy to compute appropriate constraint setsand we show in the next section that our proposed geometricstrategy is sufficiently efficient for the rendezvous problem.

A. Preserving mutual visibility: TheConstraint Set

Generator Algorithm

Consider a pair of robots in an environmentQ that areǫ-robustly visible to each other and separated by a distance notlarger thanr. To preserve this range-limited mutual visibilityproperty, we restrict the motion of the robots to an appropriatesubset of the environment. This idea is inspired by [5] and webegin by stating the result therein. Let the sensing region ofrobot i located atpi be S(pi) = B(pi, r), for somer > 0. Ifat any time instantt, ‖pi[t] − pj [t]‖ ≤ r then to ensure thatat the next time instantt + 1, ‖pi[t + 1] − pj[t + 1]‖ ≤ r, itsuffices to impose the following constraints on the motion ofrobotsi andj:

pi[t+ 1], pj[t+ 1] ∈ B(pi[t] + pj[t]

2,r

2

)

,

or, equivalently,

ui[t], uj[t] ∈ B(pj [t]− pi[t]

2,r

2

)

.

In summary,B(pj−pi

2 , r2 ) is the control constraint set for robot

i andj. This constraint is illustrated in Figure 6 (left).

pj

pi

Fig. 6. In the figure on the left, starting frompi andpj , the robotsare restricted to move inside the disk centered at

pi+pj2

with radiusr2. In the figure on the right, the robots are constrained to moveinside

the shaded region which is a convex subset ofQǫ intersected withthe disk centered at

pi+pj2

with radius r2.

Let us now consider the case when a roboti is located atpiin a nonconvex environmentQ with sensing regionS(pi) =V(pi, ǫ)∩B(pi, r). If at any time instantt, we have that‖pi[t]−pj [t]‖ ≤ r and [pi[t], pj [t]] ∈ Qǫ, then to ensure that‖pi[t+1]− pj [t+ 1]‖ ≤ r and [pi[t+ 1], pj[t+ 1]] ∈ Qǫ, it sufficesto require that:

pi[t+ 1], pj[t+ 1] ∈ C,

whereC is any convex subset ofQǫ ∩ B( pi[t]+pj [t]

2 , r2

)

; seeFigure 6 (right). Equivalently,

ui[t] ∈ C − pi[t], uj[t] ∈ C − pj [t],

whereC − pi[t] andC − pi[t] are the setsp− pi[t] | p ∈ Cand p − pj [t] | p ∈ C, respectively. Note that both robotsi and j must independently compute the same setC. Giventhe positionspi, pj in an environmentQ, Table I describesthe Constraint Set Generator Algorithm, a geo-metric strategy for each robot to compute a constraint setC = CQ(pi, pj) that changes continuously withpi and pj .Figure 7 illustrates a step-by-step execution of the algorithm.

Page 6: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

6

TABLE I

Constraint Set Generator Algorithm

Goal: Generate convex sets to act as constraints to preserve mutualvisibility

Given: (pi, pj) ∈ Q2ǫ such that[pi, pj ] ⊆ Qǫ andpj ∈ B(pi, r)

Robot i ∈ 1, . . . , n executes the following computations:

1: Ctemp := V(pi, ǫ) ∩ B(pi+pj

2, r2)

2: while ∂Ctemp contains a concavitydo3: v := a strictly concave point of∂Ctemp closest to the segment[pi, pj ]

4: Ctemp := Ctemp∩HQǫ(v)

5: end while6: return: CQ(pi, pj) := Ctemp

pj

pi

vpj

pi

pj

pi

v

pi

v

pj

Fig. 7. From left to right and top to bottom, a sample incomplete run of theConstraint Set Generator Algorithm (cf. Table I). The top leftfigure showsCtemp := V(pi, ǫ) ∩ B(

pi+pj2

, r2). In all the other figures, the

lightly and darkly shaded regions together representCtemp. The darkly shadedregion representsCtemp∩ HQ(v), wherev is as described in step3:. Thefinal outcome of the algorithm,CQ(pi, pj), is shown in Figure 6 (right).

In step3: of the algorithm, note that there can be multipledistinct points belonging to distinct concavities satisfying therequired property. In that case,v can be chosen to be any oneof them. The following lemma justifies this observation.

Lemma IV.1 Throughout the execution of theConstraintSet Generator Algorithm in Table I, letv1, v2 be twostrictly concave points on∂Ctemp that are closest to[pi, pj].Thenv1 ∈ Ctemp∩HQǫ

(v2) and vice versa.

Next, we characterize the main properties of theConstraint Set Generator Algorithm andthe corresponding convex sets. Notice that the constraint setis defined at any point in the following set:

J = (pi, pj) ∈ Q2ǫ | [pi, pj ] ∈ Qǫ, ‖pi − pj‖ ≤ r.

Fig. 8. The green convex set in the center representsCpi,Q(Ni,Gr-vis,Qǫ).

The black disks represent the position of the robots. The straight line segmentsbetween pairs of robots represent edges ofGr-vis,Qǫ

. Here,pi is the black diskcontained in the constraint set.

Proposition IV.2 (Properties of the Constraint Set

Generator Algorithm) Given an allowable environ-mentQ with κ strict concavities,ǫ > 0 and (pi, pj) ∈ J ,the following statements hold:

(i) The Constraint Set Generator Algorithm

terminates in at mostκ steps;(ii) CQ(pi, pj) is nonempty, compact and convex;(iii) CQ(pi, pj) = CQ(pj , pi); and(iv) The set-valued mapCQ is closed5 at every point ofJ .

Remark IV.3 (No common reference frame: continued)Consider a group of robots with visibility sensors and nocommon reference frame. With the notation and assumptionsdescribed in Remark III.1, on can verify that the constraintsets transform under changes of coordinate frames accordingto:

CQ0(p0i , p0j) = R0

i CQi(pii, pij) + p0i . (3)

We omit the proof in the interest of brevity.

For each pair of mutually visible robots, the execution oftheConstraint Set Generator Algorithm outputsa control constraint set such that, if the robots’ motions areconstrained to it, then the robots remain mutually visible.Clearly, given a connected graph at timet, if every robotremains connected with all its neighbors at timet + 1 (i.e.,each pair of mutually visible robots remain mutually visible),then the connectivity of the graph is preserved. This can beaccomplished as follows. For roboti ∈ 1, . . . , n at pi ∈ Qǫ,define the control constraint set

Cpi,Q(Ni,Gr-vis, Qǫ) =

pj∈Ni,Gr-vis, Qǫ

CQ(pi, pj). (4)

Now, if ui ∈ Cpi,Q(Ni,Gr-vis, Qǫ)−pi, for all i ∈ 1, . . . , n,

then all neighboring relationships inGr-vis, Qǫare preserved

5Let Ω map points inX to all possible subsets ofY . Then the set-valuedmap,Ω, is open at a pointx ∈ X if for any sequencexk in X, xk → xand y ∈ Ω(x) implies the existence of a numberm and a sequenceykin Y such thatyk ∈ Ω(xk) for k ≥ m and yk → y. The mapΩ is closedat a pointx ∈ X if for any sequencexk in X, xk → x, yk → y andyk ∈ Ω(xk) imply that y ∈ Ω(x). Ω is continuous at any pointx ∈ X if itis both open and closed at x

Page 7: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

7

at the next time instant. Using inputs that satisfy these con-straints, the number of edges inGr-vis, Qǫ

is guaranteed to benondecreasing.

B. The locally-cliqueless visibility graph

In this section, we propose the construction of constraintsets that are, in general, larger thanCpi,Q(Ni,Gr-vis, Qǫ

). Todo this, we define the notion oflocally-cliqueless graph. Thelocally-cliqueless graph of a proximity graphG is a subgraphof G, and therefore has generally fewer edges, but it has thesame number of connected component asG. This fundamentalproperty will be very useful in the design of less conservativeconstraint sets.

Before proceeding with the definition of locally-cliquelessgraph, let us recall that (i) aclique of a graph is a completesubgraph of it, and (ii) amaximal clique of an edgeis a cliqueof the graph that contains the edge and is not a strict subgraphof any other clique of the graph that also contains the edge.

Definition IV.4 (Locally-cliqueless graph of a proximitygraph) Given a point setP and an allowable environmentQ,thelocally-cliqueless graphGlc,G atP of a proximity graphG isthe proximity graph with node setP and with edge setElc,G(P)defined by:(pi, pj) ∈ EGlc,G (P) if and only if (pi, pj) ∈ EG(P)and(pi, pj) belongs to a setEGEMST(P

′) for any maximal cliqueP ′ of the edge(pi, pj) in G.

In combinatorial optimization, it is a well-known that find-ing the maximal clique of a graph is an NP complete problem.However, efficient polynomial time heuristics are detailedin [16].

For simplicity, we will refer to the locally-cliqueless graphof the proximity graphsGvis,Q, Gvis,Qǫ

or Gr-vis,Qǫas locally-

cliqueless visibility graphs. Figure 9 shows an example of alocally-cliqueless visibility graph.

Fig. 9. Visibility graph (left) and locally-cliqueless visibility graph (right).

Theorem IV.5 (Properties of a locally-cliqueless graph ofa proximity graph) Let G be a proximity graph. Then, thefollowing statements hold:

(i) GEMST,G ⊆ Glc,G ⊆ G;(ii) Glc,G andG have the same connected components.

In general, the inclusions in Theorem IV.5(i) are strict. Fig-ure 10 shows an example whereGEMST,Gvis,Q ( Glc,Gvis,Q (

Gvis,Q.The next result follows directly from Theorem IV.5.

Fig. 10. From left to right, visibility graph, locally-cliqueless graph andEuclidean Minimum Spanning Tree of the visibility graph.

Corollary IV.6 (Properties of locally-cliqueless visibilitygraphs) Let Q and Qǫ, ǫ > 0, be allowable environments.Let G be either one of the graphsGvis,Q, Gvis,Qǫ

or Gr-vis,Qǫ.

Then, the following statements hold:

(i) GEMST,G ⊆ Glc,G ⊆ G;(ii) Glc,G andG have the same connected components.

Let us now proceed to define new constraint sets that are ingeneral larger than the ones defined in (4). For simplicity, letG = Gr-vis,Qǫ

, and consider its locally-cliqueless graphGlc, G .For roboti ∈ 1, . . . , n at positionpi, define the constraintset

Cpi,Q(Ni,Glc, G ) =⋂

pj∈Ni,Glc, G

CQ(pi, pj). (5)

SinceGlc,G is a subgraph ofG (cf. Corollary IV.6(i)), we haveNi,Glc, G ⊆ Ni,G = Ni,Gr-vis, Qǫ

, and therefore

Cpi,Q(Ni,Gr-vis, Qǫ) ⊆ Cpi,Q(Ni,Glc, G ).

In general, sinceGlc,G is a strict subgraph ofG, the setCpi,Q(Ni,Glc, G ) is strictly larger thatCpi,Q(Ni,Gr-vis, Qǫ

).Now, if ui ∈ Cpi,Q(Ni,Glc, G )−pi for all i ∈ 1, . . . , n, then

all neighboring relationships in the graphGlc, G are preservedat the next time instant. As a consequence, it follows fromCorollary IV.6(ii) that the connected components ofGr-vis, Qǫ

are also preserved at the next time instant. Thus, we havefound constraint sets (5) for the input that are larger thanthe constraint sets (4), and are yet sufficient to preserve theconnectivity of the overall group.

Remark IV.7 (Distributed computation of locally-cliqueless visibility graphs) According to the modelspecified in Section III, each robot can detect all other robotsin its sensing regionS(pi) = V(pi, ǫ) ∩ B(pi, r), i.e., itsneighbors in the graphGr-vis, Qǫ

. Given the construction of theconstraint sets in this section, it is important to guarantee thatthe set of neighbors of roboti in the locally-cliqueless graphGlc,G can be computed locally by roboti. From the definitionof the locally-cliqueless graph, this is indeed possible ifarobot i can detect whether another robotj in its sensingregionS(pi) belongs to a clique of the graphGr-vis, Qǫ

. This isequivalent to being able to check if two robotspk, pl ∈ S(pi)satisfy the condition thatpk ∈ S(pl) and vice versa. Note thatpk ∈ S(pl) is equivalent to‖pk − pl‖ ≤ r and [pk, pl] ⊆ Qǫ.Given thatpk − pl = (pk − pi)− (pl − pi), the vectorpk − pl

Page 8: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

8

pi

pk pl

pi

pk pl

Fig. 11. The dashed circle is centered atpi and is of radiusr. The thickcurves represent the boundary ofQǫ; the one on the left represents the outerboundary whereas the one on the right represents a hole in theenvironment.

(and hence‖pk − pl‖) can be computed based on localsensing alone. Now, checking if[pk, pl] ⊆ Qǫ is possibleonly if Qǫ does not contain any hole; see Figure 11. In sucha case, it suffices to check if the entire line segment[pk, pl]is visible frompi or not.

Along these same lines it is possible to state that the locally-cliqueless visibility graph can be computed also under the “nocommon reference frame” model described in Remarks III.1and IV.3.

V. THE RENDEZVOUS PROBLEM: ALGORITHM DESIGN AND

ANALYSIS RESULTS

In this section, we solve the rendezvous problem through anovel Perimeter Minimizing Algorithm. The algo-rithm is inspired by the one introduced in [5] but is unique inmany different ways. The rendezvous algorithm uses differentgraphs to maintain connectivity and to move closer to otherrobots. Instead of moving towards the circumcenter of theneighboring robots, the robots move towards the center of asuitably defined motion constraint set.

The section is organized as follows. We present the algo-rithm in Subsection V-A followed by its main convergenceproperties in Subsection V-B.

A. ThePerimeter Minimizing Algorithm

We begin with an informal description of thePerimeterMinimizing Algorithm over graphsGsens and Gconstr.The sensing graphGsens is Gr-vis,Qǫ

while the constraint graphGconstr is eitherGsens or Glc,Gsens:

Every robot i performs the following tasks: (i) itacquires the positions of other robots that are itsneighbors according toGsens; (ii) it computes apoint that is “closer” to the robots it senses, and(iii) it moves toward this point while maintainingconnectivity with its neighbors according toGconstr.

The algorithm is formally described in Table II; Figure 1 inthe Introduction illustrates an example execution.

Remarks V.1 (i) According to the algorithm proposedin [5] the robots move towards the circumcenter of theirneighbors position. In thePerimeter Minimizing

Algorithm the robots move towards the circumcenterof their constraint set.

(ii) We prove later in Lemma II.2 in Appendix II thatXi isconvex and that, in turn,CC(Xi) is well-defined. Be-causeCC(Xi) ∈ Xi, we know thatp∗i ∈ Xi. Therefore,

TABLE II

Perimeter Minimizing Algorithm

Assumes: (i) smax > 0 is the maximal step size(ii) Q,Qǫ are allowable(iii) Gsens is Gr-vis,Qǫ

; Gconstr is eitherGsens or Glc,Gsens

Each roboti ∈ 1, . . . , n executes the following steps at each time instant:

1: acquirepi1 , . . . , pim := positions of robots withinpi sensing region2: computeNi,Gsens andNi,Gconstr

3: computeXi := Cpi,Q(Ni,Gconstr) ∩ rco(Ni,Gsens,V(pi, ǫ))

4: computep∗i := CC(Xi)

5: return: ui :=min(smax, ‖p∗i − pi‖)

‖p∗i − pi‖(p∗i − pi)

ui ∈ Xi − pi ⊆ Cpi,Q(Ni,Gconstr) − pi and, in turn,pi at the next time instant belongs toCpi,Q(Ni,Gconstr).From our discussion in Section IV, this implies that thegraphGconstr remains connected (or, more generally, thatthe number of connected components ofGconstr does notdecrease). Therefore, by Corollary IV.6, the number ofconnected components ofGsens also does not decrease.

(iii) If the initial positions of the robots are inQǫ, then therobots will remain forever inQǫ becausep∗i ∈ Xi ⊆ Qǫ.

(iv) All information required to execute the steps in thealgorithm is available to a robot through the sensingmodel described in Section III. The constraint on theinput size,‖ui‖ ≤ smax, is enforced in step5:.

Finally, we conclude this section by completing our treat-ment of robots without a common reference frame.

Remark V.2 (No common reference frame: continued)Consider a group of robots with visibility sensors and nocommon reference frame as discussed in Remarks III.1and IV.3. Because the relative convex hull and thecircumcenter of a set transform under changes of coordinateframes in the same way as the constraint set does inequation (3), one can verify that

ui(p01, . . . , p

0n) = R0

i ui(pi1, . . . , p

in),

whereui(p01, . . . , p

0n) is computed with environmentQ0 and

ui(pi1, . . . , p

in) is computed with environmentQi. This equal-

ity implies that the robot motion with controlui(p01, . . . , p

0n)

in equation (1) is identical to the robot motion with controlui(p

i1, . . . , p

in) in equation (2).

B. Main convergence result

To state the main results on the correctness of thePerimeter Minimizing Algorithm, we require somepreliminary notation. First, note that given the positionsofthe robotsp1, . . . , pn at any time instantt, the algorithmcomputes the positions at time instantt+1. We can thereforethink of the Perimeter Minimizing Algorithm asthe mapTGsens,Gconstr : Q

nǫ → Qn

ǫ . Second, in what follows wewill work with tuple of pointsP = (p1, . . . , pn) ∈ Qn. We letG(P ) denote the proximity graphG(P) andrco(P,Q) denotethe relative convex hull of the setP insideQ, whereP is the

Page 9: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

9

point set given bypi | i ∈ 1, . . . , n. Third, we introducea Lyapunov function that encodes the rendezvous objective.Given an allowable environmentQ, we recall the notions ofrelative convex hull and of perimeter from Section II, and wedefineVperim,Q : Qn → R≥0 by

Vperim,Q(P ) = perimeter(rco(P,Q)).

Lemma V.3 (Properties of Lyapunov function) The func-tion Vperim,Q has the following properties:

(i) Vperim,Q is continuous and invariant under permutationsof its arguments;

(ii) Vperim,Q(P ) = 0 for P = (p1, . . . , pn) if and only ifpi = pj for all i, j ∈ 1, . . . , n.

The technical result on continuity plays an important rolein the convergence analysis of the algorithm. Fact (ii) impliesthat achieving the rendezvous objective is equivalent to makingVperim,Qǫ

equal to zero. We are now ready to state the mainresult of the paper.

Theorem V.4 (Rendezvous is achieved via thePerimeterMinimizing Algorithm) LetQ andQǫ be allowable en-vironments. Letp1, . . . , pn be a group of robots with visibilitysensors inQǫ. Any trajectoryP [t]t∈Z≥0

⊂ Qǫ generated byP [t+ 1] = TGsens,Gconstr(P [t]) has the following properties:

(i) if the locations of two robots belong to the same con-nected component ofGsens at P [t0] for somet0, thenthey remain in the same connected component ofGsens

at P [t] for all t ≥ t0;(ii) Vperim,Qǫ

(P [t+ 1]) ≤ Vperim,Qǫ(P [t]); and

(iii) the trajectoryP [t]t∈Z≥0converges to a pointP ∗ ∈ Qǫ

such that eitherp∗i = p∗j or p∗i /∈ S(p∗j ) for all i, j ∈1, . . . , n.

As a direct consequence of the theorem, note that if the graphGsens is connected at any time during the evolution of thesystem, then all the robots converge to the same location inQǫ.

VI. PRACTICAL IMPLEMENTATION ISSUES

In Section V, we designed a provably correct rendezvousalgorithm for an ideal model ofpoint robots with perfectsensing and actuation capabilities. Also, we assumed that itwas possible for the robots to operatesynchronously. However,such an ideal model is not realistic in practical situations. Inthis section, we investigate, via extensive computer simula-tions, the effects of deviations from this ideal scenario.

A. Nominal experimental set-up

The computer simulation was written in C++ using theComputational Geometry Algorithmic Library (CGAL)(http://www.cgal.org). However, it was foundthat Boolean operations on polygons using the utilitiespresent in CGAL were not adequate in terms ofspeed for the purpose of running extensive simulations.Hence, Boolean operations on polygons were performed

using the General Polygon Clipping Library (GPC)(http://www.cs.man.ac.uk/˜toby/alan/software/gpc.html).

For the purpose of simulations, the environment consideredis a typical floor plan; see Figure 1. Experiments were per-formed with 20 robots starting from10 randomly generatedinitial conditions from a uniform distribution. For each initialcondition, experiments were repeated20 times. The environ-ment size is roughly80× 70, the step size of a robot is takenassmax = 0.5 and the sensing radiusr = 30. For simplicity,Gconstr is taken to be the same asGsens. To utilize theǫ-robustvisibility notion in providing robustness to asynchronismandsensing and control errors, at each time instant,ǫ is set tobe 0.97 times the ǫ at the previous time instant. Initially,ǫ is set equal to3. In case a robot approaches a reflexvertex of the environment closely, it reduces its speed. This isdone to reduce the risk of collision due to errors in sensingthe exact location of the reflex vertex. We now describethe various assumptions we make on the model to simulatethe actual implementation on physical robots followed bythe respective simulation results. The algorithm performanceis then evaluated based on the following three performancemeasures: (i) the average number of steps taken by the robotsto achieve the rendezvous objective; (ii) the fraction of theedges ofGsens that are preserved at the end of the simulation;and (iii) the number of connected components ofGsens at theend of the simulation compared with the number of connectedcomponents at the initial time.

B. Robustness against asynchronism, sensing and controlnoise, and finite-size disk robot models

(A1) Asynchronism:The robots operate asynchronously, i.e.,do not share a common processor clock. All the robotsstart operating at the same time. Each robot’s clockspeed is a random number uniformly distributed onthe interval [0.9, 1]. At integral multiples of its clockspeed, a robot wakes up, senses the positions of otherrobots within its sensing region and takes a step accord-ing to thePerimeter Minimizing Algorithm.Note that at the time when any given robot wakes up,there may be other robots that are moving. No sensingand control errors were introduced in the model. It isobserved that under this asynchronous implementation,the performance of the algorithm is very similar tothe synchronous implementation; see Figure 12. In thesubsequent implementations, we assume the robots tooperate synchronously.

(A2) Distance error in sensing and control:The visibilitysensors measure the relative distance of another objectaccording to the following multiplicative noise model.If dact is the actual distance to the object, then themeasured distance is given by(1 + edist)dact, whereedist is a random variable uniformly distributed in theinterval [−0.1, 0.1]. The objects to which distances aremeasured are other robots in the sensing range and theboundary of the environment. For simplicity, instead ofmeasuring a sequence of points along the boundary, as areal range sensor does, we assume that only the vertices

Page 10: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

10

1 2 3 4 5 6 7 8 9 1050

100

150

Initial conditions

1 2 3 4 5 6 7 8 9 100.985

0.99

0.995

1

1.005

Initial conditions

1 2 3 4 5 6 7 8 9 100

2

4

6

Initial conditions

PSfrag replacements

Ave

rag

est

eps

Initial conditions

Pre

serv

eded

ges

Nu

mb

ero

fco

nn

ecte

dco

mp

on

ents

Fig. 12. Computer simulation results with asynchronism. The top figure rep-resents the average number of steps taken per robot for convergence(crosses).Also shown is the number of steps taken by each robot in synchronousimplementation (red circle). The center figure shows the fraction of theedges of the initial sensing graph that are preserved till the end. The bottomfigure shows the number of connected components of the sensing graphinitially (small black discs) and at the end of asynchronous(blue crosses)and synchronous (red circle) implementations. The blue crosses in the figuredenote the mean of the observed quantities and the vertical bars denotestandard deviation.

of the environment are measured and the sensed regionis reconstructed from that information. The sensor error,therefore, occurs in the measurement of other robots andenvironment vertices. The actuators moving the robotsare also subject to a multiplicative noise distance modelwith the same error parameter. The results are shownin Figure 13. It is observed that only in 1 out of

1 2 3 4 5 6 7 8 9 1050

100

150

Initial conditions

1 2 3 4 5 6 7 8 9 10

1

Initial conditions

Pre

serv

ed e

dges

1 2 3 4 5 6 7 8 9 100

2

4

6

Initial conditionsNum

ber

of c

onne

cted

com

pone

nts

PSfrag replacements

Ste

ps

Initial conditions

Preserved edges

Number of connected components

Fig. 13. Computer simulation results with distance error and no directionalerror in sensing and control.The meaning of the quantities is as in Figure 12.

the 10 initial conditions does the number of connectedcomponents ofGsensincrease as compared to the numberof connected components ofGsens initially. In all cases,

the fraction of edges preserved is almost equal to 1.Also, in 7 out of 10 cases, the performance is almostidentical to the synchronized implementation with nonoise. In the subsequent simulations, we assume therobots to operate synchronously with no distance errorin sensing and control.

(A3) Direction error in sensing and control:The visibilitysensors measure the relative angular location of anotherobject according to the following additive noise model.If θact is the actual angular location of any object in thelocal reference frame of a robot, the measured angularlocation is given byθact + eθ, where eθ is a randomvariable uniformly distributed in the interval[−5, 5]. Asbefore, the actuators moving the robots are also subjectto an additive noise directional model with the sameerror parameter. The results are shown in Figure 14.

1 2 3 4 5 6 7 8 9 1020

40

60

80

100

Initial conditions

1 2 3 4 5 6 7 8 9 100.94

0.96

0.98

1

1.02

Initial conditions

1 2 3 4 5 6 7 8 9 100

2

4

6

Initial conditions

PSfrag replacements

Ste

ps

Initial conditions

Pre

serv

eded

ges

Nu

mb

ero

fco

nn

ecte

dco

mp

on

ents

Fig. 14. Computer simulation results with direction error and no distanceerror in sensing and control. The meaning of the quantities is as in Figure 12.

It is observed that the algorithm no longer performssimilar to the synchronized implementation with nonoise. Thus, it is more sensitive to directional errorsthan distance errors in sensing and control. However,almost all of the edges ofGsens are preserved for allthe initial conditions. Also, in n9 out of the10 initialconditions the number of connected components ofGsens

corresponding decreases during the course of evolutionof the group. In the following simulations, no asynchro-nism or sensing and control errors are assumed.

(A4) Disk robot model:The robots are assumed to be disksof radius0.2, but do not obstruct the views of others.During any step, a robot moves a distance of at mostsmax = 0.5. The next position of the center of therobot, therefore, lies in amotion disc of radius 0.7centered at the center of the robot; see the red andgreen discs in Figure 15. Acolliding neighbor of arobot i is any neighborj according toGsens such thatthe motion discs ofi andj intersect and that the motiondisc of j intersects the physical disc ofi on the pathbetweeni and its next point. If a robot has no colliding

Page 11: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

11

neighbors, then its motion is according toPerimeterMinimizing Algorithm. If on the other hand arobot has exactly one colliding neighbor, then it triesto swerve around it while reducing its speed. Finally, ifthe robot has more than two colliding neighbors then itstays at the current location. To ensure free movement ofthe robots inside the environment,ǫ is not allowed to fallbelow 0.2, i.e., the radius of a robot disc. Simulationswere performed without any asynchronism or sensingand control errors for the 10 initial conditions of therobots as in the previous experiments.The terminatingcondition for the simulations is that robots belonging toeach connected component ofGsens form a ”cohesive”group6; see Figure 15. For all initial conditions, thenumber of cohesive groups in the final configurationsis equal to the number of connected components ofGsenswhen the simulations are performed assuming pointrobots. Thus, the algorithm yields the same performanceif a disk robot model is assumed instead of a point robotmodel.

Fig. 15. Computer simulation results with no asynchronism and no sensingand control errors. The black and red discs denote the robotsand their motiondiscs respectively. The initial position of the robots correspond to initialcondition 2 in Figures 12, 13 and 14 and are shown by the small black discsscattered over the environment with the green discs denoting their motiondiscs. The robots converge to positions corresponding to a single cohesivegroup part of the same component ofGsens.

Thus, we see that thePerimeter Minimizing

Algorithm is robust to various deviations from theideal scenario. The magnitudes ofedist andeθ are in line withthe state-of-the-art. Finally, in the next section we analyzethe computation complexity of the algorithm.

C. Computation complexity with finite resolution sensing

In addition to the issues that might arise in a practical imple-mentation of thePerimeter Minimizing Algorithm,

6For each connected component ofGsens, the graph having nodes asthe robot locations and with an edge between two nodes whenever thecorresponding motion discs of the robots intersect is connected

another important consideration is the time taken for a robotto complete each step of the algorithm. This is dependenton the computational complexity of the algorithm, that wecharacterize in the following.

A real visibility sensor, e.g., a range scanner, will sense theposition of other robots and the boundary of the environmentwith some finite resolution; in particular, the boundary ofthe sensing region will be described by a set of points. It isreasonable to assume that the cardinality of this set of pointsis bounded, say byM , for all robots, irrespective of the shapeof the environment and the location of the robot in it. Forexample, if a laser range sensor is used to measure the distanceto the boundary and a measurement is taken at intervals of onedegree, thenM is equal to360.

Proposition VI.1 (Computational complexity) Let Q beany allowable environment. LetM be the resolution of thevisibility sensor located at any robot inQ. Then the followingstatements are true:

(i) The computation complexity of theConstraint Set

Generator Algorithm is O(κM);(ii) The computation complexity of thePerimeter

Minimizing Algorithm is τ(M)+O(M3 logM);(iii) If Gconstr = Gsens, then the computation complexity

of the Perimeter Minimizing Algorithm isO(M2 logM),

whereτ(M) is time taken for the computation ofNi,Gconstr giventhe setNi,Gsens assuming|Ni,Gsens| ≤ M , andκ is the numberof strict concavities ofQ.

As discussed in Section IV-B, ifGconstr = Glc,Gsens, then thecomputation ofGconstr from Gsens can be performed usingefficient polynomial time heuristics. The timeτ(M) abovedepends on the specific heuristic used. Thus, we see that therunning time of each step of thePerimeter Minimizing

Algorithm is polynomial in the number of data pointsobtained by the visibility sensor.

This analysis helps us assess whether it is feasible to im-plement this algorithm on an actual robot without demandingan unreasonable computational power.

VII. C ONCLUSIONS

In this paper, we present a provably correct discrete-timesynchronousPerimeter Minimizing Algorithm al-gorithm for rendezvous of robots equipped with visibilitysensors in a nonconvex environment. The algorithm buildson a novel solution to the connectivity maintenance problemalso proposed in this paper. The performance of the algorithmunder asynchronous operation of the robots, presence of noisein sensing and control, and nontrivial robot dimension is inves-tigated and found to be quite satisfactory. The computationalcomplexity of the algorithm under the assumption of finitesensing resolution is also investigated.

VIII. A CKNOWLEDGMENTS

This material is based upon work supported in part byAFOSR MURI Award F49620-02-1-0325, NSF Award CMS-0626457, NSF Award IIS-0525543, and NSF CAREER Award

Page 12: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

12

ECS-0546871. The authors thank Prof. Jana Kosecka for anearly inspiring discussion.

REFERENCES

[1] Y. U. Cao, A. S. Fukunaga, and A. Kahng, “Cooperative mobile robotics:Antecedents and directions,”Autonomous Robots, vol. 4, no. 1, pp. 7–27,1997.

[2] T. Arai, E. Pagello, and L. E. Parker, “Guest editorial: Advances inmultirobot systems,”IEEE Transactions on Robotics and Automation,vol. 18, no. 5, pp. 655–661, 2002.

[3] I. Suzuki and M. Yamashita, “Distributed anonymous mobile robots:Formation of geometric patterns,”SIAM Journal on Computing, vol. 28,no. 4, pp. 1347–1363, 1999.

[4] P. Flocchini, G. Prencipe, N. Santoro, and P. Widmayer, “Gatheringof asynchronous oblivious robots with limited visibility,” TheoreticalComputer Science, vol. 337, no. 1-3, pp. 147–168, 2005.

[5] H. Ando, Y. Oasa, I. Suzuki, and M. Yamashita, “Distributed mem-oryless point convergence algorithm for mobile robots withlimitedvisibility,” IEEE Transactions on Robotics and Automation, vol. 15,no. 5, pp. 818–828, 1999.

[6] J. Lin, A. S. Morse, and B. D. O. Anderson, “The multi-agent rendezvousproblem: An extended summary,” inProceedings of the 2003 BlockIsland Workshop on Cooperative Control, ser. Lecture Notes in Controland Information Sciences, V. Kumar, N. E. Leonard, and A. S. Morse,Eds. New York: Springer Verlag, 2004, vol. 309, pp. 257–282.

[7] J. Cortes, S. Martınez, and F. Bullo, “Robust rendezvous for mobileautonomous agents via proximity graphs in arbitrary dimensions,” IEEETransactions on Automatic Control, vol. 51, no. 8, pp. 1289–1298, 2006.

[8] Z. Lin, M. Broucke, and B. Francis, “Local control strategies forgroups of mobile autonomous agents,”IEEE Transactions on AutomaticControl, vol. 49, no. 4, pp. 622–629, 2004.

[9] S. M. LaValle, Planning Algorithms. Cambridge, UK: CambridgeUniversity Press, 2006.

[10] R. Orghidan, J. Salvi, and E. Mouaddib, “Modelling and accuracyestimation of a new omnidirectional depth computation sensor,” PatternRecognition Letters, vol. 27, no. 7, pp. 843–853, 2006.

[11] D. Sack and W. Burgard, “A comparison of methods for lineextractionfrom range data,” inProc. of the 5th IFAC Symposium on IntelligentAutonomous Vehicles (IAV), 2004.

[12] M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf,Computational Geometry: Algorithms and Applications, 2nd ed. NewYork: Springer Verlag, 2000.

[13] F. Duguet and G. Drettakis, “Robust epsilon visibility,” in ACM AnnualConference on Computer graphics and Interactive Techniques (SIG-GRAPH ’02), San Antonio, Texas, July 2002, pp. 567–575.

[14] J. W. Jaromczyk and G. T. Toussaint, “Relative neighborhood graphs andtheir relatives,”Proceedings of the IEEE, vol. 80, no. 9, pp. 1502–1517,1992.

[15] T. Lozano-Perez, “Spatial planning: A configuration space approach,”IEEE Transactions on Computers, vol. 32, no. 2, pp. 108–120, 1983.

[16] I. M. Bomze, M. Budinich, P. M. Pardalos, and M. Pelillo,“Themaximum clique problem,” inHandbook of Combinatorial Optimization- Supplement Volume A, D.-Z. Du and P. M. Pardalos, Eds. Dordrecht,The Netherlands: Kluwer Academic Publishers, 1999, pp. 1–74.

[17] W. W. Hogan, “Point-to-set maps in mathematical programming,” SIAMReview, vol. 15, no. 3, pp. 591–603, 1973.

[18] N. A. Lynch, Distributed Algorithms. San Mateo, CA: MorganKaufmann Publishers, 1997.

[19] F. P. Preparata and M. I. Shamos,Computational Geometry: An Intro-duction. New York: Springer Verlag, 1993.

[20] G. T. Toussaint, “Computing geodesic properties inside a simple poly-gon,” Revue D’Intelligence Artificielle, vol. 3, no. 2, pp. 9–42, 1989.

[21] J. O’Rourke,Computational Geometry in C. Cambridge UniversityPress, 2000.

APPENDIX IPROOFS OF RESULTS INSECTION IV

Proof of Lemma IV.1: Let d = dist(v1, [pi, pj ]) =dist(v2, [pi, pj ]) and letL = p ∈ R2 | dist(p, [pi, pj ]) ≤ d.Thenv1, v2 ∈ ∂L; see Figure 16. We now prove our result bycontradiction. Letv1 /∈ HQǫ

(v2). Thenv1 ∈ ∂L \HQǫ(v2) as

shown in Figure 16. Sincev1 is visible frompi, the boundary

pi pj

v2

v1v∗

v

Fig. 16. The shaded region representsL. The solid curve passing throughv2represents a portion of the boundary ofQǫ. The dashed line is the boundary ofHQǫ

(v2) which is along the tangent to∂Qǫ at v2. The interior ofHQǫ(v2)

is in the direction of the arrow.

∂Qǫ must intersect∂L at a pointv in betweenv2 and v1,as illustrated in Figure 16. But this means that there existsa point v∗ belonging to the concavity containingv2 thatis strictly closer to the segment[pi, pj] than v2; this is acontradiction.Proof of Proposition IV.2:We first prove statement (i). Notethat initially Ctemp= V(pi, ǫ)∩B(

pi+pj

2 , r2 ). Therefore∂Ctemp

has at mostκ concavities. This is because the concavities of∂Ctemp are induced by the concavities of∂Qǫ, and the numberof concavities of∂Qǫ is the same as the number of concavitiesof ∂Q. Now, by construction, the number of concavities in∂(Ctemp∩HQǫ

(v)) is strictly less than the number of concav-ities of ∂Ctemp. It follows then that theConstraint Set

Generator Algorithm terminates in at mostκ steps.This completes the proof of statement (i).

Now note that[pi, pj ] ⊆ CQ(pi, pj). HenceCQ(pi, pj) isalways non-empty. Notice thatCQ(pi, pj) can be written inthe following way

CQ(pi, pj) = V(pi, ǫ) ∩B(pi + pj

2,r

2)

∩HQǫ(vi,j,1) . . . ∩HQǫ(vi,j,nij), (6)

where dist(vi,j,1, [pi, pj]) ≤ . . . ≤ dist(vi,j,nij, [pi, pj ]).

The vi,j,k ’s are computed according to step3: in theConstraint Set Generator Algorithm. Therefore,CQ(pi, pj) is the result of the intersection of a finite num-ber of closed sets, and therefore is closed as well. AlsoCQ(pi, pj) ⊆ Qǫ and is thus bounded. Therefore, it is compact.Finally, theConstraint Set Generator Algorithm

terminates whenCtemp has no concavities, or in other words,whenCtemp is convex. This proves statement (ii).

To prove statement (iii), let us writeCQ(pj , pi) as

CQ(pj , pi) = V(pi, ǫ) ∩B(pi + pj

2,r

2)

∩HQǫ(vj,i,1) . . . ∩HQǫ(vj,i,nji),

in the same way as (6). We first claim thatnij = nji andvi,j,1, . . . , vi,j,nij

= vj,i,1, . . . , vj,i,nji. Before proving

this claim, let us assume it is true and see where it leads.Because of this assumption, the expressions forCQ(pi, pj)and CQ(pj , pi) would differ only due to the termsV(pi, ǫ)andV(pj, ǫ). Now, let q ∈ CQ(pi, pj). BecauseCQ(pi, pj) isa convex subset ofQǫ containingpj and q, the line segment[pj , q] ⊆ CQ(pi, pj) ⊆ Qǫ. Hence,q ∈ V(pj , ǫ). This in turnimplies thatq ∈ CQ(pj , pi). Therefore, we haveCQ(pi, pj) ⊆CQ(pj , pi). The opposite inclusion can be shown to be true ina similar fashion. Thus, we haveCQ(pi, pj) = CQ(pj , pi).

We now prove thatnij = nji and vi,j,1, . . . , vi,j,nij =

vj,i,1, . . . , vj,i,nji. Note thatvi,j,1 is the strictly concave

Page 13: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

13

point nearest to[pi, pj ] belonging toV(pi, ǫ) ∩ B(pi+pj

2 , r2 ).

In general, there can be more than one nearest strictly concavepoint, sayvi,j,1, . . . , vi,j,sij . Let d = dist(vi,j,1, [pi, pj ]) andL = p′ ∈ Ctemp| dist(p′, [pi, pj ]) ≤ d, where Ctemp =V(pi, ǫ) ∩ B(

pi+pj

2 , r2 ). Note thatL is convex since there

cannot be any strictly concave points of∂Ctemp in the interiorof L. Sincepj , vi,j,1 ∈ L then[vi,j,1, pj] ⊆ L ⊆ Qǫ. Thereforevi,j,1 ∈ V(pj , ǫ) and hencevi,j,1 ∈ V(pj , ǫ) ∩ B(

pi+pj

2 , r2 ).

Therefore,vi,j,1, . . . , vi,j,sij ∈ V(pj , ǫ) ∩ B(pi+pj

2 , r2 ). Sim-

ilarly, if vj,i,1, . . . , vj,i,sji are the strictly concave pointsnearest to [pi, pj ] belonging to V(pj , ǫ) ∩ B(

pi+pj

2 , r2 ),

then vj,i,1, . . . , vj,i,sji ∈ V(pi, ǫ) ∩ B(pi+pj

2 , r2 ). Therefore

dist(vi,j,1, [pi, pj]) = dist(vj,i,1, [pi, pj ]) and sij = sji.This implies thatvj,i,k ∈ vi,j,1, . . . , vi,j,sij for all k ∈1, . . . , sji. Proceeding recursively, we get thatnij = nji andvi,j,1, . . . , vi,j,nij

= vj,i,1, . . . , vj,i,nji. This completes

the proof of statement (iii).We now prove statement (iv). First, let us write

CQ(pi, pj) = V(pi, ǫ) ∩ B(pi + pj

2,r

2)

\

∩nji

k=1HQǫ(vj,i,k).

Since Q is bounded, there existsp0 ∈ Q such thatCQ(pi, pj) ⊆ Q ⊆ B(p0, diam(Q)). Therefore, we can write

CQ(pi, pj) = V(pi, ǫ) ∩ B(pi + pj

2,r

2)

\

∩nji

k=1

`

HQǫ(vj,i,k) ∩B(p0, diam(Q))

´

.

The mappi → V(pi, ǫ) is upper semicontinuous at any pointpi ∈ Qǫ because there exists a neighborhood around anypoint pi where the visibility set can only shrink. Also, themappi → V(pi, ǫ) has a compact range. Thus the notions ofupper semicontinuity and closedness are equivalent and, hence,pi → V(pi, ǫ) is closed at any pointpi ∈ Qǫ. The second termis the closed ball of radiusr2 centered at the pointpi+pj

2 andclearly depends continuously onpi.

Let a1, . . . , aκ be the strict concavities ofQǫ. Now vi,j,kbelongs to exactly one strict concavity, sayaik . Given aik ,vi,j,k is a function of (pi, pj). We can write vi,j,k :=vi,j,k(pi, pj) = argmindist(v, [pi, pj ]) | v ∈ aik. Sinceaikis a continuous curve, it is clear thatvi,j,k is a continuousfunction of (pi, pj). We now show thatHQǫ

(vi,j,k(pi, pj)) ∩B(p0, diam(Q)) is in turn a set-valued map continuous withrespect to(pi, pj). Since vi,j,k is a continuous function of(pi, pj), from Propositions 1 and 8 in [17], it suffices to showthat HQǫ

(v) ∩ B(p0, diam(Q)) is continuous at any pointv over the domainaik . This is equivalent to showing thatHQǫ

(v) ∩ B(p0, diam(Q)) is closed as well as open at anypoint v ∈ aik . Without loss of generality, let us assume that∂HQǫ

(v) is parallel to thex axis as shown in Figure 17.Let us first show thatHQǫ

(v) ∩ B(p0, diam(Q)) is open atany pointv ∈ aik . Let vl be a sequence inaik such thatvl → v, and letq be any point on∂HQǫ

(v). Let ql be the pointon ∂HQǫ

(vl) that is either vertically above or belowq. Now‖q−ql‖ ≤ |s(vl)| diam(Q), wheres(vl) is the slope of the linedefining the boundary ofHQǫ

(vl). Sinceaik is continuouslydifferentiable, asvl → v, we have thats(vl) → s(v) = 0.Thus,ql → q. Hence,HQǫ

∩ B(p0, diam(Q)) is open at anypoint v ∈ aik . We now show thatHQǫ

∩ B(p0, diam(Q))is closed at any pointv ∈ aik . As before, letvl be a

sequence inaik such thatvl → v. Let ql ∈ HQǫ(vl) ∩

B(p0, diam(Q)) and let ql → q. But dist(ql, HQǫ(v) ∩

B(p0, diam(Q))) ≤ |s(vl)| diam(Q) ands(vl) → s(v) = 0 asvl → v. Therefore,dist(ql, HQǫ

(v) ∩ B(p0, diam(Q))) → 0.Since ql → q and the distance of a point to the convex setHQǫ

(v) ∩ B(p0, diam(Q)) is a continuous function, we de-ducedist(ql, HQǫ

(v)∩B(p0, diam(Q))) → dist(q,HQǫ(v)∩

B(p0, diam(Q))) = 0. Henceq ∈ HQǫ(v)∩B(p0, diam(Q))).

ThereforeHQǫ(v) ∩ B(p0, diam(Q))) is a closed map and,

qlv

vl

q

ql

vvlδ

Fig. 17. Illustration of various notions used in proving that HQǫ(v) ∩

B(p0,diam(Q)) is continuous at any pointv over the domainaik . Thecircle represents the boundary of the setB(p0,diam(Q)). The arc representsaik . The lines tangent toaik at v and vl are the boundaries of the half-planesHQǫ

(v) and HQǫ(vl) respectively. The interior of the half-planes

is in the direction of the arrows. In the figure on the right,δ representsdist(ql,HQǫ

(v) ∩B(p0, diam(Q))).

in turn, is continuous over the domainaik . This implies thatHQǫ

(vi,j,k(pi, pj))∩B(p0, diam(Q))) is continuous atpi forfixed aik .

Now, let (pki , pkj ) → pi and let qk → q where qk ∈

CQ(pki , pkj ). We need to show thatq ∈ CQ(pi, pj). Since

qk ∈ CQ(pki , pkj ), we have thatqk ∈ V(pki , ǫ). Since the map

pi → V(pi, ǫ) is closed, we have thatq ∈ V(pi, ǫ). Also,

qk ∈ B(pki +pk

j

2 , r2 ). Since the map(pi, pj) → B(

pi+pj

2 , r2 ) is

continuous, it follows thatq ∈ B(pi+pj

2 , r2 ). Therefore, what

remains to be shown is thatq ∈ HQǫ(vi,j,l(pi, pj)) for all l ∈

1, . . . , nij. In what follows, for any points(pi, pj), (pki , pkj )

and (p′i, p′j), let vi,j,l(pi, pj), vi,j,l(p

ki , p

kj ) and vi,j,l(p

′i, p

′j)

belong to the concavitiesail , akil

anda′il respectively and withl belonging to1, · · · , nij, 1, · · · , nk

ij and 1, · · · , n′ij

respectively. Sinceqk ∈ HQǫ(vi,j,l(p

ki , p

kj )), if there existsk0

such that for allk ≥ k0, we have thatakil ∈ ai1 , · · · , ainij,

then we are done. Equivalently, it suffices to show that ifa isany strict concavity such thata /∈ ai1 , · · · , ainij

then thereexists a neighborhoodB aroundpi such that for allp′i ∈ B,a /∈ a′i1 , · · · , a

′in′

ij

. But if a /∈ ai1 , · · · , ainij, thena is

in the exterior of at least one ofV(pi, ǫ), B(pi+pj

2 , r2 ) and

HQǫ(vi,j,l(pi, pj)). The existence ofB now follows from the

fact that the mapspi → V(pi, ǫ), pi → B(pi+pj

2 , r2 ) and

pi → HQǫ(vi,j,l(pi)) ∩B(p0, diamQ) are all closed.

Proof of Lemma IV.5:The second inclusion in fact (i) isa direct consequence of the definition ofGlc,G . We provenow that GEMST,G ⊆ Glc,G by contradiction. LetP be anypoint set and assume, without loss of generality, thatG(P)is connected (otherwise, the same reasoning carries over foreach connected component ofG(P)). For simplicity, furtherassume that the distances‖pk − pl‖, k, l ∈ 1, . . . , n, k 6= lare all distinct. This ensures that there is a unique EuclideanMinimum Spanning Tree ofG(P). If this is not the case,

Page 14: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

14

the same reasoning exposed here carries through for eachEuclidean Minimum Spanning Tree associated withG(P).Let (pi, pj) ∈ EGEMST,G (P) and (pi, pj) 6∈ EGlc,G (P). Sincenecessarily(pi, pj) ∈ EG(P), the latter implies that thereexists a maximal cliqueP ′ of the edge(pi, pj) in G suchthat(pi, pj) 6∈ EGEMST(P

′). If we remove the edge(pi, pj) fromGEMST,G(P), the tree becomes disconnected into two connectedcomponentsT1 and T2, with pi ∈ T1 and pj ∈ T2. Now,there must exist an edgee ∈ EGEMST(P

′) with one vertex inT1 and the other vertex inT2 and with length strictly lessthan ‖pi − pj‖. To see this, lete1, . . . , ed be the edges ofGEMST(P ′) obtained in incremental order by running Prim’salgorithm (e.g., see [18]) starting from the vertexpi. Becausepi is in T1 and pj is in T2, there must exist at least anedge in e1, . . . , ed with one vertex inT1 and the othervertex in T2. Let s ∈ 1, . . . , d be such thates is thefirst edge having one vertex inT1 and another vertex inT2.Since(pi, pj) 6∈ EGEMST(P

′), according to Prim’s algorithm, thelength ofes must be strictly less than‖pi−pj‖ (otherwise, theedge(pi, pj) will be part of the Euclidean Minimum SpanningTree ofP ′). If we add the edgees to the set of edges ofT1∪T2,the resulting graphG is acyclic, connected and contains allthe verticesP , i.e.,G is a spanning tree. Moreover, since thelength of es is strictly less than‖pi − pj‖ and T1 and T2

are induced subgraphs ofGEMST,G(P), we conclude thatGhas shorter length thanGEMST,G(P), which is a contradiction.Fact (ii) is a consequence of fact (i).

APPENDIX IIADDITIONAL ANALYSIS RESULTS AND PROOF OF

THEOREM V.4

In this section we provide some key technical results thathelp establish Theorem V.4. We first present the technicalresults on which the proof depends.

Lemma II.1 (Properties of the relative convex hull) Forany allowableQ,Qǫ, the following statements hold:

(i) if P1,P2 ⊆ Q, thenrco(P1, Q) ⊆ rco(P1 ∪ P2, Q);(ii) if rco(P ′, Q) is a strict subset ofrco(P ′′, Q), then

Vperim,Q(P′) < Vperim,Q(P

′′);(iii) if P ⊂ Qǫ and G(P) ⊆ Gsens(P), then forpi ∈ P , we

have thatpi ∩ Ve(rco(P , Qǫ)) ⊆ Ve(co(Ni,G)).

Proof: Statements (i) and (ii) are obvious from thedefinitions of the relative convex hull and its perimeter. Toprove statement (iii), assumepi /∈ Ve(co(Ni,G)). Then, pibelongs either to∂ co(Ni,G) \Ve(co(Ni,G)) or to the interiorof co(Ni,G). In the former case,pi ∈ [pk, pl] wherepk, pl ∈Ve(co(Ni,G)); see Figure 18(left). Note that sinceG ⊆ Gsens

and pk, pl are neighbors ofpi in G, we have[pi, pk] ⊆ Qǫ

and [pi, pl] ⊆ Qǫ. Since pi ∈ [pk, pl], this implies that[pk, pl] ⊆ Qǫ. Therefore[pk, pl] ⊆ rco(P , Qǫ) because theshortest path inQǫ betweenpk, pl is contained inrco(P , Qǫ).Thus,pi cannot be a vertex ofrco(P , Qǫ). Let us now lookat the case whenpi belongs to the interior ofco(Ni,G); seeFigure 18(right). Then, since the strict concavities ofQǫ are allcontinuously differentiable curves, the shortest path betweenany two pointspk, pl ∈ Ve(co(Ni,G)) will be a sequence

pi

pk

pl

pi

pk

pmpl

Fig. 18. Illustration of the cases whenpi 6∈ Ve(co(Ni,G)). The point setrepresented by the black disks isNi,G . The shaded region isco(Ni,G). Thestraight line segments between any two points represent thefact that the twopoints are visible inQǫ. The curved lines between pairs of points in the figureon the right represent shortest paths inQǫ between the points.

of straight lines and curves as shown in Figure 18(right).By the definition of the relative convex hull, the shortestpaths between two points are contained in the relative convexhull. Thus the region bounded by the shortest paths betweenadjacent vertices ofco(Ni,G) is contained in the relativeconvex hull. Clearly, sincepi is the interior of this region,it cannot be a vertex ofrco(P , Qǫ). This concludes the proofof statement (iii).See Figure 19 for a graphical explanation of Lemma II.1.

pipi1

pi3

pi4

pi2

Fig. 19. Illustration of Lemma II.1. The outer polygonal environment isQand the inner curved environment isQǫ. The set of points represented by blackand white disks areP1 andP2 respectively. Note thatrco(P1, Qǫ), repre-sented by the dark shaded region, is asubsetof rco(P1∪P2, Qǫ), representedby the union of the dark and light shaded regions (c.f. Lemma II.1 (i)). In factrco(P1, Qǫ) is a strict subsetof rco(P1 ∪P2, Qǫ) and hencerco(P1, Qǫ)has a strictly smaller perimeter thanrco(P1 ∪P2, Qǫ) (c.f. Lemma II.1 (ii)).Now, pi ∈ Ve(rco(P1 ∪ P2)). The setpi ∪ pi1 , . . . , pi4 is equalto the setNi,Gsens where Gsens is such thatr = +∞ . Note thatpi ∈Ve(co(Ni,Gsens)) where co(Ni,Gsens) is the region bounded by the dashedlines (c.f. Lemma II.1 (iii)).

Lemma II.2 (Properties of the constraint set) For any al-lowableQ,Qǫ, if P ∈ Qn

ǫ and G2(P ) ⊆ G1(P ) ⊆ Gsens(P ),then for all pi, the following statements hold:

(i) The setCpi,Q(Ni,G2)∩ rco(Ni,G1 ,V(pi, ǫ)) is convex; and(ii) Cpi,Q(Ni,G1)∩rco(Ni,G1 ,V(pi, ǫ)) = Cpi,Q(Ni,G1)∩ co(Ni,G1).

Proof: Let p, q ∈ Cpi,Q(Ni,G2) ∩ rco(Ni,G1 ,V(pi, ǫ)).Since Cpi,Q(Ni,G2 ) is an intersection of convex sets, it isconvex as well. This implies that[p, q] ⊆ Cpi,Q(Ni,G2).SinceCpi,Q(Ni,G2) ⊆ Qǫ, we deduce that[p, q] ⊆ Qǫ. Now,p, q ∈ rco(Ni,G1 ,V(pi, ǫ)). Therefore, by the definition ofthe relative convex hull, the shortest path betweenp andq in Qǫ is also contained inrco(Ni,G1 ,V(pi, ǫ)). But theshortest path is the segment[p, q] since [p, q] ⊆ Qǫ. Thus,[p, q] ⊆ rco(Ni,G1 ,V(pi, ǫ)). This completes the proof ofstatement (i).

Page 15: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

15

To prove statement (ii), note thatrco(Ni,G1 ,V(pi, ǫ)) ⊆co(Ni,G1 ). Hence Cpi,Q(Ni,G1) ∩ rco(Ni,G1 ,V(pi, ǫ)) ⊆Cpi,Q(Ni,G1)∩co(Ni,G1 ). To prove the other inclusion, letq ∈Cpi,Q(Ni,G1)∩co(Ni,G1). Sinceq ∈ co(Ni,G1), thenq belongsto the closed triangle formed bypi and two other pointsbelonging toVe(co(Ni,G1 )), say pk, pl; see Figure 20. Alsoq ∈ Cpi,Q(Ni,G1). From the construction ofCpi,Q(Ni,G1), itfollows thatq ∈ V(pj, ǫ) for all pj ∈ Ni,G1 . In particular, thismeans that[q, pl] ⊂ Qǫ and [q, pk] ⊂ Qǫ.

Sincepi, pl ∈ Ni,G1 and [pi, pl] ⊆ V(pi, ǫ), we deduce that[pi, pl] ⊆ rco(Ni,G1 ,V(pi, ǫ)) because the relative convex hullcontains the shortest path inV(pi, ǫ) between any two pointscontained in it. Let the line containing the segment[q, pk]intersect the segment[pi, pl] at q′. Note thatq ∈ [q′, pk] be-cause by choice ofpk, pl, we have thatq belongs to the closedtriangle with verticespi, pk, pl. Now, sinceq′ ∈ [pi, pl] and[pi, pl] ⊆ rco(Ni,G1 ,V(pi, ǫ)), then q′ ∈ rco(Ni,G1 ,V(pi, ǫ)).We now claim that the segment[q′, pk] ⊆ V(pi, ǫ). To seethis, note that[q′, pk] is a subset of the polygon given by theordered set of vertices(pi, pk, q, pl). Since all the edges of thepolygon, [pi, pk], [pk, q], [q, pl], [pl, pk], are a subset ofQǫ,we have that the interior ofQǫ and the interior of the polygon(pi, pk, q, pl) do not intersect. Thus[q′, pk] ⊆ V(pi, ǫ). Now,sinceq′, pk ∈ rco(Ni,G1 ,V(pi, ǫ)), the shortest path betweenq′, pk in V(pi, ǫ) is also contained inrco(Ni,G1 ,V(pi, ǫ)). Thusq ∈ [q′, pk] ⊆ rco(Ni,G1 ,V(pi, ǫ)). This completes the proofof statement (ii).

q′

pkq

pi

pl

Fig. 20. The set of points represented by black disks isNi. The shadedregion representsco(Ni). q, represented by the white disk, is any point inco(Ni). Sinceq is ǫ-robustly visible from every point inNi, the dashed linesegments are a subset ofQǫ. Also every point inNi \ pi is visible frompi by the definition ofNi. Hence the solid line segments are also a subsetof Qǫ.

Statement (i) in the above lemma states that the constraint setis convex. Statement (ii) gives an alternate way of computingthe setXi in step 3: of the Perimeter Minimizing

Algorithm whenGconstr andGsensare identical.

In what follows, we analyze the Perimeter

Minimizing Algorithm by means of the closedperimeter minimizing algorithmover any proximity graphs

G2 ⊆ G1 ⊆ Gsens, defined as follows:

T cG1,G2

(P )i ∈ pi + ui, where

Xi(P ) = Cpi,Q(Ni,G2) ∩ rco(Ni,G1 ,V(pi, ǫ)),

Ki(P ) =

limkm→+∞

CC(Xi(Pkm)) | Pk → P,

CC(Xi(Pkm) is a convergent subseq. ofCC(Xi(Pk)

,

ui ∈

min(smax, ‖p∗i − pi‖)

‖p∗i − pi‖(p∗i − pi)

∣p∗i ∈ Ki(P )

,

(7)

and whereT cG1,G2

(P )i is the ith component ofT cG1,G2

(P ).Note that TGsens,Gconstr(P ) ⊆ T c

G1,G2(P ) if G1 = Gsens

and G2 = Gconstr. Therefore, the evolution under thePerimeter Minimizing Algorithm given by the tra-jectoryP [t]t∈Z≥0

with P [t+1] ∈ TGsens,Gconstr(P [t]) is just oneof the possible evolutions underT c

G1,G2given by the trajectory

P c[t]t∈Z≥0with P c[t + 1] ∈ T c

G1,G2(P c[t]). We now begin

stating the intermediate results forT cG1,G2

. The first of theseresults essentially states that for at least one robot located at avertex of the relative convex hull, the setXi is large enoughfor it to move under the application ofT c

G1,G2. This, in turn,

implies that the relative convex hull shrinks.

Lemma II.3 (Nontrivial constraints) Let Q, Qǫ be allow-able environments. Assume thatP ∈ Qn

ǫ and the proximitygraphsG1 andG2 satisfy

A) not all points inP are equal; andB) G2(P ) ⊆ G1(P ) ⊆ Gsens(P ) andG2(P ) is connected.

Then there existspi ∈ Ve(rco(P,Qǫ)) such thatdiam(Xi) >0, whereXi = Cpi,Ni,G2

∩ rco(Ni,G1 ,V(pi, ǫ)).

Proof: Note that pi ⊆ Xi and Xi is convex. Thus,diam(Xi) = 0 if and only if Xi = pi. The remain-der of the proof is organized as follows. We first establishsome necessary conditions forXi = pi. We then showthat under the assumptions in the lemma, those necessaryconditions cannot hold for everypi ∈ Ve(rco(P,Qǫ)).Note thatXi = Cpi,Q(Ni,G2) ∩ rco(Ni,G1 ,V(pi, Qǫ)) andCpi,Q(Ni,G2) =

pj∈Ni,G2

CQ(pi, pj). For any pj ∈ Ni,G2 ,

CQ(pi, pj) = V(pi, ǫ) ∩B(pi + pj

2,r

2)

nij⋂

k=1

HQǫ(vi,j,k) where

vi,j,k ’s are computed at step3: of the Constraint Set

Generator Algorithm. Thus, we can write

Xi = V(pi, ǫ)∩

0

B

@

\

pj∈Ni,G2

0

@B(pi + pj

2,r

2) ∩

0

@

nij\

k=1

HQǫ (vi,j,k)

1

A

1

A

1

C

A

∩ rco(Ni,G1 ,V(pi, Qǫ)),

which can be rewritten as

Xi = V(pi, ǫ) ∩ rco(Ni,G1 ,V(pi, Qǫ)) ∩

0

B

@

\

pj∈Ni,G2

B(pi + pj

2,r

2)

1

C

A∩

0

B

@

\

pj∈Ni,G2

nij\

k=1

HQǫ (vi,j,k)

1

C

A. (8)

Page 16: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

16

Since rco(Ni,G1 ,V(pi, ǫ)) ⊆ V(pi, ǫ), we have thatV(pi, ǫ) ∩ rco(Ni,G1 ,V(pi, Qǫ)) = rco(Ni,G1 ,V(pi, ǫ)). Fromassumptions (A) and (B), any roboti will have a neighborin G1(P ) and G2(P ) that is not placed atpi. Hence,Ni,G1

andNi,G2 are point sets strictly larger thanpi. Therefore,rco(Ni,G1 ,V(pi, ǫ)) is strictly larger thanpi. Therefore,there exists a neighborhood aroundpi in rco(Ni,G1 ,V(pi, ǫ)),as shown by the shaded region in Figure 23. Let this neigh-borhood beB.

Therefore, if pi belongs to the interior of(

pj∈Ni,G2B(

pi+pj

2 , r2 ))

∩(

pj∈Ni,G2

⋂nij

k=1 HQǫ(vi,j,k)

)

,

thenXi will be strictly larger thanpi. Hence, ifXi = pithen pi belongs to the boundary of one or more of thesets B(

pi+pj

2 , r2 ) and HQǫ

(vi,j,k), where pj ∈ Ni,G2 andk ∈ 1, . . . , nij.

If ‖pi − pj‖ < r, then pi belongs to the interior ofB(

pi+pj

2 , r2 ); see Figure 21 (left). Also, ifvi,j,k /∈ [pi, pj ] then

pi belongs to the interior ofHQǫ(vi,j,k); see Figure 21 (right).

Therefore, if pi belongs to the boundary ofHQǫ(vi,j,k),

then vi,j,k ∈ [pi, pj] and if pi belongs to the boundary ofB(

pi+pj

2 , r2 ), then‖pi − pj‖ = r.

vi,j,k

pi pj pjpi

Fig. 21. In the figure on the left,‖pi − pj‖ < R. The circle representsB(

pi+pj2

, r2). In the figure on the curved line represents a strict concavity.

vi,j,k represents the point on the concavity nearest to[pi, pj ]. It can be seenthat dist(vi,j,k , [pi, pj ]) > 0. The half-plane tangent to the strict concavityat vi,j,k and with interior in the direction of the arrow isHQǫ

(vi,j,k).

Since pi ∈ Ve(rco(P,Qǫ)), from Lemma II.1 (iii)we have that pi ∈ Ve(co(Ni,G2)). This implies that

pj∈Ni,G2

B(pi + pj

2,r

2) is a convex set strictly containing

pi; see Figure 22.

pi

pj pk

Fig. 22. pi is a vertex of the convex hull of the setpi, pj , pk. Here‖pi−pj‖ = ‖pi−pk‖ = r. Note that the angle between the vectorspj −pi

and pk − pi is strictly less thanπ. The circles representB(pi+pj

2, r2) and

B(pi+pj

2, k2) and the shaded region represents their intersection. If‖pi −

pj‖ < r or ‖pi−pk‖ < r, the region of intersection will still strictly containpi.

Therefore⋂

pj∈Ni,G2

B(pi + pj

2,r

2) ∩ B strictly contains

pi. Therefore,pi must belong to the boundary of someHQǫ

(vi,j,k). It is easy to see thatHQǫ(vi,j,k) ∩ B is strictly

larger thanpi. Therefore,pi must belong to the boundary

of another setHQǫ(vi,k,l) or B(

pi+pj

2 , r2 ) as explained in

Figure 23.

pk

pi

pkpj

pi

pj

Fig. 23. The thick lines represent the boundary ofrco(Ni,G1,V(pi, ǫ)).

The shaded region is a subset ofrco(Ni,G1,V(pi, ǫ)) and forms an entire

neighborhood aroundpi. HQǫ(vi,j,l) andHQǫ

(vi,k,m) are the half-planeswith boundary being the lines passing through[pi, pj ] and [pi, pk] respec-tively and interior in the direction of the arrows. In the figure on the right,‖pj − pi‖ = r and the angles between the vectorspj − pi and pk − pi isgreater thanπ

2. The circle representsB(pi+pk

2, r2).

Therefore, forpi ∈ Ve(rco(P,Qǫ)), we obtain the followingnecessary condition fordiam(Xi) = 0. There exist at least twoneighbors ofpi located atpj , pk such that one or more thanone of following cases hold:

(A) ‖pj−pi‖ = r, vi,k,l ∈ [pi, pk] for somel ∈ 1, . . . , nik,the inner product〈pj − pi, pk − pi〉 ≤ 0 and pj /∈HQǫ

(vi,k,l);(B) vi,j,m ∈ [pi, pj ], vi,k,l ∈ [pi, pk] andpk /∈ HQǫ

(vi,j,m),pj /∈ HQǫ

(vi,k,l) for somem ∈ 1, . . . , nij and somel ∈ 1, . . . , nik.

Cases (A) and (B) correspond to Figure 24 left and rightrespectively.

vi,k,m

pj pk

r ≥ π2

pi

vi,k,l

pi1

pj pk

vi,j,l

Fig. 24. Illustration of cases (A) and (B) in the proof of Lemma II.3. Thesecases illustrate the necessary conditions in order for the constraint setXi tobe a point.

We now show that the necessary condition cannot holdfor every pi ∈ Ve(rco(P,Qǫ)). Let pi1 ∈ Ve(rco(P,Qǫ)).Then pi1 has at least two neighbors inG2(P ) located atpj , pk such that conditions (A) and/or (B) are satisfied. Nowpi1 ∈ ∂ rco(P,Qǫ) becausepi1 ∈ Ve(rco(P,Qǫ)). Also,vi,k,l ∈ ∂Qǫ ∩ rco(P,Qǫ). Hencevi,k,l ∈ ∂ rco(P,Qǫ). Now,since Qǫ does not contain any hole,rco(P,Qǫ) is simplyconnected. Thus the segment[pi1 , vi,k,l] partitionsrco(P,Qǫ)into two simply connected sets closed sets,Q′

i1andQ′′

i1such

thatQ′i1∩Q′′

i1= [pi1 , vi,k,l]. Let pk ∈ Q′

i1.

Let us construct a segment[vi,k,l, d] by extending thesegment[pi1 , vi,k,l] till it intersects the boundary ofrco(P,Qǫ)at d. We refer to Figure 25 for an illustration of this argument.Then the segment[vi,k,l, d] partitions rco(P,Qǫ) into twocomponents such that again there existsp′i1 ∈ Ve(P,Qǫ) inthe component not containingpi1 . We point thatp′i1 = vi,k,l,p′i1 = pk andvi,k,l = d are possible. Now,p′i1 can only containone neighbor inQ′′

i1and that can only bepi1 since all other

points inQ′′i1

are notǫ-robust visible fromp′i1 .

Page 17: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

17

pi1

vi,k,l

≥ π2

pkp′′i1

pj

dp′i1

r

a

bπ2

Fig. 25. Illustration of the construction of various segments and the partitionsinduced by them in the proof of Lemma II.3.

Let pj be such that‖pj − pi1‖ = r and the inner product〈pj − pi1 , pk − pi1〉 ≤ 0. Let us construct a line segment[a, b]perpendicular to the segment[pi1 , pj], passing throughpj andintersecting the boundary ofrco(P,Qǫ) at pointsa and b.The segment[a, b] partitionsrco(P,Qǫ) into two componentssuch that there existsp′′i1 ∈ Ve(P,Qǫ) in the component notcontainingpi1 . Here we point thatp′′i1 = pj is possible. Now,p′′i1 can only contain one neighbor inQ′

i1and that can only

be pi1 since all other points inQ′i1

are at a distance strictlygreater thanr.

If, on the other hand,pj is such that there existsvi,j,m ∈[pi, pj ] andpk /∈ HQǫ

(vi,j,m), pj /∈ HQǫ(vi,k,l), then we pro-

ceed in a way similar to the case ofpk. Let us construct a linesegment[vi,j,m, e] by extending the line segment[pi, vi,j,m]till it intersects the boundary ofrco(P,Qǫ) at e. Then thesegment[vi,j,m, e] partitionsrco(P,Qǫ) into two componentssuch that again there existsp′′i1 ∈ Ve(P,Qǫ) in the componentnot containingpi1 . We point thatp′′i1 = vi,j,m, p′′i1 = pj andvi,j,m = e are possible. Now, as beforep′′i1 can only containone neighbor inQ′

i1and that can only bepi1 since all other

points inQ′i1

are notǫ-robust visible fromp′′i1 .Thus,Xi1 = pi1 implies that there exists a partition of

rco(P,Qǫ) into Q′i1

andQ′′i1

containingp′i1 ∈ Ve(rco(P,Qǫ))andp′′i1 ∈ Ve(rco(P,Qǫ)) respectively such thatp′i1 has onlyone neighbor inQ′′

i1and vice versa. Now, letpi2 = p′′i1 .

Therefore, pi2 6= pi1 . Again Xi2 = pi2 implies thatrco(P,Qǫ) can be partitioned intoQ′

i2andQ′′

i2. Let pi1 ∈ Q′

i2.

Therefore, there existsp′′i2 ∈ Ve(rco(P,Qǫ)) such thatpi1cannot be a neighbor ofp′′i2 . Let pi3 = p′′i2 . Therefore,Xi2 =pi2 implies the existence ofpi3 ∈ Ve(rco(P,Qǫ)) such thatpi3 /∈ pi1 , pi2. Let the cardinality ofVe(rco(P,Qǫ)) benv.Proceeding recursively,Xinv

= pinv implies the existence

of pinv+1 /∈ pi1 , . . . , pinv. This is a contradiction.

Now, let G1(P ) andG2(P ) be graphs with fixed topologiesand let G2 be a subgraph ofG1. Let YG1,G2 = P ∈Qn

ǫ | G2(P ) ⊆ G1(P ) ⊆ Gsens(P ).We now present some results on smoothness ofT c

G1,G2on

YG1,G2 and contraction ofVperim,Qǫunder the action ofT c

G1,G2.

The technical approach in what follows is similar to the onein [7].

Lemma II.4 (Properties of the Perimeter

Minimizing Algorithm) The set YG1,G2 and themapT c

G1,G2have the following properties:

(i) YG1,G2 is compact, andT cG1,G2

is closed onYG1,G2 ;(ii) for all i ∈ 1, . . . , n, T c

G1,G2(P )i ⊆

(rco(P,Qǫ) \Ve(rco(P,Qǫ))) ∪ pi;(iii) if G2 is connected, then there existspi ∈ Ve(rco(P,Qǫ))

such thatT cG1,G2

(P )i ⊆ rco(P,Qǫ) \ Ve(rco(P,Qǫ));and

(iv) rco(T cG1,G2

(P ), Qǫ)) ⊆ rco(P,Qǫ) at anyP ∈ YG1,G2 ,

whereT cG1,G2

(P )i is the ith component ofT cG1,G2

(P ).

Proof: We begin by proving statement (i). Showing thatYG1,G2 is compact is equivalent to showing thatYG1,G2 isclosed and bounded. SinceYG1,G2 ⊆ Qǫ, then YG1,G2 isbounded. Now, letPk be any sequence inYG1,G2 suchthat Pk → P . Let us show thatP ∈ YG1,G2 . By definition,G2(P ) ⊆ G1(P ). It remains to be shown thatG1(P ) ⊆Gsens(P ). To see this, let(pi, pj) be an edge that does notbelong toGsens(P ). We now show that it cannot belong toG1(P ). Then, either[pi, pj ] 6⊂ Qǫ or ‖pi − pj‖ > R. If[pi, pj ] 6⊂ Qǫ, we can construct neighborhoods aroundpi andpj such that for allp′i andp′j belonging to the neighborhoods,we have[p′i, p

′j ] 6⊂ Qǫ; see Figure 26. If, on the other hand,

pi pj

Fig. 26. If [pi, pj ] 6⊂ Qǫ, there exist neighborhoods ofpi andpj such that[p′i, p

′j ] 6⊂ Qǫ, for all p′i andp′j belonging to the neighborhoods.

‖pi − pj‖ = R + δ, then letp′i, p′j be any points such that

‖p′i − pi‖ < δ2 and ‖p′j − pj‖ < δ

2 . Then ‖p′i − p′j‖ =‖p′i− pi+ pi− pj + pj − p′j‖ ≥ ‖pi− pj‖−‖p′i− pi‖−‖p′j −pj‖ > R + δ − δ

2 − δ2 = R. Thus there exist neighborhoods

aroundpi andpj such that for allp′i andp′j belonging to theneighborhoods, we have‖p′i − p′j‖ > R. Therefore, we canconstruct a neighborhood aroundP in Qǫ such that for allP ′ in the neighborhood,(p′i, p

′j) is not an edge ofGsens(P

′) if(pi, pj) is not an edge ofGsens(P ). SincePk → P , there existsk0 such that for allk ≥ k0, Pk belongs to this neighborhood.Therefore, for allk ≥ k0, (pki , p

kj ) is not an edge ofGsens(Pk).

SinceG1(Pk) ⊆ Gsens(Pk), for all k ≥ k0, (pki , pkj ) is not an

edge ofG1(Pk). Then, sinceG1(P ) has the same topology asG1(Pk), we have that(pi, pj) is not an edge ofG1(P ). Thiscompletes the proof thatYG1,G2 is compact.

Showing thatT cG1,G2

is closed overYG1,G2 is equivalent toproving that the mapP → Ki(P ) is closed overYG1,G2 foreachi ∈ 1, . . . , n. Now, let Pl → P and letql → q whereql ∈ Ki(Pl). We need to show thatq ∈ Ki(P ).Sinceql ∈Ki(Pl), we have thatql = limm→∞ CC(Xi(P

′km

)) for somesequenceP ′

k → Pl. Hence, givenδ > 0, there existsm0(l)such that for allm ≥ m0(l), we have‖ql−CC(Xi(P

′km

))‖ ≤δ. Also, sinceP ′

k → Pl, there existskl such that for allk ≥ kl,we have‖P ′

k − Pl‖ ≤ δ. Without loss of generality, let usassume thatkm0(l) > kl. Now, let P ′′

l = P ′km0(l)

and q′′l =

CC(Xi(P′′l )). Therefore,‖P ′′

l − Pl‖ ≤ δ and‖q′′l − ql‖ ≤ δ.

Page 18: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

18

SincePl → P and ql → q, there existsl0 such that for alll ≥ l0, we have that‖Pl − P‖ ≤ δ and ‖ql − q‖ ≤ δ. But‖Pl−P‖ = ‖Pl−P ′′

l +P ′′l −P‖ ≥ ‖P ′′

l −P‖−‖Pl−P”l‖.Therefore,‖P ′′

l −P‖ ≤ δ+‖Pl−P”l‖ ≤ 2δ. HenceP ′′l → P .

Similarly, it follows that for l ≥ l0. we have‖q′′l − q‖ ≤ 2δ.Thus, q′′l → q. It then follows from the definition ofKi(P )that q ∈ Ki(P ).

We now prove statement (ii). It suffices to prove thatKi(P ) ⊆ (rco(P,Qǫ) \Ve(rco(P,Qǫ))) ∪ pi. Let q ∈Ki(P ). Therefore, q = limkm→∞ CC(Xi(Pkm

)) wherePkm

is some subsequence ofPk → P . We begin by showingthat the mapP → Xi(P ) is closed atP . Note thatXi(P ) =Cpi,Q(Ni,G2)∩ rco(Ni,G1 ,V(pi, ǫ)) and thatCpi,Q(Ni,G2) =∩pj∈Ni,G2

CQ(pi, pj). If pj ∈ Ni,G2 , then(pi, pj) is an edge ofG2(P ) ⊆ Gsens(P ). This implies that(pi, pj) ∈ J . But fromLemma IV.2 (iv), the map(pi, pj) → CQ(pi, pj) is closedover J . Therefore, the mapP → CQ(pi, pj) is closed overYG1,G2 for eachpj ∈ Ni,G2 . SinceG2 has fixed topology,we have that the set of indicesj | pj ∈ Ni,G2 is constantover YG1,G2 . Thus, the mapP → Cpi,Q(Ni,G2) is closedoverYG1,G2 since by Proposition 4 in [17], the intersection ofclosed maps is closed.

We now show that rco(Ni,G1 ,V(pi, ǫ)) =rco(Ni,G1 , Qǫ). Since V(pi, ǫ) ⊆ Qǫ, the inclusionrco(Ni,G1 ,V(pi, ǫ)) ⊆ rco(Ni,G1 , Qǫ) follows directly. Letq1, q2 ∈ rco(Ni,G1 ,V(pi, ǫ)). Therefore,q1, q2 ∈ V(pi, ǫ).By definition the shortest path inV(pi, ǫ) betweenq1 andq2 is contained in rco(Ni,G1 ,V(pi, ǫ)). Since Qǫ doesnot contain any holes, the shortest path betweenq1 andq2 in V(pi, ǫ) is also the shortest path betweenq1 andq2 in Qǫ. Therefore, by definition of a relative convexset, rco(Ni,G1 ,V(pi, ǫ)) is convex relative toQǫ. SinceNi,G1 ⊆ rco(Ni,G1 ,V(pi, ǫ)) and rco(Ni,G1 , Qǫ) is theintersection of all relative convex set containingNi,G1 , wehave thatrco(Ni,G1 , Qǫ) ⊆ rco(Ni,G1 ,V(pi, ǫ)). This provesthat rco(Ni,G1 ,V(pi, ǫ)) = rco(Ni,G1 , Qǫ).

Now, since the shortest distances between two points inQǫ change continuously as the position of the points, therelative convex hull of the points also changes continuouslyas a function of the points. Again the setj | pj ∈ Ni,G1 isconstant overYG1,G2 . Thus, the mapP → rco(Ni,G1 , Qǫ)is continuous overYG1,G2 and hence, also closed. Finally,sinceXi(P ) is the intersection of closed maps, we have thatP → Xi(P ) is closed.

Then from the definition of a closed mapq ∈ Xi(P ).But Xi(P ) ⊆ rco(Ni,G1 ,V(pi, ǫ)) = rco(Ni,G1 , Qǫ)and since Ni,G1 ⊆ pi | 1, . . . , n, we have thatrco(Ni,G1 , Qǫ) ⊆ rco(P,Qǫ). Thus, Xi(P ) ⊆ rco(P,Qǫ)and henceq ∈ rco(P,Qǫ). Now, let q ∈ Ve(rco(P,Qǫ)).We show that thendiam(Xi(P )) = 0. Our strategy is asfollows. We first show that ifq ∈ Ve(rco(P,Qǫ)), thendiam(Xi(Pkm

)) → 0. But that in turn implies thatq = piand hencepi ∈ Ve(rco(P,Qǫ)). But pi ∈ Ve(rco(P,Qǫ))and diam(Xi(P )) > 0 together imply thatdiam(Xi(Pkm

))does not tend to zero. This is a contradiction. Therefore,diam(Xi(P )) = 0.

We now start by showing thatdiam(Xi(Pkm)) → 0. The

range of the mapP → Xi(P ) is compact, the notions of upper

semicontinuity and closedness are identical. Therefore,P →Xi(P ) is upper semicontinuous at any pointP ∈ YG1,G2 . Itfollows from the definition of upper semicontinuity that givenanyδ > 0, there existsm0 such that for allm ≥ m0, we haveXi(Pkm

) ⊆ ∪x∈Xi(P )B(x, δ).SinceXi(P ) ⊆ rco(P,Qǫ), q is a strictly convex point on

the boundary ofXi(P ). By a strictly convex point, we meanthat there exists a tangent to∂Xi(P ) at q which intersects∂Xi(P ) at exactly one point. Letq1 be the point on theboundary of∪x∈Xi(P )B(x, δ) such that‖q1 − q‖ = δ; seeFigure 27. It follows thatq1 is a strictly convex point onthe boundary of∪x∈Xi(P )B(x, δ). Let l1 be the tangent atq1. Now, let l2 be the tangent toB(q, δ) parallel to l1. It iseasy to see that asδ → 0, the region of∪x∈Xi(P )B(x, δ)between the linesl1 and l2 tends to the point setq. Now,

CC(Xi(Pkm))

q1 q

y

l2l1

Fig. 27. Illustration of notions used in the proof of Lemma II.4. The shadedregion representsXi(P ). The outermost boundary represents the boundaryof ∪x∈Xi(P )B(x, δ). The small circle representsB(q, δ).

sinceCC(Xi(Pkm)) → q, there existsm1 such that for all

m ≥ m1, CC(Xi(Pkm)) ∈ B(q, δ). For m ≥ maxm0,m1,

let y be a point on the opposite side ofl2 asCC(Xi(Pkm)) and

equidistant tol2 asCC(Xi(Pkm)); see Figure 27. All points

on the right ofl2 are nearer toy than toCC(Xi(Pkm)). Also,

the distance ofy to any point in∪x∈Xi(P )B(x, δ) on or to theleft of l2 tends to0 as δ → 0.

Let x1 = argmaxx‖x− CC(Xi(Pkm))‖ | x ∈ Xi(Pkm

)and let x2 = argmaxx‖x − y‖ | x ∈ Xi(Pkm

). Bydefinition of the circumcenter and the fact that it is unique,‖x1−CC(Xi(Pkm

))‖ < ‖x2−y‖. Also, by construction‖x1−CC(Xi(Pkm

))‖ ≥ ‖x2 −CC(Xi(Pkm))‖. It follows then that

‖x2−y‖ > ‖x2−CC(Xi(Pkm))‖. Therefore,x2 belongs to the

left of l2. But as pointed earlier,‖x2 − y‖ → 0 asδ → 0. Butthe circumradius ofXi(Pkm

) is equal to‖x1−CC(Xi(Pkm))‖

and‖x1−CC(Xi(Pkm))‖ < ‖x2−y‖. Sinceδ can be chosen

arbitrarily small, it follows that‖x1 − CC(Xi(Pkm))‖ → 0

as m → ∞. This proves that ifq ∈ Ve(rco(P,Qǫ)), thendiam(Xi(Pkm

)) → 0.Now let pkm

i be the ith component ofPkm. Since pkm

i ,CC(Xi(Pkm

)) ∈ Xi(Pkm) and diam(Xi(Pkm

)) → 0, itfollows that‖pkm

i −CC(Xi(Pkm))‖ → 0. But Pkm

→ P , andtherefore,pkm

i → pi. This implies thatCC(Xi(Pkm)) → pi.

Thuspi = q andpi ∈ Ve(rco(P,Qǫ)). We now claim that ifdiam(Xi(P )) > 0 andpi ∈ Ve(rco(P,Qǫ)), then there existsa neighborhood ofP in YG1,G2 such that for all pointsP ′ inthe neighborhood, we have thatdiam(Xi(P

′)) ≥ d for somed > 0. But this is a contradiction since we have shown thatdiam(Xi(Pkm

)) → 0 for some sequencePkm→ P .

Page 19: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

19

To prove the above claim, note that sinceV(pi, ǫ) ⊆rco(Ni,G1 ,V(pi, Qǫ)) and rco(Ni,G1 ,V(pi, Qǫ)) =rco(Ni,G1 ,V(pi, Qǫ)), we can write

Xi = rco(Ni,G1 , Qǫ) ∩

0

B

@

\

pj∈Ni,G2

B(pi + pj

2,r

2)

1

C

A∩

0

B

@

\

pj∈Ni,G2

nij\

k=1

HQǫ (vi,j,k)

1

C

A. (9)

Now, let us first consider the case whenXi(P ) has non-empty interior. Then one can choose a segment[p′, p′′] in theinterior ofXi(P ) whose length is arbitrarily close to the lengthof diam(Xi(P )). Therefore,[p′, p′′] belongs in the interior ofrco(Ni,G1 , Qǫ), B(

pi+pj

2 , r2 ) andHQǫ

(vi,j,k) for all i, j andk. As shown earlier in the proof of statement (ii), the mappi → rco(Ni,G1(P ), Qǫ) is continuous for everyi. Therefore,there exists a neighborhoodB1 of YG1.G2 aroundP such thatfor all P ′ ∈ B1, the segment[p′, p′′] ⊆ rco(Ni,G1(P

′), Qǫ).From the proof of Proposition IV.2 (iv), we know that

the map (pi, pj) → B(pi+pj

2 , r2 ) is continuous overJ . It

follows then that for fixedi and j, there exists a neigh-borhood of J around (pi, pj) such that for all(p′i, p

′j) in

the neighborhood,[p′, p′′] ⊆ B(p′i+p′

j

2 , r2 ). SinceG2 is fixed

the set j | j ∈ Ni,G2 is fixed. Thus, there exists aneighborhood,B2 of YG1,G2 of P such that for allP ′ ∈ B2,

we have[p′, p′′] ⊆(

pj∈Ni,G2B(

pi+pj

2 , r2 ))

. Also, from theproof of Proposition IV.2 (iv), for fixedj and a fixed strictconcavitya, the map(pi, pj) → HQǫ

(v(pi, pj)) is continuousover J , wherev(pi, pj) is the point on the strict concavitya nearest to the segment[pi, pj ]. Again, from the proof ofProposition IV.2 (iv), there exists a neighborhood ofJ around(pi, pj) such that for all points(p′i, p

′j) in the neighborhood, we

havea′il ∈ ai1 , · · · , ainij for anyl ∈ 1, . . . , n′

ij where thenotation is as in the proof of Proposition IV.2 (iv). Leta′il =ais . Since[p′, p′′] belongs to the interior ofHQǫ

(vi,j,s(pi, pj)),which in turn varies continuously as(pi, pj) for fixed ais ,there exists a neighborhood around(pi, pj) such that forall (p′i, p

′j), we have [p′, p′′] ⊂ HQǫ

(vi,j,l)(p′i, p

′j). It then

follows that there exists a neighborhoodB3 of YG1,G2

around P such that for allP ′ = (p′1, · · · , p′n) ∈ B3,

[p′, p′′] ⊂(

pj∈Ni,G2 (P′)

⋂n′ij

k=1 HQǫ(vi,j,k(p

′i, p

′j))

)

. Thus,

for anyP ′ ∈ B1 ∩B2 ∩B3, we have that[p′, p′′] ⊆ Xi(P′) or

that diam(Xi(P′)) ≥ d whered is equal to the length of the

segment[p′, p′′].Second, letXi(P ) have empty interior. Therefore,Xi(P ) is

a line segment and sincepi ∈ Ve(rco(P,Qǫ)) we have thatpiis one of the end points ofXi(P ). Also, sinceXi(P ) is a linesegment, it follows from equation (9) thatXi(P ) must belongto the intersection of the boundaries of at least two of thesetsrco(Ni,G1 , Qǫ) and the half-planesHQǫ

(vi,j,k). The setXi(P ) cannot belong to the boundary of a ballB(

pi+pj

2 , r2 )

since its boundary is curved. Therefore,Xi(P ) belongs to theintersection of the boundaries of either (i)rco(Ni,G1 , Qǫ) anda half-planeHQǫ

(vi,j,k) or (ii) two half-planesHQǫ(vi,j,k)

and HQǫ(vi,l,m). Let us assume without loss of generality

thatXi(P ) belongs to the interior of the remaining sets. Then,

as shown earlier, there exists a neighborhood,B4, of YG1,G2

aroundP such that for allP ′ in the neighborhood,Xi(P )belongs to the interior of the remaining sets. Now cases (i)

HQǫ(vi,j,k)

pi prpj

ps

aik

vi,j,k

HQǫ(vi,j,k)

HQǫ(vi,l,m)

pi

ps

ailvi,l,m

pj

pr

aikpl

vi,j,k

Fig. 28. Illustration of cases (i) and (ii) in the proof of Lemma II.4. Thecurved arcs represent strict concavities. The solid line segment representsXi(P ). The dashed lines represent the boundary ofrco(P,Qǫ). Note thatthere must exist robotspr, ps ∈ Ni,G1

for the dashed lines to be the boundaryof rco(P,Qǫ). Note thatpi ∈ Ve(RCH(P, Qǫ)) and alsopi is an end pointof the segmentXi(P ). In the top figurevi,j,k, denoted by the white disc,is the point on the strict concavityaik nearest to the segment[pi, pj ]. Herepj ∈ Ni,G2

. The half-planeHQǫ(vi,j,k) has interior in the direction of

the arrow. In the bottom figure,vi,l,m andvi,j,k are points onail andaiknearest to the segments[pi, pl] and [pi, pj ] respectively. The direction ofthe arrows points towards the interior of the half-planesHQǫ

(vi,l,m) andHQǫ

(vi,j,k). Herepj , pl ∈ Ni,G2.

and (ii) correspond to Figure 28 top and bottom respectively.It follows immediately from the figure that we can choose aneighborhood,B5, of P in YG1,G2 such that forP ′ in theneighborhood, we have that therco(Ni,G1 , Qǫ) ∩HQǫ

(vi,j,k)and HQǫ

(vi,j,k) ∩ HQǫ(vi,l,m) contain a segment of length

arbitrarily close to the length ofXi(P ). Therefore, for allP ′ ∈ B4 ∩ B5, we have thatXi(P

′) contains a segment oflengthd whered > 0.

This completes the proof of the fact that ifq ∈Ve(rco(P,Qǫ)), thendiam(Xi(P )) = 0. But then this impliesthat q = pi. Thus, this completes the proof of statement (ii).

To prove statement (iii), note that in proving state-ment (ii) we have shown that ifdiam(Xi(P )) > 0, thenq = limkm→∞ CC(Xi(Pkm

)) /∈ Ve(rco(P,Qǫ)). FromLemma II.3, there exists at least onepi ∈ Ve(rco(P,Qǫ)) suchthat diam(Xi(P )) > 0. Statement (iii) now follows directly.

We now prove statement (iv). It follows from State-ment (ii), that T c

G1,G2(P ) ⊆ rco(P,Qǫ). This implies that

rco(T cG1,G2

(P ), Qǫ) ⊆ rco(P,Qǫ).From Lemma II.4(i), we know that, in particular, if the

graphs Gsens,Gconstr have fixed topology, then the closedperimeter minimizing algorithm is a closed map. However,during the evolution of the system we expect the graphsGsens,Gconstr to switch. To study the convergence properties ofTGsens,Gconstr over such a dynamic topology, we define a set-valued algorithm which essentially embeds all possible evolu-tions that can happen due to switching. Given any allowableQ,Qǫ, define theperimeter minimizing algorithm over all

Page 20: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

20

allowable graphsto be the set-valued functionT that mapspoints inQn

ǫ to all possible subsets ofQǫ by:

T (P ) = P ′ ∈ T cG1,G2

(P ) | G2 ⊆ G1 ⊆ Gsens(P ),

G1, G2 have fixed topologies

and same connected components asGsens.

Also, let Y = P ∈ Qnǫ | Gsens(P ) is connected denote the

set of all configurations whereGsens is connected.

Proposition II.5 (Perimeter minimizing algorithm over allallowable graphs)The setY and set-valued mapT have thefollowing properties:

(i) Y is compact,T (Y) ⊆ Y, andT is closed onY;(ii) rco(T (P ), Qǫ) ⊆ rco(P,Qǫ), for P ∈ Qn

ǫ ; and(iii) if P ′ ∈ T (P ) and P ∈ Qn

ǫ , then Vperim,Qǫ(P ′) ≤

Vperim,Qǫ(P ).

Proof: SinceY ⊆ Qnǫ , we have thatY is bounded. Now,

let Pk be a sequence inY such thatPk → P . Then, from theproof of Lemma II.4 (i), we know that there existsk0 such thatfor all k ≥ k0, (pki , p

kj ) is an edge ofGsens(Pk) implies that

(pi, pj) is an edge ofGsens(P ). But Gsens(Pk) is connected.Therefore,Gsens(P ) is also connected. Hence,P ∈ Y and,therefore,Y is closed. This proves thatY is compact.

Now let P ′ ∈ T (P ) whereP ∈ Y. ThenP ′ ∈ T cG1,G2

(P )for someG1 andG2 with fixed topologies having the sameconnected components asGsens(P ). SinceP ∈ Y, Gsens(P ) isconnected and hence, so areG1, G2. The fact thatP ′ ∈ Y orthat Gsens(P

′) has one connected component can be verifiedexactly along the lines of the proof of Theorem V.4 (i). Thisproves thatT (Y) ⊆ Y.

Now, letP k be any sequence withP k ∈ T (Pk) such thatP k → P . SinceP k → P , and the number of distinct graphspossible overn nodes is finite, there exists a subsequenceP km

→ P such thatP km∈ T c

G1,G2(Pkm

) whereG1(Pkm)

and G2(Pkm) have fixed topologies for allm. Now, since

Pkm→ P , P km

→ P andT cG1,G2

is closed overYG1,G2 fromLemma II.4 (i), we have thatP ∈ T c

G1,G2(P ). Now, to finish

the proof, we have to show thatG2(P ) ⊆ G1(P ) ⊆ Gsens(P ).The first inclusion follows from the fact the by definition ofT (P ) where G2(P ) ⊆ G1(P ). Now, notice that we haveshown in proof of Lemma II.4 (i) that there existsk0 suchthat for all k ≥ k0, (pki , p

kj ) being an edge ofGsens(Pk)

implies that(pi, pj) is an edge ofGsens(P ). Also, by definition,G1(Pkm

) ⊆ Gsens(Pkm). Therefore, for allkm ≥ k0, we have

that(pkm

i , pkm

j ) being an edge ofG1(Pkm) implies that(pi, pj)

is an edge ofGsens(P ). Therefore,G1(P ) ⊆ Gsens(P ). Thiscompletes the proof of statement (i).

Statement (ii) follows directly from Lemma II.4 (ii). Fi-nally, statement (iii) is a consequence of statement (ii) andLemma II.1 (ii).We are now ready to present the proof of the main result inthe paper. The proof uses the analysis results presented in thissection and the discrete time LaSalle Invariance Principleforset-valued maps [7].

Proof of Theorem V.4:We begin by proving statement (i). Letpi[t0], pj [t0] be

two robots belonging to the same connected component ofGsens(P [t0]). Then from Corollary IV.6(ii), they must be-long to the same connected component ofGconstr(P [t0]).Therefore, there exists a path betweenpi[t0] and pj [t0] inGconstr(P [t0]). Let (pk[t0], pl[t0]) be any edge ofGconstr(P [t0])that belongs to this path. Note thatuk[t0] and ul[t0] inthePerimeter Minimizing Algorithm algorithm areconstrained to belong to the setsCpk,Q(Nj,Gconstr) − pk[t0]andCpl,Q(Nj,Gconstr) − pl[t0], respectively. Therefore,pk[t0 +1], pl[t0 + 1] ∈ CQ(pk[t0], pl[t0]) ⊆ Qǫ ∩ B(pk[t0]+pl[t0]

2 , r2 ).

Hence, the edge(pj [t0 + 1], pk[t0 + 1]) is an edge ofGsens(P [t0 + 1]). Thus, there exists a path betweenpi[t0 + 1]andpj [t0 +1] in Gsens(P [t0 +1]), which proves statement (i).

For statements (ii) and (iii), it suffices to prove the results forthe system evolving under the action ofT , since the evolutionunderTGsens,Gconstr is just one of the possible evolutions underT . Statement (ii), therefore, follows from Proposition II.5(iii).

We now prove statement (iii). From statement (i), it followsthat the number of connected components ofGsens(P [t]) isnondecreasing. Since the number of possible connected com-ponents ofGsens is finite, this implies that, after a finite timet,the number of connected components ofGsensdoes not changeand robots belonging to different connected components neverdetect each other’s presence. To prove statement (iii), it nowsuffices to show that any two robots belonging to the sameconnected component ofGsens converge to the same point.Since the evolution of any group of connected robots fromtime t on is independent from the existence of other connectedcomponents, we can then assume, without loss of generality,thatGsens(P [t]) has just one connected component.

According to Lemma V.3 and Proposition II.5(iii),Vperim,Qǫ

is continuous and non-increasing alongT on Qnǫ . From

Proposition II.5(i),T is a closed map on the compact setY ⊂ Qn

ǫ . Then, by the LaSalle Invariance Principle for closedset-valued maps [7],P [t] → M, whereM is the largestweakly positively invariant7 set contained in

P ∈ Y | ∃P ′ ∈ T (P ) s.t.Vperim,Qǫ(P ′) = Vperim,Qǫ

(P ).

Let us define the setdiag(Qnǫ ) = (p, . . . , p) ∈ Qn

ǫ | p ∈Qǫ ⊂ Y, and show thatM = diag(Qn

ǫ ). Clearly,diag(Qn

ǫ ) ⊆ M. To prove the other inclusion, we rea-son by contradiction. LetP ∈ M \ diag(Qn

ǫ ). Then,Lemma II.4 (iii) implies that for any connectedG2(P ),G1(P ) satisfyingG2(P ) ⊆ G1(P ) ⊆ Gsens(P ), there existspi ∈ Ve(rco(P,Qǫ)) such thatT c

G1,G2(P )i ⊆ rco(P,Qǫ) \

Ve(rco(P,Qǫ)). Therefore, ifP ′ ∈ T (P ), thenP ′ containsa number of robotsN(P ′) belonging toVe(rco(P,Qǫ)) thatis strictly smaller thanN(P ). In turn, this implies that afterat mostN(P ) steps, at least one vertex ofrco(P,Qǫ) willcontain any robot. By the definition of a vertex ofrco(P,Qǫ),it follows that the relative convex hull of the configurationafter at mostN(P ) steps is a strict subset ofrco(P,Qǫ).From Lemma II.1(ii) in Appendix II,Vperim,Qǫ

has strictlydecreased. This is a contradiction with the fact thatM isweakly positively invariant.

7A setM is weakly positively invariant with respect to a mapT on W if,for any w0 ∈ W , there existsw ∈ T (w0) such thatw ∈ W .

Page 21: Anurag Ganguli Jorge Corte´s Francesco Bullo · Anurag Ganguli Jorge Corte´s Francesco Bullo Abstract—This paper presents a coordination algorithm for mobile autonomous robots

21

To finish the proof, we need to show that every trajectoryconverges to an individual point, i.e.,P [t] → P ∗ ∈ Mfor all initial conditions P [0] ∈ Y. Note that P [t] isa sequence in a compact set. Hence, it has a convergentsubsequenceP [tk], say to P ∗. Since P [t] → M, itfollows that P ∗ ∈ M. Using again Lemma V.3, we knowthat Vperim,Qǫ

is continuous andVperim,Qǫ(P ∗) = 0. Hence,

Vperim,Qǫ(P [tk]) → Vperim,Qǫ

(P ∗) = 0. This implies that,given anyδ > 0, there existsk0 such that for allk ≥ k0,|Vperim,Qǫ

(P [tk]) − Vperim,Qǫ(P ∗) | = Vperim,Qǫ

(P [tk]) < δ.From Proposition II.5(iii), we know thatVperim,Qǫ

(P [t]) ≤Vperim,Qǫ

(P [tk0 ]) for all t > tk0 . In turn this implies thatVperim,Qǫ

(P [t]) ≤ Vperim,Qǫ(P [tk0 ]) < δ for all t > tk0 . How-

ever,‖P [t]− P ∗‖ ≤ nmax‖pi[t]− p∗i ‖ | i ∈ 1, . . . , n ≤nVperim,Qǫ

(P [t]), where the second inequality holds becausep∗i ∈ rco(P [t], Qǫ), for i ∈ 1, . . . , n, and because the lengthof the shortest measurable curve enclosing a set of pointsis greater than the distance between any two of the points.Thus, for all t ≥ tk0 , we have‖P [t] − P ∗‖ ≤ nδ. HenceP [t] → P ∗ ∈ M.

APPENDIX IIIPROOFS OF RESULTS INSECTION VI

Proof of Proposition VI.1:We begin by proving statement (i).Note that step1: of the Constraint Set Generator

Algorithm is in fact the sensing operation that takesO(M)time and the result is a star-shaped polygon with at mostMvertices. It is easy to see that the intersection of a star-shapedpolygon with a half-plane takes time linear in the number ofvertices of the polygon. Therefore, step4: of the algorithmtakes at mostM time. If Q has at mostκ concavities,then the computational complexity ofConstraint Set

Generator Algorithm isO(M)+κM , which isO(κM).We now prove statement (ii). Step1: of the Perimeter

Minimizing Algorithm is the result of the sensing op-eration takingO(M) time. Since the sensor takes at mostM readings, we can assume that the cardinality ofNi,Gsens

is at mostM . In step 2:, Ni,Gsens is the set of all robotpositions obtained in step1:. Let the computation ofNi,Gconstr

given the setNi,Gsens take τ(M) time. Hereτ(M) dependson the specific heuristic used to compute the maximal cliquesof a graph. In step3:, Cpi,Q(Ni,Gconstr) =

pj∈Ni,Glc, G

is the

intersection of at mostM convex constraint sets. It is clearfrom the proof of statement (i) that each of the convex setsCQ(pi, pj) has at mostM vertices and can be computed inO(κM) time. The intersection ofM convex polygons ofMvertices takesO(M2 logM) time [19]. Thus, the computationof Cpi,Q(Ni,Gconstr) takesMO(κM)+O(M2 logM) time andCpi,Q(Ni,Gconstr) has at mostM2 vertices. The computation ofrco(Ni,Gsens,V(pi, ǫ)) takesO(M logM) time (cf. [20]), sincethe cardinality of bothNi,Gsens and Ve(V(pi, ǫ)) is at mostM . Now, finally step3: involves the intersection of two star-shaped polygonsCpi,Q(Ni,Gconstr) and rco(Ni,Gsens,V(pi, ǫ))having at mostM2 and M vertices respectively. Thereforethe total number of vertices of the two polygons is at mostM2 + M . The computational complexity of computing the

intersection of the two star-shaped polygons isO((M2 +M) log(M2+M)+M3) or O(M3), whereM3 is due to thefact that the maximum number of possible intersection pointsis M3 [21]. Thus the computational complexity of step3: isMO(κM)+O(M2 logM)+O(M)+O((M2+M) log(M2+M)+M3). Sinceκ ∈ O(M), we have that the computationalcomplexity of step3: is O(M3). In step4:, the computationof the circumcenter ofXi, which is a convex polygon ofat mostM3 vertices, takesO(M3 logM3) or O(M3 logM)time [19]. Step5: can be performed in constant time. Thus,the complexity of the entire algorithm isO(M) + τ(M) +O(M3) +O(M3 logM) or τ(M) +O(M3 logM).

To prove statement (iii), note that ifG = Gconstr = Gsens,then τ(M) ∈ O(1). Also, from Lemma II.2 (ii), we havethat Xi = Cpi,Q(Ni,G) ∩ co(Ni,G). The convex hull ofM points can be computed inO(M logM) time (cf. [19])and henceco(Ni,G) can be computed inO(M logM) time.The setXi is an intersection of convex sets and can becomputed inO(M2 + M) or O(M2) time, and contains atmost O(M2) vertices. Step4: now takesO(M2 logM2)or O(M2 logM) time. Thus, the complexity of the entirealgorithm isO(M2 logM).