Distributed Computing by Mobile Robots: Gathering

Mark Cieliebak, Paola Flocchini, Giuseppe Prencipe, Nicola Santoro
2012 SIAM journal on computing (Print)  
Consider a set of n > 2 identical mobile computational entities in the plane, called robots, operating in Look-Compute-Move cycles, without any means of direct communication. The Gathering Problem is the primitive task of all entities gathering in finite time at a point not fixed in advance, without any external control. The problem has been extensively studied in the literature under a variety of strong assumptions (e.g., synchronicity of the cycles, instantaneous movements, complete memory of
more » ... the past, common coordinate system, etc.). In this paper we consider the setting without those assumptions, that is, when the entities are oblivious (i.e., they do not remember results and observations from previous cycles), disoriented (i.e., have no common coordinate system), and fully asynchronous (i.e., no assumptions exist on timing of cycles and activities within a cycle). The existing algorithmic contributions for such robots are limited to solutions for n ≤ 4 or for restricted sets of initial configurations of the robots; the question of whether such weak robots could deterministically gather has remained open. In this paper, we prove that indeed the Gathering Problem is solvable, for any n > 2 and any initial configuration, even under such restrictive conditions. for recent surveys see [5, 24, 25, 47] ). In distributed computing, each mobile entity, traditionally called robot, is modelled as a computational unit provided with its own local memory and capable of performing local computations. The robots are placed in the plane, and are viewed as points in R 2 . Each robot has its own local coordinate system; however, the local coordinate systems of the robots might not be consistent with each other. A robot is endowed with sensorial capabilities and it observes the world by activating its sensors, which return a snapshot of the positions of all other robots with respect to its local coordinate system. Each robot is endowed with motorial capabilities, and can move freely in the plane. A move may end before the robot reaches its destination, e.g., because of limits to its motion energy. The robots are indistinguishable by their appearance, execute the same protocol, and have no explicit communication capabilities. The robots operate autonomously, without a central control, in Look-Compute-Move cycles. During a cycle, a robot obtains a snapshot of the environment (Look); executes the protocol, the same for all robots, using the snapshot as an input (Compute); and moves toward the computed destination, if any (Move). After each cycle, a robot may be inactive for some time. For more details on the model, see the distributed computing literature on the subject (e.g., [1, 3, 11, 15, 24, 26, 27, 46, 49, 51, 52, 56] ), as well as section 2 in this paper. Different (sub)models arise depending on the additional assumptions made on the capabilities of the robots and on the nature of the system. The first basic distinction is about time and level of synchronization. In particular, three models are commonly used: Fsync, Ssync, and Async; the fully synchronous model Fsync is the strongest, the asynchronous model Async is the weakest, and the semisynchronous model Ssync lies in between. In the synchronous models (Fsync and Ssync), the cycles of all robots are fully synchronized: the sensors that become active do so all at the same time and each operation of the life cycle is performed by all robots simultaneously [1, 6, 11, 13, 19, 20, 21, 29, 41, 52] . In the asynchronous model (Async), there is no global clock, and the robots do not have a common notion of time; furthermore, the duration of each activity (or inactivity) is finite but unpredictable [15, 26, 27, 36, 46] . With respect to the level of global agreement on the local coordinate systems, different assumptions are made, ranging from availability of a global positioning system [31, 32, 35, 40, 43] , to the agreement on the direction and orientation of both axes but not on the unit of distance nor the origin (e.g., as provided by a compass) [26, 27] , to partially accurate agreement on the direction and orientation (e.g., inaccurate compass) [34, 36, 49] , to the absence of any relationship among the local coordinate systems of different robots [6, 27, 52], i.e., when the robots are disoriented. Two submodels have been identified with respect to workspace memory the robots have available and its persistence. In the oblivious model, all the information contained in the workspace is cleared at the end of each cycle. In other words, at the beginning of each cycle, the robots have no memory of past actions and computations, and the computation is based solely on what is determined in the current cycle. The importance of obliviousness comes from its link to self-stabilization and fault-tolerance. This model, sometimes called memoryless, is used, e.g., in [11, 13, 20, 26, 27] . In the persistent memory model, all the information contained in the workspace is legacy: unless explicitly erased by the robot, it will persist thoughout GATHERING MOBILE ROBOTS 831 the robot's cycles [8, 52] . In this paper, we consider the weak setting when the entities are oblivious (i.e., they do not remember results and observations from previous cycles), disoriented (i.e., they have no common coordinate system), and fully asynchronous (i.e., no assumptions exist on synchronization of cycles and timing of activities within a cycle). 1.2. The problem and its difficulty. The problem we consider is the Gathering Problem: given n robots arbitrarily placed in the plane, with no two robots at the same position, have them gather at the same point in a finite number of cycles; the gathering point is not fixed in advance. This task constitutes one of the very basic primitives for the control and coordination of autonomous mobile robots. Known also as rendezvous, point formation (because the robots are viewed as points in the plane), aggregation, and homing, this task has been the object of intensive investigations in robotics, artificial intelligence, control, and distributed computing (e.g., see [1, 3, 8, 11, 16, 55, 26, 29, 30, 36, 41, 43, 44, 45, 46, 48, 52, 56] ). In distributed computing, the Gathering Problem has been solved under a variety of strong assumptions. In particular, solutions exist assuming (full or partial) synchronicity of the cycles and instantaneous movements (i.e., in Fsync and Ssync), even if the robots are oblivious and disoriented [52] , assuming the robots have unbounded persistent memory (i.e., they can record all past observations and computations), even if they are asynchronous and disoriented [8] , and assuming agreement on the local coordinate systems (i.e., the robots are not disoriented), even if the robots are oblivious, asynchronous, and with limited visibility [26] . In this paper, we ask whether it is possible to solve the Gathering Problem without these additional strong assumptions; that is, we consider the problem in the weak setting when the entities are oblivious, disoriented, and fully asynchronous. This question has been open for a long time. It is known that multiplicity detection (i.e., the ability to detect whether at a point there is none, one, or more than one robot) is necessary in the absence of additional assumptions [48] ; thus, in the following we will assume it. Notice that the simpler Converge problem, where the robots are required only to move "very close" to each other, without necessarily gathering at the same point [3, 11, 15, 19, 46] , can be easily solved: each robot computes the center of gravity of all robots and moves toward it; it has been shown that using this strategy the robots converge toward the same point, albeit without ever reaching it [11] . The reason the same solution (i.e., moving toward the center of gravity) does not work for the Gathering Problem is because the center of gravity is not invariant with respect to robots' movements toward it and the robots are oblivious. In fact, once a robot makes a move toward the center of gravity, the position of the center of gravity changes; since the robots act independently and asynchronously from each other and have no memory of the past, a robot (even the same one) observing the new configuration will compute and move toward a different point. The obvious solution strategy for the Gathering Problem would be to choose as destination a point that, unlike the center of gravity, is invariant with respect to the robots' movements toward it. The only known point with such a property is the unique point in the plane that minimizes the sum of the distances between itself and all positions of the robots. In fact, this point, known as the Weber (or Fermat or Torricelli) point, does not change when moving any of the robots straight toward it [39, 53] . Unfortunately, it has been proven in [4] that the Weber point is not expressible as an algebraic expression involving radicals since its computation 832 CIELIEBAK, FLOCCHINI, PRENCIPE, AND SANTORO requires finding zeros of high-order polynomials even for the case n = 5 (see also [10] ). In other words, for n ≥ 5, the Weber point is not computable even by radicals; thus it cannot be used to solve the Gathering Problem. Interestingly, even convergence toward the Weber point cannot be guaranteed due to its instability with respect to changes in the point set [23]. The existing algorithmic contributions for robots in our setting are limited to solutions for n = 3 and n = 4 robots or for restricted sets of initial configurations of the robots [9] (the problem is unsolvable for n = 2 robots [52]). The lack of results so far on the Gathering Problem is not due to lack of research efforts, but rather to the inherent difficulties that this weak setting presents. In fact, the simultaneous presence of asynchrony, obliviousness, and disorientation impose severe limitations to the robots to cooperatively perform the assigned task. In particular, their inability to remember the past and the asynchrony of their behavior are crucially hindering factors. Since robots are oblivious, they do not have any memory of past observations, and the destination is decided by a robot during a Compute operation solely on the basis of the location of other robots perceived in the last Look operation. Asynchrony implies that, based on an observation made at some time t, a robot r computes a destination at some time t > t, starts to move to its destination at an even later time t > t , eventually stopping at time t ≥ t ; thus it might be possible that at time t some robots are in different positions from those previously perceived by r at time t, because in the meantime they performed their Move operations (possibly several times). In other words, robots may move based on significantly outdated perceptions. Among the many difficulties created by this fact is the difficulty of avoiding collisions: since the robots do not look while moving (the robot's sensors are activated only during the Look), and the destination is computed based on possibly outdated information about the position (and moves) of the other robots, to avoid collisions, the computation of a robot r must take into account all possible movements of all the other robots from the time t of the Look to the unknown and a priori unbounded time t > t when r will actually end its move. In other words, collision avoidance, if required, is difficult, and it is the sole responsibility of the protocol. An additional difficulty due to obliviousness and related to collisions is that if two robots (accidentally or by design) end a cycle at the same location, then they become indistinguishable, and from that moment on they might behave exactly in the same way (in fact, there is at least one execution in which they will do so); in particular, it might not be possible for them to separate ever again. In this paper, we prove that, in spite of all these difficulties, the Gathering Problem is solvable for any n > 2 and any initial configuration, even under the restrictive conditions of asynchrony, obliviousness, and disorientation. Our solution. The overall strategy followed by the robots is quite simple to state: at the beginning the robots are in distinct locations (forming a plain configuration); within finite time, a unique dense point (i.e., where there is more than one robot) is created, and all other robots gather there. However, since the robots are disoriented and oblivious and operate in a totally asynchronous manner, this strategy is not simple to enact. For example, ensuring that a unique dense point is created requires that during the execution of the algorithm no collisions occur at any point other than the final gathering one. An additional difficulty is in recognizing if a symmetric configuration is being formed during the execution. For instance, if all the robots initially are the vertices of an n-gon (a configuration called equiangular), then the trivial GATHERING MOBILE ROBOTS 833 strategy in this case would be that the robots move toward the center of the n-gon; however, if such a configuration is created by the movement of some robots during the execution, the still robots might observe the equiangular configuration and decide to apply the go-to-center strategy, while those already moving continue their procedure (possibly destroying the newly formed equiangularity). Our algorithm ensures that, if a symmetric configuration is formed during the execution, all robots become aware of it (recall, however, that the robots are oblivious and do not remember previous observations), so that all robots follow the same strategy. The algorithm works by examining the configuration observed by a robot in the Look operation. The first test a robot does when computing is to determine whether there is a single dense point, p; if so, the robot moves toward p. In absence of a dense point, the robot checks for the presence of a specific symmetric configuration: the biangular configuration. If the check for a biangular configuration is positive, the robot will move toward the center of biangularity, b. The algorithm ensures that, if this case is recognized by one robot, then all robots will recognize it and will move toward b; in this case, within finite time b will become dense. Should the first two tests fail, the robot analyzes the string of angles of the robots with respect to the center c of the smallest enclosing circle. The algorithm distinguishes four cases. For all of them, the algorithm uses the string of angles of the robots to "elect" a subset of the robots. If the elected set consists of a single robot, that robot moves until it reaches another robot, thus creating a single dense point. Otherwise, the robots of the elected set move toward c, ensuring that the smallest enclosing circle is not changed by their movements, and paying particular attention to potential biangular configuration that might be formed during their movements. In fact, it is possible that the elected robots reach, during their movements, points that render the configuration biangular; such points are called critical. The algorithm explicitly computes these points; in particular, if an elected robot has a critical point on its way, the algorithms ensure that it reaches it; also, the algorithm ensures that the configuration is still (i.e., no robot is moving or about to move) when this happens. Hence, if a biangular configuration is formed during the movements of the elected robots, all other robots will observe it in their next Look state and will eventually gather on the center of biangularity, as described above. Otherwise, if no biangular configuration is formed, the elected robots will create a unique dense point at c, where all other robots will gather. Related work. Gathering a set of autonomous mobile robots dispersed in the plane constitutes a basic control and coordination task. In distributed computing, this problem has been extensively studied in a variety of settings. The most difficult setting for the gathering problem for oblivious robots is clearly the asynchronous one (Async), where no timing assumptions are made; as mentioned earlier, the only solutions are for 2 < n < 5, and for restricted sets of initial configurations of the robots when n ≥ 5 [9]. A solution protocol has been presented also in the case of limited visibility, provided there is agreement on the coordinate system (e.g., a compass) [26] . Probabilistic protocols for gathering in absence of agreement on the coordinate systems have been proposed and experimentally analyzed in [50] . In the semisynchronous setting Ssync, the gathering problem of oblivious robots has been tackled in [11, 41, 44] . With limited visibility, a solution has been proposed in [3] , where the robots converge toward the same point. There have been several investigations on the Gathering Problem with robots operating in the fully synchronous setting Fsync [29, 41, 44, 57] . The starting point
doi:10.1137/100796534 fatcat:4tzt5vqhu5birouqn62lkytm7y