Elsevier

Expert Systems with Applications

Volume 39, Issue 3, 15 February 2012, Pages 3817-3831
Expert Systems with Applications

Multi-robot path planning using co-evolutionary genetic programming

https://doi.org/10.1016/j.eswa.2011.09.090Get rights and content

Abstract

Motion planning for multiple mobile robots must ensure the optimality of the path of each and every robot, as well as overall path optimality, which requires cooperation amongst robots. The paper proposes a solution to the problem, considering different source and goal of each robot. Each robot uses a grammar based genetic programming for figuring the optimal path in a maze-like map, while a master evolutionary algorithm caters to the needs of overall path optimality. Co-operation amongst the individual robots’ evolutionary algorithms ensures generation of overall optimal paths. The other feature of the algorithm includes local optimization using memory based lookup where optimal paths between various crosses in map are stored and regularly updated. Feature called wait for robot is used in place of conventionally used priority based techniques. Experiments are carried out with a number of maps, scenarios, and different robotic speeds. Experimental results confirm the usefulness of the algorithm in a variety of scenarios.

Highlights

► Co- evolutionary genetic programming is used for multi-robot motion planning. ► Wait for robot feature is introduced for characteristic scenarios. ► Local optimizations are provided by using lookup table. ► Speed of robot plays an important role in computation of optimal path.

Introduction

The problem of multi-robot motion planning deals with computation of paths of various robots such that each robot has an optimal or near optimal path, but the overall path of all the robots combined is optimal. This is a more complex task as compared to a single-robot motion planning, where the factor of coordination among the various robots is not applicable, and the single robot can use its own means to compute the path (Parker, Schneider, & Schultz, 2005). The problem of motion planning may be centralized or decentralized. In centralized planning all the robots are centrally planned by a planner, usually taking into account all the complex interactions that they may have. This results in the generation of a very complex configuration space, over which the search is to be performed. The decentralized planning, on the other hand, has an independent planner for every robot. Each robot is planned separately in its own configuration space, which makes the planning much simpler. Then efforts may be made to avoid the possibility of collision between the various robots. The centralized planning is more time consuming, but optimal as compared to decentralized planning (Arai and Ota, 1992, Sánchez-Ante and Latombe, 2002).

In this paper we assume a simple problem modeling scenario. We have a maze like map of M × N grids. Each grid may be black or white, denoting the presence or absence of obstacle, which are all assumed to be stationary. The grid is however not the unit position for robots which can occupy partial grid positions on the map. The complete map consists of horizontal and vertical lanes, which cris-cross each other at grids known as crosses. The task is to move n robots R1, R2, …, Rn. Each robot Ri has a start grid Si, which is its initial location; a goal grid Gi, which is the destination where it intends to arrive at the end of its journey; and a constant speed of motion Vi (0 < Vi  1) grids/unit time step. All robots are assumed to be of the same size of 1 × 1 grids. The planner needs to plan the path of all the robots Ri. Let the path of robot Ri be given by Pi(t), which denotes its position at time t. We know that Pi(0) = Si. Let the path generated be such that the robot Ri reaches the goal Gi at time Ti, i.e. Pi(Ti) = Gi. We assume that after reaching the goal, the robot disappears from the goal, and does not obstruct other robots to pass by, i.e. Pi(Ti + 1) = NIL. In this assumption we differ from the works over robot priorities by Oliver et al., 1999, Bennewitz et al., 2001, Bennewitz et al., 2002, Carpin and Pagello, 2009. The planner needs to work such that the average time of travel for all the robots is as small as possible, i.e. minTi/n. At the same time the planner needs to ensure that no collision occurs. Hence Pi(t)  Pj(t), 1  i, j  n, i  j.

