Cellular genetic path planning method based on multi-population cooperative adaptability
By adopting a multi-group collaboration adaptive cellular genetic path planning method in multi-robot system, the path conflict and collaboration problems in multi-robot path planning are solved, efficient and accurate path planning is achieved, and system performance and efficiency are improved.
Patent Information
- Application Number
- CN202411343142.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-25
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2044-09-25
AI Technical Summary
The existing multi-robot path planning technology is difficult to effectively deal with path conflicts and collaboration problems between multiple robots, resulting in slow convergence of algorithms and the difficulty in finding the optimal solution, which affects system performance and efficiency.
Using a cellular genetic path planning method based on the adaptability of multiple populations, we build a raster map and cellular state matrix, and establish multiple sub-populations. Using a cellular genetic algorithm for population collaboration for iterative evolution, optimize path planning, and avoid path conflicts. And improve resource utilization efficiency.
High-quality multi-robot path planning is realized, which improves the efficiency and accuracy of path planning, can solve the best path faster, avoid local optimal solutions, and enhances system performance and efficiency.
Smart Images

Figure CN119290013A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot autonomous navigation technology, and more specifically to a cellular genetic path planning method based on multi-population cooperative adaptability. Background Art
[0002] With the rapid development of science and technology, especially in the fields of industrial automation, logistics distribution, rescue missions and intelligent transportation, multi-robot systems have gradually become an important solution to improve task execution efficiency, enhance system robustness and adapt to complex environments. Single robot path planning is the basis of multi-robot system path planning, but multi-robot path planning is not a simple superposition of single robot path planning. The multi-robot path planning problem not only needs to consider the obstacle avoidance of each robot itself, but also needs to avoid collisions in the paths of multiple robots. It is a complex optimization problem.
[0003] The efficient operation of a multi-robot system is inseparable from precise path planning technology. Especially when multiple robots need to collaborate to complete a task, how to avoid conflicts, optimize resource utilization and reduce the overall completion time has become a technical problem that needs to be solved urgently.
[0004] At present, common path planning technologies generally use genetic algorithms to plan paths for robots. Due to the randomness and global search characteristics of genetic algorithms, their convergence speed is relatively slow. This may cause the algorithm to be unable to find the optimal solution within a limited time, and it cannot effectively handle the path conflicts and collaboration problems between multiple robots. In addition, it has a strong dependence on the initial population and is prone to falling into local optimal solutions, which will cause the robot to be unable to find the optimal path, thereby affecting the performance and efficiency of the entire system.
[0005] Therefore, how to achieve high-quality path planning for multiple robots is an urgent problem that technicians in this field need to solve. Summary of the invention
[0006] In view of this, the present invention provides a cellular genetic path planning method based on multi-population collaborative adaptability, which can establish multiple sub-populations according to the number of robots or the number of tasks, and realizes high-quality path planning by using a cellular genetic algorithm that considers population collaboration.
[0007] In order to achieve the above object, the present invention adopts the following technical solution:
[0008] A cellular genetic path planning method based on multi-population cooperative adaptability includes the following steps:
[0009] Constructing a grid map, wherein one grid in the grid map corresponds to one cell; the cell describes path information corresponding to the corresponding grid through a cell state matrix;
[0010] Set the number of subpopulations according to the path planning task;
[0011] Initializing the population in the grid map, and generating initial path individuals of multiple subpopulations by cellular evolution;
[0012] In each sub-population, the path individual with the largest genetic encoding fitness is extracted as the representative individual of the sub-population;
[0013] Elite individuals are retained according to the cooperative fitness, and the remaining path individuals are randomly paired in pairs, and the cell state matrix is adjusted based on the crossover and mutation rules to perform iterative evolution to obtain evolved individuals;
[0014] The representative individuals, elite individuals and evolving individuals of the sub-population are used as the individuals of the new generation of sub-populations to calculate the cooperative fitness with the individuals of other sub-populations; and the population is updated according to the order of cooperative fitness;
[0015] Determine whether the individuals representing the subpopulation in each generation of the population meet the iteration termination conditions. When the iteration termination conditions are met, output the optimal solution in the population at this time as the result of path planning.
[0016] Preferably, the cell describes the path information corresponding to the corresponding grid through a cell state matrix, specifically including:
[0017] Each column in the cell state matrix corresponds to a path point of a corresponding path individual; each row represents a path state of each path individual; the path states include: number, next, prev, cross, pass and obst;
[0018] Among them, number represents the path individual mark;
[0019] Next represents the next cell pointing mark of the current path. If the next state value of a path individual in the cell state is 0, it means that the path does not continue to extend from this cell;
[0020] prev represents the previous cell pointing flag of the current path. If the prev state value of a path individual in the cell state is 0, it means that the path has not entered this cell;
[0021] Cross represents the transfer crossover status flag, which is used to distinguish whether the genes of the corresponding parent individuals need to be exchanged. If cross=0, it means that the path individuals corresponding to the current cell have not been crossed, and if cross=1, it means that the corresponding parent individuals have been crossed.
[0022] Pass represents the flag of the cell that has been passed. If the pass value of path i is 0, it means that path i has not passed the current cell; if the pass value of path i is 1, it means that path i has passed the current cell;
[0023] obst represents the mark for distinguishing obstacles. If the obst value is 0, it means that the current cell is a free grid cell; if the obst value is 1, it means that the current cell is an obstacle cell;
[0024] time represents the time coefficient state, which is used to indicate the time when the path goes from the starting point to the current cell.
[0025] Preferably, the steps further include: before performing population initialization, performing environment initialization according to the operating environment, and setting obst to 1 in the cell corresponding to the corresponding grid.
[0026] Preferably, the population initialization specifically includes:
[0027] Assume that there are M subpopulations, corresponding to M different starting points and end points. The starting point and end point of subpopulation r are begin and r 、goal r , r=1,2,…,M. Assume that the number of individuals in each subpopulation is N, then the set of individual serial numbers in subpopulation r is {(r-1)N+1,(r-1)N+2,…,(r-1)N+N}; fill the number state row in each cell state matrix with the corresponding individual serial number, and set the rest of the states to 0;
[0028] Perform cellular evolution based on the starting point;
[0029] Set the auxiliary matrix to represent the path with pass state 0 in each cell;
[0030] Update the auxiliary matrix. Each cell checks whether the vector corresponding to the corresponding cell number in the auxiliary matrix is non-empty. If it is not empty, the next position is selected for the path corresponding to each element in the vector, and the value of the next state indicated by the corresponding number is updated.
[0031] For each cell, determine whether the states of each path in the neighboring cells of the current cell meet the following conditions: the next state is the current cell and the pass state is 0;
[0032] For paths that meet the conditions, determine whether the prev state of the path in the current cell is 0. If so, update the prev state of the path in the current cell to the corresponding neighbor cell, and update the pass state of the path in the corresponding neighbor cell to 1.
[0033] Preferably, the cellular evolution process further includes:
[0034] The current cell determines the dead end situation based on the obs state and prev state of the neighboring cells;
[0035] For dead-end situations, the prev value of the corresponding path in the current cell is retracted, and the cells passed through are updated as obstacle cells.
[0036] Preferably, the step of adjusting the cell state matrix according to the crossover and mutation rules to perform iterative evolution specifically includes:
[0037] The evolution based on the crossover rule is:
[0038] According to the pairing results, the pairs with intersections in the parents are extracted through preprocessing, and the cross state of the corresponding parent path in the cell state matrix of the cell before the path intersection is set to 1;
[0039] Swap the next state values of the corresponding parents in the path intersection position cell, the cross state position;
[0040] A cell detects the number of its eight-neighborhood neighbor cells whose cross state bit is 1. If the cross state bit of its own corresponding number is 0, the prev and next state values of the path corresponding to the number with cross=1 in the neighbor are swapped, and the cross of its own corresponding number is set to 1.
[0041] The evolution based on mutation rules is:
[0042] Determine whether the mutation probability of the path in the current cell meets the preset conditions; if so, take the current cell as the center cell and detect the next state of each path in the neighboring cells;
[0043] When the next state corresponding cell in the first neighbor cell is the second neighbor cell of the center cell, the next state of the center cell is updated to the sequence number of the second neighbor cell.
[0044] Preferably, the evolution based on mutation rules further includes:
[0045] If there is a cell that path i does not pass through in the intersection of the Moore neighbor set of the center cell and the Moore neighbor set of the cell pointed to by the next value of path i, then a cell that meets the conditions is randomly selected, so that the next state value of path i of the randomly selected cell is updated to the next state value of path i in the center cell. Correspondingly, update
[0046] The next state value of the path numbered i of the central cell; updates the prev value of the cell originally pointed to by the central cell.
[0047] Preferably, the calculation formula of the gene encoding fitness is:
[0048] f i =2mn-D i
[0049] Among them, D i It represents the length of the path with serial number i, and m and n represent the number of rows and columns of the grid environment map respectively.
[0050] Preferably, the calculation formula of the collaborative fitness is:
[0051] fc i =f i -C(i)
[0052] Among them, C(i) is the collision penalty function, which represents the collision between the individual and individuals in other sub-populations.
[0053] Preferably, the collision penalty function is:
[0054]
[0055] Where c is a constant, NC i Represents the total number of collisions between path i and other subpopulation representative individuals, RI j represents the representative individual of subpopulation j, and NCP(a,b) represents the total number of collisions on paths a and b.
[0056] It can be seen from the above technical solutions that, compared with the prior art, the present invention discloses a cellular genetic path planning method based on the adaptability of multi-population cooperation, which can establish multiple sub-populations according to the number of robots or the number of tasks, and introduce population cooperation as the optimization condition of the cellular genetic algorithm, thereby achieving high-quality path planning. The present invention organically combines the evolutionary space of the genetic algorithm, the cellular space of the cellular algorithm, and the geographic space used for planning. The characteristics of the path can be directly reflected through the cellular state in the cellular neighborhood, so that the population in the genetic algorithm can evolve towards a high adaptability through the evolution of the cellular automaton, thereby solving the optimal path faster. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.
[0058] Figure 1 A flow chart of a multi-task path planning method based on a cellular genetic algorithm considering population collaboration provided by the present invention;
[0059] Figure 2 A schematic diagram of a cell state matrix provided by the present invention;
[0060] Figure 3 A schematic diagram of the relationship between the time coefficient increment and the position of neighboring cells provided by the present invention;
[0061] Figure 4 A schematic diagram of the two paths provided by the present invention before and after they intersect;
[0062] Figure 5 A schematic diagram of the evolution of the crossed state provided by the present invention;
[0063] Figure 6 A schematic diagram of the path variation process provided by the present invention;
[0064] Figure 7 This is a schematic diagram of the second type of path variation process provided by the present invention. DETAILED DESCRIPTION
[0065] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0066] like Figure 1 The embodiment of the present invention discloses a cellular genetic path planning method based on multi-population cooperative adaptability, comprising the following steps:
[0067] S1: Construct a grid map, where a grid corresponds to a cell; the cell describes the path information corresponding to the corresponding grid through the cell state matrix;
[0068] S2: Set the number of subpopulations according to the path planning task;
[0069] S3: Initializing the population in the grid map, and generating initial path individuals of multiple subpopulations by cellular evolution;
[0070] S3: In each sub-population, the path individual with the largest genetic encoding fitness is extracted as the representative individual of the sub-population;
[0071] Elite individuals are retained according to the cooperative fitness, and the remaining path individuals are randomly paired in pairs, and the cell state matrix is adjusted based on the crossover and mutation rules to perform iterative evolution to obtain evolved individuals;
[0072] S4: The representative individuals, elite individuals and evolving individuals of the subpopulation are used as the individuals of the new generation of subpopulations to calculate the cooperative fitness between them and the individuals of other subpopulations; and the population is updated according to the order of cooperative fitness;
[0073] S5: Determine whether the individuals representing the sub-populations in each generation of the population meet the iteration termination conditions. When the iteration termination conditions are met, output the optimal solution in the population at this time as the result of path planning.
[0074] In this embodiment, when performing iteration, two fitness functions need to be confirmed in advance, namely, gene encoding fitness and population collaboration fitness. Gene encoding fitness is used to represent the excellence of individuals within a sub-population, and population collaboration fitness is used to represent the adaptation between individuals of a sub-population and individuals of other sub-populations.
[0075] In order to further implement the above technical solution, S1 is used to realize the construction of environmental model and coding strategy. The grid map is divided into multiple rectangular grids as the cellular space of cellular automata (CA). The cellular neighborhood mode selects Moore-type neighborhood, so that the movement in 8 directions can be considered during path planning.
[0076] In the cellular space, the cell describes the path information corresponding to the corresponding grid through the cell state matrix. Figure 2 The encoding strategy of the cell state matrix is: each column element in the cell state matrix corresponds to the path point of the corresponding path individual; each row represents a path state of each path individual; the path states include: number, next, prev, cross, pass and obst; and then multiple path states in a column of elements are used to represent the status of the path points formed by a certain path in the current cell.
[0077] in:
[0078] 1) number represents the path individual mark; if the genetic algorithm population size is N, the value of number starts from 1 and increases by 1 each time until it is equal to the population size N.
[0079] 2) Next represents the next cell pointing mark of the current path. In the traditional grid model, the path is represented by an ordered sequence number set, while in the fusion cellular genetic algorithm (FCGA) of the present invention, the cell state only records the next point of the current path, which is equivalent to a "pointer". Then a path is equivalent to starting from the starting point, continuously pointing to the next grid through the "pointer" until reaching the end cell, and passing through the cell sequence number set in sequence. If the next state value of a path individual in the cell state is 0, it means that the path does not continue to extend from this cell.
[0080] 3) prev represents the previous cell pointing mark of the current path. If the prev state value of a path individual in the cell state is 0, it means that the path has not entered this cell. In the process of path initialization, in order to avoid a path entering the same cell twice, that is, the occurrence of a "loop", and to be able to handle dead ends, a forward "pointer" is used to record the previous cell of the current cell. When encountering a loop or dead end, it can be backed off by looking for the forward "pointer" until it returns to normal. If the prev state value of a path individual in the cell state is 0, it means that this path has not entered this cell.
[0081] 4) cross represents the flag for transferring the crossover status. Since the evolutionary rules are restricted to the Moore neighborhood, one step of evolution can only change one gene code. The crossover process is equivalent to starting from the intersection and spreading outward in circles. Therefore, in order to record the crossover information of the individuals on the two paths, it is necessary to set the crossover flag shown in the fourth row of the cell state matrix to distinguish whether the genes of the corresponding parent individuals need to be exchanged. cross = 0, indicating that the individuals on the path corresponding to the current cell have not yet crossed, and cross = 1, indicating that the corresponding parent individuals have crossed.
[0082] 5) pass represents the flag of the cell that has been passed. The passed cells should be marked and try not to enter the passed cells again. If the pass value of path i is 0, it means that path i has not passed the current cell; if the pass value of path i is 1, it means that path i has passed the current cell; this information can be used to determine whether a path will pass the same cell twice, that is, a "loop" occurs.
[0083] 6) obst represents the distinguishing mark of obstacles. In a cell, all path individuals share the same obstacle information, so only one obstacle state mark can be set, recorded as obst. It is stipulated that if the obst value is 0, it means that the current cell is a free grid cell; if the obst value is 1, it means that the current cell is an obstacle cell.
[0084] 7) time: Each path has a time coefficient state, which reflects the time when the path reaches the current cell from the starting cell. If the time value is 0, it means that the starting point of this path is the current cell, or it does not pass through this cell.
[0085] The time coefficient reflects the moment when a path passes through a cell and is the basis for judging whether a collision occurs. Initially, the time coefficient state values of all paths in all cells are set to 0. On the basis that the cell state stores the complete information of all paths, starting from the starting point, the next path position is continuously found through the next state value of the corresponding path number in the cell until the end point is reached. In this process, the time coefficient in the cell state is updated, and the cell time coefficient of the path corresponding to each position is the sum of the time coefficient of the cell at the previous position and the time coefficient increment.
[0086] like Figure 3 , the time coefficient increment is related to the properties of the path grid and the length of the route. The weight coefficients of the time coefficient increment are all set to 1. In the process of moving from one cell to the next cell at the current location of the path, although its possible direction must belong to one of the eight Moore neighbors of the current cell, the moving distance in different directions is different. The distance from the center cell to the four neighboring cells above, below, left, and right is 1 times the cell side length, and the time coefficient increment is set to 2; while the distance to the four neighboring cells of the upper left, lower left, upper right, and lower right is Times the cell side length, and for ease of calculation, the time coefficient increment is set to 3.
[0087] In FCGA, all the information of individuals in the population is stored in the cell state, and each column of the state matrix represents the information of a path in this cell. Figure 3 Taking the dotted box in the middle as an example, assuming that the sequence number of this cell is 22, the following information can be obtained from the cell state value: the obst value is 0, indicating that this cell is a free cell and the path can pass through it; number=2, prev=2, next=23, cross=0, pass=1 means that the path individual with sequence number 2 comes from cell No. 2 on this cell, passes through cell No. 22, and goes to cell No. 23, and path No. 2 has not yet intersected with its paired path, and path No. 2 has passed through cell No. 22 once.
[0088] In order to further implement the above technical solution, the present invention proposes an optimization function for the multi-path planning problem of multiple robots for population update in the genetic algorithm. Specifically, for path planning for M robots, the original problem needs to be decomposed into M sub-problems, corresponding to M sub-populations. Assuming that there are N individuals in each sub-population, the total number of individuals is MN, and the path number is recorded as an integer from 1 to MN. A continuous numbering method is used for all path individuals, and the first N individuals belong to sub-population 1, the N+1 to 2N individuals belong to sub-population 2, and so on. The serial numbers of each individual are obtained as follows:
[0089]
[0090] The multi-robot path planning problem takes the path length as the optimization target, so the individual genetic encoding fitness in each population is:
[0091] f i =2mn-D i
[0092] Where m and n represent the number of rows and columns of the grid environment map respectively. i Represents the length of the path at sequence number i.
[0093] The inter-population cooperation fitness of individual i is fc i for:
[0094] fc i =f i -C(i)
[0095] Among them, C(i) represents the collision between the individual and individuals in other populations. In FCGA, different sub-populations are coupled through the representatives of their respective populations. C(i) reflects the influence of the individual on the representative individuals of other sub-populations. Its definition is the key to the collision avoidance effect of multi-robot path planning.
[0096] Furthermore, a collision penalty function can be used to define C(i) as follows:
[0097]
[0098] Where c is a constant, NC i Represents the total number of collisions between path i and other subpopulation representative individuals, RI j represents the representative individual of subpopulation j, and NCP(a,b) represents the total number of collisions on the two paths a and b. The representative individual is selected by the optimal selection method, that is, the individual with the largest current genetic encoding fitness value in the subpopulation is selected as the representative individual of the subpopulation. To determine whether two paths collide, not only their spatial positions but also the time attributes of the paths must be considered: two paths passing through the same position at the same time are considered to collide. Therefore, it is necessary to introduce a path time coefficient in the cellular state, and its value represents the time when the path passes through this cell. If the time coefficient state values of two paths in a certain cellular state are the same and non-zero, it is considered that the two paths collide once at this point.
[0099] In order to further implement the above technical solution, during initialization, M robots correspond to M different starting points and end points. The starting point and end point of the subpopulation r are respectively begin r 、goal r, r=1,2,…,M. Assume that the number of individuals in each subpopulation is N, then the set of individual serial numbers in subpopulation r is {(r-1)N+1,(r-1)N+2,…,(r-1)N+N}. The auxiliary matrix is still called Ball, and its size is the same as the cell space. Initially, according to the individual serial numbers in different subpopulations, the starting serial number begin is set r The corresponding Ball(begin r )=[(r-1)N+1,(r-1)N+2,…,(r-1)N+N], all balls are located at the starting point of their respective sub-populations. According to the known grid map information, update the obst state corresponding to each cell, and fill the number state row in each cell with values increasing from 1 to NP. i The rest of the states are set to 0.
[0100] Then, the cell evolution is performed based on the starting point. During the evolution process, the auxiliary matrix Ball is used to represent the path with a pass state value of 0 in each cell, that is, the path that does not pass through the current cell; therefore, the auxiliary matrix can be used to determine the current cell where each ball is located. Each ball chooses a step based on the current cell, that is, when evolving based on the current cell, it determines whether the states of each path in the neighboring cells of the current cell meet the following conditions: the next state is the current cell and the pass state is 0; for paths that meet the conditions, it determines whether the prev state of the path in the current cell is 0. If so, the prev state of the path in the current cell is updated to the corresponding neighboring cell, and the pass state of the path in the corresponding neighboring cell is updated to 1.
[0101] Here we introduce a heuristic idea, that is, according to the different relative position relationship between the starting point and the end point in space, the probability of the ball selecting neighbors in different directions in the Moore neighborhood of the current cell is also different. Assuming that the starting point of the path planning is in the upper left corner of the map and the end point is in the lower right corner of the map, then in the absence of obstacles, the optimal path must be a straight line from the upper left to the lower right. From this special case, it can be seen that the probability of each cell selecting its lower right corner Moore neighbor is close to 1, and the probabilities of the other directions are close to 0. In the general case of obstacles, this method of allocating probabilities of different directions according to the location information of the end point can also improve the efficiency of the ball reaching the end point, thereby reducing the total evolution time. The probability value of the path moving from the central cell to its neighbor cell is filled in each neighbor cell respectively. When the probability of the path moving to the lower neighbor cell and the right neighbor cell is large, and the probability of moving to the upper left and other directions is small, the path can extend to the lower right faster. When there is an obstacle in the neighborhood, the probability on the obstacle cell is evenly distributed to the remaining non-obstruction cells in proportion, ensuring that the proportion of the probability of selecting the remaining feasible cells remains unchanged.
[0102] When selecting the next position of each ball, not only the influence of the direction probability value should be considered, but also the role of the obst state and pass state in the current cell neighborhood. If the obst state of a neighbor is 1, it means that it is an obstacle cell, and the ball will definitely not choose to enter this cell. If the pass state value of the corresponding ball number in a neighbor is 1, the ball should also avoid entering this cell to cause a "loop". In general, neighbor cells with an obst state of 0 and a pass state of 0 are valid neighbor cells. Depending on the size of the corresponding direction probability of the valid neighbor cells, the next position loci of the ball is selected, and the next state corresponding to the ball number is updated in the current cell state information, and the corresponding pass state is set to 1. At the same time, the ball with the corresponding serial number in the auxiliary matrix is deleted from the current Ball(i) and added to Ball(loci); if the current cell serial number is the end point serial number goal, the ball is equivalent to not moving, and the state value no longer changes; when Ball(goal)=[1,2,3,……,N], the evolution stops;
[0103] Consider the situation where the path generation process encounters a dead end. When a ball in a cell has no valid neighbors, a "dead end" occurs. Its next state value is set to its current corresponding prev state value, and the pass value corresponding to the path number is set to 1. The current cell is regarded as a special obstacle, so that subsequent paths will no longer re-enter this cell, resulting in the continuous occurrence of the "dead end" phenomenon. This type of "special obstacle", that is, the state of pass = 1, is related to the specific path number, so that the pass state of a path on a cell will not affect other paths entering this cell. Repeat this process until the path continues to extend in a feasible direction. This process simulates the stack popping process, realizes the path retraction operation, and effectively avoids the abnormal evolution of the cell state due to encountering a dead end. At the same time, since each cell can only pass through it at most once in the process of generating the path, the efficiency of the algorithm is indirectly guaranteed.
[0104] The following is the pseudo code for the evolution rule of the initial population:
[0105] Table 1 Pseudocode of the population evolution rules for initialization of multi-robot path planning
[0106]
[0107]
[0108] In order to further implement the above technical solution, after the initial population is obtained through initialization, each subpopulation in the initial population is iteratively evolved in a step-by-step manner. The iterative evolution process is performed based on crossover and mutation rules. The specific steps are as follows:
[0109] The first is the evolution based on the crossover rule:
[0110] In the subpopulation, individuals are randomly selected for pairing, and parent pairs with crossover points are screened out from the pairing results. Since the evolutionary rules act within the cellular neighborhood, the cellular state cross is needed to convey the information of "whether a crossover has occurred". Cross takes 0 to represent that the path has not crossed on this cellular grid, and cross takes 1 to represent that the path has crossed on this cell. Therefore, the cross state can be understood as a state that indicates whether a crossover has occurred.
[0111] After confirming the parents with crossover points, crossover is performed based on the crossover points. Figure 4 As shown, Figure 4 This is a visualization of the intersection of the path numbered 1 and the path numbered 9. The figure shows the law of the intersection operation, that is, in the path cells before the intersection cell, the cell state of the corresponding path does not change; in the intersection cell, the next state values of the two paired parent paths are exchanged; and in the cells passed by the path after the intersection, the prev state value and the next state value of the two paired parent paths are exchanged, that is, the evolutionary dynamics of the path cells before the intersection cell, the intersection cell, and the path cells after the intersection are inconsistent.
[0112] In order to solve this problem, after determining the intersection position of each pair of parents, the present invention starts from the starting cell, and in the process of pointing to the next cell according to the next state value of the corresponding path until reaching the corresponding intersection position (CP), the cell state cross of the corresponding path in the cells passed in sequence is set to 1; the next state values of the corresponding parents in the cells at the intersection position are swapped, and the cross state position is 1; then in the subsequent evolution process, the cell state before the intersection and the intersection itself will no longer change, thereby simplifying the design of subsequent rules.
[0113] If the cross state bit of the path number corresponding to the intersection position cell is 1, the evolution rule is: each cell detects the number of its eight-neighborhood neighbor cells with the cross state bit being 1. If the cross state bit of its own corresponding number is 0, the prev and next state values of the path corresponding to the number with cross=1 in the neighbor are swapped, and the cross of its own corresponding number is set to 1.
[0114] like Figure 5As shown, since each evolution step of the cellular automaton model of the present invention makes the information of cross=1 "diffuse" one grid in eight directions, the maximum evolution generation MAX is set as the following formula, where max represents the maximum value operation, and m and n represent the number of rows and columns of the cellular space respectively. The cellular state information after the crossover evolution rule iterates MAX generations must reflect the influence of the crossover operation, and the crossover operation is completed.
[0115] MAX=max{m-1,n-1}.
[0116] Since the cellular automaton evolution rules act within the neighborhood, the mutation operator of the present invention is a neighborhood mutation operator, that is, the change of the path is limited to the Moore neighborhood of a single mutation point grid. Assuming that cell a is the central cell, if the next state bit of path i on cell a is b, and if the value of the next state bit of neighbor cell i of b still belongs to one of the Moore neighbor cell numbers of cell a, then the next state value of path i of central cell a is set to the next state value of path i of neighbor cell b, so that this path goes directly from cell a to the successor cell of cell b.
[0117] The crossover phase consists of two parts: preprocessing and crossover evolution. The pseudo codes of the crossover phase algorithms are shown in Table 2 and Table 3 respectively:
[0118] Table 2 Pseudo code of cross-stage preprocessing algorithm
[0119]
[0120] Table 3 Pseudocode of crossover process evolution rules
[0121]
[0122] The second is evolution based on mutation rules:
[0123] The first type of mutation process is: determine whether the mutation probability of the path in the current cell meets the preset conditions; if so, take the current cell as the center cell and detect the next state of each path in the neighboring cells; when the next state in the first neighbor cell corresponds to the second neighbor cell of the center cell, the next state of the center cell is updated to the serial number of the second neighbor cell.
[0124] like Figure 6(a) in the figure shows the direction of the path numbered i around cell 5. Assuming that cell 5 satisfies the mutation probability, cell 5 is used as the central cell for mutation. The next state bit of path number i on cell 5 is 6. If the value of the next state bit of neighbor cell number i of cell 6 still belongs to one of the Moore neighbor cell numbers of cell 5, then the next state value of path number i of central cell 5 is set to the next state value of path number i of neighbor cell 6, as shown in the following example: Figure 6 As shown in (b) in the figure, the effect is that this path goes directly from cell 5 to the successor cell of cell 6. This is the basic idea of neighborhood mutation design.
[0125] The above mutation process can also have the opposite performance, that is, the second type of mutation process. If there is a cell that path i does not pass through in the intersection of the Moore neighbor set of the central cell and the Moore neighbor set of the cell pointed to by the next value of path i, then randomly select a cell that meets the conditions, so that the next state value of the randomly selected cell path i is updated to the next state value of path i in the central cell, and accordingly, update the next state value of path i of the central cell; update the prev value of the cell originally pointed to by the central cell. For example: in crossover and mutation evolution, take cell a as the central cell. The path number is i. If there is a cell that is not passed by path i in the intersection of the eight-neighborhood neighbor set of cell a and the eight-neighborhood neighbor set of cell b pointed to by the next value of path i, then a cell c that meets the conditions is randomly selected, so that the next state value of path i of the central cell a is c, the next state value of path i of cell c is b, and the prev flag of path i of cell b is set to c.
[0126] like Figure 7 As shown in (a), cell 5 is still the central cell, and the path number is still set to i. If the intersection of the Moore neighbor set of cell 5 and the Moore neighbor set of cell 9 pointed to by the next value of path i (such as Figure 7In (b), if there are cells that path i has not passed through, a cell that meets the conditions is randomly selected (number 6 is selected in the figure), so that the next state value of path i of center cell 5 is 6, and the next state value of path i of cell 6 is 9. At the same time, the prev flag of path i of cell 9 is set to 6, which means that the second type of mutation process is realized. The significance of this type of mutation is that after a certain path mutates, it passes through cells that have not been passed before, making it possible for it to intersect with other paths that originally had no intersections, which can improve population diversity and alleviate premature convergence; at the same time, due to the fitness sorting selection mechanism of this method, individuals with longer path lengths after mutation will not affect individuals with shorter path lengths before mutation from entering the next generation, and will not cause the loss of better solutions in the current population.
[0127] The population update process includes:
[0128] In each subpopulation, the path individual with the largest genetic encoding fitness is extracted, and the remaining individuals in the remaining path individuals retained by the elite retention selection operator are randomly paired, and the cell state matrix is adjusted based on the crossover and mutation rules for iterative evolution; the collaborative fitness is calculated based on the individual with the largest genetic encoding fitness, the evolved individuals, and the individuals retained by the elite retention operator; and the new subpopulation is obtained by sorting according to the collaborative fitness. A new population is obtained by traversing each subpopulation.
[0129] Among them, random pairing is limited within the sub-population, that is, the subsequent crossover is restricted to occur only between individuals in one population. A part of the elite individuals with the best cooperative fitness in the sub-population are selected to enter the next generation directly without crossover mutation, and the other individuals act as parents for crossover mutation.
[0130] For the sub-population, the number of offspring individuals produced after crossover and mutation is the same as the number of parents after removing the elite individuals. All path individuals in the two generations of the sub-population are sorted according to the size of the cooperative fitness, and the individuals with the top 50% of the cooperative fitness values are selected, together with the elite individuals selected in the selection stage, as the sub-population of the next generation, and the new cellular state matrix is filled in according to the information stored in the cellular state matrix.
[0131] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
[0132] The above description of the disclosed embodiments enables one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A cellular genetic path planning method based on multi-population cooperative adaptability, characterized in that: The following steps are involved: Constructing a grid map, wherein one grid in the grid map corresponds to one cell; the cell describes path information corresponding to the corresponding grid through a cell state matrix; Set the number of subpopulations according to the path planning task; Initializing the population in the grid map, and generating initial path individuals of multiple subpopulations by cellular evolution; In each sub-population, the path individual with the largest genetic encoding fitness is extracted as the representative individual of the sub-population; Elite individuals are retained according to the cooperative fitness, and the remaining path individuals are randomly paired in pairs, and the cell state matrix is adjusted based on the crossover and mutation rules to perform iterative evolution to obtain evolved individuals; The subpopulation representative individuals, elite individuals and evolutionary individuals are used as the new generation of subpopulation individuals to calculate the cooperative fitness between them and the individuals of other subpopulations; And update the population according to the collaborative fitness ranking; Determine whether the individuals representing the sub-population in each generation of the population meet the iteration termination conditions. When the iteration termination conditions are met, output the optimal solution in the population at this time as the result of path planning.
2. A cellular genetic path planning method based on multi-population cooperative adaptability according to claim 1, characterized in that: The cell describes the path information corresponding to the corresponding grid through the cell state matrix, which specifically includes: Each column in the cell state matrix corresponds to a path point of a corresponding path individual; each row represents a path state of each path individual; the path states include: number, next, prev, cross, pass, obst and time; Among them, number represents the path individual mark; Next represents the next cell pointing mark of the current path. If the next state value of a path individual in the cell state is 0, it means that the path does not continue to extend from this cell; prev represents the previous cell pointing flag of the current path. If the prev state value of a path individual in the cell state is 0, it means that the path has not entered this cell; Cross represents the transfer crossover status flag, which is used to distinguish whether the genes of the corresponding parent individuals need to be exchanged. If cross=0, it means that the path individuals corresponding to the current cell have not been crossed, and if cross=1, it means that the corresponding parent individuals have been crossed. Pass represents the flag of the cell that has been passed. If the pass value of path i is 0, it means that path i has not passed the current cell; if the pass value of path i is 1, it means that path i has passed the current cell; obst represents the mark for distinguishing obstacles. If the obst value is 0, it means that the current cell is a free grid cell; if the obst value is 1, it means that the current cell is an obstacle cell; time represents the time coefficient state, which is used to indicate the time when the path goes from the starting point to the current cell.
3. A cellular genetic path planning method based on multi-population cooperative adaptability according to claim 2, characterized in that: The step also includes: before initializing the population, initializing the environment according to the operating environment, and setting obst in the cell corresponding to the corresponding grid to 1.
4. A cellular genetic path planning method based on multi-population cooperative adaptability according to claim 1 or 3, characterized in that: The population initialization specifically includes: Assume that there are M subpopulations, corresponding to M different starting points and end points. The starting point and end point of subpopulation r are begin and r 、goal r , r=1,2,…,M. Assume that the number of individuals in each subpopulation is N, then the set of individual serial numbers in subpopulation r is {(r-1)N+1,(r-1)N+2,…,(r-1)N+N}; fill the number state row in each cell state matrix with the corresponding individual serial number, and set the rest of the states to 0; Perform cellular evolution based on the starting point; Set the auxiliary matrix to represent the path with pass state 0 in each cell; Update the auxiliary matrix. Each cell checks whether the vector corresponding to the corresponding cell number in the auxiliary matrix is non-empty. If it is not empty, the next position is selected for the path corresponding to each element in the vector, and the value of the next state indicated by the corresponding number is updated. For each cell, determine whether the states of each path in the neighboring cells of the current cell meet the following conditions: the next state is the current cell and the pass state is 0; For paths that meet the conditions, determine whether the prev state of the path in the current cell is 0. If so, update the prev state of the path in the current cell to the corresponding neighbor cell, and update the pass state of the path in the corresponding neighbor cell to 1.
5. The cellular genetic path planning method based on multi-population cooperative adaptability according to claim 4, characterized in that: The cellular evolution process also includes: The current cell determines the dead end situation based on the obs state and prev state of the neighboring cells; For dead-end situations, the prev value of the corresponding path in the current cell is retracted, and the cells passed through are updated as obstacle cells.
6. The cellular genetic path planning method based on multi-population cooperative adaptability according to claim 1, characterized in that: The step of adjusting the cell state matrix according to the crossover and mutation rules to perform iterative evolution specifically includes: The evolution based on the crossover rule is: According to the pairing results, the pairs with intersections in the parents are extracted through preprocessing, and the cross state of the corresponding parent path in the cell state matrix of the cell before the path intersection is set to 1; Swap the next state values of the corresponding parents in the path intersection position cell, the cross state position; A cell detects the number of its eight-neighborhood neighbor cells whose cross state bit is 1. If the cross state bit of its own corresponding number is 0, the prev and next state values of the path corresponding to the number with cross=1 in the neighbor are swapped, and the cross of its own corresponding number is set to 1. The evolution based on mutation rules is: Determine whether the mutation probability of the path in the current cell meets the preset conditions; if so, take the current cell as the center cell and detect the next state of each path in the neighboring cells; When the next state corresponding cell in the first neighbor cell is the second neighbor cell of the center cell, the next state of the center cell is updated to the sequence number of the second neighbor cell.
7. A cellular genetic path planning method based on multi-population cooperative adaptability according to claim 6, characterized in that: The evolution based on mutation rules also includes: If there is a cell that path i does not pass through in the intersection of the Moore neighbor set of the central cell and the Moore neighbor set of the cell pointed to by the next value of path i, then a cell that meets the conditions is randomly selected so that the next state value of path i of the randomly selected cell is updated to the next state value of path i in the central cell. Correspondingly, the next state value of path i of the central cell is updated; the prev value of the cell originally pointed to by the central cell is updated.
8. The cellular genetic path planning method based on multi-population cooperative adaptability according to claim 1, characterized in that: The calculation formula of the gene encoding fitness is: f i =2mn-D i Among them, D i It represents the length of the path with serial number i, and m and n represent the number of rows and columns of the grid environment map respectively.
9. A cellular genetic path planning method based on multi-population cooperative adaptability according to claim 1 or 8, characterized in that: The calculation formula of the collaborative fitness is: fc i =f i -C(i) Among them, C(i) is the collision penalty function, which represents the collision between the individual and individuals in other sub-populations.
10. A cellular genetic path planning method based on multi-population cooperative adaptability according to claim 9, characterized in that: The collision penalty function is: Where c is a constant, NC i Represents the total number of collisions between path i and other subpopulation representative individuals, RI j represents the representative individual of subpopulation j, and NCP(a,b) represents the total number of collisions on paths a and b.
Citation Information
Patent Citations
Multi-robot path planning system based on cooperative co-evolution and multi-population genetic algorithm
CN102169347A
Hybrid clustering algorithm based on adaptive cellular inheritance and optimal fuzzy C-means
CN106778826A
Mobile robot and path planning method based on adaptive genetic algorithm
CN112686429A
Cell plane cooperative scheduling method for large equipment manufacturing and driving system
CN113570134A
Heterogeneous unmanned aerial vehicle cooperative target allocation method based on polygene genetic algorithm
CN116258357A