An Evolutionary Learning Approach for Robot Path Planning with Fuzzy Obstacle Detection and Avoidance in a Multi-agent Environment

Similar documents
Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

The Genetic Algorithm for finding the maxima of single-variable functions

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Mobile Robots Path Planning using Genetic Algorithms

Three-Dimensional Off-Line Path Planning for Unmanned Aerial Vehicle Using Modified Particle Swarm Optimization

An Application of Genetic Algorithm for Auto-body Panel Die-design Case Library Based on Grid

Path Planning Optimization Using Genetic Algorithm A Literature Review

DERIVATIVE-FREE OPTIMIZATION

GENETIC ALGORITHM with Hands-On exercise

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

A Novel Approach to Planar Mechanism Synthesis Using HEEDS

PATH PLANNING OF ROBOT IN STATIC ENVIRONMENT USING GENETIC ALGORITHM (GA) TECHNIQUE

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Genetic Algorithms. Kang Zheng Karl Schober

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

Robot Path Planning Method Based on Improved Genetic Algorithm

A MULTI-OBJECTIVE GENETIC ALGORITHM FOR A MAXIMUM COVERAGE FLIGHT TRAJECTORY OPTIMIZATION IN A CONSTRAINED ENVIRONMENT

A Tool for Automatic Routing of Auxiliary Circuits in Ships

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm

CHAPTER 4 GENETIC ALGORITHM

Automata Construct with Genetic Algorithm

Genetic Algorithms Variations and Implementation Issues

Using Genetic Algorithms in Integer Programming for Decision Support

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES

EVOLVING LEGO. Exploring the impact of alternative encodings on the performance of evolutionary algorithms. 1. Introduction

Applied Cloning Techniques for a Genetic Algorithm Used in Evolvable Hardware Design

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Genetic Algorithm Based Template Optimization for a Vision System: Obstacle Detection

Network Routing Protocol using Genetic Algorithms

A GENETIC ALGORITHM APPROACH TO OPTIMAL TOPOLOGICAL DESIGN OF ALL TERMINAL NETWORKS

Automatic Generation of Test Case based on GATS Algorithm *

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

A Method Based Genetic Algorithm for Pipe Routing Design

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

Hybrid Genetic-Fuzzy Approach to Autonomous Mobile Robot

Literature Review On Implementing Binary Knapsack problem

A Real Coded Genetic Algorithm for Data Partitioning and Scheduling in Networks with Arbitrary Processor Release Time

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

A Structural Optimization Method of Genetic Network Programming. for Enhancing Generalization Ability

Genetic Algorithm for Finding Shortest Path in a Network

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

Mobile Robot Path Planning in Static Environment

SIMULATION APPROACH OF CUTTING TOOL MOVEMENT USING ARTIFICIAL INTELLIGENCE METHOD

CS:4420 Artificial Intelligence

Energy-Aware Scheduling of Distributed Systems Using Cellular Automata

REAL-CODED GENETIC ALGORITHMS CONSTRAINED OPTIMIZATION. Nedim TUTKUN

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

4/22/2014. Genetic Algorithms. Diwakar Yagyasen Department of Computer Science BBDNITM. Introduction

Autonomous Navigation in Unknown Environments via Language Grounding

Implementation and Comparison between PSO and BAT Algorithms for Path Planning with Unknown Environment

A Genetic Algorithm with Evolutionary Path-relinking for the SONET Ring Assignment Problem

Genetic.io. Genetic Algorithms in all their shapes and forms! Genetic.io Make something of your big data

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

Monika Maharishi Dayanand University Rohtak

Chapter 14 Global Search Algorithms

MINIMAL EDGE-ORDERED SPANNING TREES USING A SELF-ADAPTING GENETIC ALGORITHM WITH MULTIPLE GENOMIC REPRESENTATIONS

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm

Using Genetic Algorithm with Triple Crossover to Solve Travelling Salesman Problem

Distributed Optimization of Feature Mining Using Evolutionary Techniques

Study on GA-based matching method of railway vehicle wheels

Computational Intelligence

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

A Taguchi Approach to Parameter Setting in a Genetic Algorithm for General Job Shop Scheduling Problem

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

Aero-engine PID parameters Optimization based on Adaptive Genetic Algorithm. Yinling Wang, Huacong Li

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

V.Petridis, S. Kazarlis and A. Papaikonomou

Comparison Study of Multiple Traveling Salesmen Problem using Genetic Algorithm

GENETIC ALGORITHM METHOD FOR COMPUTER AIDED QUALITY CONTROL

An Introduction to Evolutionary Algorithms

A Modified Genetic Algorithm for Process Scheduling in Distributed System

EE631 Cooperating Autonomous Mobile Robots

MAXIMUM LIKELIHOOD ESTIMATION USING ACCELERATED GENETIC ALGORITHMS

