A cellular genetic path planning method based on multi-population cooperative adaptability
By employing a multi-population cooperative adaptive cellular genetic path planning method, the path conflict and cooperation problems in multi-robot path planning are solved, achieving efficient path planning and improving system performance and efficiency.
Patent Information
- Application Number
- CN202411343142.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-25
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2044-09-25
AI Technical Summary
Existing multi-robot path planning technologies struggle to effectively handle path conflicts and collaboration issues among multiple robots, resulting in slow convergence speeds, an inability to find the optimal solution, and impacts system performance and efficiency.
A cellular genetic path planning method based on multi-population cooperative fitness is adopted. By constructing a grid map and a cellular state matrix, multiple subpopulations are established. The cellular genetic algorithm is used for iterative evolution. Combined with crossover and mutation rules, the path planning is optimized to achieve the ranking of cooperative fitness among the populations.
It achieves high-quality multi-robot path planning, improves the efficiency and accuracy of path planning, can solve for the optimal path more quickly, avoids path conflicts, and improves the overall performance of the system.
Smart Images

Figure CN119290013B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robot autonomous navigation, and more particularly to a cellular genetic path planning method based on multi-population cooperative adaptability. BACKGROUND
[0002] With the rapid development of technology, especially in the fields of industrial automation, logistics distribution, rescue tasks 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 path planning, but multi-robot path planning is not simply the superposition of single robot path planning. Multi-robot path planning problem not only needs to consider the obstacle avoidance of each robot itself, but also needs to avoid the collision of multi-robot path trajectories, which is a complex optimization problem.
[0003] The efficient operation of multi-robot systems cannot be achieved without accurate path planning technology, especially when multiple robots need to work together to complete a task. How to avoid conflicts between each other, optimize resource utilization and reduce the overall completion time has become a technical problem to be solved.
[0004] At present, the common path planning technology generally uses genetic algorithm to plan the path of the robot. Due to the randomness and global search characteristics of genetic algorithm, its convergence speed is relatively slow. This may lead to the algorithm being unable to find the optimal solution within a limited time, and unable to effectively handle the path conflict and cooperation problem between multiple robots, and the dependence on the initial population is strong, which is easy to fall into a local optimal solution, resulting in the robot being unable to find the optimal path, thereby affecting the performance and efficiency of the entire system.
[0005] Therefore, how to realize high-quality path planning of multiple robots is a problem to be solved by those skilled in the art. SUMMARY
[0006] Therefore, the present application provides a cellular genetic path planning method based on multi-population cooperative adaptability, which can establish multiple sub-populations according to the number of robots or the number of tasks, and realize high-quality path planning by using a cellular genetic algorithm considering population cooperation.
[0007] In order to achieve the above purpose, the present application adopts the following technical solutions:
[0008] A cellular genetic path planning method based on multi-population cooperative adaptability, comprising the following steps:
[0009] Construct a grid map, one grid in the grid map corresponds to one cell; the cell describes the path information corresponding to the corresponding grid through a cell state matrix;
[0010] According to the path planning task, the number of sub-populations is set;
[0011] The population initialization is performed in the grid map, and the initial path individuals of multiple sub-populations are generated by means of cellular evolution;
[0012] In each sub-population, the path individual with the maximum genetic code fitness is extracted as a sub-population representative individual;
[0013] The elite individual is reserved according to the cooperative fitness, and the remaining path individuals are randomly paired, and the cellular state matrix is adjusted based on the crossover and mutation rules to perform iterative evolution to obtain evolved individuals;
[0014] The sub-population representative individual, the elite individual and the evolved individual are used as new generation sub-population individuals to calculate the cooperative fitness with other sub-population individuals, and the population is updated according to the cooperative fitness ranking;
[0015] It is judged whether the sub-population representative individual in each generation population meets the iteration termination condition, and when the iteration termination condition is met, the optimal solution in the population at this time is output as the result of path planning.
[0016] Preferably, the cell describes the path information corresponding to the corresponding grid through a cellular state matrix, which specifically includes:
[0017] Each column in the cellular state matrix corresponds to a path point of the corresponding path individual, and each row represents a path state of each path individual; the path state includes number, next, prev, cross, pass and obst;
[0018] The number represents the path individual flag;
[0019] The next represents the next cell pointing flag of the current path, and if the next state value of a path individual in the cellular state is 0, it indicates that the path does not continue to extend from the cell;
[0020] The prev represents the previous cell pointing flag of the current path, and if the prev state value of a path individual in the cellular state is 0, it indicates that the path does not enter the cell;
[0021] The cross represents the transmission cross state flag, which is used to distinguish whether the genes of the corresponding parent individuals need to be exchanged, cross=0 indicates that the path individual corresponding to the current cell has not been crossed, and cross=1 indicates that the corresponding parent individual has been crossed;
[0022] The pass represents the passed cell flag, and if the pass value of the i-th path is 0, it indicates that the i-th path has not passed through the current cell; if the pass value of the i-th path is 1, it indicates that the i-th path has passed through the current cell;
[0023] obst represents the distinguishing mark of the obstacle, if the obst value is 0, it represents that the current cell is a free grid cell; if the obst value is 1, it represents that the current cell is an obstacle cell;
[0024] time represents the time coefficient state, which is used to represent the time from the starting point to the current cell.
[0025] Preferably, the steps further comprise: before the population initialization, environment initialization is performed according to the working environment, and the obst in the corresponding cell of the corresponding grid is set to 1.
[0026] Preferably, the population initialization specifically comprises:
[0027] Suppose there are M sub-populations corresponding to M different starting points and ending points, and the starting point and ending point of the sub-population r are denoted as begin r and goal r , respectively, r = 1, 2, …, M. Suppose the number of individuals in each sub-population is N, then the individual number set in the sub-population r is {(r-1)N+1, (r-1)N+2, …, (r-1)N+N}; the number state row in each cell state matrix is filled with the individual number, and the remaining states are all set to 0;
[0028] Cell evolution based on the starting point;
[0029] Set the pass state of each cell in the auxiliary matrix to 0 to represent the path;
[0030] Update the auxiliary matrix, and check whether the vector corresponding to the corresponding cell number in the auxiliary matrix is empty or not, if not, select the next position of each element in the vector respectively, and update the value of the next state indicated by the corresponding number;
[0031] For each cell, determine whether the state of each path in the neighbor cell of the current cell satisfies the following conditions: the next state is the current cell and the pass state is 0;
[0032] For the path that satisfies the condition, determine whether the prev state of the path in the current cell is 0, if yes, 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 cell evolution process further comprises:
[0034] The current cell determines the dead end according to the obs state and the prev state of the neighbor cell;
[0035] For the dead end case, the prev value of the corresponding path in the current cell is rolled back, and the cells passed by the rollback are updated as barrier cells.
[0036] Preferably, the cell state matrix is iteratively evolved according to the crossover and mutation rules, specifically including:
[0037] The evolution based on the crossover rule is:
[0038] According to the pairwise pairing results, the pairs with crossover points in the parents are extracted by preprocessing, and the cross state of the corresponding parent path in the cell state matrix of the cell passed by the path crossover point is set to 1;
[0039] The next state value of the corresponding parent in the cell at the path crossover point position is exchanged, and the cross state position is exchanged.
[0040] A cell detects the sequence number of the cross state bit in its eight neighborhood neighbor cells, and if the cross state bit corresponding to the sequence number of itself is 0, the prev and next state values of the path corresponding to the number with cross = 1 in the neighbor are exchanged, and the cross corresponding to the sequence number of itself is set to 1.
[0041] The evolution based on the mutation rule is:
[0042] Determine whether the mutation probability of the path in the current cell meets the preset condition; if it meets, take the current cell as the center cell, and detect the next state of each path in the neighbor cell.
[0043] When the next state corresponding cell in the first neighbor cell is the second neighbor cell of the center cell, update the next state of the center cell to the sequence number of the second neighbor cell.
[0044] Preferably, the evolution based on the mutation rule further includes:
[0045] If there is a cell not passed by the i-th path 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 the i-th path, randomly select a cell that meets the condition, so that the next state value of the i-th path in the randomly selected cell is updated to the next state value of the i-th path in the center cell, and the corresponding is updated
[0046] The next state value of the i-th path of the center cell; update the prev value of the original pointing cell of the center cell.
[0047] Preferably, the calculation formula of the gene coding fitness is:
[0048] f i = 2mn - D i
[0049] wherein, D i represents the length of the path with serial number i, and m and n respectively represent the number of rows and columns of the grid environment map.
[0050] Preferably, the calculation formula of the cooperation fitness is:
[0051] fc i = f i -C(i)
[0052] wherein, C(i) is a collision penalty function, representing the collision condition of the individual and other individuals in the sub-population.
[0053] Preferably, the collision penalty function is:
[0054]
[0055] wherein, c is a constant, NC i represents the total collision times of the path with serial number i and the representative individuals of other sub-populations, and RI j represents the representative individual of the sub-population j, and NCP(a, b) represents the total collision times on the paths a and b.
[0056] According to the technical solution, compared with the prior art, the application provides a cell genetic path planning method based on multi-population cooperation fitness, which can establish multiple sub-populations according to the number of robots or the number of tasks, and introduces population cooperation as an optimization condition of the cell genetic algorithm, so as to realize high-quality path planning. The application organically combines the evolution space of the genetic algorithm, the cell space of the cell algorithm and the geographical space used for planning, and the characteristics of the path can be directly reflected through the cell state in the cell neighborhood, so that the population in the genetic algorithm can evolve towards the direction of high fitness through the evolution of the cellular automaton, so that the best path can be solved more quickly. BRIEF DESCRIPTION OF DRAWINGS
[0057] In order to more clearly illustrate the technical solutions in the embodiments of the application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description only constitute the embodiments of the application, and for those skilled in the art, other drawings can also be obtained without creative labor on the basis of the provided drawings.
[0058] Figure 1 The flow chart of the multi-task path planning method based on the cell genetic algorithm considering population cooperation provided by the application;
[0059] Figure 2 The cell state matrix schematic diagram provided by the application;
[0060] Figure 3 A time coefficient increment and a neighbor cell position relationship schematic diagram provided by the present application;
[0061] Figure 4 A schematic diagram of two paths before and after intersection provided by the present application;
[0062] Figure 5 An evolution schematic diagram of an intersection state provided by the present application;
[0063] Figure 6 A path variation process schematic diagram provided by the present application;
[0064] Figure 7 A path second type variation process schematic diagram provided by the present application. DETAILED DESCRIPTION
[0065] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.
[0066] As Figure 1 , the embodiments of the present application disclose a cell genetic path planning method based on multi-population cooperative adaptability, comprising the following steps:
[0067] S1: constructing a grid map, one grid in the grid map corresponding to one cell; the cell describes path information corresponding to the corresponding grid through a cell state matrix;
[0068] S2: setting the number of sub-populations according to a path planning task;
[0069] S3: initializing populations in the grid map, and generating initial path individuals of multiple sub-populations through cell evolution;
[0070] S3: extracting path individuals with the maximum genetic code fitness in each sub-population as sub-population representative individuals;
[0071] reserving elite individuals according to cooperative fitness, and performing random pairwise pairing operation on the remaining path individuals, adjusting the cell state matrix based on crossover and mutation rules to perform iterative evolution to obtain evolved individuals;
[0072] S4: calculating the cooperative fitness between the sub-population representative individuals, the elite individuals and the evolved individuals and other sub-population individuals, and updating the populations according to the cooperative fitness ranking;
[0073] S5: judging whether the sub-population representative individual satisfies the iteration termination condition in each generation population, and outputting the optimal solution in the population at this time as the path planning result when the iteration termination condition is satisfied.
[0074] In the embodiment, when iteration is performed, two fitness functions need to be confirmed in advance, which are gene coding fitness and population cooperation fitness respectively, the gene coding fitness is used to represent the superiority of individuals in the sub-population, and the population cooperation fitness is used to represent the adaptation between individuals in a sub-population and individuals in other sub-populations.
[0075] In order to further implement the above technical solution, the construction of the environment model and the coding strategy is realized through S1. The grid map is divided into a plurality of rectangular grids as a cell space of a cellular automaton (CA), and a Moore type neighborhood is selected as a cell neighborhood mode, so that the movement in eight directions can be considered during path planning.
[0076] In the cell space, the cells are described by a cell state matrix corresponding to the path information of the corresponding grid. For example, Figure 2 The coding strategy of the cell state matrix is that each column element 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, and the path state includes number, next, prev, cross, pass and obst. Thus, the condition of a path point formed by a path in the current cell is represented by a plurality of path states in a column element.
[0077] Among them:
[0078] 1) number represents the path individual flag; if the number of genetic algorithm populations is N, the value of number starts from 1 and increases by 1 each time until it is equal to the population number N.
[0079] 2) next represents the next cell pointing flag of the current path. In the traditional grid model, the path is represented by an ordered number set, while in the fusion cellular genetic algorithm (FCGA) of the application, the cell state only records the next pointing of the current path, which is equivalent to a "pointer". Therefore, a path is equivalent to a set of cell numbers that the path passes through from the starting point to the ending point. If the value of the next state 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 last cell pointer of the current path. If the prev state value of a path individual in the cell state is 0, it means that the path does not enter the cell. In the path initialization process, in order to avoid the appearance of a "loop" in which a path enters the same cell twice, and in order to be able to handle the case of a dead end, a forward "pointer" is used to record the last cell of the current cell. When a loop or a dead end is encountered, the forward "pointer" is used to back up until the normal state is restored. If the prev state value of a path individual in the cell state is 0, it means that the path does not enter the cell.
[0081] 4) cross represents the cross state flag. Since the evolution rule is limited to the Moore neighborhood, only one gene code can be changed in one step of evolution. The cross process is equivalent to spreading outwards from the intersection, one circle at a time. Therefore, in order to record the cross information of two path individuals, the cross flag bit shown in the fourth row of the cell state matrix is set to distinguish whether the genes of the corresponding parent individuals need to be exchanged. cross = 0 means that the corresponding path individual of the current cell has not been crossed, and cross = 1 means that the corresponding parent individual has been crossed.
[0082] 5) pass represents the passed cell flag. The passed cell should be marked to avoid re-entering the passed cell. 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 through the same cell twice, i.e., a "loop" situation.
[0083] 6) obst represents the obstacle distinguishing flag. In a certain cell, all path individuals share the same obstacle information, so the obstacle state flag can be set to only one, denoted as obst. It is specified 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 at which the path reaches the current cell from the starting cell. A time value of 0 means that the starting point of the path is the current cell or that the path does not pass through the current cell.
[0085] The time coefficient reflects the time when a path passes through a cell, and is the basis for judging whether a collision occurs. Initially, the time coefficient state value of all paths in all cells is set to 0. Based on the fact that the cell state stores complete information of all paths, from the starting point, the next path position is found through the next state value of the corresponding path serial number in the cell until the terminal point is reached. In this process, the time coefficient in the cell state is updated, and the cell time coefficient of the path at each position is the sum of the time coefficient of the previous position cell and the time coefficient increment.
[0086] As Figure 3 , the time coefficient increment is related to the properties of the path grid and the path length. The weight coefficient of the time coefficient increment is set to 1. In the process of moving from one cell to the next cell at the current position of the path, although the 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 upper, lower, left and right four neighbor cells is 1 times the cell edge length, and the time coefficient increment is set to 2; while the distance to the upper left, lower left, upper right and lower right four neighbor cells is times the cell edge length, and the time coefficient increment is set to 3 for easy calculation.
[0087] The information of the population individuals in the FCGA is all stored in the cell state, and each column of the state matrix represents the information of a path in the cell. Taking the dashed box in Figure 3 as an example, assuming that the cell serial number is 22, the following information can be obtained from the cell state value: the obst value is 0, representing that the cell is a free cell and the path can pass through; number = 2, prev = 2, next = 23, cross = 0, pass = 1 indicate that the path individual with serial number 2 comes from the 2nd cell, passes through the 22nd cell, and goes to the 23rd cell, and the 2nd path has not crossed with the paired path, and the 2nd path has passed through the 22nd cell once.
[0088] In order to further implement the above technical scheme, the application proposes an optimization function for multi-path planning of multiple robots for population update in a genetic algorithm. Specifically, for path planning of 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 serial number is an integer from 1 to MN. All path individuals are processed in a continuous numbering manner, the first N individuals belong to sub-population 1, the N+1th to 2Nth individuals belong to sub-population 2, and so on, to obtain the serial number of each individual as follows:
[0089]
[0090] The multi-robot path planning problem takes path length as the optimization objective, and therefore the fitness of the individual gene coding in each colony is:
[0091] f i = 2mn - D i
[0092] wherein m and n represent the row and column number of the grid environment map respectively. D i represents the length of the path with serial number i.
[0093] The inter-colony cooperation fitness fc i of the individual with serial number i is:
[0094] fc i = f i - C(i)
[0095] wherein C(i) represents the collision condition of the individual with other individuals in the colony. In FCGA, the coupling relationship is established between different sub-colonies through the representatives of the respective colonies. C(i) reflects the influence of the individual on other sub-colony representative individuals, and the definition method is the key to the collision avoidance effect of multi-robot path planning.
[0096] Further, the collision penalty function can be used to define C(i) as follows:
[0097]
[0098] wherein c is a constant, NC i represents the total number of collisions of the path with serial number i with other sub-colony representative individuals, RI j represents the representative individual of the sub-colony j, and NCP(a, b) represents the total number of collisions of the paths a and b. The selection method of the representative individual adopts the optimal selection method, that is, the individual with the maximum gene coding fitness value in the sub-colony is selected as the representative individual of the sub-colony. Whether the collision of two paths occurs is not only considered in terms of the spatial position, but also in terms of the time attribute of the path: two paths passing through the same position at the same time are considered to collide. Therefore, the path time coefficient needs to be introduced into the cell state, and the value thereof represents the time when the path passes through the cell. If the time coefficient state values of two paths in a certain cell state are the same and non-zero, it is considered that the two paths collide at the point.
[0099] In order to further implement the above technical scheme, when initializing, M robots correspond to M different starting points and ending points, and the starting point and ending point of the sub-colony r are recorded as begin r and goal rLet r = 1, 2, ..., M. Let the number of individuals in each subpopulation be N, then the set of individual indices in subpopulation r is {(r-1)N+1, (r-1)N+2, ..., (r-1)N+N}. Let the auxiliary matrix be Ball, with the same size as the cell space. Initially, based on the individual indices in different subpopulations, set the starting index begin. r The corresponding Ball(begin) r = [(r-1)N+1,(r-1)N+2,…,(r-1)N+N], where all balls are located at their respective starting points in their subpopulations. Based on 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 integer is set to 0 for all other states.
[0100] Then, cell evolution is performed based on the starting point. During the evolution process, an auxiliary matrix Ball is used to represent the paths with a pass state value of 0 in each cell, i.e., paths that have not passed through the current cell; therefore, the current cell of each ball can be determined using the auxiliary matrix. Each ball chooses a step based on the current cell, that is, when evolving based on the current cell, it is determined whether the states of each path in the neighboring cells of the current cell satisfy the following conditions: the next state is the current cell and the pass state is 0; for paths that satisfy the conditions, it is determined 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] This section introduces a heuristic: the probability of a ball choosing a neighbor in a different direction varies depending on the relative spatial positions of the starting and ending points. Assuming the path planning starts at the top left corner of the map and ends at the bottom right corner, the optimal path, without obstacles, is a straight line from the top left to the bottom right. This special case shows that the probability of each cell choosing its bottom right Moore neighbor is close to 1, while the probabilities for other directions are close to 0. In the general case with obstacles, this approach of allocating different directional probabilities based on the endpoint location information can also improve the ball's efficiency in reaching the endpoint, thereby reducing the total evolution time. The probability of the path moving from the center cell to its neighboring cells is filled into each neighboring cell. When the probability of the path moving to the lower or right neighboring cells is higher, while the probability of moving to the top left or other directions is lower, the path can extend to the bottom right more quickly. When an obstacle is encountered among the neighbors, the probability of the obstacle cell is proportionally distributed to the other non-obstacle cells, ensuring that the proportion of probabilities of choosing other feasible cells remains unchanged.
[0102] When selecting the next position of each ball, not only the influence of the direction probability value is considered, but also the effect of the obst state and the pass state in the current cell neighbors. If the obst state of a neighbor is 1, indicating that it is an obstacle cell, the ball will not choose to enter this cell. If the pass state value of a neighbor corresponding to the ball number is 1, the ball also avoids entering this cell to cause the appearance of the "loop" condition. In general, the neighbor cell with the obst state of 0 and the pass state of 0 is an effective neighbor cell, and the next position loci of the ball is selected according to the size of the corresponding direction probability of the effective neighbor cell. In the current cell state information, the next state corresponding to the ball number is updated, the corresponding pass state is set to 1, 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 goal serial number, the ball is equivalent to not moving, and the state value does not change. When Ball(goal) = [1, 2, 3, …, N], the evolution stops.
[0103] The situation of encountering a dead end in the path generation process is considered. When a ball in a cell has no effective neighbor, i.e., a "dead end" situation occurs, the next state value is set to the current corresponding prev state value, and the pass value corresponding to the path serial number is set to 1. The current cell is regarded as a special obstacle, so that subsequent paths no longer re-enter this cell, causing the continuous occurrence of "dead end" phenomenon. This kind of "special obstacle", i.e., pass = 1 state, is related to the specific path serial number, so that the pass state of a path in a cell will not affect the entry of other paths into this cell. This process is repeated until the path continues to extend along the feasible direction. This process simulates the out-of-stack process of the stack, realizes the path backtracking operation, effectively avoids the abnormal evolution of the cell state caused by encountering a dead end, and indirectly ensures the efficiency of the algorithm because each cell can pass through at most once in the process of generating the path.
[0104] The following is the pseudo code of the evolution rule for initializing the population:
[0105] Table 1 Pseudo code of evolution rule for initializing population of multi-robot path planning
[0106]
[0107]
[0108] In order to further implement the above technical solutions, after obtaining the initial population by initialization, each sub-population in the initial population is iteratively evolved by one step. The iterative evolution process is based on the crossover and mutation rules. The specific steps are as follows:
[0109] Firstly, the evolution based on the crossover rule:
[0110] In the sub-population, individuals are randomly selected for pairwise mating, and the parent pair with the crossover point is screened from the mating results. Since the evolution rule acts on the cell neighborhood, the cell state cross is needed to transmit the information of "whether the crossover has occurred". The cross takes 0 to represent that the path does not cross at this cell grid, and the cross takes 1 to represent that the path has crossed at this cell. Therefore, the cross state can be understood as a state indicating whether the crossover has occurred.
[0111] After confirming the parent with the crossover point, the crossover is performed based on the crossover point. The crossover mode is as shown in Figure 4 Figure 4 The visualization diagram of the crossover between the path with the serial number 1 and the path with the serial number 9. As can be seen from the figure, the rule of the crossover operation is that in the path cell before the crossover point cell, the cell state of the corresponding path does not change; in the crossover point cell, the next state values of the two paired parent paths are exchanged; and in the cell after the intersection, the prev state value and the next state value of the two paired parent paths are exchanged, that is, the evolution dynamics of the path cell before the crossover point cell, the crossover point cell and the path cell after the crossover point are inconsistent.
[0112] In order to solve this problem, after the crossover point positions of each pair of parents are determined, the cell state cross of the corresponding path in the cell passed in sequence is set to 1 from the starting cell, according to the next state value of the corresponding path pointing to the next cell until reaching the corresponding crossover point position (CP); the next state values of the corresponding parents in the crossover point position cell are exchanged, and the cross state position is set to 1; then in the subsequent evolution process, the cell state of the crossover point before and the crossover point itself does not change any more, thereby simplifying the design of the subsequent rule.
[0113] If the cross state bit of the corresponding path serial number of the crossover point position cell is 1, the evolution rule is that each cell detects the serial number of the cross state bit of 1 in the eight neighborhood neighbor cells, if the cross state bit of the corresponding serial number of itself is 0, the prev and next state values of the path corresponding to the cross = 1 number in the neighbor are exchanged, and the cross of the corresponding serial number of itself is set to 1.
[0114] As Figure 5 As shown, since the cellular automaton model of the present application makes the information of cross = 1 "diffuse" one cell in eight directions at each step of evolution, the maximum evolution number MAX is set as follows, max represents the maximum value operation, and m and n represent the number of rows and columns of the cell space respectively. The cell state information after the cross evolution rule is iterated for MAX times must reflect the influence of the cross operation, and the cross operation is completed.
[0115] MAX = max{m-1, n-1}.
[0116] Since the cellular automaton evolution rule acts on the neighborhood, the mutation operator of the present application is a neighborhood mutation operator, that is, the change of the path is limited within the Moore neighborhood of a single mutation point cell. Assuming that the a-th cell is the center cell, if the next state bit of the i-th path on the a-th cell is b, and if the value of the next state bit of the i-th path on the b-th neighbor cell belongs to one of the Moore neighbor cell serial numbers of the a-th center cell, the next state value of the i-th path on the a-th center cell is set to the next state value of the i-th path on the b-th neighbor cell, so that the path directly goes from the a-th cell to the successor cell of the b-th cell.
[0117] The cross stage consists of two parts of preprocessing and cross evolution, and the algorithm pseudo code of the cross stage is shown in Table 2 and Table 3 respectively:
[0118] Table 2 Pseudo code of preprocessing algorithm of cross stage
[0119]
[0120] Table 3 Pseudo code of cross evolution rule
[0121]
[0122] Secondly, the evolution based on the mutation rule:
[0123] The first type of mutation process is: judging whether the mutation probability of the path in the current cell meets the preset condition; if it meets, taking the current cell as the center cell, detecting the next state of each path in the neighbor cell; when there is a first neighbor cell whose next state corresponds to the second neighbor cell of the center cell, updating the next state of the center cell to the serial number of the second neighbor cell.
[0124] For example, Figure 6Figure (a) shows the path of index i around cell 5. Assuming cell 5 satisfies the mutation probability, mutation is performed with cell 5 as the center cell. The next state bit of path i in cell 5 is 6. If the next state bit of neighboring cell i in cell 6 still belongs to one of the Moore neighboring cell indices of cell 5, then the next state value of path i in center cell 5 is set to the next state value of path i in neighboring cell i in cell 6, as shown below. Figure 6 As shown in (b), the effect is that this path leads 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 exhibit the opposite behavior, i.e., the second type of mutation process. If, 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, there exists a cell that path i has not traversed, then a cell satisfying the condition is randomly selected such that the next state value of path i in 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 in the central cell is updated; and the prev value of the cell originally pointed to by the central cell is updated. For example, in crossover and mutation evolution, cell a is used as the central cell. If, in the intersection of the eight neighbor set of cell a and the eight neighbor set of cell b pointed to by the next value of path i, there exists a cell that path i has not traversed, then randomly select a cell c that satisfies the condition, such that the next state value of path i of the center 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 remains the central cell, and the path number remains 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 (e.g., ...) Figure 7In the diagonal cell in (b) in the figure, there is a cell not passed by the i-th path, so a cell satisfying the condition is randomly selected (No. 6 is selected in the figure), so that the next state value of the i-th path in the No. 5 central cell is 6, the next state value of the i-th path in the No. 6 cell is 9, and the prev flag of the i-th path in the No. 9 cell is set to 6, that is, the process of the second type of mutation is implemented. The significance of this type of mutation is that a path passes through a cell that has not been passed through before mutation, so that it can cross with other paths that do not have intersection points, improve population diversity, and thus alleviate premature convergence. At the same time, due to the fitness ranking selection mechanism of the method, the path length of the individual after mutation will not affect the individual with shorter path length before mutation to enter the next generation, and will not cause the loss of the optimal solution in the current population.
[0127] The population updating process includes:
[0128] In each sub-population, the path individual with the maximum genetic coding fitness is extracted, and the remaining individuals after the remaining individuals in the rest of the path individuals are reserved by the elite reservation selection operator are randomly paired. 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 maximum genetic coding fitness, the evolved individual, and the individual reserved by the elite reservation operator. The new sub-population is obtained based on the collaborative fitness ranking. The new population is obtained by traversing each sub-population.
[0129] Wherein, the random pairing is limited within the sub-population, that is, the subsequent crossover is limited to occur between individuals in one population. The elite individuals with the optimal collaborative fitness in the sub-population are selected to directly enter the next generation without crossover and mutation. The other individuals are used as parents for crossover and mutation.
[0130] For the sub-population, the number of offspring individuals generated after crossover and mutation is the same as the number of parents after excluding the elite individuals. All path individuals in the two generations of the sub-population are sorted according to the collaborative fitness, and the individuals with the top 50% collaborative fitness values are selected. The elite individuals selected in the selection stage are added together to form the sub-population of the next generation. Based on the information stored in the cell state matrix, the new cell state matrix is filled.
[0131] Each embodiment in the specification is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between each embodiment can be referred to each other. For the device disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple, and the related parts can be referred to the method part.
[0132] The foregoing description of the disclosed embodiments enables a person skilled in the art to make or use the application. Modifications of these embodiments will occur to persons of skill in the art, and, while certain modifications are discussed, it is desired to be protected in accordance with the spirit and scope of the application. Therefore, the application is not limited to the specific embodiments shown and described, but only by the scope of the appended claims, unless otherwise specified.
Claims
1. A cellular genetic path planning method based on multi-population cooperative adaptability, characterized in that, The method comprises the following steps: constructing a grid map, one grid in the grid map corresponding to one cell; the cell describes path information corresponding to the corresponding grid through a cell state matrix; setting the number of sub-populations according to the path planning task; initializing the population in the grid map, and generating initial path individuals of multiple sub-populations through cell evolution; extracting path individuals with the maximum genetic code fitness in each sub-population as sub-population representative individuals; reserving elite individuals according to cooperative fitness, and performing random pairwise pairing operation on the remaining path individuals, adjusting the cell state matrix based on crossover and mutation rules to perform iterative evolution to obtain evolved individuals; calculating the cooperative fitness between the sub-population representative individuals, the elite individuals and the evolved individuals and other sub-population individuals as new generation sub-population individuals; sorting according to the cooperative fitness, and updating the population; judging whether the sub-population representative individuals in each generation population meet the iteration termination condition, and outputting the optimal solution in the population at this time as the result of path planning when the iteration termination condition is met.
2. The method according to claim 1, wherein, The cell describes path information corresponding to the corresponding grid through a cell state matrix, specifically including: each column in the cell state matrix corresponds to a path point of the corresponding path individual; each row represents a path state of each path individual; the path state includes: number, next, prev, cross, pass, obst and time; wherein, number represents the path individual flag; next represents the next cell pointing flag of the current path, if the next state value of a path individual in the cell state is 0, it indicates that the path does not continue to extend from the 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 indicates that the path does not enter the cell; cross represents the transmission cross state flag, which is used to distinguish whether the genes of the corresponding parent individuals need to be exchanged, cross=0 indicates that the corresponding path individual of the current cell has not been crossed, and cross=1 indicates that the corresponding parent individual has been crossed; pass represents the passed cell flag, if the pass value of the i-th path is 0, it indicates that the i-th path has not passed through the current cell; if the pass value of the i-th path is 1, it indicates that the i-th path has passed through the current cell; obst represents the obstacle distinguishing flag, if the obst value is 0, it indicates that the current cell is a free grid cell; if the obst value is 1, it indicates that the current cell is an obstacle cell; time represents the time coefficient state, which is used to represent the time from the starting point to the current cell.
3. The method according to claim 2, wherein, The steps further include: before initializing the population, initializing the environment according to the working environment, and setting the obst in the corresponding cell of the corresponding grid to 1.
4. The method according to claim 1 or 3, wherein, The population initialization specifically includes: Let there be M sub-populations, corresponding to M different starting points and ending points, denoted as begin r , goal r , r = 1, 2, …, M, and let the number of individuals in each sub-population be N, then the individual number set in sub-population r is {(r-1)N+1, (r-1)N+2, …, (r-1)N+N}; fill the number state row in each cell state matrix into the individual number, and the rest of the states are all 0; performing cell evolution based on the starting point; setting the pass state of each cell to 0 in the auxiliary matrix; updating the auxiliary matrix, each cell checking whether the vector corresponding to the cell number in the auxiliary matrix is empty, if not, selecting the next position of each element in the vector for the path corresponding to the element, updating the value of the next state indicated by the corresponding number; for each cell, judging whether the state of each path in the neighbor cell of the current cell satisfies the following condition: the next state is the current cell and the pass state is 0; for the path satisfying the condition, judging whether the prev state of the path in the current cell is 0, if yes, updating the prev state of the path in the current cell to the corresponding neighbor cell, and updating the pass state of the path in the corresponding neighbor cell to 1.
5. The method according to claim 4, wherein, The cell evolution process further comprises: The current cell judges the dead end condition according to the obs state and the prev state of the neighbor cell. For the dead end condition, the prev value of the corresponding path in the current cell is rolled back, and the cells passed through by the rollback are updated to obstacle cells.
6. The method according to claim 1, wherein, The iteration evolution of the cell state matrix based on the crossover and mutation rules comprises: The evolution based on the crossover rule is: According to the pairing result, the pairing with the crossover point in the parent is extracted by preprocessing, and the cross state of the corresponding parent path in the cell state matrix of the cell passed through before the path crossover point is set to 1. The next state value of the corresponding parent in the path crossover point position cell is exchanged, and the cross state position is exchanged. A cell detects the number with the cross state bit of 1 in its eight neighbor cells, if the cross state bit of the corresponding number of itself is 0, the prev and next state values of the path corresponding to the number with cross = 1 in the neighbor are exchanged, and the cross of the corresponding number of itself is set to 1. The evolution based on the mutation rule is: Judging whether the mutation probability of the path in the current cell satisfies the preset condition; if yes, taking the current cell as the center cell, detecting the next state of each path in the neighbor cell; 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 number of the second neighbor cell.
7. The method according to claim 6, wherein, The evolution based on the mutation rule further comprises: If there is a cell not passed through by the i-th path 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 the i-th path, a cell satisfying the condition is randomly selected, so that the next state value of the i-th path in the randomly selected cell is updated to the next state value of the i-th path in the center cell, and correspondingly, the next state value of the i-th path in the center cell is updated; the prev value of the originally pointed cell of the center cell is updated.
8. The method according to claim 1, wherein, The calculation formula of the gene coding fitness is: f i = 2mn - D i where D i denotes the length of the path with index i, and m and n denote the number of rows and columns of the grid-based environment map, respectively.
9. The method according to claim 1 or 8, wherein, The calculation formula of the cooperative fitness is: fc i = f i - C(i) Wherein, C(i) is a collision penalty function, representing the collision of the individual with other individuals in the subpopulation.
10. The method according to claim 9, wherein, The collision penalty function is: where c is a constant, NC i The total number of collisions between the representative individual of path i and the other representative individuals of the subpopulations, R j 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