Approach for the Selection of the Shortest Navigation Path for Small Robots in Indoor Environments using Ant Colony Algorithm and Decomposition into Regions

— Path planning is a fundamental task for any robot, even more when it has to be deployed in dynamic environments, for example, with human interaction, as is the case of service robots. This activity that turns out to be simple for a person or pet in their daily activity, turns out to be a computational NP-complete problem quite difficult to solve. This kind of problems are nondeterministic and with a time of computational solution of polynomial type. Many strategies have been formulated to solve this problem, but as such it is still an open engineering problem. We propose to use an Ant Colony Optimization (ACO) algorithm to define in a short time a pseudo-optimal path considering the shortest possible distance. To simplify the scheme and make it a real application, we decompose the navigation environment into regions in order to move the robot along them. The proposed scheme is evaluated for a real environment and robot with different obstacle configurations. In all cases the scheme was able to find adequate solutions without high computational costs.

the traditional grid, but the selected heuristics inherit their problems to the strategy, as for example problems of local minima.
We propose a path planning strategy for a robot in a dynamic observable environment using ACO for the selection of the most optimal path within the possible paths. Instead of using grids or heuristics, and thinking of applying the strategy on a real robot navigating a real environment, we decompose the navigation environment into regions, and force the robot to navigate from region to region. This idea reduces the complexity of the problem by reducing the possible paths, and facilitates the movement of the robot by defining the regions according to their size and topology of the environment.
The following part of the paper is arranged in this way. Section 2 presents preliminary concepts and problem formulation. Section 3 illustrates the design profile and development methodology. Section 4 we present the preliminary results. And finally, in Section 5 we present our conclusions.
II. PROBLEM FORMULATION A set of n robots is defined in a workspace. Let ⊂ be the closure of a contractible open set in the plane that has a connected open interior with obstacles that represent inaccessible regions. Let denote the boundary of .
Let O be a set of obstacles, in which each O⊂O is closed with a connected piecewise-analytic boundary that is finite in length. Furthermore, the obstacles in O are pairwise-disjoint and countably finite in number. Let ⊂ be the free space in the environment, which is the open subset of with the obstacles removed. Consider that the free space is divided into a set ofs connected regions such that (Eq. 1): 1 The decomposition of into regions is done according to the movement needs of the robots, but in such a way that each region r is small in front of , and large in front of the size of the robots, in this way each robot can be considered as a moving point. See Fig. 1 for an example. Decomposition can be done with some geometric strategy, such as visibility graphs, approximate cell decomposition, exact cell decomposition or Voronoi diagrams. Each region can be represented as a node of a graph, therefore the path between a region i and another region j can be represented by a graph as the connection of the nodes (regions) connected from i to j (Fig. 2). We want to optimize the selection of the route between the regions i and j by means of an Ant Colony Optimization algorithm (ACO). In such sense the ants represent the movement of the robots, and using pheromone deposits, the probability that an ant k located in node i will choose to go to another node j is given by (Eq. 2): Where:  t = Pheromone levels. As in real ants, the higher the level of pheromone on a path, the greater the probability that the ants will take the path again. The summation in the denominator considers all possible choices (regions or nodes) in the set when the ant is in node i. When = 0, = 1, then the probability only depends on the pheromone levels. On the other hand, when = 0, the probability only depends on the heuristic values (the ant moves towards the nearest node).
An important characteristic of the ACO is the percentage or rate of evaporation from the pheromone . This percentage of evaporation from node i to node jis determined as (Eq. 3): After evaporation occurs, the new pheromone level is updated with additional pheromone deposits placed in the path by the ants that use it. The update is given by (Eq. 4): is the associated cost or reward of ant k for choosing the path. According to the algorithm, based on the update of the pheromone level in a finite time there will only be one path between nodes i and j, and this will be the one with the lowest cost.
The objectiveof this research is to find the shortest route between an arbitrary initial position (region i) and the target point (region j), advancing in avoiding obstacles even when they move (dynamic environment).We want the shortest route, and this will be the characteristic to optimize with the ACO.
III. METHODOLOGY We propose the use of an ACO to select the navigation path in an observable environment. The navigation environment has been segmented into regions according to the size of and the location of the obstacles. The idea of the segmentation process is to divide the navigable free space into regions in such a way that the regions become desired locations for the robot. Therefore, the size of the regions must be small compared to the environment. In addition, we want the robots to be able to move smoothly within these regions, so we select a region size considerably larger than the area the robot occupies on the ground. According to these definitions, the regions defined in can each be represented as a navigation node, i.e. the navigation path selection problem has a total of n nodes that can represent the position of the robot at any time.
The goal is to find the shortest path between the initial node and the target node. Consequently, for the design of the solution to the problem the size of the navigation environment loses importance, and the existing distance between nodes becomes more important. The total length of the path is selected as the cost or reward function associated with each possible solution. This total length is defined as the sum of the distances between the nodes that make up the path. We implement the algorithm for the navigation environment in our laboratory. We have a square space of 4.2 m x 4.0 m. On this environment we have configured different navigation environments by placing several obstacles in different locations. Our robot is the ARMOS TurtleBot 1 robotic platform with a ground plane size of 55.8 cm x 32.5 cm (Fig. 3). There is a great variety of options for regions and their sizes, it is not fixed the number of nodes adjacent to a given node i. The regions are evenly distributed along , but the distance between two regions (nodes) is always different, and is measured with respect to the centroid of the region. Fig. 4 shows an example according to the segmentation performed in Fig. 1. The distances are measured in centimeters, however in the algorithm are normalized in the range of 0 to 1. In the simulations the robot was considered as a point, with the ability to move in any direction. four adjacent regions (r 1 , r 2 , r 5 and r 6 ). The distance between the centroids of r 2 and r 3 is 1, while the distance between the centroids of r 2 and r 6 is 1.5 We use different obstacle configurations in the same environment, including the one in which there are no obstacles. Fig. 5 shows one of these configurations with five obstacles. The figure also shows the segmentation into regions and the location of the initial (green point region) and target (red point region) regions. These regions were selected arbitrarily, and changed with each new environment configuration. In this case we applied Voronoi from the four vertices of the obstacles, and then eliminated the intersection of the regions with the obstacles making the edges of the obstacles become the new boundaries of the regions. In total we create 20 regions, and label them sequentially from top to bottom and from left to right. We apply the ACO algorithm to find the shortest path. Fig. 6 shows a flowchart of the implemented algorithm. As such it is a classic Ant Colony Optimization algorithm, first we configure the starting node (region), and then we search the following nodes to find the next node with the lowest cost. Then it verifies if the found node is the target node, if it is not it keeps moving from the new position always looking for the next node with the lowest cost. With this strategy at some point it will find the target node, in that moment it must begin to optimize the path. For it begins to play with the update of the value of pheromone, if the path is not optimized the logic makes that the pheromone evaporates and the value is updated according to the deposits of pheromone, and the whole algorithm is restarted until it finds an impossible way to improve or finish the iterations programmed in the algorithm. To evaluate the behaviour of the strategy in a dynamic environment we play with the obstacles. That is to say, after establishing an environment configuration and finding an optimal path with our algorithm based on ACO, we move the obstacles and apply again with the new environment configurationwithout altering the current pheromone value.
IV. RESULTS AND DISCUSSION In the algorithm ants travel from the initial region to the target region evaluating all possible paths. We assume that they return using the same path and depositing pheromone on their return. They deposit more pheromone at short distances than at long distances and only along the path used. Each ant decides autonomously which region to visit according to the level of pheromone on the path and the distance to the nearest region.
For example, for the case shown in Fig. 5 we measured in the laboratory and constructed the distance matrix as shown in Fig. 7. The distances were measured in centimetres between the centroids of each region, and only for the neighbouring regions of each region. For example, from region 1 it is only possible to move to regions r2, r3 and r4. For the other distances an infinite value was assigned to make the trip to them impossible. In the same way we did for the distances of a region to itself (diagonal of the matrix). The algorithm spent just under a minute finding the shortest path as shown in Eq. 5. We have represented this response in the navigation environment in Fig. 8, and as a graph in Fig. 9. The path uses six nodes (regions): r 1 , r 4 , r 8 , r 13 , r 17 and r 19 . The total distance is 359 cm. _ : 1, 4 , 4, 8 , 8, 13 , 13, 17 , 17, 19 , 359.0 5 We tested the algorithm with diverse configurations of environments modifying the amount and position of the obstacles but maintaining the location of the starting points and target, therefore the initial and target regions were always the same. The algorithm in each case was able to identify the shortest path between the two regions. The simulation time is basically the same in each case. The computational cost in all cases is very similar.
The last tests with the strategy sought to automate the generation of regions from photographs of the environment and image processing. The final objective is to make the strategy autonomous and independent of the configuration of the environment.
V. CONCLUSION In this paper we propose a strategy of quasi-optimal selection of the shortest path for a robot in an observable environment. The strategy uses as optimization scheme the Ant Colony Optimization (ACO) algorithm. To make viable the strategy on real navigation environments, in particular those facing a service robot, we propose to decompose the free space of the environment in a finite number of regions by means of some geometrical strategy, in particular, considering the location of the obstacles. This decomposition must be done in such a way that the regions will be small with respect to the environment, thus the navigation path is more precise. The results of the strategy under laboratory conditions demonstrate its success in determining the shortest path. Future research may include other additional criteria to the algorithm, such as the dangerousness of the path or the advantages of a path as a source of energy. It is also necessary to evaluate much more complex environments and automate the strategy.
ACKNOWLEDGMENT This work was supported by the Universidad Distrital Francisco José de Caldas, in part through CIDC, and partly by the Facultad Tecnológica. The views expressed in this paper are not necessarily endorsed by Universidad Distrital. The authors thank the research group ARMOS for the evaluation carried out on prototypes of ideas and strategies.