Neural dynamics based complete grid coverage by single and multiple mobile robots

Navigation of mobile robots in a grid based environment is useful in applications like warehouse automation. The environment comprises of a number of free grid cells for navigation and remaining grid cells are occupied by obstacles and/or other mobile robots. Such obstructions impose situations of collisions and dead-end. In this work, a neural dynamics based algorithm is proposed for complete coverage of a grid based environment while addressing collision avoidance and dead-end situations. The relative heading of the mobile robot with respect to the neighbouring grid cells is considered to calculate the neural activity. Moreover, diagonal movement of the mobile robot through inter grid cells is restricted to ensure safety from the collision with obstacles and other mobile robots. The circumstances where the proposed algorithm will fail to provide completeness are also discussed along with the possible ways to overcome those situations. Simulation results are presented to show the effectiveness of the proposed algorithm for a single and multiple mobile robots. Moreover, comparative studies illustrate improvements over other algorithms on collision free effective path planning of mobile robots within a grid based environment.


Introduction
Path planning of a single and multiple robots is a very fundamental issue in the field of robotics. In many dedicated applications, the robot needs to reach every desired position in the workplace to complete the task. This type of application is known as a complete coverage problem. When the workspace is divided into several grid cells then it is called a complete grid path planning (CGPP) or a complete grid coverage (CGC) [1,2]. It has a wide area of applications including warehouse application, floor cleaning, environment mapping, surveillance, search and rescue operation [1,3,4]. Different methods were presented in the literature to address the complete grid coverage problem. Complete path planning for the reconfigurable robot using polyomino tiling theory was presented in [3]. An extension of that work for self-reconfigurable robots was described in [5] using a traveling salesman problem. Different methodologies to execute floor cleaning tasks as a complete area coverage by tetris inspired cleaning robot were presented in [6][7][8][9]. Complete area coverage of an environment comprises of uneven shaped obstacles was presented in [10]. Article [11] developed a genetic algorithm based methodology for area coverage to accomplish the floor cleaning task. A detailed survey on the complete path planning of multiple robots was presented in the article [4]. A graph-theory based complete coverage task planning for reconfiguration robot was described in [12]. A multi-sensor fusion based model in the dynamic and unknown environment was explained in [2,13,14]. Energy consumption of cleaning robots based on tetromino and htetro inspired self-reconfigurable robot was discussed in articles [15,16]. The development of an algorithm using reinforcement learning for maintenance and cleaning robot was described in [17]. Neural network based approaches were also used widely for complete coverage tasks. A bioinspired neural network based method for both a single and multiple mobile robots was explained in [18]. Neural dynamics based cooperative coverage of a grid based environment was further extended in [1]. In [2], the authors presented a complete area path planning algorithm to cope up with a dead-end situation. They had used a global backtracking method for the robot to find an unvisited position when the robot faces the dead-end situation. A biologically inspired self-organizing map based methodology was presented in [19] for the application of task assignment of swarm robots. In [20], the authors proposed an improved grey wolf optimizer and particle swarm optimization for mobile robots path planning. Oh et al. [21] presented a complete grid coverage algorithm based on the triangular cell decomposition method where the robot was also capable to construct the map of an unknown environment. Cooperative complete grid coverage of an unstructured and irregular shaped environment by the multi-robot system was presented in [22]. The multiple agents were covering the environment by making flexible formations. Apart from the coverage application, the work also discussed inter-agent collision avoidance. Cell decomposition method based area coverage algorithm for the multi-robot system was presented by Janchiv et al [23]. In [24,25], authors presented a decentralized sweep coverage of multi-robot systems in the desired formation. Motion control of a group of mobile robots using a consensus algorithm for sweep coverage was described in [25].
In this article, the following aspects are incorporated to cope up with complete grid coverage problems in a grid based environment.
1. In articles [1,30] the inter-grid diagonal movement of the mobile robot is allowed which may lead to a collision with the obstacles in a practical situation and overlapping of grid cells. This work ensures such collision avoidance by restricting the diagonal movement of the mobile robot. The mobile robot can move only to its horizontal and vertical grid cells. 2. To cope up with the dead-end situation, the authors in [18,21,26] had used backtracking method. This proposed paradigm introduces a neural network based path planning method to overcome the dead-end situation.
3. While calculating the neural activity of the neighboring grid cells, a relative heading of the mobile robot with respect to the neighboring grid cells is taken into consideration. The effect of the relative heading is shown in the result section.
The article is organized as follows; Section 2 describes the environmental set up. This is followed by the proposed algorithm for the grid based environment with obstacles and the dead-end situation in Sects. 3 and 4 respectively. The simulation and comparison results are presented in Sect. 5. A conclusion of the proposed work and future directions are presented in Section 6.

