key: cord-0638194-mnfm00e8 authors: Mondal, Moumita; Chaudhuri, Sruti Gan; Chatterjee, Punyasha title: Uniform Scattering of Robots on Alternate Nodes of a Grid date: 2020-12-13 journal: nan DOI: nan sha: 58f10b55688a4e648fffba3e15eb660e13d1f820 doc_id: 638194 cord_uid: mnfm00e8 In this paper, we propose a distributed algorithm to uniformly scatter the robots along a grid, with robots on alternate nodes of this grid distribution. These homogeneous, autonomous mobile robots place themselves equidistant apart on the grid, which can be required for guarding or covering a geographical area by the robots. The robots operate by executing cycles of the states"look-compute-move". In the look phase, it looks to see the position of the other robots; in the compute phase, it computes a destination to move to; and then in the move phase, it moves to that computed destination. They do not interact by message passing and can recollect neither the past actions nor the looked data from the previous cycle, i.e., oblivious. The robots are semi-synchronous, anonymous and have unlimited visibility. Eventually, the robots uniformly distribute themselves on alternate nodes of a grid, leaving the adjacent nodes of the grid vacant. The algorithm presented also assures no collision or deadlock among the robots. A costly big complex robot may be replaced by a group of tiny autonomous robots also known as swarm robots working collaboratively. To study on the collective behaviour of a group of tiny autonomous robots is an important area of research in the field of robotics. The swarm robots are basically mobile autonomous programmable particles. The goals of this autonomous mobile robot system have been patrolling, sensing, and exploring in a harsh environment like disaster-prone area, under the deep ocean and in the space with minimal human intervention [20] . The interest on distributed or decentralized control of multiple robots with constrained capabilities is a popular field of research for a long time. Theoretical representation of mobile robots in the Euclidean space have attracted researchers. The fundamental task for executing a job in collaboration is to form geometric shapes on the plane by the robots' positions. This pattern formation job has significantly supported in various fields, such as operations in hazardous environments, space missions, military operations, tumour excision, etc [9] . In this paper we address one of such pattern formation tasks, scattering in alternate nodes of a grid. The robots position themselves equidistant apart forming a grid in finite time. Each robot can sense its immediate surrounding or nearby robots, operates on the sensed data to compute the location to move to, and move to the computed destination. A significant application of the algorithm on scattering in grid, during Covid-19 pandemic, maybe in covering a region with autonomous robots, having UV ray emitting capabilities to disinfect the area [1] [22] . The robots freely move on a 2D plane. They are anonymous, homogeneous, oblivious and can not communicate but interact by observing others positions. Based on this model, we study the problem of scattering on alternate nodes of a grid by oblivious robots. We consider a group of robots moving on a 2D plane. The robots are endowed with (a) Motorial capabilities i.e., they move independently in the Euclidean space and (b) Sensorial capabilities i.e., they look at the locations of the other robots. The robots have no means of communication through explicit message passing. However, the robots coordinate among themselves by observing the positions of the other robots on the plane. A robot is always able to look another robot within its visibility or sensing range (limited or unlimited). The robots are homogeneous (all executes the same algorithm) and anonymous (no unique identifiers). The autonomy of the robot system enables the robots to work without centralized control. The robots are assumed to be free of any kind computational and structural fault. The robots considered are point robots and are oblivious, i.e. they do not save any information for the future. The robots execute a cycle of the following phases: -look -Robots collect the positions of other robots within its sensing range. -Compute -In the compute state, the robots execute our algorithm for computing destinations. This algorithm is the same for all robots. -Move -The robots move to the computed destinations in this state. In general, the robots may or may not be synchronized. -The asynchronous (ASYNC) model is a pragmatic model, where the actions of the robots are totally independent. When a robot completes its computation, many of the other robots may have moved from their positions, based on which the computation is done. The asynchronous (ASYNC) scheduler activates the robots independently, and the duration of each Compute, Move and the time between successive activities is finite and unpredictable. As a result, a robot can be seen while moving and the snapshot and its actual configuration are not the same, and so its computation may be done with the old configuration. In this paper, we consider the semi-synchronous (SSYNC) model. We propose a robot's movement strategy such that, after a finite time they are placed equidistant apart on alternate nodes of a grid, leaving the adjacent nodes empty on the grid. A large body of research work exist in the context of multiple autonomous mobile robots, exhibiting cooperative behaviour. The primary objective of such research work is to study the issues of group architecture, resource conflict, origin of cooperation, learning and geometric problems [5] . Traditionally the research on mobile robots involves artificial intelligence in which most of the results are based on experimental study or simulations. Recently, an emerging field of autonomous mobile robots looks at the robots as distributed mobile entities or programmable particle and investigate several coordination problems for them. They proceed to solve them deterministically providing proof of correctness of the algorithms. The computational model for robots popular in the literature under this field is called a weak model [8] . Here, the robots execute repeated cycles consisting of phases, look-compute-move. The robots do not communicate through any wired or wireless medium. The robots may execute the cycle synchronously or semi-synchronously or asynchronously. Scattering of mobile robots on a plane is one of the most popular problems. In this paper, the robot disperse on alternate nodes of a given infinite grid. The robots are initially on distinct arbitrary nodes of the grid and they can move along the edges of the grid to reach another node. The goal is to reach a state of static equilibrium in which they are uniformly scattered on alternate nodes of the grid. This uniform scattering (or covering, or self-deployment) problem occurs in practice, when robots are randomly deployed in a region but the requirement is for the region to be covered uniformly with maximizing coverage. A scattering algorithm specifies which operation must be performed by a robot whenever it is active, to achieve the given goal. All the robots perform the same self-deployment algorithm. Finally, the robots will reach a state of static equilibrium, and scattering will be completed within finite time. The subject of efficient uniform scattering is of extensive research in several fields (e.g. [6] , [7] , [4] , [13] , [23] , [9] , [18] , [11] , [10] ). Depending on the assumptions they make, the existing protocols differ greatly from each other. Some of the major differences are based on the following: -Nature of the environment -The robots can move on a Euclidian plane, called continuous (e.g., [4] , [23] ), or in a network or a graph, usually called discrete or graph world (e.g., [2] , [11] , [13] ). -The robots may (e.g., [6] , [13] , [23] ) or may not be synchronized (e.g., [4] ) -Memory of the robots-The robots can have a persistent memory (e.g., [6] , [9] , [23] ) or oblivious (e.g., [4] , [10] ); -Visibility or sensing range of the robots may be limited (e.g., [9] , [13] ) or unlimited, i.e., extends to the entire region (e.g., [4] ); -Computational power -the robots have the computational power of Turing machines (e.g., [14] , [23] ) or are simple Finite State machines (e.g., [2] , [13] ); -Nature of termination of protocol -exact or approximate uniform covering is reached within finite time (e.g., [4] , [13] ) or the protocol converges without ever terminating (e.g., [6] , [7] ); -Type of protocol (generic/specific) -the protocol is generic, i.e., it operates in any space/network (e.g., [4] , [14] , [23] ) or only in specific for classes of regions/graphs (e.g., [6] , [7] ) Barriere et al., [3] discussed the uniform scattering problem for a set of autonomous mobile robots deployed in a grid network. In this paper, robots with a constant memory (non-oblivious) and limited visibility are considered. The dispersion problem of mobile robots on graphs is also discussed by Ajay D. Kshemkalyani et al., [17] where the robots are initially placed arbitrarily on the nodes of an n-node anonymous graph and they autonomously reposition themselves to reach a configuration in which each robot is on a distinct node of the graph. Also in [21] [16] [15] [12] the dispersion problem is discussed. In this paper, we prove that starting from any arbitrary initial configuration of robots on a given infinite grid, the robots can uniformly distribute themselves along a grid, with robots on the alternate nodes of this grid distribution. This problem is of significantly important due to its relationship to many other fundamental robot coordination problems, such as exploration, scattering, load balancing, relocation of self-driven electric cars (robots) to recharge stations (nodes), etc. The protocol is fully localized and decentralized, and it makes minimal assumptions like; it does not require any direct or explicit communication between robots; the robots have no past memory; the robots are anonymous, semi-synchronous and identical. We propose a distributed algorithm to disperse unlimited visibility robots in alternate nodes of a grid. We show that if the robots agree only on the direction of both axes (i.e., X-axis and Y-axis), then they can form a uniform distribution along a grid, with alternate nodes empty, without encountering any collision or deadlock. A set of n stationary points on an infinite grid on a 2D plane is given. The set of robots, R is scattered on various nodes of the grid. The robots move along the edges of the grid, from one grid node to another in such a way that after a finite number of cycle execution they are placed uniformly, equidistantly apart on alternate nodes of a grid. Let R = {r 1 , r 2 , .., r n } be a set of autonomous mobile robots. The set of robots R deployed on the given grid is described as follows: -The robots are autonomous. -Robots are anonymous and homogeneous. -The robots are oblivious in the sense that they can not recollect any data from the past cycle. -Robots can not communicate explicitly. Each robot is allowed to have a camera that can take pictures over 360 degrees. The robots communicate only by means of observing other robots with the camera. -The robots are point robots. -The robots have unlimited visibility. -The robots execute look-compute-move under semi-synchronous schedules. In this scheduling, a set of robots execute the cycles synchronously. However, this set is chosen randomly. This scheduling gives the assurance that a robot will not capture the locations of moving robots. -A robot considers its position as origin (i.e its local co-ordinate system). The robots do not have any global origin. However, they agree on the direction and orientation of X and Y axes. -The robots reside in nodes and do not stop in edges. During the movement to the computed destination node, they do not stop in between nodes. This motion is also know is rigid motion. Our objective is to uniformly distribute the autonomous mobile robots, along a grid, such that the robots are on alternate nodes of this grid distribution. Initially all the robots are on distinct nodes. Following are the steps to be executed by each robot in the compute phase: -Determine the maximum number of rows and columns required to uniformly distribute the robots along a grid such that the robots are on alternate nodes of this grid distribution, using the FindDimension routine; -Compute the north-most bound, (using the FindYMAX routine) and westmost bound (using the FindXMIN routine) of the uniform robot distribution along the grid; -The robots uniformly distribute themselves along the grid, leaving the alternate nodes empty, using the FormGrid routine. Let the number of the robots in R be n and a robot, r i ∈ R. A grid node, T x,y has coordinate (x, y). Let grid f inal be the uniform distribution of robots to be formed along the grid, with robots on alternate nodes of this grid distribution and row j be the j th row of this grid f inal . So, the number of robots, in the alternate rows or columns of grid f inal , will be √ n (say, rc), such that the last row(s) of the grid may be completely or partially empty. The maximum dimensions of the final uniform distribution, grid f inal , with robots on alternate nodes, is determined as ((rc * 2) − 1) (say, d), since the alternate rows and columns will be empty (Algorithm ). The Y-axis value of the extreme north robot (Y M AX ) is the northwards bound of grid f inal and this row is also considered the first row, row 1 (i.e. j=1) of the uniform distribution of robots. To determine the Y M AX , a robot ri compares the Y-axis values of all the robots. So, the robot with the maximum Y-axis value is the north-most robot and its Y-axis value is considered as the Y M AX (Algorithm ). Similarly, the X-axis value of the extreme west robot (X M IN ) is the westwards bound of the grid f inal . To determine the X M IN also, a robot ri compares the X-axis values of all the robots. The robot with the minimum Xaxis value is the west-most robot and its X-axis value is considered as the X M IN (Algorithm ). Although the robots locally compute these values, they all agree to the same robot as north-most and thus have the same Y M AX , as they agree on the direction and orientation of the axes. Similarly, the robots also agree to the same robot as west-most and thus have the same X M IN . The robots, r i compute their movement from their source node, T x,y to a destination node on the grid. In case of any tie, the robot trying to move westwards to its destination node will get highest priority, followed by eastwards movement and then southwards and northwards respectively. Depending on the position of r i on the grid, there are 5 configurations, denoted as Ψ 1 , Ψ 2 , Ψ 3 , Ψ 4 and Ψ 5 . -CASE Ψ 1 : Robot, r i is in a row, row j such that it is among the first d rows from Y M AX (i.e. j <= d) and it is an even row, (i.e. j is even). In this case, r i tries to move northwards to an odd row. r i checks if T x,y+1 is vacant and then moves there. Otherwise, if T x,y+1 is not empty, r i moves a node eastwards T x+1,y and then checks if the immediate north node is vacant. If T x+1,y is also not vacant, r i waits for it to be vacant. This process continues until r i reaches the odd row northwards to it, i.e row j−1 . Thus the robots, on the even rows, row j (where, j is even), of the first d rows from the Y M AX , move to the odd rows (row j−1 ) above it. This continues till all r i of the first d rows from the Y M AX , are placed on a odd row. (Figure 1(i) ) -CASE Ψ 2 : Robot, r i is in a row, row j such that it is beyond the first d rows from Y M AX (i.e. j > d). In this case, r i tries to move northwards, aiming to reach the d th row of the grid f inal . r i checks if immediate above node, T x,y+1 is vacant and then moves there. Otherwise, if T x,y+1 is not empty, r i moves eastwards to a vacant T x+1,y and then to the row northwards, T x+1,y+1 . If T x+1,y is also not vacant, r i waits for it to be vacant. This process continues until r i reaches the d th row from Y M AX , i.e row d . (Figure 1 (ii)) -CASE Ψ 3 : All the n robots are in alternate rows (i.e. odd rows) of the first d rows starting from Y M AX . Robot, r i placed in row j , is not on alternate nodes of the row j . Also, r i is not on the west bound of grid f inal , X M IN . Here, there can be two possibilities: • Any robot on the west of r i in row j , have a vacant target node to move westwards. r i tries to move westwards in its row, till the westwards bound, X min is meet or there is no further vacant target node to move westwards. r i checks if westwards nodes, T x−1,y and T x−2,y are vacant, if so then r i moves westwards to T x−1,y . • All robots on the west of r i in row j , have no vacant target node to move westwards. Now, r i tries to move eastwards, to position itself in alternate nodes of the row. If checks if the eastwards nodes, T x+1,y and T x+2,y are vacant, if so then r i moves eastwards to T x+1,y , else it waits. This process continues until all the robots in row j are on alternate nodes. Following this, all the robots are on alternate rows (i.e., odd rows only) and also on alternate nodes of the same row. (Figure 2, Figure 3 , Figure 4 (ii), Figure 5 ). However, after all the robots are placed on the alternate nodes, the rows may have greater or less than the rc number of robots. -CASE Ψ 4 : All robots are placed in alternate nodes of alternate rows. Robot, r i in row j is such that starting from the west bound, X M IX , r i is in the first rc number of robots in row j , and the northwards alternate row (odd row) node, T x,y+2 is empty. Also, row j is not the north-most row (i.e., j = 1). In this case, r i moves to the northwards alternate row, T x,y+2 . (Figure 4 (i)) -CASE Ψ 5 : Robot, r i has greater than or equal to rc number of robots on its west in the same row. Here, there can be two possibilities: • r i is in the north-most row, row 1 . Here, r i tries to move to a southwards odd row. r i checks if its immediate alternate south row node, T x,y−2 is vacant, if so, then moves southwards to node T x,y−2 , else waits. After r i moves to node T x,y−2 in row j+2 , it then tries to move westwards, in case row j+2 has less than rc robots, as per, Ψ 3 . Otherwise, r i continues to move to a further south odd row and when it encounters a row j with lesser then rc robots, r i moves westwards to place itself in its target node as per, Ψ 3 . • r i is not the north-most row (i.e., j > 1). Here, the robots try to move to a northward or southward odd row to form the uniform distribution, grid f inal . The robots that has rc number of robots on their west on the same row, are the excess robots on that row. So, they move to the other odd rows that has lesser than rc number of robots. In this case, if odd rows above row j have less than rc robots, and the northwards alternate row node, T x,y+2 is vacant, then r i moves northwards to the alternate row node, T x,y+2 . Then if r i has less than rc number of robots on its west in row j−2 , it tries to place itself in that row, as per Ψ 3 . If T x,y+2 is not vacant, r i waits till T x,y+2 is empty. Only when all odd rows above row j have greater than or equal to rc robots and the southwards alternate row node, T x,y−2 is vacant, then r i moves southwards to the alternate row node, T x,y−2 . Then if r i has less than rc number of robots on its west in row j+2 , it tries to place itself in that row, as per Ψ 3 . If T x,y−2 is not vacant, r i waits till T x,y−2 is empty. This process continues until no row has greater than rc robots. (Figure 6(i) ). Thus the robots uniformly distribute themselves along a grid with robots on alternate nodes of this grid distribution, by computing their target nodes on the grid (Algorithm ) (Figure 6(ii) ). An example for the algorithm, with 8 arbitrarily placed robots on the nodes of an infinite grid is shown in Figures 1,2 Input: n Output: The west-most bound of the distribution, XMIN ri ∈ R considers its position as origin (0,0). Let XMIN be the X-axis value of the west-most robot and Initially let, XMIN ← X-axis value of r1; Let c be the robot counter to compare all robots and c ← 2; while c <= n do if X-axis value of rc < XMIN then XMIN ← X-axis value of rc; end c ← c + 1; end return XMIN Algorithm FormGrid(n) Input: n Output: Robot R reaches its target point on the grid Let ri ∈ R and T (x, y) be a grid node with coordinate (x, y); Initially, consider ri is at T (x, y) (where x,y=0). Let the final target point of ri be Ti Dimensions of the uniform distribution to be formed (grid f inal ) ← FindDimendion; YMAX ← FindYMAX; and XMIN ← FindXMIN; j is the row number of rowj starting from the north bound, YMAX Priority of movement in case of any tie in ri movement ← ri trying to move westwards will get highest priority, followed by eastwards, southwards and northwards respectively; if ri ∈ rowj such that (j <= d and j (mod 2) = 0) then while ri ∈ rowj do if Tx,y+1 is empty then ri moves to Tx,y+1; j=j-1; end else if Tx+1,y is empty then ri moves to Tx+1,y; end end end while ri ∈ rowj such that j > d do if Tx,y+1 is empty then ri moves to Tx,y+1; j=j-1; end else if Tx+1,y is empty then ri moves to Tx+1,y; end end Algorithm FormGrid(n) continued while ri / ∈ XMIN and ∀ ri ∈ rowj not on alternate nodes do if Tx−1,y and Tx−2,y are empty then ri moves to Tx−1,y; end else if all robots on the west of ri in rowj, have no vacant target node to move westwards then if Tx+1,y and Tx+2,y are empty then ri moves to Tx+1,y; end end end while ∀ri placed in alternate nodes of alternate rows and ri ∈ rowj such that ri ∈ first rc robots of rowj and j = 1 and Tx,y+2 is empty do ri moves to Tx,y+2; j=j-2; end if ri ∈ rowj such that, j = 1 and ri has >= rc number of robots on its west in rowj then while Tx,y−2 is empty and ri / ∈ its target point Ti do ri moves to Tx,y−2; j=j+2; if ri has < rc number of robots on its west in rowj then while (Tx−1,y and Tx−2,y are empty) and ri not on XMIN do ri moves to Tx−1,y; end ri placed in target point Ti; end end end if ri ∈ rowj such that, j > 1 and ri has >= rc robots on its west in rowj then if odd rows above rowj have < rc robots then while Tx,y+2 is empty and ri / ∈ its target point Ti do ri moves to Tx,y+2; j=j-2; if ri has < rc number of robots on its west in rowj then while (Tx−1,y and Tx−2,y are empty) and ri not on XMIN do ri moves to Tx−1,y; end ri placed in its target point Ti; end end end else if odd rows above rowj have >= rc robots then while Tx,y−2 is empty and ri / ∈ its target point Ti do ri moves to Tx,y−2; j=j+2; if ri has < rc robots on its west in rowj then while (Tx−1,y and Tx−2,y are empty) and ri not on XMIN do ri moves to Tx−1,y; end ri placed in its target point Ti; end end end end Lemma 1. The robots do not move back to their previous positions. Proof. The robots reside in nodes and do not stop in edges. Also, during the movement to the computed destination node, they do not stop in any in-between nodes, i.e. they execute rigid motion. So, in configurations Ψ 4 and Ψ 5 , a robot r i in row j can compute and move to the next odd row, northwards or southwards (i.e. row j+2 or row j−2 ). Thus, in Figure 4 (i), r i computes and moves to T x,y+2 and in Figure 6 (i), r i moves to T x,y−2 . As r i do not compute and move to its immediate adjacent row (i.e. even row, row j+1 or row j−1 ) and thus not reaching the configuration Ψ 1 , so by the algorithm, r i does not move back to its previous position in row j . Consequently, the robots move forward in the algorithm, to achieve the required configuration, without repeating the same positions. Lemma 2. The algorithm is free of deadlock. Hence progress is assured. Proof. Let r i be any arbitrary robot. By contradiction, let us assume r i is in deadlock. -Case 1: If r i is in Ψ 1 , it checks if northward node T x,y+1 is vacant and moves there. Otherwise, r i first moves eastwards to T x+1,y and then northwards. Thus, we can see, r 7 in Figure 1 (i), that in Ψ 1 , r i follows distinct movement either eastward or northward as per the condition in Algorithm and finally moves to an odd row. r i do not repeat the actions of Ψ 1 further, as it no longer remain in Ψ 1 . This assures that r i is not in deadlock. -Case 2: When r i is in Ψ 2 , it checks if northward node T x,y+1 is vacant and then moves there. Otherwise, r i first moves eastwards to T x+1,y and then northwards. r i waits if both T x,y+1 and T x+1,y are occupied. Thus similar to Ψ 1 , r i moves either either northward or eastward till r i reaches the d th row of the grid f inal , as r 8 in Figure 1 (ii). Further it does not repeat the Ψ 2 actions, as it no longer remains in Ψ 2 , thus confirming there is no repetition of actions in loop. Hence, r i cannot be in deadlock. -Case 3: When r i is in Ψ 3 , it moves westwards to T x−1,y , when two adjacent west nodes, T x−1,y and T x−2,y are vacant as r 1 , r 2 , r 8 of Figure 2 (i). Otherwise, r i moves eastwards as r 5 of Figure 2 (i). If both west and eastwards nodes are unavailable for movement, it waits. Also, in Figures 2(ii), 3(i)(ii), 4(ii), 5(i)(ii) we see, there is always either westward or eastward movement prescribed for r i in Ψ 3 , till all the robots in that row are at alternate nodes of that row. Since there is no bound on the east, there will always be vacant node available to accommodate all the robots in that particular row at the alternate nodes in that row. Thus, there is no deadlock condition. -Case 4: If r i is in Ψ 4 , it moves to the northward alternate row node, T x,y+2 like, r 4 in Figure 4 (i). It is a rigid movement and r i does not stop in any in-between node (i.e. T x,y+1 ) before reaching its destination. This assures no possibility of deadlock. -Case 5: When r i is in Ψ 5 , it either moves to the alternate northward row node T x,y+2 or the alternate southward node T x,y−2 as r 5 in Figure 6 (i), depending on the position of r i . In either case, r i moves to a alternate row, it will always be a odd row. Also as per the dimensions of the grid distribution calculated in Algorithm , there will always be vacant node available to move the robots, in order to form the grid with robots on alternate nodes, thus assuring progress of the algorithm. Thus we see, in all the cases, r i is not in deadlock. Also by Lemma 1 we can assure that the robots do not move back to their previous positions and does not keep repeating the same configuration in a loop. Hence, there is no possibility of r i to be in deadlock condition. Thus, by contradiction we proof that the algorithm is free of deadlock and consequently progress is assured. Lemma 3. When a robot r i is moving from one node to another node of the grid, along an edge of the grid, no other robot comes in its path, i.e., the movement of r i is collision-free. Proof. In this algorithm, the robots move along the edges of the grid to reach their destination node. For existence of any obstacle robot following two situations may arise. -The obstacle robot is between the source and destination nodes. This is not possible, as the robots can be placed only on the nodes and not on the edges of the grid. So, as the robots move along the edges of the grid, between the source and destination node, no other robot can exist along the path of the robot. -A destination node computed by one robot is also been computed by another robot. This is not possible, as the robots have a consistent ordering of their movement based on priority. So, at a time a vacant node can be computed as the target node for one robot only. Also, the semi-synchronous scheduler confirms that when a robot is moving no other robot is looking. Thus the robots reach their destinations without collision. Theorem 1. A group of autonomous, homogeneous, oblivious, semi-synchronous, mobile robots can deterministically scatter uniformly in alternate nodes of a grid under unlimited visibility and agreement on direction of axes. Proof. The robots in this model are autonomous mobile robots as they can operate independently by executing cycles of the states "look-compute-move". They are homogeneous and cannot be distinguished from each other. Thus, in the look phase, the robots looks to identify the positions of the other robots at that point of time. In this algorithm, the robots do not need to recollect any past action or looked data from the previous cycle, i.e they are oblivious. Here the robots have semi-synchronous scheduler which ensures, that the activated robots at the same time obtain the same snapshot, and their compute and move are executed instantaneously. Since the activated robots obtain the same snapshot, their determination of the grid dimensions, north and west bounds and the computed destination for a robot are consistent. The robots have full visibility as they need to determine the dimensions and bounds of the grid distribution to be formed. Finally, we have assumed that though the robots have local coordinate system, they have agreement on the direction of the axes. This assumption ensures that all the robots, compute and identify the same robots as the north-bound Y M AX robot and west-bound X M IN robot respectively. With this underlying model, from lemma 2 we have a deadlock free algorithm that assures progress and from lemma 3, we guarantee no collision of robots, thus deterministically reaching the goal of the algorithm, i.e., robots on alternate nodes of a grid distribution. In this paper, we have addressed the scattering in a grid problem for autonomous oblivious mobile robots. The paper presents a distributed algorithm that assumes full visibility robots with semi-synchronous movement and agreement on both axis direction. Our proposed algorithm converges in finite time without collision. Deployment of asynchronous robotic sensors in unknown orthogonal environments Uniform scattering of autonomous mobile robots in a grid Arbitrary pattern formation on infinite grid by asynchronous oblivious robots Cooperative mobile robotics: antecedents and directions Local spreading algorithms for autonomous robot systems Non-uniform circle formation algorithm for oblivious mobile robots with convergence toward uniformity Distributed algorithms for partitioning a swarm of autonomous mobile robots A distributed self spreading algorithm for mobile wireless sensor networks Mobile sensor network deployment using potential fields: A distributed, scalable solution to the area coverage problem An incremental self-deployment algorithm for mobile sensor networks Online dispersion algorithms for swarms of robots Algorithms for Rapidly Dispersing Robot Swarms in Unknown Environments A pattern formation algorithm for a set of autonomous distributed robots with agreement on orientation along one axis Fast dispersion of mobile robots on arbitrary graphs Dispersion of mobile robots in the global communication model Dispersion of mobile robots on grids Energy-efficient deployment of intelligent mobile sensor networks Rendezvous of Asynchronous Mobile Robots with Lights Pheromone robotics and the logic of virtual pheromones Time-optimal uniform scattering in a grid The covid-19 pandemic is a crisis that robots were built for Distributed anonymous mobile robots: Formation of geometric patterns The future scope of this work would be to consider limited visibility of the robots. Also, we will try to minimize the overall distance between the robots and make the robots occupy consecutive rows but alternative columns.