An inertial navigation method and system based on swarm collaborative evolution
Through the inertial navigation method based on group co-evolution and combined with multiple metaheuristic algorithms, the inaccurate angle error problem of the initial alignment of the inertial navigation system is solved, the orientation accuracy and robustness are improved, and it is suitable for complex optimization problems, achieving higher positioning accuracy and universality.
Patent Information
- Application Number
- CN202510661047.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-22
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2045-05-22
AI Technical Summary
The existing inertial navigation systems have large errors in the initial alignment, which affects the orientation and positioning accuracy. It is difficult for a single optimization algorithm to break through limitations, have low accuracy and poor stability, and it is difficult to universally adapt to different types of optimization problems.
The inertial navigation method based on group coevolution is adopted, combined with a variety of metaheuristic algorithms, such as sand cat swarm optimization, sparrow search, spider wasp optimization, particle swarm and Kepler optimization algorithms, and the group coevolution algorithm is synergistically evolved through group coevolution algorithms to form a group coevolution algorithm, and Kalman filtering is used for precise alignment to improve the accuracy of the pose conversion matrix.
It improves the directional accuracy and robustness of inertial navigation, achieves higher positioning accuracy and universality, is suitable for complex optimization problems, and promotes the research progress of metaheuristic algorithms.
Smart Images

