Path Planning of Mobile Robots Based on a Multi-Population Migration Genetic Algorithm

In the field of robot path planning, aiming at the problems of the standard genetic algorithm, such as premature maturity, low convergence path quality, poor population diversity, and difficulty in breaking the local optimal solution, this paper proposes a multi-population migration genetic algorithm. The multi-population migration genetic algorithm randomly divides a large population into several small with an identical population number. The migration mechanism among the populations is used to replace the screening mechanism of the selection operator. Operations such as the crossover operator and the mutation operator also are improved. Simulation results show that the multi-population migration genetic algorithm (MPMGA) is not only suitable for simulation maps of various scales and various obstacle distributions, but also has superior performance and effectively solves the problems of the standard genetic algorithm.


Introduction
With the development of society, mobile robots are playing an increasingly important role in modern life. Mobile robots can autonomously move and operate according to different assigned tasks and have been widely used in the military, medical, manufacturing, entertainment, logistics and other fields [1][2][3]. The path planning problem is a hot topic in the field of robotics research. It requires robots to find an optimal or suboptimal path from the starting position to the target position according to some specific performance index (such as distance, time, etc) in a working environment with obstacles [4,5].
Path planning problems are generally divided into global path planning and local path planning. In global path planning, a path search is carried out in a known environment. On the contrary, local path planning is relatively complex because the environment may be partially or completely unknown. According to the information of obstacles, the working environment of the robot can be divided into the fully known environment, partly known environment, completely unknown environment and dynamic environment [6]. The quality of robot path planning can be evaluated according to path length, path smoothness, energy consumption or risk degree [7].
According to the different stages of the path planning algorithm development, the algorithms can be divided into two categories: fast-exploring random tree method [8], artificial potential field method [9], the visible method [10], A* algorithm [11] as representative traditional algorithms. Intelligent algorithms represented by genetic algorithm [12], ant colony algorithm [13], particle swarm algorithm [14], immune cloning algorithm [15]. In [8], Janson theoretically proved that the use of deterministic low-dispersion sampling plan usually makes the RRT algorithm display superior path planning and local dynamic path planning and MPMGA shows good performance in both.
(3) Compared with other algorithms, MPMGA has better feasibility and effectiveness in actual maps and good applicability in simulation maps. (4) No matter what the scale of the map and no matter how the obstacles are distributed, MPMGA can always generate high-quality and effective planning paths. (5) MPMGA proposes migration operators and optimization operators. The migration operator can speed up the algorithm convergence speed and enhance the diversity of the population. Optimization operators can further improve the quality of convergent individuals. (6) MPMGA improves the population initialization process, crossover operator and mutation operator. MPMGA improves the quality of the initial population by improving the population initialization process. MPMGA further enhances the global search ability of the algorithm by improving the crossover operator. MPMGA further enhances the local search ability of the algorithm by improving the mutation operator.
The remainder of this paper is organized as follows: Section 2 introduces the algorithm framework of MPMGA. Section 3 introduces the modeling method of the two-dimensional space environment and the preprocessing process for irregular obstacles. In Section 4, we introduce the various aspects of MPMGA in detail, including encoding methods, population initialization process, cross mutation operator, migration operator, etc. In Section 5, we compare the performance of each algorithm and the quality of path planning of each algorithm in two different scale simulation maps through simulation programs. We analyze in detail the reasons why each algorithm produces good or poor performance. In Section 6, we summarize the entire paper and discuss the applicability and problems of MPMGA on a real mobile robot. According to these issues and limitations, we discuss future work.

MPMGA Framework
We propose MPMGA based on the standard genetic algorithm. MPMGA randomly divides a large population into several small populations with identical numbers. By assigning different functions to different small populations, MPMGA successfully makes the high-quality individuals in ordinary populations rise to high-quality populations and inferior individuals in high-quality populations sink to ordinary populations and randomly exchanges individuals from different populations.
As shown in Figure 1, the initial population is randomly divided into populations A-C. After evaluating the fitness of different individuals, according to the fitness, we can complete the migration operations such as the rising, sinking and communication of individuals among different populations. Then we perform the crossover and mutation operations. After the evolution is over, the best individual can be obtained. Through performing the second optimization on the best individual, the quadratic optimization individual is obtained.

Environment Modeling
In this paper, the grid method is used to build the environment model. The grid method is a method that divides the two-dimensional workspace of mobile robots into several grids of the same size. As shown in Figure 2, the entire two-dimensional workspace is divided into a 20 × 20 grid map by using the grid method. In the grid map, the numbers are 0, 1, 2, 3, 4...399 from left to right and bottom to top. The white grid represents the feasible area, and the black grid represents the infeasible area, i.e., the obstacle area. Grid coordinates are represented by grid center points.
Sensors 2020, 20  The corresponding relationship between grid number and grid coordinate is Equation (1) converts grid numbers into grid coordinates and Equation (2) converts grid coordinates into grid numbers. In the Equations (1) and (2), p is the grid number, (x,y) is the coordinate point corresponding to the grid, N is the grid number per row, mod is the remainder operation, and fix is the rounding operation. To improve the security of the grid map and the efficiency of the algorithm, the following preprocessing is required: The corresponding relationship between grid number and grid coordinate is x = mod(p, N) + 1 y = f ix(p/N) + 1 (1) Equation (1) converts grid numbers into grid coordinates and Equation (2) converts grid coordinates into grid numbers. In the Equations (1) and (2), p is the grid number, (x,y) is the coordinate point corresponding to the grid, N is the grid number per row, mod is the remainder operation, and fix is the rounding operation.  The corresponding relationship between grid number and grid coordinate is Equation (1) converts grid numbers into grid coordinates and Equation (2) converts grid coordinates into grid numbers. In the Equations (1) and (2), p is the grid number, (x,y) is the coordinate point corresponding to the grid, N is the grid number per row, mod is the remainder operation, and fix is the rounding operation. To improve the security of the grid map and the efficiency of the algorithm, the following preprocessing is required: To improve the security of the grid map and the efficiency of the algorithm, the following preprocessing is required: (1) The mobile robot is equivalent to the mass point, and the obstacle is expanded. The expansion size is the sum of the radius and reserved safety distance of the mobile robot. (2) If the obstacle is irregular, the grid is marked in black, where the obstacle is located.
(3) If all eight directions of a white grid are black grids, this white grid is also marked as a black grid.

Coding Mode
Common coding methods include binary coding, gray coding, floating-point coding, real coding, permutation coding, etc. In this paper, variable-length real-number coding is used. Variable-length real-number coding refers to real-number coding with a variable chromosome length (as shown in Figure 3).
Sensors 2020, 20, x FOR PEER REVIEW 5 of 23 (1) The mobile robot is equivalent to the mass point, and the obstacle is expanded. The expansion size is the sum of the radius and reserved safety distance of the mobile robot. (2) If the obstacle is irregular, the grid is marked in black, where the obstacle is located.
(3) If all eight directions of a white grid are black grids, this white grid is also marked as a black grid.

