An unmanned node cooperation method and system based on a cooperative coevolution algorithm
By optimizing unmanned node path planning using a cooperative co-evolutionary algorithm, the problem of finding the global optimal solution in multi-node path collaborative optimization is solved, achieving efficient and accurate path collaboration and avoiding local optima and computational complexity.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-09
- Publication Date
- 2026-03-31
AI Technical Summary
Existing technologies struggle to find the global optimal solution in a vast search space during multi-unmanned node path collaborative optimization, and are prone to getting trapped in local optima, resulting in high computational time complexity and difficulty in achieving efficient path planning.
A cooperative co-evolutionary algorithm is adopted. By initializing each subpopulation, merging random and optimal decision vectors for genetic evolution, and combining evaluation functions such as path distance, obstacle collision and path conflict, fitness values are selected and iterative optimization is performed to finally output the path planning of unmanned nodes.
It improves the algorithm's solution accuracy and global search capability, reduces computational load and result randomness, realizes global path collaboration among multiple unmanned nodes, and obtains a better path scheme.
Smart Images

Figure CN115293430B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of unmanned systems technology, specifically relating to an unmanned node collaboration method and system based on a cooperative co-evolutionary algorithm. Background Technology
[0002] With the development of edge computing and artificial intelligence, unmanned system technology is being applied more and more widely. While technologies related to individual unmanned nodes have matured in practical applications, the collaborative applications between multiple unmanned nodes are receiving increasing attention. Multi-node path collaboration refers to planning an optimal or near-optimal path for each node in a scenario with a specified start and end point and several obstacles. This path avoids conflicts with obstacles and the paths of other nodes, achieving global collaboration. Reasonable path planning is a crucial part of unmanned systems, and the quality of the paths directly impacts the efficiency of the entire system.
[0003] Similar to other optimization problems, solutions to path co-optimization problems can be divided into two main categories: traditional methods and heuristic methods. Generally, traditional methods struggle to find the optimal solution when solving complex optimization problems with large search spaces. In the case of global planning, their execution time increases exponentially with the problem size. Heuristic methods, on the other hand, provide an intelligent search scheme that can significantly reduce execution time.
[0004] Commonly used heuristic search methods include evolutionary algorithms. Evolutionary algorithms, with their natural selection and survival-of-the-fittest characteristics, can search a vast search space towards the optimal solution. Co-evolutionary algorithms, which simulate the mutual evolutionary process among multiple species in nature, are an evolutionary method for solving optimization problems. They decompose a complex problem into several subproblems, which are assigned to several subpopulations for parallel evolution. Each individual in each subpopulation represents a part of the solution to the overall problem. Co-evolutionary algorithms can be divided into two categories based on the relationships between the subpopulations: cooperative co-evolutionary algorithms and competitive co-evolutionary algorithms. In cooperative co-evolutionary algorithms, the fitness of an individual is evaluated and calculated through cooperative behavior with individuals in other subpopulations. That is, each subpopulation evolves independently and is evaluated cooperatively; the complete solution is formed by merging the solutions from each subpopulation. The design of cooperative co-evolutionary algorithms mainly includes the evolutionary methods of the subpopulations, the cooperative methods between the subpopulations, and the calculation of the fitness of evolving individuals. Employing an effective evolutionary approach to subproblems is crucial for comprehensively searching their solution space and maximizing the algorithm's optimization performance. The cooperative dynamics among subpopulations focus on selecting representative individuals for evaluation; an effective selection method prevents premature convergence and avoids generating local optima. The fitness calculation of evolved individuals is closely related to the cooperative dynamics among subpopulations. After representative individuals are selected, employing effective strategies to allocate fitness values improves the algorithm's accuracy, better preserves elite individuals, and maintains the algorithm's superior performance. Summary of the Invention
[0005] Based on the aforementioned shortcomings and deficiencies in the prior art, one of the objectives of this invention is to at least solve one or more of the aforementioned problems in the prior art. In other words, one of the objectives of this invention is to provide an unmanned node collaboration method and system based on a cooperative co-evolutionary algorithm that meets one or more of the aforementioned requirements.
[0006] To achieve the above-mentioned objectives, the present invention adopts the following technical solution:
[0007] A method for unmanned node collaboration based on a cooperative co-evolutionary algorithm includes the following steps:
[0008] S1. Collect environmental data, including obstacle information and the path start and end points of each unmanned node;
[0009] S2. Initialize the parameters of the cooperative co-evolutionary algorithm and each subgroup; each subgroup corresponds one-to-one with an unmanned node, representing the path set of the unmanned node; each subgroup includes N individuals, each representing a path solution for the unmanned node; N is a positive integer;
[0010] S3. Randomly select representative individuals from each subgroup and merge them to obtain a random decision vector;
[0011] Select the best individual from each subgroup and merge them to obtain the optimal decision vector;
[0012] S4. Perform genetic evolution operations on each subpopulation to obtain new individuals for each subpopulation;
[0013] S5. Use the random decision vector and the optimal decision vector to perform cooperative evaluation on each individual to be evaluated in all subgroups to obtain fitness values. Select the fitness value with the smaller fitness value as the fitness value of the individual to be evaluated. Sort the individuals in the same subgroup according to the fitness value from small to large in order to select the target number of individuals to form a new subgroup. Then go to step S3 for iteration.
[0014] S6. Determine if the number of iterations has reached the target number of iterations; if not, continue iterating; if yes, output the current optimal decision vector to obtain the path planning for each unmanned node.
[0015] As a preferred embodiment, in step S2, the parameters of the cooperative co-evolutionary algorithm include: chromosome length, number of subpopulations, number of iteration targets, mutation probability, and crossover probability;
[0016] The number of subgroups M is the same as the number of unmanned nodes.
[0017] As a preferred embodiment, the chromosome length is 10, the number of subpopulations is 50, the crossover probability is 0.5, the mutation probability is 0.6, and the target number of iterations is 200.
[0018] As a preferred embodiment, in step S4, the survival rate of the parent individual is set, and the survival rate of the parent individual is not greater than N.
[0019] As a preferred embodiment, in step S5, a target number of individuals are selected based on the survival rate of the parent individuals.
[0020] As a preferred embodiment, in step S5, let the individual to be evaluated be p, and the evaluation function be:
[0021] f(p) = w d d(p)+w t t(p)+w c c(p)
[0022] Where d(p) is the path distance corresponding to the individual to be evaluated, t(p) is the number of road segments where the path corresponding to the individual to be evaluated collides with obstacles, and c(p) is the number of road segments where the path corresponding to the individual to be evaluated conflicts with the paths of other unmanned nodes; w d wt w c Each represents its respective weight;
[0023] The number of path points contained in individual p is obtained based on the chromosome length. Let individual p contain n path points and n-1 road segments.
[0024]
[0025] Among them, (x i y i () represents the coordinates of path point i;
[0026] The smaller the value of f(p), the better the path of the individual being evaluated.
[0027] As a preferred embodiment, the w d w t w c The values are 1, 20, and 20 respectively.
[0028] As a preferred embodiment, in step S5, the individual to be evaluated is the j-th individual in the i-th subgroup;
[0029] The fitness value distributions obtained based on the random decision vector and the optimal decision vector are f, respectively. r and f b ;
[0030] If f r Greater than f b Then choose f b The fitness value of the individual to be evaluated;
[0031] If f r Not greater than f b Then choose f r The fitness value of the individual to be evaluated.
[0032] This invention also provides an unmanned node cooperative system based on a cooperative co-evolutionary algorithm, applying the unmanned node cooperative method described in any of the preceding schemes, wherein the unmanned node cooperative system includes:
[0033] The data acquisition module is used to collect environmental data, including obstacle information and the path start and end points of each unmanned node.
[0034] The initialization module is used to initialize the parameters of the cooperative co-evolutionary algorithm and each subgroup; each subgroup corresponds one-to-one with an unmanned node and represents the path set of the unmanned node; each subgroup includes N individuals, each representing a path solution for the unmanned node; N is a positive integer;
[0035] The selection module is used to randomly select representative individuals from each subgroup and merge them to obtain a random decision vector; it is also used to select the optimal individual from each subgroup and merge them to obtain the optimal decision vector.
[0036] The genetic evolution module is used to perform genetic evolution operations on each subpopulation to obtain new individuals for each subpopulation.
[0037] The evaluation module is used to perform cooperative evaluation of each individual to be evaluated in all subgroups using random decision vectors and optimal decision vectors respectively to obtain fitness values, and selects the fitness value with the smaller fitness value as the fitness value of the individual to be evaluated.
[0038] The sorting module is used to sort individuals within the same subgroup according to their fitness values from smallest to largest in order to select a target number of individuals to form a new subgroup.
[0039] The iteration module is used to perform iteration operations;
[0040] The judgment module is used to determine whether the number of iterations has reached the target number of iterations;
[0041] The output module is used to output the current optimal decision vector to obtain the path planning for each unmanned node.
[0042] Compared with the prior art, the beneficial effects of this invention are:
[0043] This invention effectively leverages the global search capability of the co-evolutionary algorithm by improving the selection of decision vectors and optimizing the genetic operation process. It searches for globally optimal solutions across the vast solution space, achieving excellent global path collaboration among multiple unmanned nodes. The use of optimal individuals for local search allows for a precise search for possible optimal solutions near globally optimal solutions, thus improving the algorithm's accuracy. Furthermore, the introduction of random individuals into the evaluation process maintains the diversity of the subpopulation, avoids local optima problems that may arise from optimal strategies, and reduces the randomness of results while controlling computational load, ultimately leading to better collaborative path schemes. Attached Figure Description
[0044] Figure 1 This is a flowchart of the cooperative co-evolutionary algorithm according to an embodiment of the present invention;
[0045] Figure 2 This is an example diagram showing the individual representations and corresponding encodings of embodiments of the present invention;
[0046] Figure 3 This is a schematic diagram of the cross operation according to an embodiment of the present invention;
[0047] Figure 4 This is a schematic diagram of the variation operation in an embodiment of the present invention;
[0048] Figure 5 This is a flowchart illustrating population individual evaluation in an embodiment of the present invention. Detailed Implementation
[0049] To more clearly illustrate the embodiments of the present invention, specific implementation methods will be described below with reference to the accompanying drawings. Obviously, the drawings described below are merely some embodiments of the present invention. For those skilled in the art, other drawings and other implementation methods can be obtained based on these drawings without any creative effort.
[0050] like Figure 1 As shown, the unmanned node collaboration method based on a cooperative co-evolutionary algorithm according to an embodiment of the present invention includes the following steps:
[0051] 1. Collect environmental data, including obstacle information and the path start and end points of each unmanned node;
[0052] Specifically, a grid-based environment space representation method is adopted. The motion environment of a node is a two-dimensional workspace, obstacles are rectangles, represented by absolute coordinates, and each node is considered to be the size of a point and occupies only one grid, with the grid space set to 20*20. The basic data of the input problem includes the number of nodes (3), the number of obstacles (4), and the start and end position information of the nodes.
[0053] 2. Initialize the parameters and subgroups of the cooperative co-evolutionary algorithm; each subgroup corresponds one-to-one with an unmanned node, representing the path set of the unmanned node; each subgroup includes N individuals, each representing a path solution for the unmanned node; N is a positive integer;
[0054] Specifically, the parameters of the cooperative co-evolutionary algorithm include: chromosome length, number of subpopulations, number of iterations, mutation probability, and crossover probability; in addition, the number of subpopulations M is the same as the number of unmanned nodes.
[0055] As an example, the chromosome length is m=10, the population size (i.e., the number of subpopulations) is N=50, the crossover probability is 0.5, the mutation probability is 0.6, the number of evolutions (i.e. the number of iterations of the target) is 200, the number of individuals selected in the decision vector is 2, and the iteration counter is set to count=0.
[0056] 3. Initialize each population.
[0057] The chromosome representation of an individual is as follows Figure 2 As shown, a fixed-length integer encoding method is used, consisting of 10 decimal digits. Each digit represents the corresponding grid number, and each individual represents a possible path solution for that node. Random initial populations corresponding to 3 nodes are generated in sequence.
[0058] Let the individual be a vector Vector[m]. During the initialization process, based on the start and end information of each node obtained in step 1, different first and last grid numbers are set for each population, and the remaining positions are filled according to the following rules:
[0059] Vector[i] = x[i] + y[i] * 20
[0060] Where i = 1, 2, ..., m-2; x and y are sequentially arranged horizontal and vertical coordinate vectors, respectively, and the element values of x and y are randomly generated and are within the horizontal and vertical coordinate ranges of the starting and ending points, respectively.
[0061] For example, an individual with a starting point (0, 0) and an ending point (19, 19) can be represented as (0, 41, 83, 144, 185, 246, 287, 311, 355, 399), with x = (0, 1, 3, 4, 5, 6, 7, 11, 15, 19) and y = (0, 2, 4, 7, 9, 12, 14, 15, 17, 19). The corresponding path is as follows: Figure 2 As shown. Each initial population contains N = 50 random individuals.
[0062] 4. Selection of representative individuals
[0063] Before the first evolution, a random selection strategy is used to select individuals from each subpopulation, and the selected individuals are merged into a decision vector called collaboration.
[0064] During the evolutionary process, after each population evaluation and ranking, the best individual from each subpopulation is selected and merged into the best decision vector, bestCollaboration, which also represents the current optimal solution. Random individuals from each subpopulation are also selected and merged into a random decision vector, randomCollaboration. These decision vectors are used in step 6 to calculate the cooperative evaluation of individuals within the population.
[0065] 5. Each population performs genetic evolution operations.
[0066] Set the parent survival rate (parentSurviveCount) to be less than or equal to the population size N. Based on the individual survival rate, select the best evolved individuals from the sorted population, and then perform crossover and mutation operations to generate new individuals. After each evolution is completed, increment count by 1.
[0067] In the parent population, two individuals are selected sequentially. A random decimal is generated. If the random decimal is less than the crossover probability, the two parents are crossovered. For example... Figure 3As shown, a single-point crossover method is used. First, a random index is generated, and the two parent chromosomes are swapped at this index. After the swap, the chromosome order may be reversed, so the chromosomes need to be sorted. After the crossover is completed, two new individuals are generated.
[0068] After crossover, a mutation operation is performed on the two new individuals. A random decimal is generated; if this decimal is less than the mutation probability, the individual is mutated. For example... Figure 4 As shown, a basic bit mutation method is used to generate a random index. The gene value at this index is then replaced with another random gene value, and the genes are reordered. A new individual is generated after the mutation.
[0069] 6. Evaluation and ranking of cooperation among individuals in the new population
[0070] Each individual in the new population generated in step 5 undergoes a cooperative evaluation. Before evaluation, two decision vectors are first set, and then the individual's gene sequence is decoded into a sequence of coordinate points corresponding to the path. In this invention, the factors determining the evaluation function are the path length, the collision situation between the path and obstacles, and the conflict situation between the path and other paths. Assuming the individual to be evaluated is p, the evaluation function can be defined as:
[0071] f(p) = w d d(p)+w t t(p)+w c c(p)
[0072] Where d(p) is the path distance, t(p) is the number of road segments that collide with obstacles, and c(p) is the number of road segments that conflict with other paths; w d w t w c These represent the weights of the three factors. From this definition, it can be seen that the smaller the value of f, the lower the individual's fitness, and the better the individual's performance on the corresponding path.
[0073] The number of path points contained in path p can be obtained from the chromosome length. Let path p contain n path points and n-1 road segments, then d(p) can be defined as:
[0074]
[0075] Among them, (x i y i Let be the coordinates of path point i; let t(p) be defined as the number of road segments where path p collides with obstacles, i.e., the number of infeasible road segments; let c(p) be defined as the number of points where path p conflicts with other paths. Here, w... d w t w cSet them to 1, 20, and 20 respectively.
[0076] Furthermore, c(p) is calculated using the decision vector obtained in step 4.
[0077] like Figure 5 As shown, let the population to be evaluated be A, and the individuals in A are evaluated sequentially. Let the random decision vector at this time be randomCollaboration = (r1, r2, r3), and the optimal decision vector be bestCollaboration = (b1, b2, b3). Let the individual to be evaluated in a certain instance be p. i,j The fitness value f obtained by calculating the random decision vector. r :
[0078] f r (p i,j )=f(r1,...,r i-1 p i,j r i+1 , ..., r3)
[0079] The fitness value f obtained by calculating the optimal decision vector b :
[0080] f b (p i,j ) = f(b1, ..., b i-1 p i,j b i+1 b3)
[0081] Where i = 1, 2, 3; j = 1, 2, ..., 50; p i,j Let f represent the j-th individual in the i-th population. Then compare f. r and f b If f r Less than f b If the fitness value is not optimal, the fitness value calculated using the random decision vector is selected as the fitness value for that individual; otherwise, the fitness value calculated using the optimal decision vector is selected as the fitness value for that individual. Finally, after calculating the fitness values of all individuals in population A, the individuals in population A are sorted according to these fitness values to select a target number of individuals to form a new subpopulation, and then the process is iterated.
[0082] 7. Update the random decision vector
[0083] In each new population, a path individual is randomly selected to form a new random decision vector, which replaces the old random decision vector and is used in the next evolution.
[0084] 8. Update the optimal decision vector
[0085] In each new population, the optimal path individual is selected to form a new optimal decision vector, which replaces the old random decision vector and is used in the next evolution.
[0086] 9. Determine whether the target conditions are met.
[0087] Determine if count has reached the set number of evolutions. If not, proceed to step 5. If the maximum number of evolutions has been reached, the algorithm terminates, outputs the current optimal decision vector, and draws a path graph to represent the collaborative planning path.
[0088] Corresponding to the unmanned node collaboration method based on a cooperative co-evolutionary algorithm in this invention, this invention also provides an unmanned node collaboration system based on a cooperative co-evolutionary algorithm, including:
[0089] The data acquisition module is used to collect environmental data, including obstacle information and the path start and end points of each unmanned node.
[0090] The initialization module is used to initialize the parameters of the cooperative co-evolutionary algorithm and each subgroup; each subgroup corresponds one-to-one with an unmanned node and represents the path set of the unmanned node; each subgroup includes N individuals, each representing a path solution for the unmanned node; N is a positive integer;
[0091] The selection module is used to randomly select representative individuals from each subgroup and merge them to obtain a random decision vector; it is also used to select the optimal individual from each subgroup and merge them to obtain the optimal decision vector.
[0092] The genetic evolution module is used to perform genetic evolution operations on each subpopulation to obtain new individuals for each subpopulation.
[0093] The evaluation module is used to perform cooperative evaluation of each individual to be evaluated in all subgroups using random decision vectors and optimal decision vectors respectively to obtain fitness values, and selects the fitness value with the smaller fitness value as the fitness value of the individual to be evaluated.
[0094] The sorting module is used to sort individuals within the same subgroup according to their fitness values from smallest to largest in order to select a target number of individuals to form a new subgroup.
[0095] The iteration module is used to perform iteration operations;
[0096] The judgment module is used to determine whether the number of iterations has reached the target number of iterations;
[0097] The output module is used to output the current optimal decision vector to obtain the path planning for each unmanned node.
[0098] The specific execution process of each of the above modules can be found in the detailed description of the unmanned node collaboration method above, and will not be repeated here.
[0099] The above description is merely a detailed explanation of preferred embodiments and principles of the present invention. For those skilled in the art, there may be changes in specific implementation methods based on the ideas provided by the present invention, and these changes should also be considered within the scope of protection of the present invention.
Claims
1. A method for cooperation of unmanned nodes based on a cooperative coevolution algorithm, characterized in that, The method comprises the following steps: S1, collecting environmental data, including obstacle information and path starting points and path ending points of each unmanned node; S2, initializing parameters of the cooperative co-evolutionary algorithm and each sub-population; the sub-populations correspond to the unmanned nodes one by one and represent path sets of the unmanned nodes; each sub-population comprises N individuals, and each individual represents a path solution of the unmanned node; N is a positive integer; S3, randomly selecting representative individuals from each sub-population to obtain a random decision vector; selecting optimal individuals in each sub-population to obtain an optimal decision vector; S4, performing genetic evolution operations on each sub-population to obtain new individuals of each sub-population; S5, using the random decision vector and the optimal decision vector to cooperatively evaluate each to-be-evaluated individual in all sub-populations to obtain a fitness value, selecting a relatively smaller fitness value as the fitness value of the to-be-evaluated individual, and sorting the individuals in the same sub-population in ascending order of the fitness value to select a target number of individuals to form a new sub-population, and then proceeding to step S3 for iteration; In the step S5, the to-be-evaluated individual is p, and the evaluation function is: ; wherein d(p) is the path distance of the individual to be evaluated, t(p) is the number of road segments of the path of the individual to be evaluated colliding with obstacles, and c(p) is the number of road segments of the path of the individual to be evaluated colliding with the paths of other unmanned nodes; w d , w t , w c represent the respective weights. According to the length of the chromosome, the number of path points included in the individual p is obtained, and it is assumed that the individual p includes n path points and n-1 path segments; ; where (x i , y i ) are the coordinates of the path point i; The smaller the value of f(p) is, the better the path of the to-be-evaluated individual is; S6, determining whether the number of iterations reaches a target number of iterations; if not, the iteration is continued; if yes, the current optimal decision vector is output to obtain path planning of each unmanned node. 2.The unmanned node cooperation method based on the cooperative co-evolution algorithm according to claim 1, characterized in that, In the step S2, the parameters of the cooperative co-evolutionary algorithm comprise a chromosome length, a number of sub-populations, a target number of iterations, a mutation probability and a crossover probability. The number of sub-populations M is the same as the number of unmanned nodes.
3. The unmanned node cooperation method based on the cooperative coevolution algorithm according to claim 2, characterized in that, The chromosome length is 10, the number of sub-populations is 50, the crossover probability is 0.5, the mutation probability is 0.6, and the target number of iterations is 200.
4. The unmanned node cooperation method based on the cooperative coevolution algorithm according to claim 2, characterized in that, In the step S4, a parent individual survival rate is set, and the parent individual survival rate is not greater than N.
5. The unmanned node cooperation method based on the cooperative coevolution algorithm according to claim 4, characterized in that, In the step S5, the target number of individuals is selected according to the parent individual survival rate.
6. The unmanned node cooperation method based on the cooperative coevolution algorithm according to claim 1, characterized in that, The w d , w t , w c take values 1, 20, 20, respectively.
7. The unmanned node cooperation method based on the cooperative coevolution algorithm according to claim 1, characterized in that, In the step S5, the to-be-evaluated individual is the jth individual in the ith sub-population. The fitness value distribution based on the random decision vector and the optimal decision vector, respectively, is f r and f b ; if f r is greater than f b , then select f b as the fitness value of the individual to be evaluated; If f r Not greater than f b Then select f r As the fitness value of the individual to be evaluated.
8. An unmanned node cooperation system based on a cooperative co-evolutionary algorithm, applying the unmanned node cooperation method according to any one of claims 1-7, characterized in that, The unmanned node cooperative system comprises: a collection module configured to collect environmental data, including obstacle information and path starting points and path ending points of each unmanned node; an initialization module configured to initialize parameters of the cooperative co-evolutionary algorithm and each sub-population; the sub-populations correspond to the unmanned nodes one by one and represent path sets of the unmanned nodes; each sub-population comprises N individuals, and each individual represents a path solution of the unmanned node; N is a positive integer; a selection module configured to randomly select representative individuals from each sub-population to obtain a random decision vector, and to select optimal individuals in each sub-population to obtain an optimal decision vector; a genetic evolution module configured to perform genetic evolution operations on each sub-population to obtain new individuals of each sub-population; The evaluation module is configured to perform cooperative evaluation on each individual to be evaluated in each sub-population by using the random decision vector and the optimal decision vector respectively to obtain a fitness value, and select a relatively smaller fitness value as the fitness value of the individual to be evaluated; The sorting module is configured to sort the individuals in the same sub-population according to the fitness values from small to large to screen a target number of individuals to form a new sub-population; The iteration module is configured to perform iteration operation; The judgment module is configured to judge whether the iteration number reaches an iteration target number; The output module is configured to output the current optimal decision vector to obtain path planning of each unmanned node.
Citation Information
Patent Citations
Robot path planning method based on combined individual difference evolution
CN106647757A
Spacecraft attitude and orbit collaborative planning method based on chaotic population variation pigeon-inspired optimization (PIO)
CN108919818A