A Bio-Inspired Algorithm for Autonomous Task Coordination of Multiple Mobile Robots

,


Introduction
Mobile robots are being increasingly used to automate tasks like floor cleaning, and surveillance in shopping malls, hospitals, and universities.To cover large areas, multiple robots are often used [1,2].Multiple robots can also work in parallel.However, multiple robots needs to be programmed to efficiently serve different areas of the region.For example, in case of floor cleaning multi-robot system in hospitals or other public places, each robot must explicitly be programmed to serve specific areas.This can be done in real-time through various commands, or the time and places to serve can be decided previously.Some amount of flexibility can also be introduced in the system in selecting the areas and robots.However, in real world situations, the service areas in the map may vary with time.Moreover, the number of available service robots may also vary, as some of the robots may be unavailable for maintenance, or charging.It is difficult to explicitly instruct or program robots to serve different areas of the map again and again to cope with these dynamic changes.Hence, an autonomous task coordination is necessary in which the robot automatically disperse themselves to serve the available areas efficiently.In the absence of such autonomous coordination, multiple robots may end up serving the same areas which is inefficient.This paper presents a bio-inspired algorithm, which uses the attractive and repelling behavior of pheromones for autonomous task coordination.The proposed algorithm uses a node representation of the navigational paths for autonomous dispersion of the robots to different service areas.This repelling mechanism also allows the robots to capture areas or sub-areas of the map so that there is efficient task coordination, and robots work without interruption from other robots.
The proposed work is inspired by biology.'Pheromones' [3] are biochemicals which are deposited by insects to signal other insects of the same species to either attract or repel from a particular resource.The biochemicals which attract other insects as called as 'pheromones'.This signalling mechanism is found in honeybees, ants, wasps, and termites [4].Ants uses pheromones to attract the population to food source, and bees to attract the population to an empty hive [5].On the other hand, biochemicals which induce repelling behavior (i.e. they turn away other insects from a resource) are called 'Anti-aphrodisiac pheromones' or simply 'Anti-pheromones'.
A review of research in pheromone signalling can be found in [6].Previous related works have mainly focussed on the swarm behaviour using attractive pheromone mechanism [7] for process control [8], communication [9], and swarm behaviour [10].A multi-agent exploration algorithm has been proposed in [11] in which a coverage algorithm has been proposed with pheromone barriers.
Similar dispersive behaviours which employs repellent virtual pheromones has been proposed in [12] to survey a disaster site.Repelling behavior of pheromones has been used in multi-robot rescue mission [13], autonomous multi-robot exploration [14,15], and robot surveillance [16].This work assumes that the robots can communicate with each other directly or through a central computer [17].The proposed bio-inspired algorithm uses both of the attractive mechanism of pheromones and repelling behavior of the anti-pheromones.In order to realize the mechanism, it is required that the map of the environment is made.This can easily be done using any of the SLAM (Simultaneous Localization and Mapping) algorithms [18].The map generally marks the obstacles and the empty spaces.Generally, the empty spaces are the passages and areas to serve in the map.

Proposed Bio-Inspired Algorithm
The following sections describe the node representation of the navigational paths, and area capture mechanism for autonomous multi-robot collaboration.

Node Representation of Path
Tasks like cleaning and surveillance requires that multiple robots disperse themselves in the region to cover maximum possible area.A node representation is proposed for this purpose.A node is defined as the point of turn in the passages of the map. Figure 1 shows an example of a node which is a representation of a cross-way point with four directions.Each node has vertices in different directions on which anti-pheromones can be deposited.Each robot is programmed to deposit a unit of anti-pheromone in the direction where a robot takes turn.Figure 1(a) shows a situation where there are three anti-pheromones in north direction, two anti-pheromones in west, and one anti-pheromone in the east direction.A node map can be generated from the grid-map by removing noise using erode and dilate techniques [19] and then generating skeleton paths upon it.
In order to realize the deposition of pheromones and anti-pheromones in the map, an array is  values are deposited which have attractive force and attracts other robots towards that node location.
On the other hand, negative values are deposited for the anti-pheromone and other robots move away from that node location.The larger the pheromone value, stronger is the barrier for other robots.Table 1 summarizes the pheromone type behavior.
Whenever a robot encounters a node (or a point of turn in the map), it selects a direction where there is a minimum amount of anti-pheromones.In Fig. 1(a), a robot approaching the node 'n' from south direction takes a turn towards the right as it has the minimum number of anti-pheromones compared to other directions.After executing the turn, the robot will deposit one more anti-pheromone on the right of node 'n'.As mentioned earlier, it is assumed that all the robots are initially docked at area E, which also marks the starting point of the robots.For the sake of simplicity, it is also assumed that the number of service robots are same as the number of service areas.The actual movement of robots is governed by two factors: (1) Attractive and repelling behavior or pheromones, and (2) shortest path priority.The robots keep depositing anti-pheromones over the nodes in the direction of traversal.The autonomous dispersion of robots towards different service areas is governed by the repelling behavior of anti-pheromones as shown in Fig. 1(a).This autonomous dispersion does not require any explicit programming or commands.Moreover, it is neither affected by the availability or non-availability of the service areas, nor by the number of available robots.

Area Capture
In order to improve the efficiency, an 'area capture' mechanism is proposed.The first robot to come across special node in a service area deposits a very high (i.e.−∞) anti-pheromones.This high value of anti-pheromones repels other robots from that service area.In other words, the robot 'captures' that particular area for uninterrupted work.Robots are automatically guided towards empty service areas which have not yet been captured, as the pheromone values at those particular nodes is still +∞ with attractive behavior.This mechanism too, does not require any explicit programming or command.
Once all the service areas have been served, a notification sends all the robots to the docking station to charge.The simulation software was designed in Python for the map in Fig. 1(b) with seven robots represented as R 1 , • • • , R 7 , all of which are docked at location E (location E was not set as the service area).A-star [20] algorithm was chosen for path planning.The cost of movement was set to 1 unit for

Simulation
maintained for the nodes, and robots can change the array values.For pheromone deposition, positive

Figure 1 .Figure 2 .
Figure 1.Node representation.(a) Robot turns in direction (East) of minimum anti-pheromones.Pheromones are indicated by .(b) Service areas from A to H, and nodes from n 1 to n 13 shown in red.

Figure 1 (Algorithm 1 : 2 for each dir in n i do 3 neighbors 4 if neighbors > 1 then 5 dir ← 0 6 else 7 if
Figure 1(b) shows a map with service areas marked A to H.It is assumed that all the robots are initially docked at area E, hence there are seven service areas.The various nodes n 1 , n 2 , • • • , n 13 are the nodes.Nodes n 3 , n 6 , n 9 , n 12 , n 7 , n 10 , and n 13 are special nodes as they are in the service area and not in passages.Nodes n 1 , and n 11 are the terminal nodes.The algorithm for node initialization is given in d) Step 7.

Figure 3 .
Figure 3. Node configuration at different steps of simulation.Pheromones are indicated by .

Table 1 .
Pheromone Type and Behavior.