Coding Mode
Common coding methods include binary coding, gray coding, floating-point coding, real coding, permutation coding, etc. In this paper, variable-length real-number coding is used. Variable-length real-number coding refers to real-number coding with a variable chromosome length (as shown in Figure 3).

Initial Population
The barrier-free intermittent path refers to a path that selects a series of free grids between the starting point and the target point and does not require continuity between the grids [21]. Based on the barrier-free intermittent path, this paper connects the barrier-free intermittent path into a barrierfree continuous path through the connection operator. Then we use the deletion operator to delete the circular partial path in the barrier-free continuous path; thus, we can generate high-quality initial populations. The connection operator refers to an operator that connects a barrier-free intermittent path into a barrier-free continuous path (as shown in Figure 4). For example 0,60 is a barrier-free intermittent path. It becomes a barrier-free continuous path such as 0, 20, 40, 60, after the operation of the connection operator. The connection method is the intermediate value insertion method. i.e., if two adjacent path points in a path are not continuous, the middle grid of the connection line between two path points is inserted into the middle of two path points. If the inserted grid is an obstacle grid, we replace the obstacle grid with a free grid around the obstacle grid. Then we repeat the insertion process in such a loop until the entire path becomes a barrier-free continuous path.  The deletion operator refers to an operator that deletes a circular partial path in a barrier-free continuous path. For example: in paths 0, 20, 40, 21, 41, 40, 60, paths 21, 41, 40 are circular partial paths; then, the path after using the deletion operator is: 0, 20, 40, 60.The deletion operator deletes the circular partial path by removing any repeated path point and the partial path between repeated path points in the barrier-free continuous path (as shown in Figure 5).

Initial Population
The barrier-free intermittent path refers to a path that selects a series of free grids between the starting point and the target point and does not require continuity between the grids [21]. Based on the barrier-free intermittent path, this paper connects the barrier-free intermittent path into a barrier-free continuous path through the connection operator. Then we use the deletion operator to delete the circular partial path in the barrier-free continuous path; thus, we can generate high-quality initial populations. The connection operator refers to an operator that connects a barrier-free intermittent path into a barrier-free continuous path (as shown in Figure 4). For example 0,60 is a barrier-free intermittent path. It becomes a barrier-free continuous path such as 0, 20, 40, 60, after the operation of the connection operator. The connection method is the intermediate value insertion method. i.e., if two adjacent path points in a path are not continuous, the middle grid of the connection line between two path points is inserted into the middle of two path points. If the inserted grid is an obstacle grid, we replace the obstacle grid with a free grid around the obstacle grid. Then we repeat the insertion process in such a loop until the entire path becomes a barrier-free continuous path.
Sensors 2020, 20, x FOR PEER REVIEW 5 of 23 (1) The mobile robot is equivalent to the mass point, and the obstacle is expanded. The expansion size is the sum of the radius and reserved safety distance of the mobile robot. (2) If the obstacle is irregular, the grid is marked in black, where the obstacle is located.
(3) If all eight directions of a white grid are black grids, this white grid is also marked as a black grid.

Coding Mode
Common coding methods include binary coding, gray coding, floating-point coding, real coding, permutation coding, etc. In this paper, variable-length real-number coding is used. Variable-length real-number coding refers to real-number coding with a variable chromosome length (as shown in Figure 3).

Initial Population
The barrier-free intermittent path refers to a path that selects a series of free grids between the starting point and the target point and does not require continuity between the grids [21]. Based on the barrier-free intermittent path, this paper connects the barrier-free intermittent path into a barrierfree continuous path through the connection operator. Then we use the deletion operator to delete the circular partial path in the barrier-free continuous path; thus, we can generate high-quality initial populations. The connection operator refers to an operator that connects a barrier-free intermittent path into a barrier-free continuous path (as shown in Figure 4). For example 0,60 is a barrier-free intermittent path. It becomes a barrier-free continuous path such as 0, 20, 40, 60, after the operation of the connection operator. The connection method is the intermediate value insertion method. i.e., if two adjacent path points in a path are not continuous, the middle grid of the connection line between two path points is inserted into the middle of two path points. If the inserted grid is an obstacle grid, we replace the obstacle grid with a free grid around the obstacle grid. Then we repeat the insertion process in such a loop until the entire path becomes a barrier-free continuous path.  The deletion operator refers to an operator that deletes a circular partial path in a barrier-free continuous path. For example: in paths 0, 20, 40, 21, 41, 40, 60, paths 21, 41, 40 are circular partial paths; then, the path after using the deletion operator is: 0, 20, 40, 60.The deletion operator deletes the circular partial path by removing any repeated path point and the partial path between repeated path points in the barrier-free continuous path (as shown in Figure 5).   The deletion operator refers to an operator that deletes a circular partial path in a barrier-free continuous path. For example: in paths 0, 20, 40, 21, 41, 40, 60, paths 21, 41, 40 are circular partial paths; then, the path after using the deletion operator is: 0, 20, 40, 60.The deletion operator deletes the circular partial path by removing any repeated path point and the partial path between repeated path points in the barrier-free continuous path (as shown in Figure 5). (1) The mobile robot is equivalent to the mass point, and the obstacle is expanded. The expansion size is the sum of the radius and reserved safety distance of the mobile robot. (2) If the obstacle is irregular, the grid is marked in black, where the obstacle is located.
(3) If all eight directions of a white grid are black grids, this white grid is also marked as a black grid.

Coding Mode
Common coding methods include binary coding, gray coding, floating-point coding, real coding, permutation coding, etc. In this paper, variable-length real-number coding is used. Variable-length real-number coding refers to real-number coding with a variable chromosome length (as shown in Figure 3).

Initial Population
The barrier-free intermittent path refers to a path that selects a series of free grids between the starting point and the target point and does not require continuity between the grids [21]. Based on the barrier-free intermittent path, this paper connects the barrier-free intermittent path into a barrierfree continuous path through the connection operator. Then we use the deletion operator to delete the circular partial path in the barrier-free continuous path; thus, we can generate high-quality initial populations. The connection operator refers to an operator that connects a barrier-free intermittent path into a barrier-free continuous path (as shown in Figure 4). For example 0,60 is a barrier-free intermittent path. It becomes a barrier-free continuous path such as 0, 20, 40, 60, after the operation of the connection operator. The connection method is the intermediate value insertion method. i.e., if two adjacent path points in a path are not continuous, the middle grid of the connection line between two path points is inserted into the middle of two path points. If the inserted grid is an obstacle grid, we replace the obstacle grid with a free grid around the obstacle grid. Then we repeat the insertion process in such a loop until the entire path becomes a barrier-free continuous path.  The deletion operator refers to an operator that deletes a circular partial path in a barrier-free continuous path. For example: in paths 0, 20, 40, 21, 41, 40, 60, paths 21, 41, 40 are circular partial paths; then, the path after using the deletion operator is: 0, 20, 40, 60.The deletion operator deletes the circular partial path by removing any repeated path point and the partial path between repeated path points in the barrier-free continuous path (as shown in Figure 5).   The generation process of the initial population is shown in Figure 6.
Sensors 2020, 20, x FOR PEER REVIEW 6 of 23 The generation process of the initial population is shown in Figure 6.
Randomly generate m barrier-free intermittent paths

