Academia.eduAcademia.edu

Vision-Based, Distributed Coordination of Multi-Agent Systems

We propose a biologically inspired, distributed coordination scheme based on nearest-neighbor interactions for a set of mobile agents equipped with vision sensors. It is assumed that each agent is only capable of measuring two quantities relative to its nearest neighbors: the time- to-collision and optical flow. We prove that the proposed distributed control law results in alignment of headings and flocking, even when the topology of the interconnection changes with time, if a a weak notion of connectivity in the proximity graph is maintained. Connections between the pro- posed scheme and distributed synchronization of nonlinearly coupled oscillators is discussed. Index Terms— Cooperative control, multiagent systems, vision-based control, Lyapunov stability.

Vision-Based, Distributed Coordination of Multi-Agent Systems Nima Moshtagh, Ali Jadbabaie∗,† , Kostas Daniilidis∗ GRASP Laboratory, University of Pennsylvania L402 Levine Hall, 19104 Philadelphia, USA {nima, jadbabai, kostas}@grasp.cis.upenn.edu Abstract— We propose a biologically inspired, distributed coordination scheme based on nearest-neighbor interactions for a set of mobile agents equipped with vision sensors. It is assumed that each agent is only capable of measuring two quantities relative to its nearest neighbors: the timeto-collision and optical flow. We prove that the proposed distributed control law results in alignment of headings and flocking, even when the topology of the interconnection changes with time, if a a weak notion of connectivity in the proximity graph is maintained. Connections between the proposed scheme and distributed synchronization of nonlinearly coupled oscillators is discussed. Index Terms— Cooperative control, multiagent systems, vision-based control, Lyapunov stability. I. I NTRODUCTION Over the past few years a considerable amount of attention has been focused on the problem of coordinated motion and cooperative control of multiple autonomous agents. From ecology and evolutionary biology to social sciences, and from systems and control theory to complexity theory, statistical physics, and computer graphics, researchers have been trying to develop an understanding of how a group of moving objects such as flocks of birds, schools of fish, crowds of people can perform collective tasks such as reaching a consensus or moving in a formation without centralized coordination. Such problems have been studied in ecology and theoretical biology, in the context of animal aggregation and social cohesion in animal groups. There is evidence that individuals within such groups often only have access to local information about the behavior of near-neighbors. Nevertheless this is sufficient as an organizing principle for the entire group to perform collective locomotion, yet remain cohesive even when moving around obstacles or when avoiding predators [25]. Furthermore, there has been a large body of research focused on mimicking the observed social aggregation phenomena in different animal species using computer simulation. The pioneering work in this area was done by Reynolds [26]. More recently, several researchers in the area of statistical physics and complexity theory have † Corresponding author. A. Jadbabaie’s research is supported in part by ARO/MURI DAAD19-02-1-0383, ONR/YIP-542371 and NSF-ECS0347285 ∗ K. Daniilidis’ research is supported in part by the following grants: NSF-IIS-0083209, NSF-IIS-0121293, NSF-EIA-0324977, and ARO/MURI DAAD19-02-1-0383. addressed flocking and schooling behavior in the context of non-equilibrium phenomena in many-degree-of-freedom dynamical systems and self organization in systems of selfpropelled particles, starting from the work of Vicsek et al. [31]. In robotics and control theory, these problems have been studied in the context of cooperative control of autonomous robots, unmanned vehicles, and general multiagent systems. A non exhaustive list of references include [5], [8], [10], [12], [14], [16], [23], [24], [29]. A simple but compelling model of flocking and coordination is the model proposed by Vicsek et al. in [31] and analyzed in [14]. The model describes a set of agents moving with constant speed V , whose heading direction is updated by a simple alignment rule. The heading of each agent is updated in discrete time as the average of the heading of itself and those who fall within a disc of a pre-specified radius centered around each agent. As the agents move, the set of nearest neighbors change, resulting in a discontinuous change or switching in the control law. The neighborhood relationship between any two agents can be described conveniently with a graph whose nodes represent the agents and the edges represent the neighborhood relation. It was shown in [14] that if the neighborhood graph stays connected in time, then the headings of all agents converge to a common value. As a result all agents align, and the pairwise distances stabilize. Furthermore, it was shown that when one agent acts as a leader, the headings converge to that of the leader under similar conditions. Over the past 2 years, a plethora of similar results have appeared in the control literature. Also, extensions to dynamic point-mass models have also appeared [24], [29]. These results assume that each agent is capable of measuring the heading of its nearest neighbors (in discrete time models), or difference between headings of itself and its neighbors (in continuous-time models), effectively requiring communication on top of sensing. While the nearest neighbor interactions have been shown to be biologically plausible and have been observed in schools of fish and flocks of birds, the assumptions about knowledge of relative headings and distances is not biologically plausible. Even if some species might use ultrasound to estimate distances or binocular vision to estimate positions and motions of others, such sensing mechanisms do not perform well for flocking where simultaneous measurements in multiple directions are needed. The simplest assumption we can make is that such systems have only monocular vision and that they have basic visual capabilities like the estimation of optical flow and time to collision also known as time-to-impact. Experimental evidence suggest that several animal species, including pigeons, are capable of estimating time to collision [19], [33]. Computationally, time to collision can be estimated from the ratio of area change to area or from the divergence of the optical flow [4], [18]. Regarding optical flow, we refer the reader to the survey [3]. Many of the existing vision-based distributed control strategies assume that the robots are capable of communicating to their neighbors an estimation of their position [27], [34], [35] and are based on distributed computation [1]. Other cooperative systems based on local computation work in the configuration space [11], [22]. From the vision point of view, our paper is mostly related to the formation control systems in [6], [7], [32]. However, these approaches assume that a specific vertical pose of an omnidirectional camera allows the computation of both bearing and distance while we use only the optical flow (bearing derivative) and time-to-collision. Our goal in this paper is to develop a provably correct coordination and flocking scheme that is also biologically plausible. We will show that coordination and flocking is possible based on measuring time-to-collision and optical flow, even if the neighborhood graph topology changes, so long as a weak notion of connectivity denoted as ”connectivity in time” is preserved (same as in [14]). We will also show that the above problem is directly related to the Kuramoto model of coupled nonlinear oscillators, a famous problem in mathematical physics [15], [28]. II. G RAPH T HEORY P RELIMINARIES In this section we introduce some standard graph theoretic notation and terminology. For more information, the interested reader is referred to [13]. An (undirected) graph G consists of a vertex set, V, and an edge set E, where an edge is an unordered pair of distinct vertices in G. If x, y ∈ V, and (x, y) ∈ E, then x and y are said to be adjacent, or neighbors and we denote this by writing x ∼ y. The number of neighbors of each vertex is its valence. A path of length r from vertex x to vertex y is a sequence of r + 1 distinct vertices starting with x and ending with y such that consecutive vertices are adjacent. If there is a path between any two vertices of a graph G, then G is said to be connected. If there is such a path on a directed graph ignoring the direction of the edges, then the graph is weakly connected. The adjacency matrix A(G) = [aij ] of an (undirected) graph G is a symmetric matrix with rows and columns indexed by the vertices of G, such that aij = 1 if vertex i and vertex j are neighbors and aij = 0, otherwise. The valence matrix D(G) of a graph G is a diagonal matrix with rows and columns indexed by V, in which the (i, i)entry is the valence of vertex i. The (un)directed graph of a (symmetric) matrix is a graph whose adjacency matrix is constructed by replacing all nonzero entries of the matrix with 1. Fig. 1. Configuration of 2 agents. The symmetric singular matrix defined as: L(G) = D(G) − A(G) is called the Laplacian of G. The Laplacian matrix captures many topological properties of the graph. The Laplacian L is a positive semidefinite M-matrix (a matrix whose off-diagonal entries are all nonpositive) and the algebraic multiplicity of its zero eigenvalue is equal to the number of connected components in the graph. The n-dimensional eigenvector associated with the zero eigenvalue is the vector of ones, 1. III. D ISTRIBUTED C OORDINATION AND F LOCKING WITH K INEMATIC M ODELS A. System Model Consider a group of N agents on a plane. Each agent is equipped with a vision sensor that is capable of sensing some information from its neighbors as defined by: . Ni = {j|i ∼ j} ⊆ {1, . . . , N }\{i}. The neighborhood set of agent i, Ni , is a set of agents that can be “seen” by agent i. The exact definition of “sensing” will be discussed shortly. The characteristics of the vision sensor limits the size of the neighborhood. We therefore assume that there is a predetermined radius R which determines the neighborhood relationship. The location of agent i, (i = 1, . . . , N ) in the world coordinates is given by (xi , yi ) and it’s velocity is vi = (ẋi , ẏi )T . The heading or orientation of agent i is θi and is given by: µ ¶ ẏi . θi = arctan ẋi It is assumed that all agents move with constance speed V. Thus, the kinematic model of each agent can be written as ẋi ẏi θ̇i = V cos(θi ) = V sin(θi ) = ωi i = 1, . . . , N (1) The goal is to design a control input ωi so that the group of mobile agents flock in the sense of following definition: Definition 3.1: (Flocking) A group of mobile agents is said to (asymptotically) flock, when all agents attain the same velocity vector, distances between the agents are stabilized, and no collisions between them occurs. Biological aspects of this model puts constraints on what each agent can measure. Let βij (bearing) be the relative angle between agents i and j. We can now formally define the sensing: It is assumed that each agent i can measure: • β̇ij or ”optical flow”: the rate of change in bearing; • τij or ”time-to-collision”. for any agent j in the set Ni . Bearing and relative distance between agents i and j are given by: Distance : 2 lij Bearing : βij = (xj − xi )2 + (yj − yi )2 ¶ µ yj − yi = arctan xj − xi The derivatives of the above quantities are: µ ¶ l˙ij = V cos(βij − θj ) − cos(βij − θi ) µ ¶ V β̇ij = sin(βij − θi ) − sin(βij − θj ) lij (2) flow and time-to-collision, we need to find a function G(·) such that: Gij (τij , β̇ij ) = wij (θi − θj ). As we will see in the next section, for any positive value of coupling k, the following function will result in alignment of all headings, and is only based on τij and β̇ij : s X β̇ij 1 2 ) . (4) 1+( ωi = θ̇i = −k 2 τ ij β̇ij j∈Ni By substituting (2) and (3) in (4), we have s β̇ij 1 2 ) Gij (τij , β̇ij ) = k 1+( 2 τij β̇ij r β̇ij θi + θj = k − βij ) 1 + tan2 ( 2 2 β̇ij (5) = k θi +θj 2 cos( 2 − βij ) The term β̇ij in (3) can also be written as (3) It can be shown that the time to collision between agents i and j denoted by τij can be measured by measuring the relative rate of growth of the image area, i.e., the relative change in the area Aij of projection of agent j on the image plane of i. This follows from the fact that lij Aj = = τij Ȧj l˙ij where τij is the time-to-collision of agents i and j. [19]. B. The Distributed Control Law In order to have a successful distributed control law which results in heading alignment and flocking, we need to have a measure of misalignment appear as a term in the controller. One way for the control input of any agent i to be spatially distributed and result in alignment, is to P have the form θ̇i = − j∈Ni wij (θi − θj ), where weights wij > 0 when i is a neighbor of j, and zero otherwise. Such a control law is effectively the negative of the Laplacian of a graph with the diagonal weight matrix w, in which each diagonal element is the weight of an edge in the proximity graph. Such control laws have been analyzed in [2], [14], [20], [21], [24]. However, as we said before, the relative heading information is not available, since it requires communication between nearest neighbors. Instead, we would like to devise a distributed control law that only requires vision-based sensing. A simple observation of measurable quantities such as the optical flow, indicate that when two agents are aligned, the resulting optical flow is zero. This suggest that perhaps the sum of optical flows between each agent and its neighbors is a plausible choice. Unfortunately, having the sum of optical flows between each node and its nearest neighbors equal to zero is necessary for alignment, but is not sufficient. Since we can only measure optical β̇ij = ( 2V θi + θj θi − θj ) cos( − βij ) sin( ). lij 2 2 Replacing above expression in (5) we get: X V X θi − θj Gij (τij , β̇ij ) = −k ωi = − sin( ). (6) lij 2 j∈Ni j∈Ni In the next section, P we will see that the above control law is of the form j∈Ni wij (θi − θj ), and will result in heading alignment and flocking. IV. S TABILITY A NALYSIS We now prove that the above chosen control law results in flocking of all agents first when the proximity graph is fixed and connected, and then when the graph changes with time but a weaker notion of connectivity is preserved. The heading equation is now exactly the well-known Kuramoto model of coupled nonlinear oscillators, which has been studied extensively in the mathematical physics literature [28], and its stability properties was analyzed recently in [15], [21], [24]. The particular case of all-to-all connected graphs was also analyzed in [17]. A. Fixed Graphs We first consider the case where the neighboring relations among agents are represented by a fixed-weighted graph. Definition 4.1: The neighboring graph G = {V, E, W } is a weighted graph consisting of: • a set of vertices V indexed by the set of mobile agents; • a set of pairs E = {eij = (vi , vj ) | vi , vj ∈ V, and i neighbor of j }; • a set of weights W , over the set of edges, where each edge eij is labelled by lVij . Assume an arbitrary orientation for the edges of G. Consider the N × e incident matrix, B of this oriented graph, G with N vertices and e edges. Then, we can write (6) as: 1 θ̇ = ω = −kBW sin( B T θ) (7) 2 where θ = [θ1 , . . . , θN ]T , and W is the diagonal matrix whose entries are the edge weights for G. The equation (7) can be written in a more compact form as: Theorem 4.2: Consider a set of kinematic mobile agents described by (1). Assume that each agent i is capable of measuring the bearing angle βij as well as the time to collision τij . If the graph G representing the neighborhood relationship is fixed and connected, then all agents will asymptotically flock, i.e., all headings will eventually align and all pair-wise distances will stabilize. k θ̇ = ω = − BW (B T θ)B T θ, 2 In practice, the motion of individual agents will result in change in topology. This change in topology could be taken into account by using smooth “bump functions” [24], or by resorting to Nonsmooth analysis [29]. To avoid complications that occur because of discontinuous change in the set of nearest neighbors, we will assume that there is always a minimum time, called a dwell time over which the graph does not change. This simplifying assumption will avoid infinite switches over a finite period of time, and can be relaxed by using nonsmooth analysis [9]. What this means in the present context is that each agent is constrained to change its control law only at discrete time instances. Each agent i would use a control law similar to (4) (which is now hybrid, since the set of neighbors Ni changes discontinuously). By assuming a minimum dwell time, the controller would be of the form: s X β̇ij (t) 1 ωi (t) = −k )2 1+( 2 τ (t) β̇ (t) ij ij j∈Ni (tik ) X θi (t) − θj (t) V sin( ) = −k lij (t) 2 (8) where W (B T θ) = diag{ θi − θj V sinc( ) lij 2 | (i, j) ∈ E}. The quantities V and lij are positive and sinc( θ2 ) = sin( θ2 ) θ 2 is positive when the heading vector θ is in the cube (−π, π)N . Therefore W (B T θ) is a valid weight matrix. Now consider the quadratic Lyapunov function U = 21 θT θ. Then, k 1 U̇ = θT θ̇ = − θT BW (B T θ)B T θ = − θT Lw θ ≤ 0 2 2 T T where Lw = BW (B θ)B is the Laplacian of the graph G. Because U is a non-increasing function along the trajectories of the system (U ≥ 0 and U̇ ≤ 0), the set Ωc = {θi , i = 1, . . . , N | U ≤ c} is positively invariant. It is also compact (closed and bounded) because θ’s are bounded and vary continuously. Hence, according to LaSalle’s invariance principle any solution starting in Ωc converges to the largest invariant set,Sθ , contained in E = {θi , i = 1, . . . , N | U̇ = 0} as t → ∞. This largest invariant set, Sθ is a set of states that are solutions of: Lw θ = (BW (B T θ)B T )θ = 0. Therefore, vector θ is in the null space of the weighted Laplacian. If the graph G is connected, null space of Lw . is the span of the vector 1N = (1, . . . , 1)T . Thus, Sθ = {(θ1 , . . . , θN ) | θ1 = . . . = θN = θ̄} (9) which suggests that all agents reach the same heading as t → ∞. Now we can show that eventually the relative distances between agents stabilizes. In order to have lij equal to a constant, we just need to show that limt→∞ l˙ij = 0. From (2) we have: θi + θj θj − θi ) sin( − βij ) lim l˙ij = lim 2V sin( t→∞ 2 2 From (9) and continuity of the fact that sin is a bounded function we get: limθi ,θj →θ̄ l˙ij = 0. Thus the inter-agent distances stabilizes eventually and the group of mobile agents stabilizes to a formation. We have therefore proven the following theorem: t→∞ B. Switching Graphs j∈Ni (tik ) t ∈ [tik , tik + µi ) where µi is a pre-specified positive number called a dwell time and {t0 , t1 , . . .} is an infinite time sequence such that ti(k+1) − tik = µi , k ≥ 0. In the sequel we will analyze controls of this form subject to two simplifying assumptions. First we will assume that all n agents use the same dwell time which we henceforth denote by µD . Second we assume the agents are synchronized in the sense that tik = tjk for all i, j ∈ {1, 2, . . . , N } and all k ≥ 0. Definition 4.3: A collection of graphs {Gp1 , Gp2 , . . . , Gpm }, each with vertex set V is called jointly connected, if the graph G with vertex set V and edge set equaling the union of the edge sets of all of the graphs in the collection is connected. It is natural to say that the N agents under consideration are linked together across a time interval [t, τ ] if the collection of graphs {Gσ(t) , Gσ(t+1) , . . . , Gσ(τ ) } encountered along the interval, is jointly connected. In [14] it was shown that the proposed nearest neighbor law results in heading alignment and flocking if there is an infinite sequence of non-consecutive, bounded, non-overlapping time intervals over which the agents are linked together. This result was further extended in [20], [21] to the case where the agents are linked together over infinite time intervals. This means that for any time t0 , the collection of graphs over [t0 , ∞) has to be jointly connected. If the uniformity requirement is removed, only asymptotic convergence of all headings is achieved, as opposed to exponential convergence. It turns out that the existence of uniformly bounded time intervals is necessary for exponential alignment of all headings. In trying to extend the previous theorem to graphs with the above mentioned switching regime, we need the following lemma, which was proven in [14]. Lemma 4.4: If {Gp1 , Gp2 , . . . , Gpm } is a jointly connected collection of graphs with Laplacians Lp1 , Lp2 , . . . , Lpm , then m \ kernel Lpi = span {1}. 30 25 position [m] 20 15 10 5 0 0 Fig. 2. 5 10 15 position [m] 20 25 30 At T = 0 (sec) agents form a connected graph. (10) i=1 120 lim θ(t) = θss 1 t→∞ (11) for some value θss , i.e., all agents will asymptotically flock. Proof: We use the same Lyapunov function U := as before. Using the same notation, we now have 1 T 2θ θ 1 1 T U̇ = θT θ̇ = − θT Bσ(t) Wσ(t) (θ)Bσ(t) θ = − θT Lwσ θ ≤ 0 2 2 where σ is the switching signal, and for each p ∈ P, Lwp is the weighted Laplacian matrix of the corresponding graph. Again, we note that since the headings are in the cube (−π, π)N , the weights are positive, and Lwσ is a positive semidefinite matrix. Because σ(·) is such that there is an infinite sequence of jointly connected collection of graphs, and because of the previous lemma, the largest invariant set over the set U̇ = 0 is only the span of vector 1. As a result over any such interval, there is an exponential decrease in the value of the Lyapunov function for the component of the heading along 1⊥ . In other words, We can decompose the vector θ as the direct sum of two components along 1 and its orthogonal complement in the subspace 1⊥ . Since there is no other direction in the set U̇ = 0, the component of θ along 1⊥ decays to zero exponentially fast and therefore all agents align. Once the agents’ headings are aligned, the velocity vectors become the same, and as before, l˙ij goes to zero and all pair-wise distances stabilize to a constant value. 100 80 position [m] The above lemma states that the intersection of the null space of the Laplacian of a set of jointly connected graphs is only the vector of ones. In other words, even though the graphs might be disconnected, and as a result their Laplacian have a larger kernel, the intersection is only the vector of ones. We can now state the following theorem: Theorem 4.5: Let the initial heading vector θ0 be fixed and let σ : {0, 1, 2, . . .} → P be a switching signal mapping the integers to a finite set of indices corresponding to all graphs over N vertices for which there exists an infinite sequence of contiguous, non-empty, bounded, timeintervals [ti , ti+1 ), i ≥ 0, starting at t0 = 0, with the property that across each such interval, the N -agent group is linked together. Then 60 40 20 −80 Fig. 3. −60 −40 −20 0 position [m] 20 40 60 At T = 100 (sec) group reaches a stable formation V. S IMULATIONS In this section we numerically show that the distributed control law (4) can force a group of agents to flock according to definition (3.1). In Figures 2-4 the group consists of 10 agents with dynamics described by (1). The initial position and heading of all agents are generated randomly within a box of size 30[m] × 30[m]. Each figure shows a snapshot of the group motion during time period [0 100]. The initial location of agents are shown by (⋄), and the final location by (∗). The neighboring radius is chosen as 20[m] so that agents form a connected graph. Figure (3) shows that agents converge to a formation, and relative distances stabilizes. Figure (4) depicts the heading of all agents over the time interval [0 100] and it shows that all headings converge as t → ∞. As we see in Figure (5), the agents still align, when there is a change in the graph. VI. C ONCLUSIONS AND F UTURE W ORK We provided a coordination scheme which results in flocking of all agents using nearest neighbor sensing, without the need for explicit communication between agents. The coordination scheme uses the relative bearings between each agent and its nearest neighbors, as well as time-tocollision between neighboring agents. The resulting control law is reminiscent of the Kuramoto model of coupled nonlinear oscillators. So far we have analyzed flocking for a group of mobile agents in 2 dimensions. A next step would be to study flocking in 3 dimensions. Another generalization would be develop results similar to [29], [30] for 200 150 Heading [degree] 100 50 0 −50 −100 −150 −200 0 10 Fig. 4. 20 30 Time [sec] 40 50 60 Heading angles (in degrees) vs. time 130 125 position [m] 120 115 110 105 100 95 −40 Fig. 5. T=0 −35 −30 −25 −20 −15 position [m] −10 −5 0 5 At T= 100 (sec) the neighboring graph is different from that at dynamic models, by using artificial potential functions similar to [10] but without explicitly using relative headings. Extensions of the discussed leaderless coordination strategy to leader following formations could also be performed, in the spirit of the work in [10], [14]. R EFERENCES [1] M. Batalin, G.S. Sukhatme, and M. Hattig. Mobile robot navigation using a sensor network. In IEEE International Conference on Robotics and Automation, pages 636–642, 2004. [2] R. W. Beard and V. Stepanyan. Synchronization of information in distributed multiple vehicle coordinated control. In Proceedings of IEEE Conference on Decision and Control, December 2003. [3] S.S. Beauchemin and J.L. Barron. The computation of optical flow. ACM Computing Surveys, 27:433–467, 1995. [4] R. Cipolla and A. Blake. Surface orientation and time to contact from image divergence and deformation. In Proc. Second European Conference on Computer Vision, pages 187–202, 1992. [5] J. Cortes, S. Martinez, T. Karatas, and F. Bullo. Coverage control for mobile sensing networks. IEEE Transactions on Robotics and Automation, 20(2):243–255, February 2004. [6] N. Cowan, O. Shakernia, and R. Vidaland S. Sastry. Formation control of nonholonomic mobile robots with omnidirectional visual servoing and motion segmentation. In IEEE Conference on Intelligent Robotic Systems, 2003. [7] A. Das, R. Fierro, V. Kumarand J. Ostrowski, J. Spletzer, and C. J. Taylor. Vision based formation control of multiple robots. IEEE Trans. Robotics and Automation, 19:813–825, 2002. [8] J. P. Desai, J. P. Ostrowski, and V. Kumar. Modeling and control of formations of nonholonomic mobile robots. IEEE Transactions on Robotics and Automation, 17(6):905–908, 2001. [9] A. F. Filippov. Differential equations with discontinuous right-hand side. Mathematics and Its Applications (Soviet Series). Kluwer Academic Publishers, The Netherlands, 1988. [10] P. Ogren E. Fiorelli and N. E. Leonard. Cooperative control of mobile sensing networks:adaptive gradient climbing in a distributed environment. IEEE Transactions on Automatic Control, 49(8):1292– 1302, August 2004. [11] J. Fredslund and M.J. Mataric. A general algorithm for robot formations using local sensing and minimal communication. IEEE Trans. Robotics and Automation, pages 837– 846, 2002. [12] V. Gazi and K. M. Passino. Stability analysis of swarms. IEEE Transactions on Automatic Control, 48(4):692–696, April 2003. [13] C. Godsil and G. Royle. Algebraic Graph Theory. Springer Graduate Texts in Mathematics # 207, New York, 2001. [14] A. Jadbabaie, J. Lin, and A. S. Morse. Coordination of groups of mobile autonomous agents using nearest neighbor rules. IEEE Transactions on Automatic Control, 48(6):988–1001, June 2003. [15] A. Jadbabaie, N. Motee, and M Barahona. On the stability of Kuramoto model of coupled nonlinear oscillators. In Proceedings of the American Control Conference, June 2004. [16] E.W. Justh and P.S. Krishnaprasad. A simple control law for UAV formation flying. Technical Report 2002-38, Institute for Systems Research, 2002. [17] E. Klavins and D. E. Koditschek. Phase regulation of decentralized cyclic robotic systems. International Journal of Robotics Research, 21(3):257–276, 2002. [18] J. J. Koenderink and A. J. van Doorn. How an ambulant observer can construct a model of the enviornment from the geometrical structure of the visual inflow. Kybernetik, 1977. [19] D. N. Lee and P. E. Reddish. Plummeting gannets - a paradigm of ecological optics. Nature, 5830:293–294, 1981. [20] Z. Lin, M. Brouke, and B. Francis. Local control strategies for groups of mobile autonomous agents. 49(4):622–629, April 2004. [21] L. Mureau. Leaderless coordination via bidirectional and unidirectional time-dependent communication. In Proceedings of IEEE Conference on Decision and Control, December 2003. [22] D.J. Naffin, G.S. Sukhatme, and M. Akar. Lateral and longitudinal stability for decentralized formation control. In Proceedings of the International Symposium on Distributed Autonomous Robotic Systems, 2004. [23] P. Ögren, M. Egerstedt, and X. Hu. A control Lyapunov function approach to multi-agent coordination. IEEE Transactions on Robotics and Automation, 18, October 2002. [24] R. Olfati-Saber and R. M. Murray. Consensus problems in networks of agents with switching topology and time-delays. IEEE Transactions on Automatic Control, 49(9):1520–1533, September 2004. [25] J. K. Parrish and L Edelstein-Keshet. Complexity, pattern, and evolutionary trade-offs in animal aggregation. Science, 284:99–101, 1999. [26] C. Reynolds. Flocks, birds, and schools: a distributed behavioral model. Computer Graphics, 21:25–34, 1987. [27] P.E. Rybski, S.A. Stoeter, M. Gini, D.F. Hougen, and N.P. Papanikolopoulos. Performance of a distributed robotic system using shared communications channels. IEEE Trans. Robotics and Automation, 19:847–855, 2002. [28] S. H. Strogatz. From Kuramoto to Crawford: exploring the onset of synchronization in population sof coupled nonlinear oscillators. Physica D, 143:1–20, 2000. [29] H. Tanner, A. Jadbabaie, and G. Pappas. Flocking in fixed and switching newtorks. Automatica, July 2003, submitted. Preprint availabale from http://www.seas.upenn.edu/∼jadbabai/papers. [30] H. Tanner, A. Jadbabaie, and G Pappas. Flocking in teams of nonholonomic agents. In V. Kumar, A. S. Morse, and N. E. Leonard, editors, Proceedings of the Block Island Workshop on Cooperative Control, Springer Series in Control and Informations Science, to appear. 2004. [31] T. Vicsek, A. Czirok, E. Ben Jacob, I. Cohen, and O. Schochet. Novel type of phase transitions in a system of self-driven particles. Physical Review Letters, 75:1226–1229, 1995. [32] R. Vidal, O. Shakernia, and S. Sastry. Formation control of nonholonomic mobile robots with omnidirectional visual servoing and motion segmentation. In IEEE International Conference on Robotics and Automation, 2003. [33] Y. Wang and B. J. Frost. Time to collision is signalled by neurons in the nucleus rotundus of pigeons. Nature, 356(6366):236–238, 1992. [34] T. Weigel, J.-S. Gutmann, M. Dietl, A. Kleiner, and B. Nebel. Cs freiburg: coordinating robots for successful soccer playing. IEEE Trans. Robotics and Automation, 19:685– 699, 2002. [35] Z. Zhu, K. Rajasekar, E. Riseman, and A. Hanson. Panoramic virtual stereo vision of cooperative mobile robots for localizing 3d moving objects. In IEEE Workshop on Omnidirectional Vision, pages 29–36, 2000.