Grid based environment
The 2D working environment W is set up as a (x × y) number of grid cells. The total number of free grid cells in the environment is stored in n f . Every grid cell in the environment signifies a neuron. The current position of the mobile robot is denoted as p c , where p c = [x c y c ] . The movement of the mobile robot is restricted to one grid cell at a time. The mobile robot has information about its adjacent neighboring grid cells. The structure of the environment relative to the current mobile robot position is shown in Fig. 1a. It shows that even if the obstacle partially covered the grid cells, the whole grid cell is considered as an obstacle. The coordinates of the neighboring grid cell (p n ) is given by (1) [31].
The restriction of the inter-grid diagonal movement of the mobile robot is illustrated in Fig. 1b. In this work, it is considered that the size of the mobile robot commensurates with the individual grid cell. This work also assumes that the presence of an obstacle in a grid cell poses the same threat of collision irrespective of the obstacle's size with respect to the grid cell. As depicted in Fig. 1b, if the next position of the mobile robot is grid cell p8, then it partially covers grid cells p5 and p7. Along with that, if either grid cell p5 or p7 contains an obstacle, the mobile robot may collide with it. Thus, this restriction ensures safety from collision with obstacles and grid cell overlapping. The following condition needs to be applied to restrict the inter grid diagonal movement of the mobile robot and to determine the possible next positions.
(1) p n =[x n y n ], ∀x n ∈ (x c − 1, x c + 1), y n ∈ (y c − 1, y c + 1), (x c , y c ) ≠ (x n , y n ) (2) p np = [x n y n ] ⊆ p n , ∀ ‖ ‖ p n − p c ‖ ‖ = 1 & I n = E p np represents possible next positions of the mobile robot. I n is the external input associated with every grid cell which describes the characteristics of the n th grid cell. Equation (3) represents I n , where E is a large positive constant number.

Background
The proposed algorithm for the mobile robot movement is inspired by an equivalent electrical circuit which represents the cell membrane potential. This was first developed by Hodgkin and Huxley [27] in 1952. The change in membrane potential happens due to charging and discharging of potassium ion, sodium ion, and leakage ions. The dynamic equation to obtain potential difference across membrane is described in eq. (4) [27].
C m in eq. (4) represents membrane capacitance. V p , V Na , and V k are the saturation potentials of the leakage current, sodium ion, and potassium ion respectively. V m represents the cell membrane potential. g p , g Na , and g k are the conductances for the leakage current, sodium ion and potassium ion respectively. (3)

Biologically inspired neural network algorithm for movement through grid cells
The parameter V m is replaced with n in the neural network based algorithm which represents neural activity of the grid cell. The neural activity of every grid cell is assumed to be represented as the membrane potential. V Na and V k provide constant excitatory and inhibitory values to the cell membrane [28]. Here, positive constant parameter B and D are considered as an excitatory and an inhibitory inputs [18]. The conductance g Na and g k are time varying parameters which provide excitatory and inhibitory information to the cell membrane [27]. In this work, the time varying excitatory and inhibitory inputs are represented as S e n and S i n respectively. The leakage conductance g p is taken equal to the relative heading ( | n | ) of the mobile robot. The value of V p is taken as 0, as it is negligible [28]. C m is the capacitance of the cell membrane per unit area, and assumed to be constant at 1. The resulting neural dynamic equation after replacing the parameters can be represented as n signifies relative heading of the mobile robot with respect to the n th neighboring grid cell. It is a function of the previous position ( p p ), the neighboring position ( p n ), and the current grid cell position ( p c ) of the mobile robot. It is defined as where, cn = atan2(y c − y n , x c − x n ) and cp = atan2 (y c − y p , x c − x p ) . Excitatory input ( S e n ) gives information about the n th grid cell and its neighboring free grid cells whereas, inhibitory input ( S i n ) provides information about the n th grid cell and obstacles in its neighborhood. The excitatory ( S e n ) and inhibitory ( S i n ) inputs are described as [28] W h e r e t h e f u n c t i o n s [I n ] + = max(I n , 0) a n d . The unvisited grid cell with the highest external input attracts the mobile robot and obstacle positions with the lowest external input repeals the mobile robot. Similar to the current position of the mobile robot, every neighboring grid cell has local lateral connections with its neighboring grid cells. So, j denotes the neural activity of j th neighboring grid cell of n th grid cell. w nj is the weight between n th grid cell and j th neighboring grid cell. The weight w nj is calculated as the Euclidean distance between two adjacent grid cells.
The grid cell position with the maximum neural activity among possible next positions will be the next position of the mobile robot. It can be represented as Once the mobile robot moved to the winner grid cell, information of the remaining unvisited grid cells within its neighborhood are stored in leftover grid cells ( l g ). The following condition needs to be fulfilled while storing the remaining unvisited neighboring grid cell.
The list is updated based on unvisited neighboring grid cells while excluding each visited cell. This process continues until all free grid cells in the environment have either the status visited or the mobile robot faces the dead-end situation. The approach to overcome the dead-end situation is presented in the next section.