Connection operator
Deletion operator High-quality initial population Start End Figure 6. Flow chart of the initial population generation.

Fitness Function
Fitness is often used to evaluate the quality of path individuals. High fitness implies good individual quality. Compared with the traditional single-objective optimization, this paper comprehensively considers two factors: path length and path smoothness. In the form of a weighted sum, the multi-objective optimization problem is transformed into a single-objective optimization problem. The fitness function is defined as follows: where fitness is the total fitness function, f1 is the fitness function of the path length, f2 is the fitness function of the path smoothness, and α and β are the weights of the two fitness functions.
f1 and f2 are defined as follows: where path is the length of the path, smoothness is the smoothness of the path and c is a precision coefficient and c is a fixed constant. By adjusting c, f2 and f1 can be controlled to maintain the same order of magnitude.
Assuming that a specific route is composed of n waypoints, the coordinate of the i-th waypoint is Pi(xi,yi) and the coordinate of the i + 1 th waypoint is Pi + 1(xi + 1,yi + 1); then, the path length can be expressed as: (6) Suppose that there are three continuous path points Pi−1, Pi, Pi + 1, and two path segments among the three path points: Pi−1Pi, PiPi + 1. Let θi be the rotation angle between the two path segments and αi be the included angle between the two path segments, i.e., π-θi, as shown in Figure 7.

Fitness Function
Fitness is often used to evaluate the quality of path individuals. High fitness implies good individual quality. Compared with the traditional single-objective optimization, this paper comprehensively considers two factors: path length and path smoothness. In the form of a weighted sum, the multi-objective optimization problem is transformed into a single-objective optimization problem. The fitness function is defined as follows: where fitness is the total fitness function, f1 is the fitness function of the path length, f2 is the fitness function of the path smoothness, and α and β are the weights of the two fitness functions. f1 and f2 are defined as follows: where path is the length of the path, smoothness is the smoothness of the path and c is a precision coefficient and c is a fixed constant. By adjusting c, f2 and f1 can be controlled to maintain the same order of magnitude.
Assuming that a specific route is composed of n waypoints, the coordinate of the i-th waypoint is P i (x i ,y i ) and the coordinate of the i + 1 th waypoint is P i+1 (x i+1 ,y i+1 ); then, the path length can be expressed as: Suppose that there are three continuous path points P i−1 , P i , P i + 1 , and two path segments among the three path points: P i−1 P i , P i P i + 1 . Let θ i be the rotation angle between the two path segments and α i be the included angle between the two path segments, i.e., π−θ i , as shown in Figure 7. There are: where Equations (10)-(12) use the inverse cosine function to calculate angle αi between the two path segments. Equations (7)-(8) calculate the slope of the two path segments. Due to the inherent defects of the inverse cosine function, in Equation (9), the value of rotation angle θi is discussed by using the relationship between the slopes of the two path segments.
Path smoothness is a penalty set according to the value of rotation angle θi. The smoothness of the path can be measured by smoothness as follows: (13)     1 2 n i i smoothness smoothness (14) In Equation (13), a larger the rotation angle θi corresponds to a greater smoothness value of the path, which indicates that the path is not smooth. In addition, when the value of θi is too large, the There are: where Equations (10)-(12) use the inverse cosine function to calculate angle α i between the two path segments. Equations (7)-(8) calculate the slope of the two path segments. Due to the inherent defects of the inverse cosine function, in Equation (9), the value of rotation angle θ i is discussed by using the relationship between the slopes of the two path segments. Path smoothness is a penalty set according to the value of rotation angle θ i . The smoothness of the path can be measured by smoothness as follows: In Equation (13), a larger the rotation angle θ i corresponds to a greater smoothness value of the path, which indicates that the path is not smooth. In addition, when the value of θ i is too large, the mobile robot has great challenges in terms of energy consumption and safety, so it must be given a high penalty.

Migration Operator
Common selection strategies include roulette selection, elite selection, tournament selection, truncation selection, etc. However, there are some problems in these selection strategies, such as serious homogenization, easy convergence to local optimal solutions and loss of population diversity. The most prominent problem is the serious homogenization phenomenon. The phenomenon of homogenization implies that as the number of iterations increases, a particular individual will appear in large numbers in the population. The phenomenon of homogeneity will make the effect of the crossover operator gradually decrease as the number of iterations increases. When the entire population is composed of the same individuals, the crossover operator is completely invalid.
Based on the ideas of population mobility and social division of labor proposed in the reference [22][23][24], this paper proposes a migration operator. The migration operator refers to a comprehensive mechanism that assigns different functions to different small populations, maintains normal communication among different small populations and ensures that high-quality individuals in ordinary populations rise to high-quality populations and inferior individuals in high-quality populations sink to ordinary populations. The migration process of the migration operator is shown in Figure 8.
Sensors 2020, 20, x FOR PEER REVIEW 8 of 23 mobile robot has great challenges in terms of energy consumption and safety, so it must be given a high penalty.

Migration Operator
Common selection strategies include roulette selection, elite selection, tournament selection, truncation selection, etc. However, there are some problems in these selection strategies, such as serious homogenization, easy convergence to local optimal solutions and loss of population diversity. The most prominent problem is the serious homogenization phenomenon. The phenomenon of homogenization implies that as the number of iterations increases, a particular individual will appear in large numbers in the population. The phenomenon of homogeneity will make the effect of the crossover operator gradually decrease as the number of iterations increases. When the entire population is composed of the same individuals, the crossover operator is completely invalid.
Based on the ideas of population mobility and social division of labor proposed in the reference [22][23][24], this paper proposes a migration operator. The migration operator refers to a comprehensive mechanism that assigns different functions to different small populations, maintains normal communication among different small populations and ensures that high-quality individuals in ordinary populations rise to high-quality populations and inferior individuals in high-quality populations sink to ordinary populations. The migration process of the migration operator is shown in Figure 8. In Figure 8, three small populations are given different functions by setting different crossover rates and mutation rates. By giving population A low crossover rate and low mutation rate. We make population A well preserve high-quality individuals. This way can prevent the loss or destruction of high-quality individuals. Therefore, population A is designated as a high-quality population. By giving population B high crossover rate and low mutation rate and giving population C low crossover rate and high mutation rate. We make population B and population C act as resource banks. This way can provide many crossover and mutation individuals and is conducive to expanding the solution space search coverage. Hence, we designate population B and population C as ordinary populations.
In the migration process of Figure 8, several high-quality individuals in population B and population C rose to population A to be preserved, and a part of the poor individuals in population A were eliminated into population B and population C to act as raw materials for crossover or mutation. The latter process can play the role of waste utilization. In addition, a certain individual communication mechanism has been maintained between population B and population C to break the gap between the two populations.
In summary, the migration operator has the advantages of accelerating the convergence rate, increasing the population diversity, breaking the local optimal solution and solving the serious homogenization of the population individual in the middle and late iterations. In Figure 8, three small populations are given different functions by setting different crossover rates and mutation rates. By giving population A low crossover rate and low mutation rate. We make population A well preserve high-quality individuals. This way can prevent the loss or destruction of high-quality individuals. Therefore, population A is designated as a high-quality population. By giving population B high crossover rate and low mutation rate and giving population C low crossover rate and high mutation rate. We make population B and population C act as resource banks. This way can provide many crossover and mutation individuals and is conducive to expanding the solution space search coverage. Hence, we designate population B and population C as ordinary populations.