Genetic programming is extensively used evolutionary technique for problem solving. Here we represent the individual as a program and hence try to evolve it using the methodology of the evolutionary algorithms. The solution is obtained by executing the program so formed. Tree based representation of a program is a very common representation of individuals of genetic programming (Koza, 1992, Shukla et al., 2010). The linear representation of the program of genetic programming gives rise to grammatical evolution. Here the individual is a sequence of integers. Every problem has its grammar, which represents the program syntax. The grammar is specified by Backus-Naur or BNF form. The generation of the phenotype solution from its genotype solution or sequence of integers takes place by selecting and firing rules specified in the grammar (O’Neill and Ryan, 2001, O’Neill and Ryan, 2003). Our implementation of the genetic programming in this paper is similar to the general algorithm of grammatical evolution.

The evolutionary algorithms are used for solving various kinds of problems. These algorithms however face problems when the dimensionality of the problem becomes very large. In such a case the optimization provided by these algorithms becomes very slow, with fairly large chance of the algorithm getting struck at some local optima (Kala, Shukla, & Tiwari, 2010a). Co-operative evolutionary algorithms or co-evolutionary algorithms break up the problem into a number of smaller problems that together solve the main problems. The smaller problems have smaller dimensionality, and are hence very easy to be optimized. The different sub-problems or sub-modules evolve in parallel, which ultimately results in generation of very good modules that unite with each other to solve the problem well. Cooperation is encouraged between modules, and a module is given high fitness not only because it results in generation of higher fitness solutions, but also because it enables other modules to achieve high fitness value (Potter and De Jong, 1994, Potter and De Jong, 2000, García-Pedrajas et al., 2003).

In this paper we first present a co-evolutionary genetic programming based planning of multiple robots. Each of the individuals has its own optimization process that is based on the principles of grammatical evolution. These all try to generate and optimize the paths of the individual robots. However these need to consider the possibility of collision between the robots, for which the factor of co-operation comes into play and has been induced in the algorithm. A master genetic algorithm runs to select the best paths of the robots, out of all the paths available in the individual optimizations.

The major problem with the assumed scenario is the variable speed. This puts forward a number of scenarios, where sub-optimality may be possible without careful planning. Consider a big corridor with two robots A and B marching towards it. Consider maximum velocity of A being higher, i.e. VA  VB. Consider that robot B is closer to the corridor entry, and would enter it before A. But if robot B enters the corridor first, robot A would have to follow it, and both robots would be able to walk with a maximum velocity of VB. It may be clearly seen that optimal strategy would be in case B waits for robot A to enter the corridor, and follows it inside the corridor. In such a case both robots would get a chance to travel by their maximum velocities. Hence we implement the concept of wait for robot, where a robot may be asked to wait so that some other robot may cross.

Optimization by evolutionary algorithms may get very complex in problems having too many dimensions and multiple modalities. In such a case it is often useful to use a local search strategy based on predefined heuristics that can aid the evolutionary algorithms. This saves the algorithm from likely convergence into local optima. The local search algorithm carries forward the task to converge the algorithm into some local or global optima, while the evolutionary algorithm does the task of locating the best possible regions, where the global optima may lie. In such a case the combined efforts of heuristics and evolutionary algorithms results in better optimization (Kala, Shukla, & Tiwari, 2009). The same problem of complex optimization is prevalent in the present algorithm. Here the evolutionary algorithm tries to optimize the individual robotic path. In such a case also we use a local search strategy which tries to modify the path to make it smaller in length. Longer paths are replaced by smaller paths. For carrying forward this replacement, an external memory is reserved that stores the smallest paths between all pairs of crosses. This table is regularly updated as more paths are found.

The novelty of the paper is threefold. We first propose a co-evolutionary genetic programming model for solving the problem. This model uses principles of cooperative evolution to generate paths that are optimal in time, by mixing centralized as well as decentralized planning. Secondly, we propose the model and issues with multi-speed, map based (single-lane) multi-robot motion planning. This includes the use of the wait for robot feature incorporated into the evolutionary approach. Thirdly we propose use of external memory for local optimization of the paths. This memory is initialized, updated, and queried for reduction in paths of individual robots.