Stability analysis
The neural dynamics equation expressed in eq. (5), can be rewritten as

Addressing a dead-end situation
The mobile robot encounters dead-end situation when the possible next positions are either visited or contained obstacles while other free grid cells are left unvisited in the environment. It is illustrated through Fig. 2 and satisfies the following condition.
To overcome the dead-end situation a neural network based navigation approach is considered here. The mobile robot determines the nearest unvisited grid cell from left over grid cells l g as the target position ( p t = [x t y t ] ) to overcome the dead-end situation. It can be determined as In the case of multiple mobile robots system, the Euclidean distance is calculated between the target position and the current positions of every mobile robots. If the Euclidean distance of the mobile robot that faced the dead-end situation is less than the Euclidean distance of other mobile robots, then the dead-end faced mobile robot moves towards the target position. Otherwise, it halts navigation until the above condition satisfies. In the case of a single mobile robot system, the target position is assigned to that mobile robot. Next, the mobile robot determines the possible next positions for the dead-end situation. It satisfies the following condition p d np represents the possible next positions under dead-end situations. The neural activity of the neighboring grid cells for the dead-end situation is given by [28,29] It is a function of neural activity at current position of the mobile robot c , external input associated with the neighboring grid cell I n , and weight w d . The weight in the deadend situation between two adjacent grid cells is given by [28] It is a monotonically decreasing function which depends on the Euclidean distance between the current mobile robot position and its neighboring grid cell. is a positive constant. g is a piecewise linear function and in given by eq. (21). The reason to choose this function is to restrict the value of the neural activity of the grid cells within [0, 1]. If the neighboring grid cell contains an obstacle, then I n = −E , so the neural activity will be n < 0 . Function g guarantees that in that case, the neural activity of that grid cell is 0. Similarly, if a neighboring grid cell is unvisited, then the external input value is I n = E . In that situation, n > 1 . So, using this function the neural activity of that grid cell is 1. For the grid cells which are already visited, the external input is I n = 0 . In that situation, the neural activity of the grid cell will be within (0,1]. It is defined as [28] is a positive constant number and < 1 . Now, the mobile robot will determine grid cell positions with the maximum neural activity among possible next positions and is obtained by Eq. (22).
The next position of the mobile robot will be the grid cell position with the minimum distance from the target position with the maximum neural activity. The expression to determine the next position is given in eq. (23) [29]. The mobile robot continues this process until it reaches the target grid cell.
So, when the mobile robot is in a dead-end situation the neural activity of the neighboring grid cells will be calculated based on the Eq. (19), and if it is in free space then the neural activity will be calculated based on eq. (5). The working procedure of the proposed algorithm is depicted through the flowchart diagram given in Fig. 3.
When the value of n f becomes zero and the external input value of every free grid cell is zero ( I n = 0 ), it signifies that the proposed algorithm provides completeness and every free grid cell is visited by the mobile robot. When these conditions are not satisfied, it means the mobile robot system fails to cover all free grid cells.

Failure of complete grid coverage
This section illustrates the situations where the complete grid coverage by the mobile robot will not be possible using the proposed algorithm.
When the mobile robot encounters a dead-end situation as illustrated in Figs. 4a, b (the mobile robot is surrounded by obstacles and boundary of the environment) and Fig. 4c (the mobile robot is surrounded by obstacles), then the mobile robot can not complete its task. The following condition refers to this situation Figs. 4d, e, and f also depict situations where a single mobile robot and multiple mobile robots will fail to (21) 24) p np = �, l g = �, n f ≠ 0

Simulation results
In this section, the proposed algorithm is validated through different situations and compared with other proposed algorithms for a single and multiple mobile robot systems. The values of the parameters used in this work are given in Table 1. The grid cells which are completely filled with black color represent obstacles and/or boundaries, Fig. 3 Flowchart of the proposed algorithm whereas, " * " in the grid cell signifies that the grid cell is visited by the mobile robot more than ones.