Crossover Operator
In the migration process of Figure 8, several high-quality individuals in population B and population C rose to population A to be preserved, and a part of the poor individuals in population A were eliminated into population B and population C to act as raw materials for crossover or mutation. The latter process can play the role of waste utilization. In addition, a certain individual communication mechanism has been maintained between population B and population C to break the gap between the two populations.
In summary, the migration operator has the advantages of accelerating the convergence rate, increasing the population diversity, breaking the local optimal solution and solving the serious homogenization of the population individual in the middle and late iterations.

Crossover Operator
The crossover operator is an operator that generates new individuals through the crossover recombination of two individuals. Common crossover operations include single-point crossover, multipoint crossover, uniform crossover, etc. Reference [25] uses a single-point crossover method and notes that single-point crossover is more efficient and easier to implement than other crossover methods. Single-point crossover randomly selects any path point with the same grid number in the two paths and exchanges the chromosome fragments after the selected path point to form two new individuals. This crossover method is also called homologous single-point crossover [26].
This paper proposes a heterologous single-point crossover based on the homologous single-point crossover and adopts the individual reception method proposed in the reference [27]. If the individual after crossover is better than the individual before crossover, then the individual after crossover is accepted. If the individual after crossover is worse than the individual before crossover, then the individual before crossover is accepted. The heterogeneous single-point crossover operator no longer looks for a common path point with identical grid numbers but finds a pair of path points that satisfy the condition that the two new paths are still continuous after the crossing. Such a group of path points must satisfy two conditions: (1) The grid corresponding to the i-th path point in the first path and the grid corresponding to the j + 1-th path point in the second path are continuous.
(2) The grid corresponding to the i + 1-th path point in the first path and the grid corresponding to the j-th path point in the second path are continuous.
Such a set of path points i, j is the cross path point for which the heterogeneous single point cross operator is looking. The two new individuals obtained by crossing the chromosome segment after the i-th path point in the first path and the chromosome segment after the j-th path point in the second path are still unobstructed continuous paths (as shown in Figure 9).
Sensors 2020, 20, x FOR PEER REVIEW 9 of 23 The crossover operator is an operator that generates new individuals through the crossover recombination of two individuals. Common crossover operations include single-point crossover, multipoint crossover, uniform crossover, etc. Reference [25] uses a single-point crossover method and notes that single-point crossover is more efficient and easier to implement than other crossover methods.
Single-point crossover randomly selects any path point with the same grid number in the two paths and exchanges the chromosome fragments after the selected path point to form two new individuals. This crossover method is also called homologous single-point crossover [26].
This paper proposes a heterologous single-point crossover based on the homologous singlepoint crossover and adopts the individual reception method proposed in the reference [27]. If the individual after crossover is better than the individual before crossover, then the individual after crossover is accepted. If the individual after crossover is worse than the individual before crossover, then the individual before crossover is accepted. The heterogeneous single-point crossover operator no longer looks for a common path point with identical grid numbers but finds a pair of path points that satisfy the condition that the two new paths are still continuous after the crossing. Such a group of path points must satisfy two conditions:  The cross-path point searched by the heterologous single-point crossover operator includes the cross-path points searched by the homologous single-point crossover operator. So the homologous single-point crossover operator is a special case of the heterologous single-point crossover operator.

Mutation Operator
MPMGA proposes the single-gene segment mutation and uses a simulated annealing algorithm to improve the receiving method of mutant individuals. Single-gene segment mutation refers to the mutation way of mutating a specific gene segment rather than mutating a certain gene point (as shown in Figure 10). i.e., it mutates a random gene segment. Specific operation is to randomly delete a specific gene segment on the individual and then use the connection operator to repair the damaged individual. Single-gene segment mutation ensures the continuity and accessibility of the individual after the mutation. Single-gene segment mutation greatly improves the quality of the mutation and enhances the ability to explore the solution space. The cross-path point searched by the heterologous single-point crossover operator includes the cross-path points searched by the homologous single-point crossover operator. So the homologous single-point crossover operator is a special case of the heterologous single-point crossover operator.

Mutation Operator
MPMGA proposes the single-gene segment mutation and uses a simulated annealing algorithm to improve the receiving method of mutant individuals. Single-gene segment mutation refers to the mutation way of mutating a specific gene segment rather than mutating a certain gene point (as shown in Figure 10). i.e., it mutates a random gene segment. Specific operation is to randomly delete a specific gene segment on the individual and then use the connection operator to repair the damaged individual. Single-gene segment mutation ensures the continuity and accessibility of the individual after the mutation. Single-gene segment mutation greatly improves the quality of the mutation and enhances the ability to explore the solution space. Compared with the method of full reception or optimal reception, the simulated annealing algorithm is more flexible for receiving mutated individuals. When the mutant individual is better than the original individual, the mutant individual will be accepted. When the mutant individual is worse than the original individual, the mutant individual will be accepted with a certain probability. The advantage is that it can consider the retention of high-quality individuals and give some tolerance to inferior individuals to expand the diversity of the population.
Assume that the individual before mutation is represented as old, the individual after mutation is represented as new, and fitness() represents the fitness of an individual. Then, the simulated annealing algorithm receives the mutation individual probability equation as follows: In Equation (15), T is the current temperature and a is a parameter. In equation (16), p(new) is the probability of receiving the mutated individual. In Equation (17), c1 is the initial temperature, w is the temperature decay rate and t is the current number of iterations. Obviously, when the number of iterations t increases, temperature T will decrease and the tolerance for individuals who become worse after mutation will decrease. Until a certain generation, the algorithm will no longer tolerate individuals who become worse after mutation.