Figure CN120176685B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of inertial navigation technology, and in particular to an inertial navigation method and system based on swarm collaborative evolution. Background Art
[0002] Before a vehicle begins navigation, an inertial navigation system must undergo initial alignment to determine the initial values of the navigation parameters: attitude, orientation, velocity, and position. Initial alignment of orientation is particularly critical. Initial alignment of inertial navigation involves finding a reference navigation coordinate system to determine the spatial orientation of the vehicle coordinate system relative to the navigation coordinate system. A commonly used alignment scheme involves coarse alignment using dual-vector attitude determination in a fixed coordinate system, followed by fine alignment using a Kalman filter. However, coarse alignment using dual-vector attitude determination does not fully utilize historical data, resulting in only a relatively rough attitude matrix. This often results in a certain amount of misalignment error, with azimuth misalignment reaching tens of arc minutes, thus compromising the orientation and positioning accuracy of the inertial navigation system. Optimizing the attitude matrix by fully utilizing historical measurement data to minimize misalignment error is crucial for improving initial alignment accuracy and significantly improves positioning accuracy. This is an optimization problem.
[0003] Optimization refers to the process of finding the global optimal solution from multiple feasible solutions with minimal time and computational cost when solving a problem. This has attracted widespread attention in fields such as medicine, healthcare, economics, and technology, as well as in engineering applications such as path planning, parameter identification, and image segmentation. With the emergence of more complex, nonlinear, large-scale, high-dimensional, and constrained problems with incomplete information, solving optimal solutions has become increasingly difficult. In many application scenarios, optimization has become a nondeterministic polynomial (NP-hard) problem. Traditional exact computational methods require exponentially more time and struggle to obtain the global optimal solution. Metaheuristic algorithms, inspired by nature, emerged in the 1980s. As an approximate computational method, metaheuristic algorithms do not require knowledge of the specific characteristics of the problem. Instead, they effectively utilize information within the problem search space and iteratively search for the optimal solution in a relatively short period of time. They offer the advantages of simple computational steps, relatively low computational effort, ease of combining quantitative and qualitative analysis, and strong versatility. In recent years, metaheuristic algorithms have flourished, with a growing number of metaheuristic optimization algorithms designed to simulate natural phenomena or behaviors. These include the genetic algorithm (GA), which mimics biological genetics; the Kepler optimization algorithm (KOA), based on the laws of planetary motion; the particle swarm optimization algorithm (PSO), which mimics the collective behavior of schools of fish or flocks of birds; and the Rich-Poor Optimization algorithm (PRO), based on human efforts to achieve a better life. Hybrid optimization strategies, such as those combining the ant colony optimization algorithm with the genetic algorithm, the particle swarm optimization algorithm with the gray wolf optimization algorithm, and the sparrow search algorithm with the bird flock optimization algorithm, are common, but their improvement in optimization effectiveness is very limited. According to the No Free Lunch Theorem (NFL), each algorithm has its own set of problems that it can efficiently solve, and no single algorithm can solve all problems with the same performance.
[0004] Therefore, how to effectively break through the limitations of a single algorithm model and further improve the accuracy and stability of optimization, especially to be able to universally apply it to solving different types of optimization problems with outstanding performance, is a technical problem that needs to be solved urgently in the current field of optimization algorithms. Summary of the Invention
[0005] The purpose of this application is to provide an inertial navigation method and system based on group collaborative evolution, which can solve the problems of low optimization accuracy, poor stability and difficulty in achieving universality that cannot be overcome when using a single algorithm for optimization and solution, further improve the orientation accuracy and robustness of inertial navigation, and thus improve positioning accuracy.
[0006] To achieve the above objectives, this application provides the following solutions:
[0007] In a first aspect, the present application provides an inertial navigation method based on swarm collaborative evolution, comprising:
[0008] Based on the inertial navigation data, the dual-vector attitude determination algorithm is used to complete the rough alignment in the solidified coordinate system.
[0009] Determine the optimization variables and construct the initial alignment objective function based on the optimization variables;
[0010] The swarm co-evolution algorithm is used to solve the objective function of the initial alignment and obtain the optimal variable group;
[0011] Based on the optimal variable set, the pose transformation matrix obtained by the swarm co-evolution rough alignment method is calculated;
[0012] Based on the attitude transformation matrix, Kalman filtering is used for precise alignment to determine the attitude matrix;
[0013] The carrier enters the navigation state and performs navigation calculation based on the attitude matrix to determine the position coordinates.
[0014] Optionally, the coarse alignment includes determining an attitude conversion matrix of a carrier inertial system and a navigation inertial system.
[0015] Optionally, the posture conversion matrix is:
[0016] ;
[0017] in, is the posture transformation matrix; for Gravity vector in the inertial system of constant navigation; for Gravity vector in the inertial system of constant navigation; for The specific force measurement value vector in the inertial system of the carrier at that moment; for The specific force measurement value vector in the carrier inertial system at that moment.
[0018] Optionally, the objective function is:
[0019] ;
[0020] Where m is the number of non-coplanar vectors measured under static base conditions; is the gravity vector in the i-th navigation inertial system; is the specific force measurement value vector in the inertial system of the i-th carrier.
[0021] Optionally, the method of using a swarm co-evolutionary algorithm to solve the objective function of the initial alignment to obtain an optimal variable set includes:
[0022] Initialize the basic parameters of the swarm co-evolution algorithm; the basic parameters include: target population size Popsize, total iteration threshold IterNum, co-evolution time CENum and annexation time MergerNum;
[0023] Let the number of outer loop iterations j = 1;
[0024] Obtaining N basic algorithms; each of the N basic algorithms is of a different type;
[0025] Let the number of basic algorithms n=N;
[0026] The population is initialized to obtain the initial total population;
[0027] Assign a corresponding initial small population to each basic algorithm from the initial total population;
[0028] Determine the initial performance evaluation quantity of each basic algorithm separately; any initial performance evaluation quantity is obtained by performing preliminary optimization on the basic algorithm using the corresponding initial small population;
[0029] Determine the initial performance evaluation quantity as the performance evaluation quantity corresponding to the basic algorithm at the 0th iteration;
[0030] Expand the population size of the initial total population to the target population size Popsize to obtain the population at the 0th iteration;
[0031] Using the population at the j-1th iteration and the performance evaluation of different basic algorithms at the j-1th iteration, perform N-1 rounds of iterative optimization on the basic algorithm to obtain the optimal basic algorithm at the jth iteration;
[0032] Determine the total number of iterations; ;in is the total number of iterations, u is a variable;
[0033] Determine whether the total number of iterations reaches the total number of iterations threshold IterNum and obtain the judgment result;
[0034] If the judgment result is no, the value of the outer loop iteration number j is increased by 1, and the process returns to the step of "using the population at the j-1th iteration and the performance evaluation amount of different basic algorithms at the j-1th iteration to perform N-1 rounds of iterative optimization on the basic algorithm to obtain the optimal basic algorithm at the jth iteration";
[0035] If the judgment result is yes, then the optimal variable group is determined by determining the individual corresponding to the optimal fitness value in the optimal basic algorithm at the jth iteration.
[0036] Optionally, the basic algorithm is iterated and optimized for N-1 rounds using the population at the j-1th iteration and the performance evaluation indicators of different basic algorithms at the j-1th iteration to obtain the optimal basic algorithm at the jth iteration, including:
[0037] The population at the j-1th iteration is used as the population at the 0th iteration;
[0038] The performance evaluation quantity of different basic algorithms at the j-1th iteration is used as the performance evaluation quantity of different basic algorithms at the 0th iteration;
[0039] Let the number of inner loop iterations q=1;
[0040] Based on the performance evaluation of each basic algorithm at the q-1th iteration, the roulette wheel method is used to determine the number of population allocations for each basic algorithm;
[0041] Based on the population allocation number, determining a small population of each basic algorithm at the q-1th iteration from the population at the q-1th iteration;
[0042] Based on the equal running time mechanism, the small population of each basic algorithm at the q-1th iteration is used to iteratively optimize the corresponding basic algorithm until the number of iterative optimization reaches the co-evolution time CENum;
[0043] Based on the co-evolution mechanism, the fitness values of all individuals are calculated; the fitness values are the objective function values of the initial alignment; the co-evolution mechanism includes: a sharing mechanism, a communication mechanism, and an elimination and recruitment mechanism; the elimination and recruitment mechanism is used to update the small population corresponding to each basic algorithm, and obtain the small population of each basic algorithm at the qth iteration;
[0044] Determine the performance evaluation quantities of n basic algorithms at the qth iteration respectively;
[0045] Determine the set of small populations of n basic algorithms at the qth iteration as the population at the qth iteration;
[0046] Increase the value of the number of iterations q by 1 and return to the step "Based on the performance evaluation of each basic algorithm at the q-1th iteration, use the roulette wheel method to determine the number of populations allocated to each basic algorithm" until the value of the number of iterations q reaches the merger timing MergerNum;
[0047] Arrange the basic algorithms in descending order according to the performance evaluation at the qth iteration;
[0048] The small population corresponding to the nth basic algorithm and the small population corresponding to the first basic algorithm are used as the small population corresponding to the first basic algorithm at the qth iteration after the update;
[0049] Delete the nth basic algorithm and reduce the value of the basic algorithm number n by 1;
[0050] The performance evaluation quantity at the qth iteration is used as the performance evaluation quantity of the corresponding basic algorithm at the 0th iteration;
[0051] The set of small populations corresponding to all basic algorithms at the qth iteration is used as the population at the 0th iteration;
[0052] Return to step "set the number of inner loop iterations q = 1" until the number of basic algorithms n is equal to 1, and obtain the optimal basic algorithm at the j-th iteration;
[0053] Determine the population at the qth iteration as the population at the jth iteration;
[0054] The performance evaluation amount of different basic algorithms at the qth iteration is determined as the performance evaluation amount of different basic algorithms at the jth iteration.
[0055] Optionally, the plurality of basic algorithms include a sand cat swarm optimization algorithm, a sparrow search algorithm, a spider wasp optimization algorithm, a particle swarm optimization algorithm and a Kepler optimization algorithm.
[0056] Optionally, the performance evaluation quantity is:
[0057] ;
[0058] Where, Represents the performance evaluation quantity of the nth basic algorithm; Represents the prior performance index of the nth basic algorithm; Indicates the absolute accuracy index of the nth basic algorithm; Represents the relative accuracy index of the nth basic algorithm; Represents the optimization efficiency index of the nth basic algorithm; Indicates the volatility indicator of the nth basic algorithm; Represents the comprehensive performance index of the nth basic algorithm; and Both represent the model empirical coefficients.
[0059] Optionally, the posture matrix is:
[0060]
[0061] in, For the posture array; is the transformation matrix from the navigation inertial system to the navigation coordinate system at the initial moment; is the transformation matrix of the carrier inertia from the carrier system to the initial moment.
[0062] In a second aspect, the present application provides an inertial navigation system based on swarm collaborative evolution, comprising:
[0063] The coarse alignment module is used to complete the coarse alignment in the solidified coordinate system using the dual-vector attitude determination algorithm based on the inertial navigation data;
[0064] An objective function construction module is used to determine the optimization variables and construct the initial alignment objective function based on the optimization variables;
[0065] The objective function module is used to solve the objective function of the initial alignment using the swarm co-evolution algorithm to obtain the optimal variable group;
[0066] A posture transformation matrix determination module is used to calculate the posture transformation matrix obtained by the group co-evolution rough alignment method based on the optimal variable group;
[0067] The fine alignment module is used to perform fine alignment based on the attitude transformation matrix and use Kalman filtering to determine the attitude matrix;
[0068] The coordinate determination module is used to switch the carrier into the navigation state and perform navigation calculation based on the attitude matrix to complete the determination of the position coordinates.
[0069] According to the specific embodiments provided in this application, this application discloses the following technical effects:
[0070] The present application provides an inertial navigation method and system based on group collaborative evolution. By simulating the competition, collaboration and evolution processes among social groups, a variety of meta-heuristic algorithms are comprehensively used to make them work closely together and evolve together, thereby forming a group collaborative evolution algorithm, which efficiently integrates the advantages of various algorithms; through the cooperation of multiple collaborative evolution mechanisms, the algorithm can effectively jump out of the local optimal solution and achieve accurate convergence, and the algorithm exploration ability and development ability are more balanced. Compared with a single algorithm and other advanced algorithms, the proposed algorithm has significant advantages in convergence accuracy; it integrates the advantages of various basic algorithms and has a certain universality in solving various problems, especially in solving complex optimization problems; it has important reference value for large-scale parallel computing, parameter identification, task planning, decision optimization and other problems, and has effectively promoted the fundamental transformation of meta-heuristic algorithms and the research progress of multi-algorithm collaborative evolution, thereby improving the positioning and orientation accuracy and robustness of inertial navigation. BRIEF DESCRIPTION OF THE DRAWINGS
[0071] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0072] Figure 1 This is a flow chart of an inertial navigation method based on group collaborative evolution in one embodiment of the present application;
[0073] Figure 2 This is a flow chart of a group co-evolution algorithm in one embodiment of the present application;
[0074] Figure 3 This is a first schematic diagram of the optimization result of the test function in one embodiment of the present application;
[0075] Figure 4 This is a second schematic diagram of the optimization result of the test function in one embodiment of the present application;
[0076] Figure 5 This is a third schematic diagram of the optimization result of the test function in one embodiment of the present application;
[0077] Figure 6 This is a fourth schematic diagram of the optimization result of the test function in one embodiment of the present application;
[0078] Figure 7 This is a fitness value evolution curve diagram of the algorithm executed 100 times in one embodiment of the present application. DETAILED DESCRIPTION
[0079] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0080] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0081] Example 1
[0082] like Figure 1 As shown, embodiment 1 provides an inertial navigation method based on group collaborative evolution, including:
[0083] Step 101: Based on the inertial navigation data, a dual-vector attitude determination algorithm is used to complete the coarse alignment in the solidified coordinate system.
[0084] The coarse alignment of the dual vector attitude in the solidified coordinate system is performed based on the inertial navigation data. The coarse alignment in the solidified coordinate system requires the definition of two important inertial coordinate systems. One is the carrier inertial system (b0) at the initial moment, which coincides with the carrier system (b system) at the beginning of the initial alignment. There is no rotation relative to the inertial space afterwards. The attitude array The measurement value of the gyroscope is calculated in real time according to the attitude update algorithm, which is used to represent the transformation relationship between the two coordinate systems; the second is the initial navigation inertial system (n0), which coincides with the navigation coordinate system (n system) at the beginning of the initial alignment, and then there is no rotation relative to the inertial space. The n system rotates with a fixed axis relative to the n0 system. It can be calculated in real time based on the angular velocity of the earth's rotation. Therefore, the key to the initial rough alignment method in the solidified coordinate system is to solve the azimuth relationship between the b0 system and the n0 system, that is, the constant matrix .
[0085] Gravity vector in n0 system and its specific force measurement vector in b0 system It can be directly obtained by measurement or calculation. The two vectors at the half-alignment time t1 and the end-alignment time t2 are obtained. Two matrix equations are established respectively. Then the dual-vector attitude determination algorithm can be used to solve the attitude conversion matrix. ,Right now
[0086] .
[0087] in, is the posture transformation matrix. for The gravity vector in the inertial system of constant navigation. for The gravity vector in the inertial system of constant navigation. for The specific force measurement value vector in the carrier inertial system at that moment. for The specific force measurement value vector in the carrier inertial system at that moment.
[0088] Step 102: Determine optimization variables and construct an initial alignment objective function based on the optimization variables.
[0089] Determine the optimization variables and construct the objective function of initial alignment. The optimization variables are the attitude angle The pitch angle α, roll angle β and azimuth angle γ are because the attitude angle With posture array Using attitude angles as optimization variables in a one-to-one correspondence allows for fewer parameters. The coarse alignment accuracy, σ1, can reach 5° for horizontal alignment and 2° for azimuth alignment. This process establishes a rough range for the optimization variables, using the resulting attitude angle plus or minus three times σi (i = 1, 2) as the optimization space for the variables.
[0090] Assume that m non-coplanar vectors are measured under static base conditions. These vectors are measured in the n0 system and the b0 system. Due to the existence of measurement errors, the following relationship is approximately satisfied:
[0091] .
[0092] Where, the attitude transformation matrix By optimizing variables 、 and The difference between the two sides of the equal sign reflects the inconsistency error of the same physical vector in the two coordinate systems. In order to quantitatively describe the "optimal" performance, the objective function is constructed as follows:
[0093] .
[0094] Where m is the number of non-coplanar vectors measured under static base conditions. is the gravity vector in the i-th navigation inertial system. is the specific force measurement value vector in the inertial system of the i-th carrier.
[0095] Step 103: Utilize the swarm co-evolution algorithm to solve the objective function of the initial alignment and obtain the optimal variable group.
[0096] Step 103 includes:
[0097] Step 103-1: Initialize the basic parameters of the swarm co-evolution algorithm, including the target population size Popsize, the total iteration threshold IterNum, the co-evolution time CENum, and the annexation time MergerNum.
[0098] Step 103-2: Set the number of outer loop iterations j=1.
[0099] Step 103-3: Obtain N basic algorithms. The N basic algorithms are of different types. The multiple basic algorithms include a sand cat swarm optimization algorithm, a sparrow search algorithm, a spider wasp optimization algorithm, a particle swarm optimization algorithm, and a Kepler optimization algorithm.
[0100] Step 103-4: Let the number of basic algorithms n=N.
[0101] Step 103-5: Initialize the population to obtain the initial total population.
[0102] Step 103-6: Allocate a corresponding initial small population to each basic algorithm from the initial total population.
[0103] Step 103-7: Determine the initial performance evaluation quantity for each basic algorithm. Any initial performance evaluation quantity is obtained by performing a preliminary optimization on the basic algorithm using the corresponding initial small population. The performance evaluation quantity is:
[0104] .
[0105] Where, Represents the performance evaluation quantity of the nth basic algorithm. Represents the prior performance indicator of the nth basic algorithm. Indicates the absolute accuracy index of the nth basic algorithm. Represents the relative accuracy index of the nth basic algorithm. Represents the optimization efficiency index of the nth basic algorithm. Indicates the volatility indicator of the nth base algorithm. Represents the comprehensive performance index of the nth basic algorithm. and Both represent the model empirical coefficients.
[0106] Step 103-8: Determine the initial performance evaluation value as the performance evaluation value of the corresponding basic algorithm at the 0th iteration.
[0107] Step 103-9: Expand the population size of the initial total population to the target population size Popsize to obtain the population at the 0th iteration.
[0108] Step 103-10: Use the population at the j-1th iteration and the performance evaluation indicators of different basic algorithms at the j-1th iteration to perform N-1 rounds of iterative optimization on the basic algorithm to obtain the optimal basic algorithm at the jth iteration.
[0109] Step 103-11: Determine the total number of iterations. .in is the total number of iterations, and u is a variable.
[0110] Step 103-12: Determine whether the total number of iterations reaches the total number of iterations threshold IterNum, and obtain a determination result.
[0111] Step 103-13: If the judgment result is no, the value of the outer loop iteration number j is increased by 1, and the process returns to step 103-10.
[0112] Step 103-14: If the judgment result is yes, determine the optimal variable group corresponding to the individual with the optimal fitness value in the optimal basic algorithm at the jth iteration.
[0113] Step 103-10 includes:
[0114] Step 103-10-1: Use the population at the j-1th iteration as the population at the 0th iteration.
[0115] Step 103-10-2: The performance evaluation values of different basic algorithms at the j-1th iteration are used as the performance evaluation values of different basic algorithms at the 0th iteration.
[0116] Step 103-10-3: Set the number of inner loop iterations q=1.
[0117] Step 103-10-4: Based on the performance evaluation of each basic algorithm at the q-1th iteration, the number of population allocations for each basic algorithm is determined using the roulette wheel method.
[0118] Step 103-10-5: Based on the number of population allocations, determine the small population of each basic algorithm at the q-1th iteration from the population at the q-1th iteration.
[0119] Step 103-10-6: Based on the equal running time mechanism, the small population of each basic algorithm at the q-1th iteration is used to iteratively optimize the corresponding basic algorithm until the number of iterative optimizations reaches the co-evolution time CENum.
[0120] Step 103-10-7: Based on the co-evolution mechanism, calculate the fitness values of all individuals. The fitness value is the value of the initial alignment objective function. The co-evolution mechanism includes: sharing mechanism, communication mechanism, and elimination and recruitment mechanism. The elimination and recruitment mechanism is used to update the small population assigned to each basic algorithm, resulting in the small population of each basic algorithm at the qth iteration.
[0121] Step 103-10-8: Determine the performance evaluation quantities of the n basic algorithms at the qth iteration respectively.
[0122] Step 103-10-9: Determine the set of small populations of n basic algorithms at the qth iteration as the population at the qth iteration.
[0123] Step 103-10-10: Increase the value of the iteration number q by 1, and return to step 103-10-4 until the value of the iteration number q reaches the merge timing MergerNum.
[0124] Step 103-10-12: Arrange the basic algorithms in descending order according to the performance evaluation value at the qth iteration.
[0125] Step 103-10-13: The small population corresponding to the nth basic algorithm and the small population corresponding to the first basic algorithm are used as the small population corresponding to the first basic algorithm in the qth iteration after the update.
[0126] Step 103-10-14: Delete the nth basic algorithm and reduce the value of the number of basic algorithms n by 1.
[0127] Step 103-10-15: The performance evaluation value at the qth iteration is used as the performance evaluation value of the corresponding basic algorithm at the 0th iteration.
[0128] Step 103-10-16: The set of small populations corresponding to all basic algorithms at the qth iteration is used as the population at the 0th iteration.
[0129] Step 103-10-17: Return to step “set the number of inner loop iterations q=1” until the number of basic algorithms n is equal to 1, and obtain the optimal basic algorithm at the j-th iteration.
[0130] Step 103-10-18: Determine the population at the qth iteration as the population at the jth iteration.
[0131] Step 103-10-19: Determine the performance evaluation amount of the different basic algorithms at the qth iteration as the performance evaluation amount of the different basic algorithms at the jth iteration.
[0132] Step 104: Based on the optimal variable group, calculate the attitude transformation matrix obtained by the group co-evolution rough alignment method. The attitude matrix is:
[0133] .
[0134] in, For the posture array. It is the transformation matrix from the navigation inertial system to the navigation coordinate system at the initial moment. is the transformation matrix from the carrier system to the carrier inertial system at the initial moment.
[0135] Step 105: Based on the attitude conversion matrix, Kalman filtering is used to perform fine alignment to determine the attitude matrix.
[0136] Step 106: The carrier enters the navigation state and performs navigation calculation based on the attitude matrix to complete the determination of the position coordinates.
[0137] Coevolution is a crucial phenomenon, both from the perspective of natural science and social science. As human society evolves, it increasingly emphasizes coevolution based on shared interests, moving away from individual interests. This includes information sharing, team reorganization, individual mobilization, and recruitment within a group; information exchange, team collaboration, assessment, and competition between groups; and the selection and allocation of resources to dominant groups by the market environment. The Swarm Coevolutionary Algorithm (SCEA) is based on a variety of basic optimization algorithms and designs five coevolutionary mechanisms: sharing and communication, assessment and evaluation, selection and allocation, recruitment, and recruitment; and recruitment and monopoly. The specific approach is as follows: a basic optimization algorithm is selected and its parameters initialized. A small, low-order pre-optimization search is performed to provide a basis for algorithm evaluation and population allocation. Each basic algorithm then performs iterative optimization. When a coevolutionary opportunity is reached, the sharing, communication, and recruitment mechanisms are sequentially executed. The algorithms and population allocation are re-evaluated based on the optimization results. When the merger opportunity is reached, the algorithms are merged until the maximum number of iterations is reached, resulting in a global optimal solution. This algorithm realizes the efficient fusion and co-evolution of multiple algorithms, making it more outstanding in optimization accuracy, stability and universality.
[0138] like Figure 2 , the swarm co-evolution algorithm includes:
[0139] Step 1: Initialization; initialize the model parameters of the selected basic algorithm and define the basic parameters of the swarm co-evolution algorithm.
[0140] Step 2: Population initialization; determine the dimensions and upper and lower bounds of the feasible solution based on the problem to be optimized, and randomly generate some feasible solutions in the search space.
[0141] Step 3: Preliminary optimization; pre-assign the same initial small population to each basic algorithm, perform preliminary optimization several times, evaluate the performance of the basic algorithm through assessment and evaluation, and provide a priori probability and population allocation basis for in-depth iterative optimization.
[0142] Step 4: Iterative optimization; expand the population to Popsize, and assign each basic algorithm its own initial population based on the algorithm's performance evaluation, and then perform in-depth iterative optimization according to the equal running time mechanism. When the time for co-evolution is reached, co-evolution mechanisms such as sharing, communication, and elimination and recruitment are executed. After calculating the individual fitness value, the performance of the algorithm is re-evaluated and the population individuals are redistributed. When the time for annexation is reached, the algorithm with the worst performance will no longer be executed, and the population individuals to which it belongs will be absorbed by the algorithm with the best performance, until a monopoly situation is reached where only one algorithm remains.
[0143] Step 5: Record the position of the best population individual and its optimal solution at the current iteration number.
[0144] Step 6: Determine whether the maximum number of iterations has been reached. If the algorithm termination condition is met, output the current optimal solution. Otherwise, return to step 4 to continue iterating and optimizing.
[0145] Furthermore, in step 1, the parameters of the basic algorithm are initialized by obtaining the optimal model parameters provided by the respective algorithm proposers. The prior probability of the basic algorithm is initially assigned with equal probability, and other model parameters are set according to actual experience.
[0146] Furthermore, in step 2, one d The implementation method of initializing a population with dimension and number of Popsize is:
[0147] (1)
[0148] Where, Represents an individual i No. j dimensional variables, i ∈[1,Popsize], j ∈[1, d ], ub j and lb j Respectively represent the upper and lower limits of the variable, rand Is a random number between 0 and 1.
[0149] Furthermore, in step 3, the specific implementation method of the performance evaluation of each basic algorithm after the preliminary iterative optimization is: the algorithm-based fitness evolution curve reflects the historical performance and future trends of the algorithm, and uses this as an important basis for the evaluation, so that the algorithm with outstanding performance can get more population resources.
[0150] Specific indicators considered include:
[0151] Prior performance indicators P p :Different algorithms have their own unique advantages and applicable problem types. The adaptability of the problem to be solved and the selected algorithm is determined by the prior indicators. P p Conduct quantitative assessments, and , N Indicates the number of basic algorithms selected.
[0152] Absolute accuracy index A 1 and relative accuracy index A2: It is used to describe the maximum effect of fitness improvement relative to all algorithms after iterative evolution and the average effect of fitness improvement relative to each algorithm after iterative optimization. The implementation method is as follows:
[0153] (2)
[0154] (3)
[0155] Where, f i,j Indicates the i The algorithm j The fitness function value of the generation, Iter is the number of iterations up to now.
[0156] Optimization efficiency index E : The slope of the fitness value evolution curve can represent the optimization effect of the algorithm. The average evolution slope within the number of iterations is calculated as a measure of the optimization efficiency of the algorithm. The larger the value, the higher the optimization efficiency and the better the optimization performance of the algorithm. The calculation formula is as follows:
[0157] (4)
[0158] Where, K i,j For the i Algorithm No. j The evolutionary slope of the generation, mean (·) is the function for calculating the mean.
[0159] Volatility Indicators D : The volatility performance index is used to measure the dynamic dependence of the algorithm on random initial values and evolutionary operations. The smaller the value, the higher the degree of approximation of the algorithm to the optimal solution and the better the optimization performance of the algorithm. Its implementation is as follows:
[0160] (5)
[0161] Comprehensive performance indicators S : Its calculation method is shown in the following formula. The algorithm performance is comprehensively evaluated by the area of the region formed by the iteration curve and the coordinate axis. The smaller the area of the region, the better the comprehensive optimization performance of the algorithm.
[0162] (6)
[0163] The above six indicators are standardized for the evaluation of algorithm performance and serve as the basis for subsequent population selection and allocation. The specific implementation method is as follows:
[0164] (7)
[0165] Where, c 1 and c 2 is the empirical coefficient of the model. The five indicators are at different levels, so they need to be normalized, and the average value after normalization is 1 / N . c 1 is divided into 5 / N If the normalized index is greater than the average value, it means that the algorithm is better than other algorithms. The evaluation result of the algorithm should be further increased on the basis of the prior probability. Otherwise, it will cause an attenuation effect on the prior probability, and the amplitude of increase or attenuation is closely related to the gap between each index and the mean. c 2 is used to scale the model calculation values.
[0166] Furthermore, in step 4, the detailed implementation of iterative optimization is as follows:
[0167] Step 4.1: Initialize some populations based on the number of initial optimization populations, increase their number to Popsize, and select and allocate their own initial populations for each basic algorithm based on the evaluation results of the initial optimization algorithm. The implementation process of selection and allocation is as follows:
[0168] definition score is the normalized algorithm evaluation result, and also the proportion of a certain algorithm's strength in the entire algorithm group. The number of allocations to each algorithm is determined by the roulette method. The core idea is that the algorithm score The higher it is, the larger the area of the sector in the circle is, and the higher the probability that the algorithm will be selected. M= 1000 landing point tests, counting the number of times they land in the area occupied by each algorithm m , the number of individuals assigned to the algorithm is Popsize× m / M In the selection and allocation process, the population is kept as stable as possible based on the original algorithm population, and the individuals that need to be reduced are transferred from the back to the front to the algorithm population that needs to be increased.
[0169] Step 4.2: Perform in-depth iterative optimization according to the equal running time mechanism. This is because algorithms with lower running time costs can be run more times in the same amount of time. Therefore, the iterative optimization is performed by assigning corresponding numbers of iterations to each algorithm in inverse proportion to its running time.
[0170] Step 4.3: When the co-evolution opportunity is reached, execute the co-evolution operators such as sharing, communication, elimination and recruitment, and calculate the fitness value of the corresponding individuals.
[0171] Step 4.4: After the co-evolution, perform iterative optimization. Before the next co-evolution, re-evaluate and sort the algorithm performance according to the assessment method in step 3. Based on the algorithm evaluation results, select and assign the corresponding population for each algorithm according to step 4.1, and then return to step 4.2 to continue optimization.
[0172] Step 4.5: When the time for annexation is reached, the algorithm with the worst performance in step 4.4 is annexed. This algorithm will no longer be executed in the next iterative optimization, and its population individuals will be absorbed by the algorithm with the best performance, until a monopoly situation is reached with only one algorithm left. Otherwise, return to step 4.2 to continue optimization.
[0173] Furthermore, in step 4.3, the specific implementation of the collaborative evolution mechanism of sharing, communication, elimination and new inclusion is as follows:
[0174] Step 4.3.1: The sharing mechanism is achieved by sharing the best individuals and replacing the worst individuals, i.e. N The algorithms were selected p The best individual is shared with other algorithms, and the algorithm itself will also get the ( N -1)× p The best individuals and remove the ones with the worst fitness values ( N -2)× p individuals, and each no longer retains its original optimal individual.
[0175] Step 4.3.2: The communication mechanism is the process of generating two new individuals through arithmetic operations on two individuals to increase the diversity of the population and improve the algorithm's global search capability and ability to escape local optima. It is implemented using real number coding and arithmetic crossover. The specific process is as follows:
[0176] Assume that the two crossover individuals are and , with the crossover probability P c Determine whether to implement crossover operation, and then use probability P c Select some variables in the parent individuals to implement arithmetic crossover; first randomly generate d [0, P c ]Random real numbers in the interval and round them up, then find the position where the value is 1 P 1, P 2,…, P m , which is the variable to be crossed, and then randomly generated m A random real number in the interval [0,1] a i (i = P 1, P 2,…, P m ), the two offspring after the crossover operation can be expressed as:
[0177] (8)
[0178] The arithmetic crossover of adaptive crossover is to adaptively change according to the fitness distribution state of the population P c , in order to achieve a trade-off between development and exploration. When the fitness of individuals in the population tends to be consistent or tends to the local optimum, P c Increase, and when the group fitness is more dispersed P c At the same time, individuals with fitness higher than the group average fitness correspond to lower P c , so that these individuals can be protected and enter the next generation, while individuals with fitness below the average correspond to higher P c , so that these individuals are eliminated, P c The calculation of is shown below.
[0179] (9)
[0180] Where, P c1 and P c2 are the adaptive upper and lower limits of the crossover operator, f max is the maximum fitness value in the population, f avg is the average fitness value of the population in each generation, f is the larger fitness value of the two individuals to be crossed.
[0181] Step 4.3.3 Use the last-place elimination mechanism to discard individuals who cannot make more contributions to the team, and at the same time, recruit new individuals to fill the vacancies. Define the ratio of last-place elimination to new individuals as P E , after sorting the fitness values of the population, the proportion of each algorithm ranked lower is directly eliminated P E individuals, and initialize the same number of new individuals to add to the original population for the next iterative optimization.
[0182] The Sand Cat Swarm Optimization Algorithm (SCSO), Sparrow Search Algorithm (SSA), Spider Wasp Optimization Algorithm (SWO), Particle Swarm Optimization (PSO) and Kepler Optimization Algorithm (KOA) are selected as basic algorithms to specifically illustrate the swarm collaborative evolution algorithm shown in this embodiment.
[0183] S1: Initialization; initialize according to the model parameters provided by the respective algorithm proposers, and then define the basic parameters of the group co-evolution algorithm, including population size Popsize=100, iteration number IterNum=5000, co-evolution time CENum=500, annexation time MergerNum=1000, communication probability P c = 0.2, elimination and new recruitment ratio P E = 0.2, the prior probability of the selected basic algorithm is assigned with equal probability.
[0184] S2: Population initialization; the dimension and upper and lower bounds of the feasible solution are determined according to the problem to be optimized, and a certain number of feasible solutions are randomly generated in the search space according to formula (1).
[0185] S3: Preliminary optimization; pre-allocate the same initial small population to the selected 5 basic algorithms, with its size set to 10, and perform preliminary optimization 20 times. The performance of the basic algorithm is evaluated through the assessment mechanism provided in step 3 of the invention content, and the results are used as the prior probability and population allocation basis for in-depth iterative optimization.
[0186] S4: Iterative optimization; newly initialize the population and expand the population size to Popsize=100;
[0187] S4-1: Based on the algorithm performance evaluation in S3, the selection allocation implementation method described in step 4.1 is used to allocate the respective initial populations to each basic algorithm;
[0188] S4-2: Set the number of iterations for each basic algorithm according to the equal running time mechanism, and perform in-depth iterative optimization according to the respective algorithm flow;
[0189] S4-3: When the number of iterations Iter When the time for co-evolution is reached, Iter= CENum implements the collaborative evolution of the algorithm according to the sharing mechanism described in step 4.3.1, the communication mechanism described in step 4.3.2, and the elimination and recruitment mechanism described in step 4.3.3.
[0190] S4-4: After the co-evolution is completed, iterative optimization is continued. Before the next co-evolution is implemented, the assessment provided in step 3 is performed again to re-evaluate and rank the algorithm performance. Then, the population is reallocated for each algorithm according to the selection allocation method provided in step 4.1, and then return to S4-2 to continue iterative optimization.
[0191] S4-5: When the number of iterations Iter When the time for annexation arrives, Iter= MergerNum, the algorithm with the worst performance evaluation in S4-4 will no longer be executed, and the individuals in the population to which it belongs will be absorbed by the algorithm ranked first in performance, until a monopoly situation is reached where only one algorithm remains.
[0192] S5: Record the position of the best population individual and its optimal solution under the current number of iterations;
[0193] S6: When the maximum number of iterations is reached, that is, Iter=IterNum, the algorithm terminates and outputs the global optimal solution, otherwise it returns to S4 to continue iterating and optimizing.
[0194] Example 2
[0195] The proposed swarm co-evolution algorithm is tested using four different types of functions in the CEC2022 test set. The detailed information is given in Table 1. This provides significant and diverse search obstacles for algorithm testing, fully verifying the convergence accuracy, stability, and universality of the algorithm's optimization effect.
[0196] Table 1 Test results of different types of functions on the swarm co-evolution algorithm
[0197]
[0198] In order to verify the advancement and feasibility of the proposed swarm collaborative evolution algorithm (SCEA), the optimization results were compared with the selected single basic algorithm and other 7 advanced meta-heuristic algorithms, namely the raccoon optimization algorithm (COA), the gray wolf optimization algorithm (GWO), the whale optimization algorithm (WOA), the pelican optimization algorithm (POA), the dandelion optimization algorithm (DOA), the star bird optimization algorithm (NOA) and the Ludo game swarm intelligence algorithm (LGSI). The population size and the number of iterations were set to the same value to ensure the objectivity and fairness of the comparative experiment. Each algorithm was run independently on each test function 100 times, and the average value, optimal value and standard deviation of the optimization results were recorded, and the algorithm performance was ranked based on this. In order to enable technicians in this field to see the experimental results more intuitively, the results of the comparative test are shown in Tables 2 and 3. Figure 3-Figure 6 shown.
[0199] Table 2 Performance comparison of different algorithms
[0200]
[0201] The test results show that the proposed swarm co-evolution algorithm significantly improves optimization accuracy compared to individual basic algorithms and is also superior to other optimization algorithms, validating the effectiveness of the co-evolutionary mechanism among multiple algorithms. The swarm co-evolution algorithm consistently achieves leading overall performance for a variety of test functions with diverse characteristics, demonstrating that the proposed algorithm integrates the strengths of various basic algorithms and possesses considerable applicability to a wide range of optimization problems.
[0202] Example 3
[0203] The proposed algorithm was applied to inertial navigation to test the practical application effect of the swarm co-evolution algorithm and its effectiveness in improving inertial navigation orientation accuracy. The inertial navigation system was fixedly installed on a vehicle with the engine running and subject to disturbances such as people opening and closing doors, getting on and off the vehicle. Ten sets of 5-minute inertial navigation data were collected under static base shaking conditions. Initial alignment tests were conducted using four alignment schemes: 1-minute coarse alignment, 5-minute fine alignment, 1-minute coarse alignment + SCEA optimal alignment, and 1-minute coarse alignment + SCEA optimal alignment + 5-minute fine alignment.
[0204] The results of the inertial navigation method's orientation tests are shown in Table 3. We focused on azimuth alignment accuracy. The results show that, based on coarse alignment, the swarm coevolution algorithm was used to further optimize the 10 alignment tests. The root mean square error (RMS) and standard deviation (SD) of the 10 alignment tests were improved from 0.4049° and 0.4268° to 0.3057° and 0.3222°, respectively. This demonstrates the success of the proposed swarm coevolution algorithm in the initial inertial navigation alignment problem. Using these results as initial values for fine alignment, further fine alignment based on Kalman filtering significantly improved the RMS and standard deviation from 0.2173° and 0.229° to 0.038° and 0.0401°, respectively. This effectively demonstrates the feasibility, advancement, and robustness of the swarm coevolution-based inertial navigation method under stationary base shaking conditions. Figure 7 The fitness value evolution curve of 100 executions in the inertial navigation orientation optimization process is given. The objective function achieved a minimum value of 0.2875 and an average value of 0.2883, with a standard deviation as low as 4.1712e-4. It can be seen that the swarm co-evolution algorithm is an efficient, advanced and stable optimization algorithm.
[0205] Table 3 Results of orientation test using inertial navigation method
[0206]
[0207] Example 4
[0208] The embodiment provides an inertial navigation system based on swarm collaborative evolution, including:
[0209] The coarse alignment module is used to complete the coarse alignment in the solidified coordinate system based on the inertial navigation data and the dual-vector attitude determination algorithm.
[0210] The objective function construction module is used to determine the optimization variables and construct the initial alignment objective function based on the optimization variables.
[0211] The objective function module is used to solve the objective function of the initial alignment using the swarm co-evolution algorithm to obtain the optimal variable group.
[0212] The posture transformation matrix determination module is used to calculate the posture transformation matrix obtained by the group co-evolution rough alignment method based on the optimal variable group.
[0213] The fine alignment module is used to perform fine alignment based on the attitude transformation matrix and use Kalman filtering to determine the attitude matrix.
[0214] The coordinate determination module is used to switch the carrier into the navigation state and perform navigation calculation based on the attitude matrix to complete the determination of the position coordinates.
[0215] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0216] This document uses specific examples to illustrate the principles and implementation methods of this application. The description of the above examples is only intended to help understand the method and core concept of this application. At the same time, for those skilled in the art, based on the concept of this application, there may be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.
Claims
1. An inertial navigation method based on group collaborative evolution, characterized in that: include: Based on the inertial navigation data, the dual-vector attitude determination algorithm is used to complete the rough alignment in the solidified coordinate system. Determine the optimization variables and construct the initial alignment objective function based on the optimization variables; The swarm co-evolution algorithm is used to solve the objective function of the initial alignment and obtain the optimal variable group; Based on the optimal variable set, the pose transformation matrix obtained by the swarm co-evolution rough alignment method is calculated; Based on the attitude transformation matrix, Kalman filtering is used for precise alignment to determine the attitude matrix; The carrier enters the navigation state and performs navigation calculation based on the attitude matrix to determine the position coordinates; The method of using a swarm co-evolutionary algorithm to solve the objective function of the initial alignment and obtain the optimal variable group includes: Initialize the basic parameters of the swarm co-evolution algorithm; the basic parameters include: target population size Popsize, total iteration threshold IterNum, co-evolution time CENum and annexation time MergerNum; Let the number of outer loop iterations j = 1; Obtaining N basic algorithms; each of the N basic algorithms is of a different type; Let the number of basic algorithms n=N; The population is initialized to obtain the initial total population; Assign a corresponding initial small population to each basic algorithm from the initial total population; Determine the initial performance evaluation quantity of each basic algorithm separately; any initial performance evaluation quantity is obtained by performing preliminary optimization on the basic algorithm using the corresponding initial small population; Determine the initial performance evaluation quantity as the performance evaluation quantity corresponding to the basic algorithm at the 0th iteration; Expand the population size of the initial total population to the target population size Popsize to obtain the population at the 0th iteration; Using the population at the j-1th iteration and the performance evaluation of different basic algorithms at the j-1th iteration, perform N-1 rounds of iterative optimization on the basic algorithm to obtain the optimal basic algorithm at the jth iteration; Determine the total number of iterations; ;in is the total number of iterations, u is a variable; Determine whether the total number of iterations reaches the total number of iterations threshold IterNum and obtain the judgment result; If the judgment result is no, the value of the outer loop iteration number j is increased by 1, and the process returns to step "using the population at the j-1th iteration and the performance evaluation amount of different basic algorithms at the j-1th iteration to perform N-1 rounds of iterative optimization on the basic algorithm to obtain the optimal basic algorithm at the jth iteration"; If the judgment result is yes, then the optimal variable group is determined by determining the individual corresponding to the optimal fitness value in the optimal basic algorithm at the jth iteration.
2. The inertial navigation method based on swarm collaborative evolution according to claim 1, characterized in that: The coarse alignment includes determining the attitude conversion matrix of the carrier inertial system and the navigation inertial system.
3. The inertial navigation method based on swarm collaborative evolution according to claim 1, characterized in that: The posture conversion matrix is: ; in, is the posture transformation matrix; for Gravity vector in the inertial system of constant navigation; for Gravity vector in the inertial system of constant navigation; for The specific force measurement value vector in the inertial system of the carrier at that moment; for The specific force measurement value vector in the carrier inertial system at that moment.
4. The inertial navigation method based on swarm collaborative evolution according to claim 3, characterized in that: The objective function is: ; Where m is the number of non-coplanar vectors measured under static base conditions; is the gravity vector in the i-th navigation inertial system; is the specific force measurement value vector in the inertial system of the i-th carrier; Used to characterize the carrier inertial system at the initial moment and the initial navigation inertial system The orientation relationship.
5. The inertial navigation method based on swarm collaborative evolution according to claim 1, characterized in that: Using the population at the j-1th iteration and the performance evaluation of different basic algorithms at the j-1th iteration, perform N-1 rounds of iterative optimization on the basic algorithm to obtain the optimal basic algorithm at the jth iteration, including: The population at the j-1th iteration is used as the population at the 0th iteration; The performance evaluation quantity of different basic algorithms at the j-1th iteration is used as the performance evaluation quantity of different basic algorithms at the 0th iteration; Let the number of inner loop iterations q=1; Based on the performance evaluation of each basic algorithm at the q-1th iteration, the roulette wheel method is used to determine the number of population allocations for each basic algorithm; Based on the population allocation number, determining a small population of each basic algorithm at the q-1th iteration from the population at the q-1th iteration; Based on the equal running time mechanism, the small population of each basic algorithm at the q-1th iteration is used to iteratively optimize the corresponding basic algorithm until the number of iterative optimization reaches the co-evolution time CENum; Based on the co-evolution mechanism, the fitness values of all individuals are calculated; the fitness values are the objective function values of the initial alignment; the co-evolution mechanism includes: a sharing mechanism, a communication mechanism, and an elimination and recruitment mechanism; the elimination and recruitment mechanism is used to update the small population corresponding to each basic algorithm, and obtain the small population of each basic algorithm at the qth iteration; Determine the performance evaluation quantities of n basic algorithms at the qth iteration respectively; Determine the set of small populations of n basic algorithms at the qth iteration as the population at the qth iteration; Increase the value of the iteration number q by 1 and return to step "Based on the performance evaluation of each basic algorithm at the q-1th iteration, use the roulette wheel method to determine the population allocation number for each basic algorithm" until the value of the iteration number q reaches the merger time MergerNum; Arrange the basic algorithms in descending order according to the performance evaluation at the qth iteration; The small population corresponding to the nth basic algorithm and the small population corresponding to the first basic algorithm are used as the small population corresponding to the first basic algorithm at the qth iteration after the update; Delete the nth basic algorithm and reduce the value of the basic algorithm number n by 1; The performance evaluation quantity at the qth iteration is used as the performance evaluation quantity of the corresponding basic algorithm at the 0th iteration; The set of small populations corresponding to all basic algorithms at the qth iteration is used as the population at the 0th iteration; Return to step "Set the number of inner loop iterations q = 1" until the number of basic algorithms n is equal to 1, and obtain the optimal basic algorithm at the j-th iteration; Determine the population at the qth iteration as the population at the jth iteration; The performance evaluation amount of different basic algorithms at the qth iteration is determined as the performance evaluation amount of different basic algorithms at the jth iteration.
6. The inertial navigation method based on swarm collaborative evolution according to claim 1, characterized in that: The plurality of basic algorithms include sand cat swarm optimization algorithm, sparrow search algorithm, spider wasp optimization algorithm, particle swarm optimization algorithm and Kepler optimization algorithm.
7. The inertial navigation method based on swarm collaborative evolution according to claim 1, characterized in that: The performance evaluation quantity is: ; Where, Represents the performance evaluation quantity of the nth basic algorithm; Represents the prior performance index of the nth basic algorithm; Indicates the absolute accuracy index of the nth basic algorithm; Represents the relative accuracy index of the nth basic algorithm; Represents the optimization efficiency index of the nth basic algorithm; Indicates the volatility indicator of the nth basic algorithm; Represents the comprehensive performance index of the nth basic algorithm; and Both represent the model empirical coefficients.
8. The inertial navigation method based on swarm collaborative evolution according to claim 3, characterized in that: The attitude matrix is: in, For the posture array; is the transformation matrix from the navigation inertial system to the navigation coordinate system at the initial moment; is the transformation matrix from the carrier system to the carrier inertial system at the initial moment.
9. An inertial navigation system based on swarm collaborative evolution, characterized in that: include: The coarse alignment module is used to complete the coarse alignment in the solidified coordinate system using the dual-vector attitude determination algorithm based on the inertial navigation data; An objective function construction module is used to determine the optimization variables and construct the initial alignment objective function based on the optimization variables; The objective function module is used to solve the objective function of the initial alignment by using the group co-evolution algorithm to obtain the optimal variable group: initialize the basic parameters of the group co-evolution algorithm; the basic parameters include: target population size Popsize, total iteration threshold IterNum, co-evolution time CENum and annexation time MergerNum; set the outer loop iteration number j=1; obtain N basic algorithms; the types of the N basic algorithms are different; set the number of basic algorithms n=N; initialize the population to obtain the initial total population; assign the corresponding initial sub-species to each basic algorithm from the initial total population group; determine the initial performance evaluation quantity of each basic algorithm respectively; any initial performance evaluation quantity is obtained after preliminary optimization of the basic algorithm using the corresponding initial small population; determine the initial performance evaluation quantity as the performance evaluation quantity of the corresponding basic algorithm at the 0th iteration; expand the population size of the initial total population to the target population size Popsize to obtain the population at the 0th iteration; use the population at the j-1th iteration and the performance evaluation quantities of different basic algorithms at the j-1th iteration to perform N-1 rounds of iterative optimization on the basic algorithm to obtain the optimal basic algorithm at the jth iteration; determine the total number of iterations; ;in is the total number of iterations, and u is a variable; determine whether the total number of iterations reaches the total number of iterations threshold IterNum, and obtain a determination result; if the determination result is no, increase the value of the outer loop iteration number j by 1, and return to the step of "using the population at the j-1th iteration and the performance evaluation amount of different basic algorithms at the j-1th iteration to perform N-1 rounds of iterative optimization on the basic algorithm to obtain the optimal basic algorithm at the jth iteration"; if the determination result is yes, determine the optimal variable group corresponding to the individual with the optimal fitness value in the optimal basic algorithm at the jth iteration; A posture transformation matrix determination module is used to calculate the posture transformation matrix obtained by the group co-evolution rough alignment method based on the optimal variable group; The fine alignment module is used to perform fine alignment based on the attitude transformation matrix and use Kalman filtering to determine the attitude matrix; The coordinate determination module is used to switch the carrier into the navigation state and perform navigation calculation based on the attitude matrix to complete the determination of the position coordinates.
Citation Information
Patent Citations
Inertial measurement unit alignment method
CN113405563A