The paper is organized as follows. In Section 2 we present some of the related works into the field. In Section 3 we present the co-evolutionary genetic programming model of the algorithm. Section 4 presents the concept of wait for robot. Section 5 presents the memory based local search used in the algorithm. The experimental results are given in Section 6. Section 7 gives the conclusion remarks.

Section snippets

Related works

The entire paradigm of path planning of multi-robots involve a large set of issues that range from dynamic changes in the robotic plan, to validity of non-holonomic constants, and execution and memory time complexity. Oliver et al. (1999) give a general architecture of path planning in these scalable scenarios. They followed a decentralized approach of planning where every robot does its own independent path planning. The map is built centrally at start and all changes are continuously

Cooperative genetic programming

The basic working of the algorithm is a cooperative genetic programming planner. This planner operates in two levels: master and slave, similar to the architecture in Moriarty, 1997, Moriarty and Miikkulainen, 1997, García-Pedrajas et al., 2003. The slave genetic programming is basically a decentralized path planning for all the various robots in the system. Using this level the system tries to generate better and better paths for the individual motion of the various robots. The second level is

Waiting for robot

The algorithm framework presented in Section 3 is self-sufficient to carry planning of multiple robots, but it fails on a number of scenarios for which we introduce the concept of waiting for robot. Consider the case where a slower robot is following a higher speed robot. This scenario was discussed earlier and was presented in Fig. 6 to ease the rest of the discussion. In this scenario the path of the two robots are shown. It would be better if the slower robot would have waited at point A for

Memory based local search

The model of the algorithm discussed in Section 4 may take a reasonably long time to carry out the task of optimization. It is a common technique to assist the evolutionary process by some heuristic means. In this algorithm we do this by storing a lookup table at a dedicated memory and use the same for optimization. The purpose of the lookup table is to store information about shortest paths between crosses. In case the path of any of the robots happens to be larger than the path stored in this

Results

The algorithm was tested on a simulation tool built in JAVA. The complete algorithm was coded in multiple modules which included the master genetic algorithm, slave genetic programming, and the operations over the individuals of these two evolutionary techniques. A simulation tool used the genotype of the evolutionary technique to simulate the complete system and generate the necessary phenotype paths. This was done separately for both the master and the slave evolutionary techniques. A JAVA

Conclusions

In this paper we attempted to solve the problem of multi-robot motion planning. The modeling scenario had a maze-like map where the different robots were initially located at distinct places and were given their own goals that they were supposed to reach. We further assumed that each robot moves with its own speed. The algorithm framework made use of co-evolutionary genetic programming. The task of planning was performed at two levels. At the first level a linear representation of genetic

References (36)

  • Bohlin, R., & Kavralki, L. E. (2000). Path planning using lazy PRM. In Proceedings of the IEEE international conference...
  • Clark, C. M., Rock, S. M., & Latombe, J. C. (2003). Dynamic networks for motion planning in multi-robot space systems....
  • Dongyong, Y., Jinyin, C., Matsumoto, N., & Yamane, Y. (2006). Multi-robot path planning based on cooperative...
  • N. García-Pedrajas et al.

    COVNET: a cooperative coevolutionary model for evolving artificial neural networks

    IEEE Transactions on Neural Networks

    (2003)
  • Kala, R., Shukla, A., & Tiwari, R. (2009) Comparative analysis of intelligent hybrid systems for detection of PIMA...
  • R. Kala et al.

    Clustering based hierarchical genetic algorithm for complex fitness landscapes

    International Journal of Intelligent Systems Technologies and Applications

    (2010)
  • R. Kala et al.

    Dynamic environment robot path planning using hierarchical evolutionary algorithms

    Cybernetics and Systems

    (2010)
  • R. Kala et al.

    Fusion of probabilistic A algorithm and fuzzy inference system for robotic path planning

    Artificial Intelligence Review

    (2010)
  • Cited by (0)

    View full text