Optimization Operator
The initial population will converge to the optimal individual through several iterations. Then the optimization operator performs the second optimization based on the optimal individual. This paper adopts the deletion point method to design the optimization operator (as shown in Figure 11). The deletion point method refers to the method of deleting redundant path points in the barrier-free continuous path so that the barrier-free continuous path becomes a barrier-free discontinuous path again. This barrier-free discontinuous path is a safe path with great performance indicators. The difference between the optimization operator and the previous deletion operator is that the deletion operator deletes the circular path in the unobstructed continuous path. After the deletion, it is still an unobstructed continuous path. But the optimization operator deletes the redundant path points in the unobstructed continuous path. The path after deletion is the barrier-free discontinuous path. Assuming that the path path contains n path points, path(i) represents the grid number corresponding to the i-th path point in the path path, and the optimization operator design steps are as follows: (1) Initialize i = 1, j = i + 1, the list table is empty, add path (i) to the list.
(2) Determine whether j is equal to n. If they are equal, add path (j) to the list and go to step (4). If they are not equal, go to step (3).  Compared with the method of full reception or optimal reception, the simulated annealing algorithm is more flexible for receiving mutated individuals. When the mutant individual is better than the original individual, the mutant individual will be accepted. When the mutant individual is worse than the original individual, the mutant individual will be accepted with a certain probability. The advantage is that it can consider the retention of high-quality individuals and give some tolerance to inferior individuals to expand the diversity of the population.
Assume that the individual before mutation is represented as old, the individual after mutation is represented as new, and fitness() represents the fitness of an individual. Then, the simulated annealing algorithm receives the mutation individual probability equation as follows: In Equation (15), T is the current temperature and a is a parameter. In equation (16), p(new) is the probability of receiving the mutated individual. In Equation (17), c 1 is the initial temperature, w is the temperature decay rate and t is the current number of iterations. Obviously, when the number of iterations t increases, temperature T will decrease and the tolerance for individuals who become worse after mutation will decrease. Until a certain generation, the algorithm will no longer tolerate individuals who become worse after mutation.

Optimization Operator
The initial population will converge to the optimal individual through several iterations. Then the optimization operator performs the second optimization based on the optimal individual. This paper adopts the deletion point method to design the optimization operator (as shown in Figure 11). The deletion point method refers to the method of deleting redundant path points in the barrier-free continuous path so that the barrier-free continuous path becomes a barrier-free discontinuous path again. This barrier-free discontinuous path is a safe path with great performance indicators. The difference between the optimization operator and the previous deletion operator is that the deletion operator deletes the circular path in the unobstructed continuous path. After the deletion, it is still an unobstructed continuous path. But the optimization operator deletes the redundant path points in the unobstructed continuous path. The path after deletion is the barrier-free discontinuous path. Assuming that the path path contains n path points, path(i) represents the grid number corresponding to the i-th path point in the path path, and the optimization operator design steps are as follows: (1) Initialize i = 1, j = i + 1, the list table is empty, add path (i) to the list.
(2) Determine whether j is equal to n. If they are equal, add path (j) to the list and go to step (4).
If they are not equal, go to step (3).
(3) Determine whether the connection line between i-th path point and j + 1-th path points passes through the obstacle grid. If it does not pass, then j = j + 1 and go to step (2). If it passes, then i = j and add path (i) to the list; then, go to step (3)  The deletion point method Figure 11. The deletion point method.
It is known from the optimization operator design steps. The grid number in the list table is the optimized result of the optimization operator.

Simulation Environment
This paper compares and analyzes the performance of MPMGA, SGA and PCDA algorithms in the natural simulation environment and the artificial simulation environment. Such as path generation, fitness and algorithm running time. The natural simulation environment refers to a simulation map that completely obeys the distribution of obstacles on the actual map. The natural simulation environment is mainly used to verify the feasibility and effectiveness of the algorithm, as well as various performance indicators, and enhance the application ability of the algorithm in real life. The artificial simulation environment refers to a simulation map that artificially sets the distribution of obstacles. The artificial simulation environment is mainly used to verify the adaptability of the algorithm in different environments. The software and hardware configuration of the simulation environment are shown in Table 1.

Natural Simulation Environment
The actual map environment simulated by the natural simulation environment is our school library. The library area is 30 m × 30 m. We divide the entire map into 25 × 25 grid models, and the actual area of each grid is 1.2 m × 1.2 m. According to the preprocessing process of grid model provided in Section 3, the 25 × 25 grid model is preprocessed, and the simulation map obtained is shown in Figure 12. In the simulation map, black obstacles represent unfeasible areas such as desks, sofas, bookcases, toilets, walls, and isolation belts and white grids represent feasible areas. The mobile robot enters from grid 10 and leaves from grid 624. It is known from the optimization operator design steps. The grid number in the list table is the optimized result of the optimization operator.

Simulation Environment
This paper compares and analyzes the performance of MPMGA, SGA and PCDA algorithms in the natural simulation environment and the artificial simulation environment. Such as path generation, fitness and algorithm running time. The natural simulation environment refers to a simulation map that completely obeys the distribution of obstacles on the actual map. The natural simulation environment is mainly used to verify the feasibility and effectiveness of the algorithm, as well as various performance indicators, and enhance the application ability of the algorithm in real life. The artificial simulation environment refers to a simulation map that artificially sets the distribution of obstacles. The artificial simulation environment is mainly used to verify the adaptability of the algorithm in different environments. The software and hardware configuration of the simulation environment are shown in Table 1.

Natural Simulation Environment
The actual map environment simulated by the natural simulation environment is our school library. The library area is 30 m × 30 m. We divide the entire map into 25 × 25 grid models, and the actual area of each grid is 1.2 m × 1.2 m. According to the preprocessing process of grid model provided in Section 3, the 25 × 25 grid model is preprocessed, and the simulation map obtained is shown in Figure 12. In the simulation map, black obstacles represent unfeasible areas such as desks, sofas, bookcases, toilets, walls, and isolation belts and white grids represent feasible areas. The mobile robot enters from grid 10 and leaves from grid 624. The parameter design of the three algorithms is shown in Table 2.

Path Generation
The simulated paths of the three algorithms are shown in Figure 13. It can be seen from Figure  13 that all three algorithms can generate effective paths in the simulation map. MPMGA has the feasibility and effectiveness in the simulation map of the actual map and has the ability of practical application. In terms of the quality of the generated path, whether it is path length or path smoothness, the path generated by MPMGA is better than the path generated by PCDA and SGA. The parameter design of the three algorithms is shown in Table 2.

Path Generation
The simulated paths of the three algorithms are shown in Figure 13. It can be seen from Figure 13 that all three algorithms can generate effective paths in the simulation map. MPMGA has the feasibility and effectiveness in the simulation map of the actual map and has the ability of practical application. In terms of the quality of the generated path, whether it is path length or path smoothness, the path generated by MPMGA is better than the path generated by PCDA and SGA.  Figure 14 shows the situation that the mobile robot encounters sudden obstacles and re-plans the local path when it moves according to the predetermined route. In Figure 14, the mobile robot moves according to the global path generated by MPMGA. In the process of driving according to the predetermined route, obstacles suddenly appear at the grids No. 320 and 345, blocking the path of the mobile robot. (here, two sudden obstacles are used to simulate two mobile pedestrians or mobile devices that suddenly appear on the predetermined path.)  Figure 14 shows the situation that the mobile robot encounters sudden obstacles and re-plans the local path when it moves according to the predetermined route. In Figure 14, the mobile robot moves according to the global path generated by MPMGA. In the process of driving according to the predetermined route, obstacles suddenly appear at the grids No. 320 and 345, blocking the path of the mobile robot. (here, two sudden obstacles are used to simulate two mobile pedestrians or mobile devices that suddenly appear on the predetermined path.) Sensors 2020, 20, x FOR PEER REVIEW 14 of 23 When the mobile robot moves to the grid number 295, MPMGA is used to replan the local path. Taking the number 295 grid as the starting node, and the number 370 grid as the target node and performing local path planning, the path shown in Figure 14 is obtained. In the process of local path replanning, the time consumption is about 0.3~0.4 s. It can be seen that MPMGA can not only be used for global path planning to produce high-quality solutions, but also for local path re-planning to avoid sudden threats, and it can meet real-time requirements.