Different environmental conditions for failure and completion of grid coverage
The possible ways to overcome the situations as described in Sect. 4.1 in Fig. 4 are presented through Figs. 5 and 6. The results of incomplete and complete grid cell coverage is tabulated in Table 2. Figs. 5a, b, and c show the successful completion of complete grid coverage if another mobile robot starts from the free space. Fig. 6 depicts the situations of incomplete (Fig. 6a, 6b, 6c) and complete (Fig. 6d) grid coverage by a single and multiple mobile robot systems. The relevant details are given in Table. 3. The successful coverage of grid based environment is further demonstrated through Fig. 7 and Table4.

Effect of the relative heading
The effect of the relative heading in the neural activity is shown for the same environment and initial conditions. The value of n is taken as 0 in Eq. (5) when the relative heading is not taken into consideration.

Effect of relative heading on a single mobile robot system
The simulation result is shown in Fig. 8. In the first situation, the relative heading of the mobile robot is not considered. In the next two situations, the initial headings of the mobile robot are considered to be along the y-axis and x-axis respectively. The environment is divided into (16 × 9) number of grid cells and the mobile robot is starting from (2, 2) in every situation. The comparative results for these three situations are given in Table 5 in terms of the total number of steps, turns, and overlapped grid cells taken by the mobile robot to accomplish the task. The mobile robot didn't overlap any grid cell and took a reduced number of turns to cover the workspace completely when the relative heading is incorporated in the neural activity calculation.

Effect of the relative heading on a system with two mobile robots
The environment is divided into (17 × 24) number of grid cells. The mobile robots are starting from grid cell position (2,2) and (16,23) for the first and the second mobile robot respectively (Fig. 9). Initially, the mobile robots are headed along the positive x-axis and negative x-axis respectively. Fig. 9a shows the result when the relative headings are not considered and Fig. 9b shows the result when the relative headings are taken into consideration. The detailed comparative results are given in Table 6. So, it is observed that the number of turns is reduced when the relative heading is considered in the neural activity for both a single and multiple mobile robot system.

Complete grid cell coverage in different environmental conditions
To validate the proposed algorithm it is applied on multiple mobile robots system, which consists of two and three mobile robots.  (2, 2) and (22,12) and initial headings are along positive and negative y-axis respectively. It is assumed that the first mobile robot fails at grid cell (2,12). So, it stopped navigation at that grid cell. As depicted in Fig. 10a, the second mobile robot covers the rest of the environment successfully. It signifies that cooperatively both the mobile robots have covered the entire workspace successfully despite the failure of one mobile robot. In the second situation, both the mobile robots have worked efficiently and successfully covered the entire workspace. This situation is depicted in Fig. 10b.
In the third situation the mobile robots are starting from grid cell position (2,16) and (18,2), and initial headings are along the positive and negative x-axis respectively. Both the mobile robots have overlapped 2 grid cells individually to completely cover the entire workspace. It is depicted in Fig. 10c. The percentage of grid cells coverage by each mobile robot, along with the number of turns and the number of overlapped grid cells are given in Table 7.

Environment with three mobile robots
In this section, the multiple mobile robot system consists of three mobile robots and the proposed algorithm is applied on two different grid based environments. In the first situation, the environmental size is (17 × 16) grid cells. Fig. 11a depicts that the mobile robots have successfully covered the environment and avoid collisions with other mobile robots and static obstacles. The initial position of the mobile robots are at (2,15), (9,7), and (16, 15) respectively. The mobile robots have taken individually 9, 8, and 14 turns respectively to cover the grid based environment completely.   In the second situation, the environment is divided into (17 × 26) number of grid cells (Fig. 11b). The initial positions of the mobile robots are at (2, 2), (10,13), and (16,2) respectively. The total number of turns taken by each mobile robot is 26, 31, and 9 respectively. A detailed quantitative result for both the situations are given in Table 8. This set of simulation results show that the proposed algorithm gives the satisfactory result and it is effective on multiple mobile robot system with varying environmental size as well as the number of mobile robots.

Comparative study
A detailed comparative study is presented for a single and multiple mobile robots. The proposed algorithm is compared with articles [1] and [21] for a single mobile robot. A system with two mobile robots is compared with articles [30] and [32]. For a system with three mobile robots, the proposed algorithm is compared with [30].