Local Search (Greedy Descent): Maintain an assignment of a value to each variable. Repeat:

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

Genetic-PSO Fuzzy Data Mining With Divide and Conquer Strategy

IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 5, NO. 1, FEBRUARY

Design of a Route Guidance System with Shortest Driving Time Based on Genetic Algorithm

A THREAD BUILDING BLOCKS BASED PARALLEL GENETIC ALGORITHM

Particle Swarm Optimization For N-Queens Problem

A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP

Genetic Programming of Autonomous Agents. Functional Description and Complete System Block Diagram. Scott O'Dell

A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem

Generation of Ultra Side lobe levels in Circular Array Antennas using Evolutionary Algorithms

Genetic algorithm based on number of children and height task for multiprocessor task Scheduling

The Simple Genetic Algorithm Performance: A Comparative Study on the Operators Combination

Time Complexity Analysis of the Genetic Algorithm Clustering Method

Optimizing Flow Shop Sequencing Through Simulation Optimization Using Evolutionary Methods

A Genetic Algorithm for Multiprocessor Task Scheduling

METAHEURISTICS Genetic Algorithm


Transcription:

An Evolutionary Learning Approach for Robot Path Planning with Fuzzy Obstacle Detection and Avoidance in a Multi-agent Environment Tauã M. Cabreira 1, Marilton S. de Aguiar 1,2, and Graçaliz P. Dimuro 1 1 Programa de Pós Graduação em Modelagem Computacional Universidade Federal do Rio Grande (FURG) 96.201-900 Rio Grande RS Brasil {tsiad.taua,gracaliz}@gmail.com 2 Programa de Pós-Graduação em Computação Universidade Federal de Pelotas (UFPel) 96.010-610 - Pelotas - RS - Brasil marilton@inf.ufpel.edu.br Abstract. This paper describes a Fuzzy-Genetic Algorithm Approach for path planning of mobile robots with obstacle detection and avoidance in static and dynamic scenarios. Through the software Netlogo, used in simulations of multi-agent applications, a seminal model was developed for the given problem. The model, which contains a robot and scenarios with or without obstacles, is responsible for determining the best path used by a robot to achieve the goal state in a shorter number of steps and avoiding collisions. Additionally, a performance evaluation of this model in comparison with A* algorithm is presented. Keywords: Path Planning, Mobile Robots, Fuzzy Genetic Algorithm, Multiagent System, Obstacle Detection and Avoidance 1 Introduction Mobile robots are an important feature to be considered in automated environments [1, 2], in particular smart cities, offering a large range of applications such as: service robots for elderly people, automated guided vehicles for transferring goods in a factory or at home, unmanned bomb disposal robots, house and pool cleaning robots, planet exploration robots, underwater robots, remote physical presence system robots, combat-proven robots, personal robots and programmable robots, which can be personalized by the user. For example, see Carebot (http://www.geckosystems.com/), irobot (http://www.irobot.com/us/) and the several robots by Willow Garage (http://www.willowgarage.com/) projects. In these applications, the mobile robots usually perform their navigation tasks with success using four building blocks: (i) perception of the environment, (ii) localization and map building, (iii) cognition and path planning and (iv) motion control. The path planning should be done in accordance with the robot s task, by using cognitive decision making. So, the path planning problem of a

2 Tauã M. Cabreira, Marilton S. de Aguiar and Graçaliz P. Dimuro mobile robot can be stated as: given the starting location, goal location and the map of workplace including static obstacles, how to plan a collision-free path between two specified points, able to satisfy an optimization criterion with constraints (performance criterion such as distance, time or energy, being the distance the most commonly adopted criterion) [1 3]. And what happens if a dynamic environment is considered? In the literature, there is a significant number of approaches to solve the path planning problem, as discussed by Raja and S. Pugazhenthi [1] and Latombe [3]. The two categories of path planning algorithms are off-line and on-line algorithms, concerning the available information related to the environment. Off-line (or global) path planning of robots can be used if we know all the information about the static obstacles and the trajectory of the moving obstacles in the environment in advance. Otherwise, the mobile robot has to obtain information using its sensors when moving through the environment on-line or local path planning. In general, on-line path planning builds its initial path off-line, becoming on-line path planning when it finds any change in the environment. The class of off-line algorithms related to the Configuration Space (C-space) Approach [4, 5], was discussed by Latombe in the 90 s [3]. Using C-space as the fundamental concept, many classic path planning approaches such as roadmap approach (e.g. visibility graph and Voronoi diagram) and cell decomposition approach (e.g. grid method) have been developed. Classic approaches, although effective, are known to take more time in determining a practicable collision-free path. Another shortcoming is the tendency of getting locked in local optimal solutions. Moreover, when multiple obstacles are considered, the path planning problem is a non-deterministic polynomial time hard (NP-hard) problem [6]. The problem is more difficult if the environment is dynamic, showing that the classic approaches are not adequate to be used in complex environments [7]. There is also the Dead-reckoning approach, which can be used in some lowerend, non mission-critical or tightly constrained by time or weight robots. However, Dead-reckoning is not totally accurate, which can lead to serious errors in distance estimates [8]. On-line path planning approaches, like the artificial potential field approach, the collision-cone approach, the vector field histogram approach, dynamic windows approach and their extensions and variants (influential algorithms, escapeforce algorithm, trap recovery model, adaptive virtual target algorithm), have been widely discussed since the growing interest in autonomous mobile robots that are capable of operating in dynamic environments [3, 9 13]. Although classic approaches for the on-line path planning problem are effective, computation time is here more crucial for the success of any algorithm, since optimum results can be hardly achieved in a very short computation time, due to incomplete information about the environment. Hence, evolutionary approaches like Genetic Algorithm (GA) and Particle Swarm Optimization, Ant Colony Optimization and Simulated Annealing have been used to solve the path

Evolutionary Learning Approach for Robot Path Planning 3 planning problem quickly, also combined with the classical approach [14, 1, 15, 2]. This paper is organized as follows: Section 2 presents the Genetic Algorithm Approach; Section 3 presents the proposed model of path planning of robots; Section 4 describes the comparative performance tests conducted between A* and GA, and the results obtained through the simulations; Section 5 presents the conclusion and points to future studies. 2 The Genetic Algorithm Approach The Genetic Algorithms Approach has emerged as an important alternative in several recent studies related to the problem of path planning of mobile robots [16 19, 8, 15, 20, 21, 2, 22]. A Genetic Algorithm is a variant of stochastic beam search, in which the successor states are generated by combining two parent states, rather than being generated by the modification of a single state [23]. The GAs were introduced by John Holland in the 60 s, whose main objective was not to develop algorithms to solve specific problems, but to devote himself to the formal study of the phenomenon of evolution as it occurs in nature, and develop ways to import it to computing systems [24]. In this model, there are initially a set of states (individuals) called population, which is randomly generated. Each individual is represented by a single chromosome containing the coding (genotype) of a candidate for a solution. Besides the wide possibility of variations, configurations and modifications, the Genetic Algorithm Approach also allows the addition of other techniques that complement and/or improve the results. In [19], the Genetic Algorithm Approach was combined with the use of Hopfield Neural Networks, avoiding the collision of obstacles in the process of crossover between two distinct paths. By using this type of neural network, it is possible to add new nodes on the path of the robot, creating deviations along the way, and thus avoiding collision. In [18], the potential numeric field was added to the genetic algorithm, being taken into account the feedback of the position and movements of the obstacles to avoid collisions by path replanning. Besides the addition of new techniques to genetic algorithms in order to solve the problem of path planning, there have also been proposed changes in the traditional characteristics of the GA model as we can see in [17], where a hybrid genetic algorithm is introduced to avoid a premature convergence in the model. A fuzzy control strategy is used to adjust the crossover and mutation probabilities, making the model self-adaptive. Additional knowledge about the problem can also be used in the model of genetic algorithms. In [16], the domain knowledge was incorporated to specialized operators, combined with local search techniques. In this model, some operators have been specifically developed to the refinement of solutions, where one can adjust lines between two points crossing an obstacle, a point that is located just over an obstacle or even the placement of nodes.

4 Tauã M. Cabreira, Marilton S. de Aguiar and Graçaliz P. Dimuro More recently, the Navigation Strategy algorithm was proposed in [15] to find an optimal path in a simulated grid environment. The GA finds a path that connects the robot s starting and target positions via predefined points. The length of the chromosomes (number of genomes) is dynamic and the genome represents a node in the 2D grid environment. The problem they found is that it is likely that the fittest chromosome is lost while performing the reproduction operations. This problem was solved by using the concept of elitism to maintain the population richness. 3 The Model of GA-Based Path Planning of Robots This paper presents a study aims at proposing an approach based on genetic algorithms to the problem of path planning of mobile robots using a multi-agent systems development platform, where both robot and obstacles are implemented as interacting agents. For the development of our approach for a GA-based path planning, we consider static and dynamic environments in order to analyze the ability to avoid collisions and to determine the choice of the best path. The development platform adopted was the Netlogo software, a development environment for multi-agent models, based on the Logo language [25]. We represent both robot and obstacles as agents, since the software allows the movement and interaction among agents, as well as the modeling of a GA. The model consists of a robot, fixed and mobile obstacles the amount of mobile obstacles can be changed in any simulation. Initially, the robot builds the best path, based on a static environment. Once the process is complete, the robot begins to move along its path, while the obstacles begin to move featuring a dynamic environment. When finding an obstacle in the way, the robot recalculates the path and redirects its way to avoid collisions. Upon reaching the goal state, the robot stops and the procedure ends. At first, a random initial population of individuals is generated, where each of these individuals is composed of a chromosome that represents a particular path in the environment. All individuals in the population are possible candidates to solve the problem. At this moment, however, the solutions are generated randomly without any selection criterion. There are static and mobile obstacles in the scenario, which may interfere in the path determined by the robot. The GA is basically made of reproduction and mutation operations, with the specification of the fitness function of each new individual generated. The process is performed a number of times, called generations or eras. At the end of these procedures, the best individual, i.e. the best solution to the problem is returned. In static environments, where the obstacles are immobile, these procedures would be sufficient. However, the problem consists of a static and dynamic environment, where obstacles can move freely around the scenario, directly affecting the path of the robot. In order to deal with this, we implemented a procedure to detect obstacles to avoid collision.

Evolutionary Learning Approach for Robot Path Planning 5 The implementation was done using the NetLogo Platform and a flowchart of the model is shown in Figure 1. Fig. 1. Flowchart of GA-Based Path Planning of Robots This model begins with the random generation of a population of candidates to solve the problem, where each individual has a chromosome with a sequence of movements for the robot. These movements are performed in a static scenario and evaluated according to a fitness function. Using the value obtained through the fitness function, the model chooses individuals for the crossover process, generating a new population of (possibly) better individuals. After that, the mutation process is used, to add diversity to the population and to escape from maximum locals. These two processes are repeated a number of times and the best solution is returned at the end. The simulation starts with the robot leaving its initial state and following the sequence of movements contained in the solution. In this moment, the obstacles

6 Tauã M. Cabreira, Marilton S. de Aguiar and Graçaliz P. Dimuro also begin to move in the environment. At each step, the robot checks if there is an obstacle close to it in the remaining path. If so, it is recalculated and the GAs process starts looking for a new solution again. The simulation ends when the robot finally achieves the goal state. So, the proposed approach for path planning of mobile robots consists by a GA determining the best path for the robot, that is, the shortest free-collision path, the ability to identify obstacles in the way and the recalculation of the path to reach the goal state. The proposed algorithm is presented in Algorithm 1. Algorithm 1 - Fuzzy GA Obstacle Detection Procedure Generated the population of individuals randomly Perform the movements present in each chromosome Evaluate the fitness of each individual at the end of the path Repeat the GA process for the number of generations Repeat the crossover process according to the rate defined Select the parents through the tournament selection Divide in two, in a random position, each of the parent chromossomes Generate two new individuals with the mixture of the two parental chromosome If elitism is enabled Select the best individual Transfer it to the subsequent generation Copy the remaining individuals to the next generation Discard the old population Perform the mutation according to the rate defined Perform the movements present in each chromosome Evaluate the fitness of each individual at the end of the path Do while the lowest fitness is >= 0 Repeat the same process of GA Add random chromosome every 10 generations Print the best individual path The algorithm starts with the generation of the initial population for the genetic algorithm. The number of individuals of the population is determined by the POPULATION slider which lies on the interface of the model (elements of the simulation tool will be more detailed in the next Section). Each individual of the population is coded in a chromosome. This chromosome is a binary array that represents a sequence of movements, where each

Evolutionary Learning Approach for Robot Path Planning 7 movement is coded in three bits (required to encode the eight possible movements ) as follows: right (000), top-right (001), top (010), top-left (011), left (100), bottom-left (101), bottom (110) and bottom-right (111). For example, a chromosome that represents a path with 15 movements, composed of 15 genes, has the phenotype 001001001001000001001001010010011001001001000. The chromosomes can have distinct sizes, starting with the size determined by the MIN-SIZE-CHROMOSOME slider. The movements that comprise the chromosomes are also chosen randomly. Soon thereafter, the movements present in each chromosome are performed, and the calculation of the value of the fitness function also known as fitness of the individual is done. The fitness function is responsible for quantifying the quality of each individual as a possible solution to the proposed problem. In a maximization problem, the higher the value calculated by the fitness function, the better the solution. The problem of path planning of mobile robots is a minimization problem, as it aims at determining the best path of displacement of a robot from an initial point to a goal state. Therefore, the best path is determined by the shortest path, i.e. the smallest chromosome, since it avoids collisions with obstacles. In order to calculate the fitness, all the movements present in the chromosome of each individual are run. At each movement, the presence of obstacles along the way is checked, and those individuals whose path collides with obstacles are penalized. While moving to a new patch, according to the movement determined by the chromosome, the presence of obstacles is checked in the local. In case there is an obstacle, the candidate to the solution of the best path is then penalized in the fitness function, according to the value stipulated in the interface through the PENALTY slider. In case there are no obstacles in the patch selected for the movement, a new scan is performed, but this time in relation to the goal state. If the chosen patch is the goal state to be reached through the path, the solution is rewarded (the value of the bonus is determined by the BONUS slider in the interface) in its fitness function. Finally, if the chosen patch is just a common one without the presence of obstacles or the goal state, the value of the fitness function is only increased by the value of the displacement. The Fitness Function adopted for the problem is defined by: F itness = n dist (1 + weight) + (maxsizex posx + maxsizey posy), (1) i=0 where dist is the stretch covered in the movement (forward, backward or sideways movements consume one unit of distance, whereas the diagonal movements consume 2 units of distance); weight is the value assigned by the penalty or bonus (this value will be zero if none of the above is attributed to the variable); maxsizex and maxsizey represent the values of the maximum dimension of the environment; posx and posy indicate the current position of the solution with respect to x and y axis, respectively.

8 Tauã M. Cabreira, Marilton S. de Aguiar and Graçaliz P. Dimuro After performing the movements present in the chromosomes and calculating the fitness function of all individuals from the initial population, the process of genetic algorithm and its operations of crossover and mutation begin. Based on the crossover rate, determined by the CROSSOVER slider, new individuals are generated through reproduction or copy (e.g., if the crossover rate is 70, this means that 70% of the new population will be generated through reproduction and the other 30% will be merely a copy of the individuals of the current population). The reproduction process used is the tournament selection. In this process, three individuals of the current population are randomly selected. The individual with the best fitness among the three is chosen as a parent. The same procedure is used to choose the other parent of the new individual. Then, the genetic code (chromosome) of each one of the selected parents is randomly divided into two parts, in a process called one-point crossover. As a result, two new individuals are generated and receive part of the chromosome from each parent. The first individual stores the first portion of the genes of its father and the second portion of the genes of its mother in its chromosome. The second one will inherit the second part of the genes of its father and the first part of the genes of its mother. At the end of the reproduction process, the remaining individuals of the new population are generated by cloning, i.e. they are selected through the same tournament selection used in the reproduction, but without the cross between two individuals. Thus, the chosen individual is copied to the next generation. If elitism is on via the ELITISM? switch button in the interface, the best individual of the current population is copied to the subsequent generation. With the new population created, the old population is eliminated and the mutation process begins. The mutation is performed based on the mutation rate determined by the MUTATION-RATE slider (e.g. if the slider is positioned on 10, the chances of occurring mutation in the individual is 10%). The mutation process is the replacement of one of the genes of the chromosome, i.e. the change of a movement of path of the individual. One of the genes of the chromosome is randomly chosen and replaced by another gene, also arbitrarily chosen, which will be composed by one of the eight possible movements. At the end of the mutation process, all individuals of the population are subjected to movement (through the paths present in their chromosomes) and to the calculation of the fitness function. The process of the genetic algorithm is repeated until the number of generations determined by the interface is reached. If the goal state is not achieved by the best path obtained at the end of the process, the simulation continues to run and, every 10 generations, new individuals randomly generated are included, aiming at adding diversity to the population and escaping from local maximum. Since the goal state is achieved in the best solution, the final path of the robot is performed. The movements performed by the robot are alternated with the movements realized by the obstacles which, in turn, are triggered by another

Evolutionary Learning Approach for Robot Path Planning 9 function. The obstacles move as a snake; its head is identified by the color brown and determines the direction of the movement of the obstacles, being followed by the other parts of the body. The head chooses one of the neighbor patches (von Neumann neighborhood) to move. If the selected patch is already occupied by an agent, the function is called again to choose a new neighbor. The function is recursively performed until an available neighbor is found. Having satisfied this condition, the head moves to this patch and the remaining obstacles track the movement. With the random displacement of the mobile obstacles and the presence of fixed obstacles in the environment, the path taken by the robot cannot reach the goal state, as the scenario changes at every step. Therefore, it is necessary to constantly verify the closeness of the obstacles in the path. This verification can be done with or without the use of a fuzzy function. When the fuzzy function is used, the robot is given autonomy to anticipate the decision of path recalculation, in accordance with some degree of relevance to situations of imminent collision. The robot can realize up to four patches ahead. If the function detects the presence of obstacles within this perimeter up to four patches, a degree of relevance to collision is calculated and used as the probability of recalculation of the robot s path. If the obstacles are detected at a distance of four patches from the robot, the probability is 40%; at a distance of three patches, the probability is 60%; at a distance of two patches, the probability is 80%; at a distance of one patch, the probability is 100% (in this case, the recalculation is required, since the next movement of the robot will make it collide with the obstacle). When the fuzzy function is not used to detect the presence of obstacles around the path, it is only recalculated when the obstacle is in the subsequent patch where the robot is. Whatever approach is used, with or without the fuzzy function, the recalculation of the path will always occur to avoid collision between robot and obstacles. In the recalculation of the path, the same procedures described above are performed, though this time in a completely different scenario. The recalculation of the path can be executed several times along the way of the robot for each new obstacle found along the way, there will be a new recalculation of the path. This way, the collision is avoided and the best path for the robot is obtained. Upon reaching the goal state, the chromosome is edited by removing all genes that are surplus after the gene that reached the goal state (e.g. if a chromosome composed of 25 genes achieved the goal state at gene 23, genes 24 and 25 are discarded). During simulation, the values of the fitness function from the best and the worst individual in the population of each generation over the time are printed on the graph. While the graph generated by the worst individuals across generations presents an extremely oscillatory aspect, with large variations in the value of the fitness function, the graph generated by the best individuals shows a decrease in the value of the fitness function, sometimes reaching stability at a given point in the simulation.

10 Tauã M. Cabreira, Marilton S. de Aguiar and Graçaliz P. Dimuro 4 The Simulation Tool The Netlogo development environment consists of three main tabs: interface, information and procedures. In tab interface we can control, perform and display all the actions of the model, whereas all the details and features of the model, as well as the explanation of its operation are added to the tabinformation. Tab procedures holds all the functions of the model programmed in Logo language. In the sections that follow, the elements that make up the interface and functions related to these elements implemented in the tab procedures will be described. The explanation adopted in tab information will be throughout the text. Fig. 2. General View of Tool Interface In the Netlogo tab interface, several elements and buttons for the configuration, execution and control of the simulation of the problem of path planning of mobile robots were added, as shown in Figure 2. The red and green patches represent the starting and final point respectively. The mobile obstacles (snake) are the brown-and-blue houses while the fixed obstacles are the orange houses. The scenario is marked as a chessboard to facilitate the visualization of the movements of the robot. The SETUP and GO buttons are responsible for setting and executing the model. Initially, the environment is composed of an invisible population of candidates to the best path and fixed (orange) and mobile (blue) obstacles distributed across the map. When the simulation starts GO button, the genetic algorithm is executed by a certain number of generations, which is defined by the user through the GENERATION slider. Besides the SETUP and GO buttons, there are other sliders to set the parameters adopted in genetic algorithm, such as number of generations, number of individuals (population), crossover rate, mutation rate, minimum size of the

Evolutionary Learning Approach for Robot Path Planning 11 chromosome, bonus and penalty scores of the fitness function. On the other hand, the monitors and plots have relevant information about the model. In this case, through the POPULATION and GENERATION monitors, it is possible to visualize the number of individuals of the model and the progress of generations of the genetic algorithm during the execution of the simulation. In the plot, we can see the value of the fitness function of the best and worst solution over the time. Finally, there are the switch buttons to enable or disable certain characteristic of the model. In the model, the switch buttons ELITISM? and USE-FUZZY? are included. The first one controls the presence or absence of elitism in the genetic algorithm. If so, the best individual of each generation moves on to the next one. If elitism is off, there is the possibility that the best individual of its species does not move on to the next generation. The USE-FUZZY? switch button enables or disables the use of fuzzy function for the recalculation of the robot s path. 5 Simulation and Results To assess the feasibility of the proposed path planning of mobile robots using the Genetic Algorithms Approach, we used the A* (A star) algorithm to carry out comparative performance tests. The A* algorithm was developed by Peter Hart, Nils Nilsson e Bertram Raphael in 1968 and is widely used in problems of path planning and transversal graphs, due to its high performance it is a complete and optimal [26]. The A* algorithm evaluates the nodes combining g(n), the cost to reach a node, and h(n), the cost to go from this node to the goal. f(n) = g(n) + h(n), (2) In the Equation 2, h(n) must be a admissible heuristic, i.e. never overestimate the cost to reach to the goal. This way, f(n) is the estimate cost of the solution with lowest cost that pass through n [26]. Fig. 3. Performing the Simulation with a Path Obtained After 38 Generations

12 Tauã M. Cabreira, Marilton S. de Aguiar and Graçaliz P. Dimuro In the search for the optimal solution, the A* algorithm explores the promissing nodes. After choose a node based in the Equation 2, A* explodes this node for find its neighbor with lowest f(n). Next, the algorithm picks up this node (the best neighbor from the previous node) and explodes again, searching for its neighbors. This process continues until the A* finds the best solution to the problem. The genetic algorithm used in the performance tests was configured as follows: population of 299 individuals, 80% crossover rate, 20% mutation rate and elitism activated. During the simulation, the GA is run for at least 38 generations if the goal state is not reached in the first 38 generations, the model continues to be executed until the robot can achieve its goal. In Figure 3 a path obtained in 38 generations being performed during the simulation is shown. Altogether, twenty simulations were performed in three distinct scenarios (as shown in Table 1): one without obstacles, one with fixed obstacles and another with fixed and mobile obstacles. As a benchmark performance of the two models, the length of the path was used number of movements used by the robot to reach the goal state. In the last two columns of the table, the superscript number (i.e. 18 1 ) represents the number of recalculations in each simulation. Table 1 shows the results obtained during the comparative performance tests between A* and GA. Table 1. Measure of the amount of movements performed on paths. (Scenarios: w/o obstacles fixed obst. fixed and mobile obst.) Simulation A* GA A* GA A* GA 01 15 16 15 21 18 17 1 02 15 18 15 30 21 1 25 4 03 15 16 15 21 18 25 1 04 15 16 15 21 16 1 22 1 05 15 18 15 19 20 2 23 06 15 16 15 20 16 1 25 07 15 18 15 17 18 20 3 08 15 20 15 21 18 23 09 15 15 15 18 17 1 21 10 15 16 15 26 18 24 11 15 15 15 20 18 21 12 15 16 15 24 21 1 20 13 15 16 15 20 21 1 24 1 14 15 19 15 24 18 29 15 15 16 15 20 18 25 16 15 15 15 21 18 30 17 15 17 15 18 18 25 6 18 15 16 15 20 18 1 20 5 19 15 15 15 16 18 19 1 20 15 16 15 19 18 25

Evolutionary Learning Approach for Robot Path Planning 13 To evaluate the performance tests we used the Student s t-test. In those performed with the three elaborated scenarios, the A* showed an extremely significant statistics difference compared to the GA, i.e. 99% sure that the A* was superior to GA in the tests. Comparing only the results from performance tests where there was the recalculation of the path in environments with fixed and mobile obstacles (the superscript number next to length path represents the number of recalculations performed on each path), the difference between the two models is statistically significant, i.e. 95% sure. Despite the opposing outcome presented by the GA Approach in relation to A*, there is an indication of improvement in the results of the GA as the complexity of the scenario grows. For example, in scenario 3 (with fixed and mobile obstacles) the paths calculated by GA were, on average, 26% higher than the paths calculated to A*. However, when considering only those situations where there was recalculation of the path, the paths calculated by the GA were, on average, 19% higher. This suggests that in larger scenarios (in the tests the size of the scenario was 15 15), with the largest number of obstacles and more likely to crash, the GA model would pair with the A* in the quality of the path calculated. Fig. 4. Final Solution Generated Through GA After Three Recalculations of Path In the example shown in Figure 4, we could confirm the meeting between the robot and obstacles while running his path at three different points black points 1, 2 and 3. In these moments, the path is recalculated to avoid collision between the robot and obstacles. Each path recalculation, the robot finds a new way free of obstacles. However, in the first two recalculations, the obstacles eventually crossing the way of the robot again, forcing him to seek an alternative path. After the third recalculation, the robot found a path and reached the goal state without colliding with any obstacle. In the example shown in Figure 4, we could confirm the meeting between the robot and the obstacles while running its path at three different points

14 Tauã M. Cabreira, Marilton S. de Aguiar and Graçaliz P. Dimuro black points 1, 2 and 3. In these moments, the path is recalculated to avoid collision between the robot and the obstacles. After each path recalculation, the robot finds a new way free of obstacles. However, in the first two recalculations, the obstacles eventually cross the way of the robot again, forcing it to seek an alternative path. After the third recalculation, the robot found a path and reached the goal state without colliding with any obstacle. 6 Conclusion After the development of the proposed model and result analysis, we concluded that the Genetic Algorithms Approach proved to be a viable alternative to solve the problem of path planning of mobile robot in static and dynamic environment. Through the Genetic Algorithms Approach, it was possible to model solutions to the problem using the chromosomes composed by the movements of the robot in the environment. From solutions arbitrarily generated, the process of crossover and mutation, based on the fitness function of each individual, the candidates were able to evolve to solve the problem, reaching a satisfactory solution for each of the simulations. The use of the Netlogo software was also of paramount importance in the development of the proposed model, once it allowed the modeling of a dynamic environment consisting of mobile obstacles, where the robot can detect them and avoid potential collisions. Through interaction between the agents of the environment, the robot can sense the obstacles on its way and recalculate its trajectory to reach the goal state. The GA model presented in this paper uses only the basic operations of crossover and mutation. As it was explained in the introduction of this study, the genetic algorithm is a powerful tool that can be combined with different techniques to improve their performance, such as Hopfield Neural Networks and Numeric Potential Field. Moreover, it is possible to add new and more robust operators, able to improve the model s performance. Despite verifying the superiority of A* in relation to GA in performance tests, we can expect an improvement in the approach of GA in more complex models scenario with fixed and mobile obstacles involving the recalculation of the path. The scenarios used in the tests favor the A* model, because this is an optimal algorithm. However, this type of algorithm tends to have its performance decreased in more complex environments. Thus, in future works, we intend to improve the GA model by adding new operators and refinement techniques, subjecting the used models to performance tests with larger and more complex scenarios. There will be a higher number of fixed and mobile obstacles, and other robots will be added to feature a multi-agent environment. Acknowledgments. This work was supported by CNPq (Proc. 476234/2011-5, 560118/10-4,305131/2010-9), FAPERGS (Proc. 11/0872-3) and CAPES/REUNI.

Evolutionary Learning Approach for Robot Path Planning 15 References 1. Raja, P., Pugazhenthi, S.: Optimal path planning of mobile robots: A review. International Journal of Physical Sciences 7(9) (feb 2012) 1314 1320 2. Nedjah, N., Coelho, L., Mourelle, L.: Mobile Robots: The Evolutionary Approach. Studies in Computational Intelligence. Springer, Berlim (2007) 3. Latombe, J.: Robot Motion Planning. Kluwer, Norwell (1991) 4. Lozano-Perez, T., Wesley, M.: An algorithm for planning collision-free paths among polyhedral obstacles. Communications of ACM. 22 (1979) 560 570 5. Lozano-Perez, T.: Spatial planning: A configuration space approach. IEEE Transactions on Computer Sciences 32(3) (1983) 108 120 6. Canny, J., Reif, J.: New lower bound techniques for robot motion planning problems. In: Proceedings of IEEE Symposium on the Foundations of Computer Science, Los Angeles, California (1987) 49 60 7. Sugihara, K., Smith, J.: Genetic algorithms for adaptive motion planning of an autonomous mobile robot. In: Proceedings of the IEEE International Symposium on Computational Intelligence in Robotics and Automation, Monterey, California (1997) 138 143 8. Tu, J., Yang, S.: Genetic algorithm based path planning for a mobile robot. In: Proc. of the 2003 International Conference on Robotics and Automation. (2003) 9. Luh, G., Liu, W.: Motion planning for mobile robots in dynamic environments using a potential field immune network. Journal of Systems and Control Engineering 221(7) (2007) 1033 1045 10. Luh, G., Liu, W.: An immunological approach to mobile robot reactive navigation. Applied Soft Computing 8(1) (2008) 30 45 11. Masehian, E., Katebi, Y.: Robot motion planning in dynamic environments with moving obstacles and target. International Journal of Mechanical, Industrial and Aerospace Engineering 1(1) (2007) 20 25 12. Hachour, O.: The proposed genetic fpga implementation for path planning of autonomous mobile robot. International Journal of Circuits, Systems and Signal Processing 2(2) (2008) 151 167 13. Hachour, O.: Path planning of autonomous mobile robot. International Journal of Systems Applications, Engineering and Development 4(2) (2008) 178 190 14. Raja, P., Pugazhenthi, S.: Path planning for mobile robots in dynamic environments using particle swarm optimization. In: Proceedings of the IEEE International Conference on Advances in Recent Technologies in Communication and Computing (ARTCom 2009), Kottayam, India (2009) 401 405 15. Tamilselvi, D., Shalinie, S., Thasneem, A., Sundari, S.: Optimal path selection for mobile robot navigation using genetic algorithm in an indoor environment. In Thilagam, P., Pais, A., Chandrasekaran, K., Balakrishnan, N., eds.: Advanced Computing, Networking and Security. Volume 7135 of Lecture Notes in Computer Science. Springer (2012) 263 269 16. Hu, Y., Yang, S.: A knowledge based genetic algorithm for path planning of a mobile robot. In: Proc. of the 2004 International Conference on Robotics and Automation. (2004) 17. Li, Q., Tong, X., Xie, S., Zhang, Y.: Optimum path planning for mobile robots based on a hybrid genetic algorithm. Sixth International Conference on Hybrid Intelligent Systems (2006) 18. Lin, L., Wang, H., Wu, Q.: Improved genetic algorithms based path planning of mobile robot under dynamic unknown environment. louyang. International Conference on Mechatronics and Automation (2006)

16 Tauã M. Cabreira, Marilton S. de Aguiar and Graçaliz P. Dimuro 19. Sadati, N., Taheri, J.: Genetic algorithm in robot path planning in crisp and fuzzified environments. International Conference on Industrial Technology (2002) 20. Raja, P., Pugazhenthi, S.: Path planning for a mobile robot using real coded genetic algorithm. International Journal of Advanced Robotic Systems 10(1) (2009) 27 39 21. Raja, P., Pugazhenthi, S.: Path planning for a mobile robot in dynamic environments. International Journal of the Physical Sciences 6(20) (2011) 4721 4731 22. Bhaduri, A.: A mobile robot path planning using genetic artificial immune network algorithm. In: Proceedings of the World Congress on Nature and Biologically Inspired Computing, Los Alamitos, IEEE (2009) 1536 1539 23. Goldberg, D.: Genetic algorithms in search, optimization and machine learning. Addison-Wesley, Delhi, India (2000) 24. Holland, J.: Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor, USA (1975) 25. Wilensky, U.: Netlogo User Manual. (2012) http://ccl.northwestern.edu/netlogo/docs. 26. Russel, S., Norvig, P.: Artificial Intelligence: A Modern Approach. Prentice Hall Series (2003)