Fitness Analysis
The evolutionary comparison process of the optimal individual fitness of the three algorithms is shown in Figure 15. From the perspective of the quality of the first-generation optimal individuals, MPMGA is far superior to PCDA and SGA. This is mainly because MPMGA optimizes the quality of the initial population through connection operators and deletion operators. From the number of iterations of convergence, MPMGA converges around the 50th generation, PCDA converges around the 85th generation, and SGA converges around the 175th generation. MPMGA is superior to PCDA and SGA. Because MPMGA replaces the original selection operator with a migration operator. The migration operator can save high-quality individuals and further accelerate the convergence speed. From the perspective of the quality of convergent individuals, MPMGA is far superior to PCDA and SGA. This is because the optimization operator proposed by MPMGA can optimize the convergent individuals for the second time. Therefore, the optimization operator can greatly improve the quality of convergent individuals. From Figure 15, we can also find that SGA has a data drop phenomenon. The data drop phenomenon means that the optimal individual fitness of the next generation is worse than the When the mobile robot moves to the grid number 295, MPMGA is used to replan the local path. Taking the number 295 grid as the starting node, and the number 370 grid as the target node and performing local path planning, the path shown in Figure 14 is obtained. In the process of local path replanning, the time consumption is about 0.3~0.4 s. It can be seen that MPMGA can not only be used for global path planning to produce high-quality solutions, but also for local path re-planning to avoid sudden threats, and it can meet real-time requirements.

Fitness Analysis
The evolutionary comparison process of the optimal individual fitness of the three algorithms is shown in Figure 15. From the perspective of the quality of the first-generation optimal individuals, MPMGA is far superior to PCDA and SGA. This is mainly because MPMGA optimizes the quality of the initial population through connection operators and deletion operators. From the number of iterations of convergence, MPMGA converges around the 50th generation, PCDA converges around the 85th generation, and SGA converges around the 175th generation. MPMGA is superior to PCDA and SGA. Because MPMGA replaces the original selection operator with a migration operator. The migration operator can save high-quality individuals and further accelerate the convergence speed. From the perspective of the quality of convergent individuals, MPMGA is far superior to PCDA and SGA. This is because the optimization operator proposed by MPMGA can optimize the convergent individuals for the second time. Therefore, the optimization operator can greatly improve the quality of convergent individuals. When the mobile robot moves to the grid number 295, MPMGA is used to replan the local path. Taking the number 295 grid as the starting node, and the number 370 grid as the target node and performing local path planning, the path shown in Figure 14 is obtained. In the process of local path replanning, the time consumption is about 0.3~0.4 s. It can be seen that MPMGA can not only be used for global path planning to produce high-quality solutions, but also for local path re-planning to avoid sudden threats, and it can meet real-time requirements.

Fitness Analysis
The evolutionary comparison process of the optimal individual fitness of the three algorithms is shown in Figure 15. From the perspective of the quality of the first-generation optimal individuals, MPMGA is far superior to PCDA and SGA. This is mainly because MPMGA optimizes the quality of the initial population through connection operators and deletion operators. From the number of iterations of convergence, MPMGA converges around the 50th generation, PCDA converges around the 85th generation, and SGA converges around the 175th generation. MPMGA is superior to PCDA and SGA. Because MPMGA replaces the original selection operator with a migration operator. The migration operator can save high-quality individuals and further accelerate the convergence speed. From the perspective of the quality of convergent individuals, MPMGA is far superior to PCDA and SGA. This is because the optimization operator proposed by MPMGA can optimize the convergent individuals for the second time. Therefore, the optimization operator can greatly improve the quality of convergent individuals. From Figure 15, we can also find that SGA has a data drop phenomenon. The data drop phenomenon means that the optimal individual fitness of the next generation is worse than the From Figure 15, we can also find that SGA has a data drop phenomenon. The data drop phenomenon means that the optimal individual fitness of the next generation is worse than the optimal individual fitness of the previous generation. This phenomenon is caused by the traditional roulette selection strategy and the way of receiving cross-mutated individuals. Because MPMGA uses a migration operator and improves the receiving method of cross-mutated individuals, there is no data drop phenomenon in MPMGA.
The evolutionary comparison process of population fitness standard deviation is shown in Figure 16. This paper uses the standard deviation of population fitness to measure the diversity of the entire population. It can be seen from Figure 16 that the standard deviation of population fitness produced by MPMGA has been maintained at a high level. This shows that the diversity of the entire population has been high during the evolution process, and the algorithm has been more active in exploring the entire solution space. The population fitness standard deviation produced by PCDA showed a short-term increase and then continued to decrease. This shows that the ability to explore the solution space of the algorithm is gradually enhanced at the beginning of the iteration. In the middle stage of the iteration, with the increase of the number of iterations, the ability of the algorithm to explore the solution space is gradually weakened. In the later stage of the iteration, the exploration ability of the algorithm has been maintained at a weak level. The standard deviation of population fitness produced by SGA also shows a trend of temporary increase and then a continuous decrease. After the 120th generation, the diversity of the entire population is zero, the phenomenon of population homogeneity is completely formed, the entire population is composed of the same individuals, and the crossover operator is completely invalid.
Sensors 2020, 20, x FOR PEER REVIEW 15 of 23 optimal individual fitness of the previous generation. This phenomenon is caused by the traditional roulette selection strategy and the way of receiving cross-mutated individuals. Because MPMGA uses a migration operator and improves the receiving method of cross-mutated individuals, there is no data drop phenomenon in MPMGA.
The evolutionary comparison process of population fitness standard deviation is shown in Figure 16. This paper uses the standard deviation of population fitness to measure the diversity of the entire population. It can be seen from Figure 16 that the standard deviation of population fitness produced by MPMGA has been maintained at a high level. This shows that the diversity of the entire population has been high during the evolution process, and the algorithm has been more active in exploring the entire solution space. The population fitness standard deviation produced by PCDA showed a short-term increase and then continued to decrease. This shows that the ability to explore the solution space of the algorithm is gradually enhanced at the beginning of the iteration. In the middle stage of the iteration, with the increase of the number of iterations, the ability of the algorithm to explore the solution space is gradually weakened. In the later stage of the iteration, the exploration ability of the algorithm has been maintained at a weak level. The standard deviation of population fitness produced by SGA also shows a trend of temporary increase and then a continuous decrease. After the 120th generation, the diversity of the entire population is zero, the phenomenon of population homogeneity is completely formed, the entire population is composed of the same individuals, and the crossover operator is completely invalid. The evolutionary comparison process of population average fitness is shown in Figure 17. This paper uses the average fitness of the population to measure the evolution of the entire population. It can be seen from Figure 17 that the average fitness of the initial population produced by MPMGA is better than the average fitness of the initial population produced by PCDA and SGA. The main reason is that MPMGA improves the generation way of the initial population and produces many feasible high-quality first-generation individuals. However, from the perspective of the evolution of the entire population, the evolution curve produced by MPMGA is inferior to the evolution curve produced by PCDA and SGA. The evolution speed of the entire population is also slower. In fact, we need to use Figure 16 to analyze the evolution of the entire population. In Figure 16, SGA completely fell into homogeneity in the later stage of the iteration. The entire population is composed of the same individuals, and the population completely loses its evolutionary potential. Although PCDA did not completely fall into homogeneity in the later stage of the iteration, the diversity of the entire population was relatively poor. This means that the evolutionary potential of the entire population is weak. MPMGA has strong population diversity from beginning to end. This shows that the entire population has always had strong evolutionary potential. We can see from Figure 17 that although MPMGA evolves slowly, it has been evolving. In PCDA and SGA, the evolution of the entire The evolutionary comparison process of population average fitness is shown in Figure 17. This paper uses the average fitness of the population to measure the evolution of the entire population. It can be seen from Figure 17 that the average fitness of the initial population produced by MPMGA is better than the average fitness of the initial population produced by PCDA and SGA. The main reason is that MPMGA improves the generation way of the initial population and produces many feasible high-quality first-generation individuals. However, from the perspective of the evolution of the entire population, the evolution curve produced by MPMGA is inferior to the evolution curve produced by PCDA and SGA. The evolution speed of the entire population is also slower. In fact, we need to use Figure 16 to analyze the evolution of the entire population. In Figure 16, SGA completely fell into homogeneity in the later stage of the iteration. The entire population is composed of the same individuals, and the population completely loses its evolutionary potential. Although PCDA did not completely fall into homogeneity in the later stage of the iteration, the diversity of the entire population was relatively poor. This means that the evolutionary potential of the entire population is weak. MPMGA has strong population diversity from beginning to end. This shows that the entire population has always had strong evolutionary potential. We can see from Figure 17 that although MPMGA evolves slowly, it has been evolving. In PCDA and SGA, the evolution of the entire population has stalled around the 105th generation. Therefore, through the two figures, we can analyze that PCDA and SGA evolve rapidly in the early stage of iteration, which is the illusion caused by homogenization. Essentially, a large number of identical individuals are produced in the entire population.
Sensors 2020, 20, x FOR PEER REVIEW 16 of 23 population has stalled around the 105th generation. Therefore, through the two figures, we can analyze that PCDA and SGA evolve rapidly in the early stage of iteration, which is the illusion caused by homogenization. Essentially, a large number of identical individuals are produced in the entire population. Figure 17. Evolutionary comparison diagram of population average fitness. Table 3 shows the running time of each stage of MPMGA algorithm during the program running in detail. It can be seen from Table 3 that the program running time of MPMGA is longer than the program running time of PCDA and SGA. The main reason is that the initial population generation of MPMGA takes a relatively high time. This is mainly because MPMGA chooses to sacrifice a certain amount of time to improve the quality of the initial population. In the initial population generation, the connection operator and the deletion operator are introduced to optimize the initial population.

