Optimization of path of mobile robot by genetic algorithms.
Key words: Artificial Intelligence Methods, Evolutionary method, Genetic algorithms, Mobile robot, Path optimization
With the development of the digital computer after 1945 the question arose, when the computers would "overcome "the human in intelligence. The first serious researches, oriented towards artificial intelligence, started in the 70ies of the 20th century (Goldberg, 1989). At that time it was prophesied that an intelligent machine comparable in intelligence with the human would be invented in the next decade. However, regrettably (or fortunately) that has not happened so far and, believing the futuristics (science predicting technological advance in the future), it will not happen within some decades (Mitchell, 1997).
However, the hitherto efforts of a whole generation of scientists, dealing with the development of artificial intelligence, have given many palpable results which can be beneficially used for optimization of the navigation and searching for the path. The techniques, commonly called fuzzy computations and representing, in fact, a group of three different techniques, are in the foreground: neural networks, evolutionary algorithms and fuzzy logic and mutual combinations of these three basic techniques (Ling, 2001). In addition to the techniques of fuzzy computation, the efforts for the development of artificial intelligence include also the techniques of the control of chaotic processes (e.g. control of global weather), knowledge--based systems, artificial life etc.
In fact, those three techniques are based on imitating the natural processes, which is a permanent feature in researching artificial intelligence (Varga & Dudas 2000). The oriented neural networks are a simplified model of biological neural networks (brain), the genetic algorithms imitate the natural selection and the genetic code of living species, whereas, the fuzzy logic imitates the psychich processes in the biological brain (Michalewicz, 1999). In other words, if comparison with the human intelligence is made, it can be imagined that (Xing et al., 2006):
* the human genetic code assures the innate capabilities (that one learns how to speak, that one has the memory capacity, that the human has two hands etc.), i.e. it gives the accumulated "knowledge" and/or it ensures adaptation to the environment of the biological species--a parallel to genetic algorithms,
* the brain ensures fast learning and adaptation of the individual (not species) to current circumstances in the environment--a parallel to neural networks,
* the psychic processes ensure to the brain a faster and more efficient learning than ensured by the bare neural networks with the learning technique of "the stick and the carrot" and/or conditioned learning--a parallel to fuzzy logic,
* the accumulated social knowledge in books, culture or conscience of a certain group of people is a parallel to knowledge--based systems.
This paper is limited only to one sub--technique of fuzzy computation: genetic algorithms which belong to the group of evolutionary algorithms.
Optimization of navigation and looking for the path can be ranked into the group of difficult problems. The problem appears in different areas: looking for the path by the mobile robot, transport systems in company, ship navigation, planning of visits of sights considering the wishes of the participants etc. By changing the environment the problem becomes dynamic. Due to highly specific characteristics of such problems each of them needs its heuristic algorithm which becomes complex and, consequently, difficult for additional requirements in order to satisfy all the needs.
The problem can be successfully solved by the genetic algorithm. So far, similar problems have been addressed by many authors (Brezocnik et al. 2001), (Nastran & Balic 2002), (Vaupotic et al. 2006).
2. Evolutionary and Genetic Algorithms
The term "evolutionary algorithm" is used as a common term denoting computer aided solving of the optimization problems which are solved by the so--called computer models of evolutionary processes. So far, different models of evolutionary algorithms have been developed, however, the following algorithms have proved to be most useful in practice (Mitsuo 1997):
* genetic algorithms (GA)
* evolutionary programming (EP)
* classification systems (CS)
* evolutionary strategies (ES) and
* genetic programming (GP)
In fact, all five evolutionary algorithms incorporate the same concept of selection over the population of different systems (subjects). The characteristics of each subject are recorded with the so--called genetic operators (DNA, chromosomes, genes ...) which can be transmitted to the generation of descendants after the crossover of the parent generation (procreation). Due to selection only the fittest descendants can survive, whereas additional improving is ensured by mutation (Brezocnik 2000).
In fact the genetic algorithm was invented by nature on the planet Earth about three billion years ago upon the appearance of the organic life on our planet. Charles Darwin discovered it again for the mankind in the 19th century, describing it in the following way: "Only the fittest subjects survive in the nature in the struggle for the space and food; in addition, they must know how to adapt well to the changes in the environment. Each subject in the nature is a unique being, although the subjects of the same species have very similar properties. The properties themselves are defined by the genetic code. Thus, each subject is, in fact, controlled by genes. Sets of genes form a chromosome which is a key to survival in the unfriendly environment. The core of evolution is the constant changing of the properties of a species, which, in fact, is changing of the genetic material of the species. The driving force of the evolution are the natural selection (the weak and the unfit die off) and combining of the genetic material taking place during the reproduction (mating). Only the fittest subjects can survive and mate further, which is called survival of the fittest. This phenomenon is called evolution. All genes of a generation of a certain species represent the gene space. The evolution starts when the subjects start to mate; thus, they combine the genes mutually and create new genetic material belonging to the next generation. Thus, a new gene space is created, containing fitter descendants than those from the previous generation. The segments of chromosomes of two parents mutually mix; they create new chromosomes and, consequently, the possibility of existence of new fitter subjects. Repeating of mating and selection improves the gene material".
J. M. Holland was the first to programme the genetic algorithms on the computer in early 70ies of the preceding century, but, in fact, they were finally developed in 1992. The genetic algorithm is used as an optimization algorithm. Consequently, it belongs to the so--called optimization methods of searching for optimums (global maximums or minimums).
3. Genetic Algorithms
The human started to imitate nature when searching for good methods which would be enough robust not to get into local minimums and which would be enough simple to be capable of searching the spaces with many variables and finding in them the global optimum or even several optimums, where several equivalent solutions exist. From these tendencies to imitate nature the evolutionary algorithm methods have been developed; one of the most important and most successful methods is the genetic algorithm utilizing "mating" between solutions for searching for a new generation of solutions.
In fact, the genetic algorithm was invented by nature. As was mentioned, Charles Darwin called it evolution. The genetic algorithm, presented and named for the first time by J. H. Holland in early 70ies, completely imitates the natural algorithm of evolution. The individual subjects and/or their genetic material were represented by sets of ones and zeros (i.e. binarily); the genetic algorithms, in fact, performed operations over those sets and not over the solutions themselves.
The Holland/s programme, like nature, selected the fittest subjects. Each of them had its "quality value"--variable which served to estimate the quality of the subject with respect to the remaining ones in the population (generation). The higher the evaluation of quality of the subject, the greater the probability of survival. Thus the reproduction operation is obtained which represents copying of the subject from the current into the next generation, fitter subjects having more copies than the less fit. The next operation is the crossover, i.e., combining the genetic material of randomly selected pairs of subjects.
Still another operation in that programme was the mutation, i.e., random changing of the genetic material of the individual subjects (not all). This operation, too, has a similarity in nature, where mutation involves the regeneration of the lost genetic material. When a certain part of the genetic material is lost in any way, the subject generates it again, but at random. This operation proves to be very important, since it may happen that without it the genetic algorithm is caught in the local optimum, from which it cannot find the way any longer. In that case the mutation ensures further evolution (creation of the diversity of the genetic material) (Back et al. 1997) Figure 1 shows the mutual relations of the individual algorithm component parts described so far in this sub--section.
[FIGURE 1 OMITTED]
4. Looking for the path
Figure 2 presents a model of the production area. Gray rectangles represent the barriers. The aim of the robot is to travel from start (point S) to end (point E) without colliding with barriers. Different paths from initial to final point represent the population of solutions. Each path consists of the path sections which may cross the barrier or not. In case one of the path sections crosses the barrier an incorrect path is in question.
[FIGURE 2 OMITTED]
Various improvements in searching have led to a significant number of different operators which can be divided into simple ones causing a small change is the path (mutation) and more exacting ones creating a descendant with a combination of two or more paths (crossover). Each path in the evolutionary process is evaluated by means of the fitness function.
5. Initial population
The initial population can be created randomly or by means of the existing knowledge about the problem. In the random creation many incorrect sections are obtained (Figure 3).
[FIGURE 3 OMITTED]
To reduce the number of incorrect paths it is possible, when creating the paths, to use the information about the position of barriers and to locate the control points in the corner points of barriers. Figure 4 shows locating of points in the corner points of barriers.
[FIGURE 4 OMITTED]
6. Presentation of path
The path consists of sections. The individual section is described with two points. The first point represents the beginning and the last point the end of the path. All other points describe the beginning of the path of the new section and the end of the path of the previous section. As the number of sections is not known, the so--called presentation with variable length is in question.
The points are connected into a list of points representing the path (Figure 5). In addition to coordinates each point contains also the information about correctness of the previous section. The section is correct if it does not intersect the barrier. The information is used for evaluation of the path.
[FIGURE 5 OMITTED]
Fitness of the solution is influenced by three factors, namely the path length, the number of sections and the number of incorrect sections. For evaluation of the path x the linear combination of those factors can be used. The fitness function can be described with the equation:
eval(x)=[k.sub.1] x length(x)+[k.sub.2] x sections(x)+ [k.sub.3] x incorrect(x) (1)
The constants [k.sub.1], [k.sub.2] and [k.sub.3] in equation 1 represent the weights for the path length, number of sections and number of incorrect sections. By means of weights the importance of the individual properties of the path x is adjusted.
The following nine operators, into which our knowledge about the problem is incorporated, are introduced for successful solution of the problem.
CROSSOVER combines the paths of two parents. In each point the crossover point is to be found and, thus, the paths are divided into the head and tail. The crossover brings about new paths (Figure 6).
[FIGURE 6 OMITTED]
MUTATION 1 randomly selects a point on the path and randomly moves it into the near vicinity. The operator proves to be excellent for optimization of the path already found (Figure 7).
MUTATION 2 similarly as the operator in mutation 1 it randomly selects the point, but it moves it into a random position in the entire space. This results in great changes of the path which, however, prove to be useful in the beginning of the evolutionary process (Figure 7).
[FIGURE 7 OMITTED]
ADDING is an operator which divides the random section into two sections by means of a new point (Figure 8).
DELETING acts oppositely to the adding operator. It randomly selects a point in the list and removes it (Figure 8).
CHANGING takes care of changing the order of two consecutive points. The operator is used to eliminate two consecutive sharp angles (Figure 8).
[FIGURE 8 OMITTED]
CHANGE OF CORNER POINTS is an operator which moves the point to another corner point. The corner point may be located on any barrier. The operator uses the knowledge about barriers (Figure 9).
CORRECT 1 is an operator which moves the point with coordinates inside the barrier (incorrect position) into the corner point of the barrier (Figure 9).
CORRECT 2 is more complex than the operator correct 1. It changes the section intersecting the barrier so that it changes the section into several smaller sections avoiding the barrier (Figure 9).
[FIGURE 9 OMITTED]
9. Different approaches
The basic algorithm for searching for the path uses the random initial population and randomly selects the operators. Such algorithm uses the basic evolutionary principle for searching for the path between barriers. Due to relatively slow progressing various derivatives of the algorithm are used.
9.1 Corner point algorithm
The optimum path frequently runs in the corner point of the barrier. This property is utilized for conceiving of the algorithm whose path points represent the corner points of the barriers. The mutation operator replaces the corner point by a random corner point. The crossover operator uses single point crossover Due to smaller space (only corner points are examined) the algorithm is faster and more efficient. The principal disadvantage is that algorithm does not know how to find the optimum path, when it does not run through corner points.
9.2 Algorithm with direct path
The main characteristic of the approach is the description of the path of the initial population by means of straight line from the initial to final point. During the evolutionary process the straight line is divided into several sections by means of operators of changing (adding of points, mutation etc.) This algorithm is slower than the corner point algorithm, but more efficient than the random algorithm.
9.3 Hybrid algorithm
The hybrid approach selects a part of the initial population randomly, a part by means of corner points and a part by direct paths. In such an approach a wide set of operators can be used. Due to the combination of properties of all the above algorithms this algorithm is fit and robust.
10. Example 1
To represent the working system for the path navigation two examples have been selected, the first of them being shown in figure 11.
The search space is the production area of 100 x 100 m size. It accommodates 9 machines representing the barriers. The transport robot must carry all finished products, located on the collecting place at the end of the production line, into the anticipated store room. During that operation it must not hit any barrier.
The average length of the best paths of each run was 120.67 m. The best path out of 100 runs of the system had 109.09 m length.
[FIGURE 10 OMITTED]
Figure 10 shows the initial generation--generation 0. The result of the random searching for the path is bad, of course. Apparently, the paths in the space are laid out chaotically. The paths run also on the places, where the machines are located. The best organism in the initial generation 0 has 170.18 m length.
[FIGURE 11 OMITTED]
Figure 11 shows the path of the robot in generation 10. The length of the best randomly created path is 115 m, which means that the path has been reduced for 33 % with respect to generation 0. However, the robot is in collision with the machine, which is not allowed.
[FIGURE 12 OMITTED]
The covered paths in generation 30 are much more "tidy" (Figure 12). Some paths of the robot run past all barriers, but they do not represent the shortest path. The length of the best randomly created path without collision is 7 % shorter than the best path in generation 10, which, however, was in collision.
[FIGURE 13 OMITTED]
The 50th generation of randomly created paths is already very tidy (Figure 13). Many paths are without collisions. The length of the best randomly created path without collision is 19 % shorter than the best path in generation 30 and 8 % shorter than the generation 10.
[FIGURE 14 OMITTED]
In the generation 70 (Figure 14) solutions are obtained, where all paths avoid collisions with the machines. The paths are very short. The length of the best randomly created path is 110 m.
[FIGURE 15 OMITTED]
Figure 15 shows the generation 10. The robot covered the path of 109.09 m length representing the shortest path for the example concerned. It did not hit any barrier. The robot successfully performed the set task.
The system of optimization of the path of the mobile robot path was run 100 times. In all runs identical evolution parameters were used. The population size and the maximum number of generations were limited to 100.
[FIGURE 16 OMITTED]
Figure 16 shows the gradual development of the best solutions through generations with respect to their length.
10. Example 2
For the example 2 a space of identical size as for the example 1 was selected. However, this time the machines were so arranged that very narrow passages were created. The robot complies with simple instructions: come to the goal fastest possible (the shortest path) without causing damage to yourself and environment. Example 2 is shown in figure 17.
[FIGURE 17 OMITTED]
Figure 17 shows the initial generation. The result of paths, randomly searched for, in the generation 0 is, of course, bad also in the second example. The paths are apparently untidy and intersect the machine arias.
[FIGURE 18 OMITTED]
Already in generation 20 a great progress is noticeable. The path, successfully avoiding all barriers, emerges (Figure 18).
[FIGURE 19 OMITTED]
Figure 19 shows founded path in generations 56. All paths are without collisions. The shortest path of the civilization was created in generation 61. The length of the shortest path was 120 m, which is the shortest possible path for this example.
The paper discusses the approach to searching for the shortest path of the robot by means of the evolutionary method. Some improved genetic operations were used which have proved to be adequate. By means of them the robot become more and more intelligent throughout evolution and performed the set task. In future, it would be appropriate to test the improved operations also in the room with moving objects and to enable the robot to have full autonomy.
Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machine learning, Addison-Wesley, Reading
Mitchell, T. M. (1997). Machine Learning, The McGrawHill Companies, New York Ling, W. (2001). Intelligent optimization algorithms with application, [M] Beijing: Tsinghua University Press
Varga, G. & Dudas, I. (2000), Intelligent Manufacturing System for Production of Helicoid Surfaces, Gep, Vol. LI. No. 9. pp: 44-46
Michalewicz, Z. (1999). Genetic algorithms + data structures = evolution programs, Springer--Verlag, New York
Xing, X.J.; Wang, Z.Q.; Sun, J. & Meng, J.J. (2006) A multi-objective fuzzy genetic algorithm for job-shop scheduling problems, Journal of Achievements in Materials and Manufacturing Engineering, 17 (1-2), 297-300.
Mitsuo,G. (1997). Genetic algorithms and engineering design, A Wiley-Internascience Poblicatin, New York
Brezocnik, M. (2000) Use of genetic programming in intelligent production systems, Faculty for mechanical engineering, Maribor
Nastran,M. & Balic, J. (2002). Prediction of metal wire behavior using genetic programming, Journal of Material Processing Technology, 122, (2-3), 368-373.
Vaupotic, B.; Kovacic, M.; Ficko, M. & Balic, J. (2006). Concept of automatic programming of NC machine for metal plate cutting by genetic algorithm method, Journal of Achievements in Materials and Manufacturing Engineering, 14 (1-2), 131-139.
Brezocnik, M. (2000). Use of genetic programming in intelligent production systems, Faculty for mechanical engineering, Maribor
Baeck, T.; Hammel, U. & Schwefel, H. P. (1997). Evolutionary computation: comments on the history and current state, IEEE transaction on evolutionary computation, 1(1), 3-17.
Authors' data: BSc. Vaupotic B.[ostjan], D.Sc. Brezocnik M.[iran], D.Sc. Ficko M.[irko], Prof. Balic J.[oze], Faculty for mechanical engineering Maribor, Slovenia, firstname.lastname@example.org, email@example.com, Mirko.firstname.lastname@example.org
This Publication has to be referred as: Vaupotic, B.; Brezocnik M.; Ficko M. & Balic, J. (2006). Optimization of Path of Mobile Robot by Genetic Algorithms, Chapter 50 in DAAAM International Scientific Book 2006, B. Katalinic (Ed.), Published by DAAAM International, ISBN 3-901509-47-X, ISSN 1726-9687, Vienna, Austria
|Printer friendly Cite/link Email Feedback|
|Author:||Vaupotic, Bostjan; Brezocnik, Miran; Ficko, Mirko; Balic, Joze|
|Publication:||DAAAM International Scientific Book|
|Date:||Jan 1, 2006|
|Previous Article:||Optimizing configuration and procurement processes for individual parts.|
|Next Article:||Impact of tourism on liner maritime passenger traffic.|