Comparative results for a single mobile robot system
In this section, the comparative results are given for a single mobile robot system. The environmental set up is distributed in (13 × 10) number of grid cells. The comparative results is shown in Fig. 12. The mobile robot has successfully covered every grid cell. The comparison result in terms of the number of steps, number of turns, and overlapped grid cells with [1] and [21] are given in Table 9. The number of overlapped grid cells is more in the proposed algorithm than in Luo's algorithm. However compared to 30 turns in Luo's algorithm and 26 turns in Oh' algorithm, the mobile robot took only 14 turns using the proposed algorithm. It can be concluded that the mobile robot took fewer turns by using the proposed algorithm for these particular environmental and initial conditions. Fig. 7 An enclosed area with a single cell opening: a a single mobile robot starts from outside; b a single mobile robot starts from inside; c two mobile robots start from outside; d three mobile robots-one starts from inside and others start from outside

Comparative results for a system with two mobile robots
The proposed algorithm is compared with articles [30,32] for the system consisting of two mobile robots. In [30], the workspace is divided into (12 × 12) number of grid cells and the robots start from grid cell positions (2,11) and (2,2) respectively. The robots are allowed to move diagonally in [30], which results in a potential collision with obstacles at grid cell positions (4, 3), (5, 3), (9, 3) and (10,3), considering the size of the robot commensurates with the size of grid cell as well as an obstacle (Fig. 13a). Along with that, it also results in unnecessary grid cell overlapping.
As the diagonal movement is completely restricted in the proposed algorithm, the robots successfully avoided the chances of unwanted collision and grid cell overlapping which was occurring in [30]. The comparative result is given in Table 10. Fig. 13b depicted that the robots have successfully covered all the free grid cells. The robots have taken more turns cumulatively to accomplish the task in [30]. It can be concluded that the robots are working more efficiently using the proposed algorithm in terms of complete collision avoidance and a total number of turns. The authors in [32] simulated a grid based environment with two different complete area coverage strategies namely Boustrophedon-decomposition based coverage (BDC) and spanning tree coverage (STC). The authors partitioned the environment into two subregions for two mobile robots system. The diagonal movement of the mobile robot is also restricted in [32]. Both of these algorithms are compared with the proposed algorithm. The comparative result is shown in Fig. 14. In terms of taking the minimum number of turns by each mobile robot, the proposed algorithm works better than the STC strategy     and overlapped fewer grid cells than the BDC strategy. The detailed results are presented in Table 11.

Comparative results for a system with three mobile robots
In this section, the comparative result is presented for a three robot system. The proposed algorithm is compared    with [30]. The first, second, and third robot start from grid cell positions (2, 11), (7,2), and (11, 11) respectively (Fig. 15). The total number of turns and overlapped grid cells of the robots are given in Table 12. The total number of overlapped grid cells by all three robots are comparatively fewer in [30] as the inter-grid cell diagonal movement of the robot is allowed. However, this relaxation leads to a situation where the second robot potentially collides with an obstacle at grid cells (4,3) and (6,9). Similarly, the third robot potentially collides with an obstacle at grid cells (9,3), and (10,3). In addition to that, the third robot has covered grid cells (8,5) and (8,6) twice, which was previously covered by the second robot. So, the third robot overlapped a total of 8 grid cells. It can be concluded that compared to [30], the proposed algorithm works more efficiently as it ensures complete collision avoidance. The robots have completely covered the grid based environment without colliding with any of the obstacles.

Conclusion
In this paper, a neural dynamic based algorithm is proposed for complete grid coverage. The proposed paradigm is useful for mobile robot path planning in a grid based environment comprising of obstacles and dead-end situations. The results are shown for different situations for a single and multiple mobile robots. A comparative study is presented in terms of the number of turns taken and the total number of grid cells overlapped by the mobile robots to accomplish the task. The results have shown that mobile robots have taken fewer turns while using the proposed algorithm. By restricting the inter grid cells diagonal movement of mobile robots, it ensures complete safety from the collision with static obstacles and other mobile robots. The cases where this proposed algorithm will fail to accomplish the complete coverage are also demonstrated. In the future, an optimized shared load-balancing of multiple robots for complete grid coverage tasks will be explored.
Funding This work is funded by the Visvesvaraya Ph.D. Scheme, Digital India Corporation (formerly known as the Media Lab Asia) for the project entitled "Intelligent Networked Robotic Systems".

Conflict of interest
The authors declare that they have no conflict of interest.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http:// creat iveco mmons. org/ licen ses/ by/4. 0/.