Comprehensive Comparison
In the natural simulation environment, each algorithm is simulated 20 times, and then the average value is obtained (as shown in Table 4).   Table 3 shows the running time of each stage of MPMGA algorithm during the program running in detail. It can be seen from Table 3 that the program running time of MPMGA is longer than the program running time of PCDA and SGA. The main reason is that the initial population generation of MPMGA takes a relatively high time. This is mainly because MPMGA chooses to sacrifice a certain amount of time to improve the quality of the initial population. In the initial population generation, the connection operator and the deletion operator are introduced to optimize the initial population.

Comprehensive Comparison
In the natural simulation environment, each algorithm is simulated 20 times, and then the average value is obtained (as shown in Table 4). It can be seen from Table 4 that MPMGA is better than PCDA and SGA in average fitness, average path length, average path smoothness, and average number of convergence iterations. But MPMGA is worse than PCDA and SGA in average program running time.

Artificial Simulation Environment
The second simulation environment is an artificial simulation environment, and the simulation map is a 50 × 50 grid model. The area of each grid is 1.2 m × 1.2 m, so the area of the simulation map is 60 m × 60 m. The simulation map is shown in Figure 18. In the simulation map, black obstacles represent infeasible areas, and white grids represent feasible areas. The mobile robot enters from grid 0 and leaves from grid 2499. It can be seen from Table 4 that MPMGA is better than PCDA and SGA in average fitness, average path length, average path smoothness, and average number of convergence iterations. But MPMGA is worse than PCDA and SGA in average program running time.

Artificial Simulation Environment
The second simulation environment is an artificial simulation environment, and the simulation map is a 50 × 50 grid model. The area of each grid is 1.2 m × 1.2 m, so the area of the simulation map is 60 m × 60 m. The simulation map is shown in Figure 18. In the simulation map, black obstacles represent infeasible areas, and white grids represent feasible areas. The mobile robot enters from grid 0 and leaves from grid 2499. The parameter design of the three algorithms is shown in Table 5.

Path Generation
The simulated paths of the three algorithms are shown in Figure 19. It can be seen from Figure  19 that MPMGA can still generate feasible and effective planning paths in a 50 × 50 grid simulation The parameter design of the three algorithms is shown in Table 5.

Path Generation
The simulated paths of the three algorithms are shown in Figure 19. It can be seen from Figure 19 that MPMGA can still generate feasible and effective planning paths in a 50 × 50 grid simulation map. In terms of the quality of the generated path, whether it is path length or path smoothness, the path generated by MPMGA is better than the path generated by PCDA and SGA. map. In terms of the quality of the generated path, whether it is path length or path smoothness, the path generated by MPMGA is better than the path generated by PCDA and SGA.  Figure 20 shows the situation that the mobile robot encounters sudden obstacles and re-plans the local path when it moves according to the predetermined route.   Figure 20 shows the situation that the mobile robot encounters sudden obstacles and re-plans the local path when it moves according to the predetermined route.
Sensors 2020, 20, x FOR PEER REVIEW 18 of 23 map. In terms of the quality of the generated path, whether it is path length or path smoothness, the path generated by MPMGA is better than the path generated by PCDA and SGA.  Figure 20 shows the situation that the mobile robot encounters sudden obstacles and re-plans the local path when it moves according to the predetermined route.  In Figure 20, the mobile robot moves according to the global path generated by MPMGA. In the process of driving according to the predetermined route, large obstacles suddenly appeared at nine grids numbered 810, 811, 812, 860, 861, 862, 910, 911, and 912, blocking the path of the mobile robot.
When the mobile robot moves to the grid number 759, MPMGA is used to replan the local path. Taking the number 759 grid as the starting node and the number 963 grid as the target node and performing local path planning, the path shown in Figure 20 is obtained. In the process of local path replanning, the time consumption is less than 1 s. Therefore, MPMGA meets the real-time requirement of local path planning in the artificial simulation environment. Figure 21 shows the evolutionary comparison process of optimal individual fitness under the current parameter settings. Figure 22 shows the evolutionary comparison process of the population fitness standard deviation under the current parameter settings. Figure 23 shows the evolutionary comparison process of the average fitness of the population under the current parameter settings.

Fitness Analysis
Sensors 2020, 20, x FOR PEER REVIEW 19 of 23 In Figure 20, the mobile robot moves according to the global path generated by MPMGA. In the process of driving according to the predetermined route, large obstacles suddenly appeared at nine grids numbered 810, 811, 812, 860, 861, 862, 910, 911, and 912, blocking the path of the mobile robot.
When the mobile robot moves to the grid number 759, MPMGA is used to replan the local path. Taking the number 759 grid as the starting node and the number 963 grid as the target node and performing local path planning, the path shown in Figure 20 is obtained. In the process of local path replanning, the time consumption is less than 1 s. Therefore, MPMGA meets the real-time requirement of local path planning in the artificial simulation environment. Figure 21 shows the evolutionary comparison process of optimal individual fitness under the current parameter settings. Figure 22 shows the evolutionary comparison process of the population fitness standard deviation under the current parameter settings. Figure 23 shows the evolutionary comparison process of the average fitness of the population under the current parameter settings.   In Figure 20, the mobile robot moves according to the global path generated by MPMGA. In the process of driving according to the predetermined route, large obstacles suddenly appeared at nine grids numbered 810, 811, 812, 860, 861, 862, 910, 911, and 912, blocking the path of the mobile robot.

Fitness Analysis
When the mobile robot moves to the grid number 759, MPMGA is used to replan the local path. Taking the number 759 grid as the starting node and the number 963 grid as the target node and performing local path planning, the path shown in Figure 20 is obtained. In the process of local path replanning, the time consumption is less than 1 s. Therefore, MPMGA meets the real-time requirement of local path planning in the artificial simulation environment. Figure 21 shows the evolutionary comparison process of optimal individual fitness under the current parameter settings. Figure 22 shows the evolutionary comparison process of the population fitness standard deviation under the current parameter settings. Figure 23 shows the evolutionary comparison process of the average fitness of the population under the current parameter settings.    Table 6 shows the running time of each stage of MPMGA algorithm during the program running in detail. Comparing Table 3 and Table 6, we can find that as the scale of the map increases, the proportion of the initial population generation time to the total time gradually increases. In the 50 × 50 grid map model, this proportion is as high as 80%. Therefore, for large-scale maps, it is necessary to reduce the initial population generation time and thus reduce the running time of the program.

Comprehensive Comparison
In the artificial simulation environment, each algorithm is simulated 20 times, and then the average value is obtained (as shown in Table 7). It can be seen from Table 7 that MPMGA is better than PCDA and SGA in average fitness, average path length, average path smoothness, and average number of convergence iterations. But MPMGA is worse than PCDA and SGA in average program running time.   Table 6 shows the running time of each stage of MPMGA algorithm during the program running in detail. Comparing Tables 3 and 6, we can find that as the scale of the map increases, the proportion of the initial population generation time to the total time gradually increases. In the 50 × 50 grid map model, this proportion is as high as 80%. Therefore, for large-scale maps, it is necessary to reduce the initial population generation time and thus reduce the running time of the program.

Comprehensive Comparison
In the artificial simulation environment, each algorithm is simulated 20 times, and then the average value is obtained (as shown in Table 7). It can be seen from Table 7 that MPMGA is better than PCDA and SGA in average fitness, average path length, average path smoothness, and average number of convergence iterations. But MPMGA is worse than PCDA and SGA in average program running time. The average program running time of MPMGA has reached an astonishing 120 s. Comparing Tables 4 and 7, we can find that as the scale of the map increases, the program running time will also increase rapidly. From the above analysis, it can be concluded that: (1) Whether in the natural simulation environment or the artificial simulation environment, MPMGA is feasible and effective. And MPMGA has the ability of application in the actual environment. (2) No matter what scale of the map, no matter how the obstacles are distributed, the path planned by MPMGA is always better than the path planned by PCDA and SGA. In addition, MPMGA can make local path re-planning in the emergencies, so as to achieve emergency avoidance. (3) MPMGA is better than PCDA and SGA in optimal individual fitness, average population fitness, standard deviation of population fitness, and optimal individual convergence iteration number. However, as the scale of the map increases, it takes a longer time for MPMGA to generate the initial population. In terms of the average program running time, MPMGA takes a longer time than PCDA and SGA.

Conclusions
In this paper, a multi-population migration genetic algorithm is proposed, and the framework and operators of the standard genetic algorithm are improved. In terms of framework, the algorithm proposes a parallel interactive framework. This framework has good parallelism and robustness. Especially when there are many individuals in the initial population, and the performance of a single processor is limited. A parallel interactive framework can divide a large population into several small populations, and each small population is equipped with a processor. The data among the small populations interacts through the bus, which can greatly reduce the running time of the program. Even if a processor fails and some data are lost, the impact on the algorithm is relatively limited. In terms of operators, the algorithm proposes a migration operator and an optimization operator. The migration operator replaces the selection system of the selection operator by the migration system, and the optimization operator performs the second optimization of the convergent optimal individual. In addition, the algorithm also improves the population's initialization process, crossover operator, and mutation operator. By using the new operators or improving the original operators, the algorithm breaks the local optimal solution, solves the phenomenon of serious homogenization of population individuals, accelerates the convergence speed of the algorithm and improves the quality of convergent individuals. The simulation results show that MPMGA is not only suitable for simulation maps of various scales and various obstacle distributions, but also has superior performance. But the MPMGA program takes too long time to run.
In fact, if we consider implementing MPMGA on a real mobile robot, MPMGA may face the following problems: First, in actual large-scale scenarios, the MPMGA program takes a long time to run. Although MPMGA has excellent performance in large-scale maps, the long program running time limits the application of MPMGA in actual large-scale scenarios. Second, MPMGA is not sensitive to unknown environments. It means MPMGA does not consider how to generate a high-quality path in an unknown environment. We know that the map environment is unknown in many actual scenarios. In this case, the application of MPMGA has been greatly restricted. Third, MPMGA does not consider the preprocessing process of grid maps more comprehensively. This may cause MPMGA to fail to generate feasible paths in actual maps with a large number of irregular obstacles.
In the future, we need to do four aspects: First, we need to reduce the running time of the program. On the one hand, we can compress map models or simplify map models. On the other hand, we can improve the population's initialization process. Second, we need to enhance the application capabilities of algorithms in different environments. MPMGA can perform static global path planning; it can also effectively deal with sudden threats and perform local path re-planning. However, the global or local path planning in an unknown environment is not considered. Therefore, global or local path planning in an unknown environment can also be used as the next research content. Third, we need to consider the preprocessing process of grid maps more comprehensively. We can use adaptive grid map method. In other words, the grid size in the grid map is no longer fixed. The size of the grid is automatically adjusted according to the size of the mobile robot and obstacles. The adaptive grid map method can effectively deal with the actual map with a large number of irregular obstacles. Fourth, we consider