Trajectory correction method, device, equipment and medium

By acquiring and transforming the trajectory points on the inertial guide trajectory and generating correction trajectory using geomagnetic contour deviation, the trajectory correction deviation problem caused by geomagnetic distribution complexity is solved, and a higher trajectory correction accuracy is achieved.

CN120385333BActive Publication Date: 2025-08-26ZHEJIANG LAB
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510886516.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2025-08-26
Estimated Expiration
2045-06-30

AI Technical Summary

Technical Problem

The complexity of geomagnetic distribution leads to the local optimal solution of the positioning navigation technology based on geomagnetic information during the iteration process, resulting in serious deviations in trajectory correction.

Method used

By obtaining inertial guide track points and transforming them, using the distance deviation of the transformation matrix and the three-way geomagnetic contour, a correction track is generated, and the guide track points are matched in the correct orientation during the iteration process to avoid local optimal solutions.

Benefits of technology

It improves the accuracy of trajectory correction, reduces the probability of transformed trajectory deviation, and avoids the dilemma of iteration into the wrong direction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120385333B_ABST
    Figure CN120385333B_ABST
Patent Text Reader

Abstract

The present application provides a trajectory correction method, apparatus, device, and medium. The method includes: determining multiple target inertial navigation trajectory points located in a target time window from an inertial navigation trajectory of a target object, transforming each target inertial navigation trajectory point using a transformation matrix to obtain a transformed trajectory point, determining a matching error of the transformed trajectory point relative to an estimated trajectory point of the target object, moving the target time window on the inertial navigation trajectory according to a target time interval, returning to determine the matching error until a preset iteration condition is satisfied, and generating a target correction trajectory based on the estimated trajectory points corresponding to each target time window passed when the preset iteration condition is satisfied. The initial value of the transformation matrix used in the first iteration is the preset transformation matrix, and the initial value of the transformation matrix used in the subsequent iterations is the guidance matrix generated in the previous iteration, so that the transformation of the next iteration can be guided by the guidance matrix, so that the next iteration can transform toward the correct orientation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of geomagnetic positioning technology, and more specifically, to a trajectory correction method, device, equipment, and medium. Background Art

[0002] For positioning and navigation, the Earth's fundamental magnetic field, with its stability and widespread availability, provides a reliable resource. Positioning and navigation technologies based on single-source geomagnetic information have emerged as a result. This technology stands out for its low cost and high security, occupying a key position among numerous positioning and navigation technologies. The Vector Iterative Closest Contour Point (VICCP) algorithm is particularly popular in outdoor, large-scale aviation and marine geomagnetic navigation scenarios, demonstrating significant stability and providing a strong guarantee for the accuracy and reliability of aviation geomagnetic navigation.

[0003] However, the complexity of the geomagnetic distribution poses a huge challenge to positioning and navigation technology based on geomagnetic information. Since the geomagnetic distribution is diverse and irregular, there are significant differences in geomagnetic intensity and direction in different regions. When using the VICCP algorithm for iteration, this complexity can easily cause the algorithm to fall into the dilemma of local optimal solution, thereby leading the estimated trajectory to the wrong direction during the iteration process, resulting in serious deviations in trajectory correction. Summary of the Invention

[0004] In view of this, the present application provides a trajectory correction method, apparatus, device and medium, which can effectively reduce the situation of falling into a local optimal solution during the iteration process and improve the accuracy of trajectory correction.

[0005] Specifically, this application is implemented through the following technical solutions:

[0006] According to a first aspect of the present application, a trajectory correction method is provided, the method comprising:

[0007] Obtain inertial navigation trajectory for target objects;

[0008] Determining a plurality of target inertial navigation trajectory points located in a target time window from the inertial navigation trajectory, and transforming each of the target inertial navigation trajectory points using a transformation matrix to obtain a transformed trajectory point corresponding to each of the target inertial navigation trajectory points;

[0009] determining, based on a length deviation between a first trajectory formed by a plurality of target inertial navigation trajectory points and a second trajectory formed by a plurality of transformed trajectory points, and a distance deviation between each transformed trajectory point and a corresponding three-dimensional geomagnetic contour line, a matching error of the transformed trajectory point relative to an estimated trajectory point of the target object; the estimated trajectory point being generated based on the transformed trajectory point;

[0010] Moving the target time window on the inertial navigation trajectory according to a target time interval, returning to determine the matching error until a preset iteration condition is satisfied, and generating a target correction trajectory based on estimated trajectory points corresponding to each target time window passed when the preset iteration condition is satisfied;

[0011] The target correction trajectory is used to correct the inertial navigation trajectory; the initial value of the transformation matrix used in the first iteration is a preset transformation matrix, and the initial value of the transformation matrix used in the remaining iterations is a steering matrix generated in the previous iteration. The steering matrix is ​​generated based on the last transformation trajectory point among the transformation trajectory points obtained in the previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-dimensional geomagnetic contour lines corresponding to the last target inertial navigation trajectory point.

[0012] In an optional implementation, the steering matrix is ​​determined by the following steps:

[0013] Determining a target guidance point based on the last transformed trajectory point among the transformed trajectory points obtained in the previous iteration, and constructing a guidance area with the target guidance point as the center;

[0014] Searching for three-dimensional geomagnetic contour lines in the guide area according to a target window and a target step size to obtain at least one intersection point;

[0015] Filtering the at least one intersection to obtain a target intersection point closest to the target guide point;

[0016] The steering matrix is ​​generated according to the rotation angle and translation amount of the target intersection point relative to the final target inertial navigation trajectory point.

[0017] In an optional implementation, determining the target guidance point based on the last transformed trajectory point among the transformed trajectory points obtained in the previous iteration includes:

[0018] Determining a track point distance between the final transformed track point and the final target inertial navigation track point;

[0019] Obtaining a historical trajectory point distance, where the historical trajectory point distance is the distance between the historical last target inertial navigation trajectory point and the historical last transformation trajectory point corresponding to the target historical moment;

[0020] determining a first distance deviation between the trajectory point distance and the historical trajectory point distance;

[0021] A target guidance point is determined according to a comparison result between the first distance deviation and a first distance threshold.

[0022] In an optional implementation manner, determining the target guidance point according to a comparison result between the first distance deviation and a first distance threshold includes:

[0023] When the first distance deviation is greater than or equal to the first distance threshold, determining a historical transformation trajectory point located before the last transformation trajectory point, and determining the target guidance point based on the historical transformation trajectory point;

[0024] When the first distance is less than the first distance threshold, the last transformed trajectory point is used as the target guidance point.

[0025] In an optional implementation, determining the target guidance point based on the historical transformation trajectory point includes:

[0026] determining the longitude coordinates of the target guidance point based on the longitude coordinates of the historical transformation trajectory point and a target multiple of the speed of the historical transformation trajectory point in the longitude direction, wherein the target multiple is determined based on the time interval between the historical transformation trajectory point and the last transformation trajectory point;

[0027] The latitude coordinate of the target guidance point is determined based on the latitude coordinate of the historical transformation trajectory point and the target multiple of the speed of the historical transformation trajectory point in the latitude direction.

[0028] In an optional embodiment, searching for three-dimensional geomagnetic contour lines located in the guide area according to the target window and the target step size to obtain at least one intersection point includes:

[0029] According to the target step length, move on the three-dimensional geomagnetic contour line in the guide area and intercept the target window;

[0030] For the target window moved to any position according to the target step length, if the image attribute parameters of the target window meet the preset conditions, determining the center point of the target window as a candidate intersection point;

[0031] Clustering is performed on the candidate intersection points to obtain at least one intersection point.

[0032] In an optional implementation, the method further includes:

[0033] Determine the second distance deviation between the last transformed trajectory point obtained in this iteration and the target intersection point;

[0034] When the second distance deviation is greater than or equal to the second distance threshold, weighting the last transformation trajectory point and the target intersection point obtained in this iteration to obtain an adjusted last transformation trajectory point, and replacing the last transformation trajectory point obtained in this iteration with the adjusted last transformation trajectory point;

[0035] When the second distance deviation is less than the second distance threshold, the last transformed trajectory point obtained in the current iteration is replaced by the target intersection point obtained in the current iteration.

[0036] In an optional embodiment, the target inertial navigation trajectory points used in two adjacent iterations partially overlap; the length of the first trajectory is determined based on the distance between each pair of adjacent target inertial navigation trajectory points, and the length of the second trajectory is determined based on the distance between each pair of adjacent transformed trajectory points;

[0037] During the iterations other than the first iteration, determining the matching error of the transformed trajectory point relative to the estimated trajectory point of the target object based on a length deviation between a first trajectory formed by a plurality of target inertial navigation trajectory points and a second trajectory formed by a plurality of transformed trajectory points, and a distance deviation between each transformed trajectory point and a corresponding three-dimensional geomagnetic contour line, includes:

[0038] Determine the newly added target inertial navigation trajectory points and repeated target inertial navigation trajectory points of this iteration relative to the previous iteration;

[0039] For each of the newly added target inertial navigation trajectory points, determining a distance between the newly added target inertial navigation trajectory point and a previous adjacent target inertial navigation trajectory point of the newly added target inertial navigation trajectory point as a first distance; and for each newly added transformed trajectory point corresponding to the newly added target inertial navigation trajectory point, determining a distance between the newly added transformed trajectory point and a previous adjacent transformed trajectory point of the newly added transformed trajectory point as a second distance;

[0040] Obtaining the distance between each pair of adjacent two repeated target inertial navigation trajectory points obtained in the previous iteration as a third distance, and obtaining the distance between each pair of adjacent two repeatedly transformed trajectory points obtained in the previous iteration as a fourth distance, wherein the repeatedly transformed trajectory points are transformed trajectory points corresponding to the repeated target inertial navigation trajectory points;

[0041] Determine a length deviation obtained in this iteration based on the first distance, the second distance, the third distance, and the fourth distance;

[0042] The matching error is determined based on the length deviation obtained in this iteration, the distance deviation between the newly added transformation trajectory point and the corresponding three-dimensional geomagnetic contour line, and the distance deviation between the repeatedly transformed trajectory point and the corresponding three-dimensional geomagnetic contour line obtained in the previous iteration.

[0043] According to a second aspect of the present application, a trajectory correction device is provided, the device comprising:

[0044] A trajectory acquisition module is used to obtain the inertial navigation trajectory of the target object;

[0045] a trajectory transformation module, configured to determine a plurality of target inertial navigation trajectory points located in a target time window from the inertial navigation trajectory, and transform each of the target inertial navigation trajectory points using a transformation matrix to obtain a transformed trajectory point corresponding to each of the target inertial navigation trajectory points;

[0046] an error determination module, configured to determine, based on a length deviation between a first trajectory formed by a plurality of target inertial navigation trajectory points and a second trajectory formed by a plurality of transformed trajectory points, and a distance deviation between each transformed trajectory point and a corresponding three-dimensional geomagnetic contour line, a matching error of the transformed trajectory point relative to an estimated trajectory point of the target object; the estimated trajectory point being generated based on the transformed trajectory point;

[0047] a trajectory generation module, configured to move the target time window on the inertial navigation trajectory according to a target time interval, return to determine the matching error, and generate a target correction trajectory based on the estimated trajectory points corresponding to each target time window passed when the preset iteration condition is met;

[0048] The target correction trajectory is used to correct the inertial navigation trajectory; the initial value of the transformation matrix used in the first iteration is a preset transformation matrix, and the initial value of the transformation matrix used in the remaining iterations is a steering matrix generated in the previous iteration. The steering matrix is ​​generated based on the last transformation trajectory point among the transformation trajectory points obtained in the previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-dimensional geomagnetic contour lines corresponding to the last target inertial navigation trajectory point.

[0049] According to a third aspect of the present application, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps of the trajectory correction method described in the first aspect are implemented.

[0050] According to a fourth aspect of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the steps of the trajectory correction method described in the first aspect are implemented.

[0051] The trajectory correction method, apparatus, device, and medium provided in the embodiments of the present application determine multiple target inertial navigation trajectory points located in a target time window from the inertial navigation trajectory of the target object, transform each target inertial navigation trajectory point using a transformation matrix to obtain a transformed trajectory point corresponding to each target inertial navigation trajectory point, and then determine the matching error of the transformed trajectory point relative to the estimated trajectory point of the target object based on the length deviation between a first trajectory composed of the multiple target inertial navigation trajectory points and a second trajectory composed of the multiple transformed trajectory points, as well as the distance deviation between each transformed trajectory point and the corresponding three-dimensional geomagnetic contour line. The target time window is moved on the inertial navigation trajectory according to the target time interval. The matching error is returned until the preset iteration condition is met. The target correction trajectory is generated based on the estimated trajectory points corresponding to each target time window passed when the preset iteration condition is met. The target correction trajectory is used to correct the inertial navigation trajectory. The initial value of the transformation matrix used in the first iteration is the preset transformation matrix. The initial value of the transformation matrix used in the remaining iterations is the guidance matrix generated in the previous iteration. The guidance matrix is ​​generated based on the last transformation trajectory point among the transformation trajectory points obtained in the previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-dimensional geomagnetic contour line corresponding to the last transformation trajectory point.

[0052] In this way, in the embodiment of the present application, during the iterations other than the first iteration, the initial value of the transformation matrix used when transforming the target inertial navigation trajectory point to obtain the transformed trajectory point is the guidance matrix generated in the corresponding previous iteration. The guidance matrix is ​​generated based on the last transformed trajectory point among the transformed trajectory points obtained in the corresponding previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-dimensional geomagnetic contour line corresponding to the last target inertial navigation trajectory point. Therefore, the trajectory point transformation of the next iteration can be guided by the guidance matrix, so that the next iteration can be matched and transformed in the correct direction, reducing the probability of deviation of the transformation trajectory, avoiding the dilemma of the iteration falling into the local optimal solution in the wrong direction due to complex magnetic field distribution, and thereby improving the accuracy of trajectory correction.

[0053] It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, and are not intended to limit the technical solutions of the present disclosure.

[0054] In order to make the above-mentioned objectives, features and advantages of the present disclosure more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] Figure 1 is a flow chart of a trajectory correction method shown in an exemplary embodiment of the present application;

[0056] Figure 2 1 is a schematic diagram of a time window for moving a target on an inertial navigation track, shown in an exemplary embodiment of the present application;

[0057] Figure 3 is a schematic diagram of a process for determining an intersection shown in an exemplary embodiment of the present application;

[0058] Figure 4a This is one of the schematic diagrams showing the effect of determining an intersection point according to an exemplary embodiment of the present application;

[0059] Figure 4b This is a second schematic diagram of an effect of determining an intersection shown in an exemplary embodiment of the present application;

[0060] Figure 5 1 is a schematic diagram showing an exemplary embodiment of the present application, which illustrates guiding the orientation of the next trajectory point transformation by using a guiding matrix;

[0061] Figure 6 1 is a schematic diagram of a trajectory correction process shown in an exemplary embodiment of the present application;

[0062] Figure 7 This is a schematic diagram showing the effect of trajectory correction according to an exemplary embodiment of the present application;

[0063] Figure 8 is a schematic diagram of a trajectory correction device shown in an exemplary embodiment of the present application;

[0064] Figure 9 It is a structural diagram of a computer device shown in an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0065] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.

[0066] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. As used in this application and the appended claims, the singular forms "a," "an," "the," and "the" are intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.

[0067] It should be understood that although the terms first, second, third, etc. may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0068] The term "and / or" herein simply describes an association relationship, indicating that three relationships can exist. For example, A and / or B can represent the existence of A alone, the simultaneous existence of A and B, and the existence of B alone. In addition, the term "at least one" herein refers to any combination of at least two of any one or more of a plurality of items. For example, "at least one of A, B, and C" can represent any one or more elements selected from the set consisting of A, B, and C.

[0069] Research has found that the use of geomagnetic-assisted navigation can compensate for the position errors accumulated over time by the inertial navigation system. In practical applications, the geomagnetic distribution often presents diverse and irregular characteristics. There are significant differences in geomagnetic intensity and direction in different regions, and the magnetic lines of force are seriously non-monotonic, which leads to the dilemma of local optimal solutions, leading the iterative process to the wrong direction and causing serious deviations in trajectory correction.

[0070] Based on the above research, the present application provides a trajectory correction method, device, equipment and medium. During the iterations other than the first iteration, the initial value of the transformation matrix used when transforming the target inertial navigation trajectory point to obtain the transformed trajectory point is the corresponding guidance matrix generated in the previous iteration. The guidance matrix is ​​generated based on the last transformed trajectory point among the transformed trajectory points obtained in the previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-way geomagnetic contour line corresponding to the last target inertial navigation trajectory point. Therefore, the trajectory point transformation of the next iteration can be guided by the guidance matrix, so that the next iteration can be matched and transformed in the correct direction, reducing the probability of deviation of the transformation trajectory, and avoiding the dilemma of the iteration falling into the local optimal solution in the wrong direction due to complex magnetic field distribution, thereby improving the accuracy of trajectory correction.

[0071] To facilitate understanding of this embodiment, we first provide a detailed introduction to a trajectory correction method disclosed in an embodiment of the present application. The execution subject of the trajectory correction method provided in the embodiment of the present application is generally an electronic device with certain computing capabilities, which can be a server, a terminal device, or other processing device. If it is a server, the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud storage, big data, and artificial intelligence platforms. If it is a terminal device, the terminal device can be a user equipment (UE), a mobile device, a terminal, a computing device, and an in-vehicle device. If it is another processing device, the other processing device can be a device including a processor and a memory, which is not limited here. In some possible implementations, the trajectory correction method can be implemented by a processor calling computer-readable instructions stored in a memory.

[0072] A trajectory correction method provided by an embodiment of the present application is described below with reference to the accompanying drawings.

[0073] See also Figure 1 As shown, it is a flow chart of a trajectory correction method shown in an exemplary embodiment of the present application. Figure 1 As shown in , the trajectory correction method provided by the embodiment of the present disclosure includes steps S101 to S104, wherein:

[0074] S101: Obtain an inertial navigation trajectory for a target object.

[0075] Here, the target object is an object with stable magnetic measurement, such as an airplane, a submarine, etc.

[0076] The inertial navigation trajectory is a trajectory generated by an inertial navigation system (INS) set on the target object.

[0077] It is understandable that INS, as the core equipment of the target object, has errors that accumulate over time and cannot maintain high precision for a long time, so it needs to be corrected. Geomagnetic navigation, as a technology that uses the characteristics of geomagnetic field information for navigation, has the characteristics of strong concealment, all-weather, and all-regional capabilities, and the positioning error does not accumulate over time. Therefore, it can be combined with inertial navigation to achieve long-term and high-precision navigation positioning.

[0078] S102: Determine a plurality of target inertial navigation trajectory points located in a target time window from the inertial navigation trajectory, and transform each of the target inertial navigation trajectory points using a transformation matrix to obtain a transformed trajectory point corresponding to each of the target inertial navigation trajectory points.

[0079] Here, the inertial navigation track changes continuously with time. Track correction is performed by sampling target inertial navigation track points from the inertial navigation track through the target time window, which can reflect the track change characteristics and ensure navigation accuracy.

[0080] The target time window is used to indicate the number N of target inertial navigation track points used in one iteration. It is understood that the larger N is, the higher the correction accuracy is, but it has a greater impact on storage space and processing efficiency. The specific value of N can be determined according to the actual correction needs. For example, N 10.

[0081] Specifically, the transformation trajectory points can be obtained by the following formula (1):

[0082] (1)

[0083] in, represents the transformation trajectory point, represents the target inertial navigation trajectory point, represents the transformation matrix, Indicates the number of transformation calculations during a certain iteration.

[0084] Here, the transformation matrix includes rotation parameters, translation parameters, and scaling parameters. Through the transformation matrix, the rotation, translation, and scaling of the target inertial navigation trajectory point can be achieved simultaneously, thereby improving the adaptability to the inertial navigation trajectory error and reducing trajectory divergence.

[0085] S103: Determine a matching error of the transformed trajectory points relative to the estimated trajectory points of the target object based on a length deviation between a first trajectory formed by a plurality of the target inertial navigation trajectory points and a second trajectory formed by a plurality of the transformed trajectory points, and a distance deviation between each of the transformed trajectory points and a corresponding three-dimensional geomagnetic contour line; the estimated trajectory points are generated based on the transformed trajectory points.

[0086] In this step, based on the determination of the length deviation between the first trajectory formed by the plurality of target inertial navigation trajectory points and the second trajectory formed by the plurality of transformed trajectory points, the matching error is determined in combination with the distance deviation between each of the transformed trajectory points and the corresponding three-directional geomagnetic contour lines. That is, based on the shape difference between the first trajectory and the second trajectory, and the sum of the errors between the second trajectory and the three-directional geomagnetic vector component contour lines, the matching error is determined. This allows for a multi-dimensional reference when determining the matching error. The matching error reflects the minimization of the distance of the transformed trajectory relative to the estimated trajectory point, thereby ensuring the accuracy of the matching error.

[0087] In practical applications, especially in navigation-denied environments, it's generally impossible to obtain the true trajectory of the target object's actual movement, nor the true track points on the true trajectory. This navigation-denied environment is one that interferes with or blocks Global Positioning System (GPS) signals, making it impossible to obtain the true trajectory. Therefore, the disclosed embodiments use estimated track points to approximate the true track points.

[0088] Specifically, the matching error can be obtained by the following formula (2):

[0089] (2)

[0090] in, represents the matching error calculated by the j-th transformation in a certain iteration process, Indicates the number of target inertial navigation trajectory points used in one iteration indicated by the target time window. Indicates the number of transformation calculations during a certain iteration, Indicates the The corresponding transformation calculation The first of the transformation trajectory points Transformation trajectory points, Indicates the The corresponding transformation calculation The first of the transformation trajectory points Transformation trajectory points, express and The distance between Indicates the The corresponding transformation calculation The first of the target inertial navigation trajectory points Target inertial navigation trajectory points, Indicates the The corresponding transformation calculation The first of the target inertial navigation trajectory points Target inertial navigation trajectory points, express and The distance between express and The length deviation between Indicates the The length deviation between the first and second trajectories is calculated by the transformation. A quantity representing the direction of the Earth's magnetic field, Represents the weight coefficient of the magnetic direction of each place, Represents the true value contour of the geomagnetic field at each transformation trajectory point in the k direction, represents the compensated geomagnetic contour lines, express and the corresponding The distance deviation between It represents the sum of the minimum distance deviations between each transformation trajectory point and the corresponding geomagnetic contour line.

[0091] Here, in each iteration, the transformation matrix and the matching error are continuously updated, that is, the transformation matrix and the matching error are determined multiple times.

[0092] Specifically, in each iteration, the transformation matrix and the matching error are determined multiple times along the direction of decreasing the matching error until the calculation stop condition is met.

[0093] It can be understood that in this iteration, as the process of determining the transformation matrix and matching error continues, the transformation trajectory composed of the transformation trajectory points gradually approaches the estimated trajectory of the target object until the calculation stop condition is met. That is, the transformation trajectory point when the calculation stop condition is met is closest to the corresponding estimated trajectory point. At this time, the corresponding estimated trajectory point can be generated based on the transformation trajectory point when the calculation stop condition is met.

[0094] The calculation stop condition includes at least one of the following: the number of determinations of the transformation matrix or the number of determinations of the matching error reaches the target number of calculations; the change rate of the transformation matrix is ​​less than a preset matrix change threshold; the change rate of the matching error is less than a matching error change threshold.

[0095] Here, the change rate of the transformation matrix is ​​the change rate of the transformation matrix used in this calculation compared to the transformation matrix used in the previous calculation, and the change rate of the matching error is the change rate of the matching error obtained in this calculation compared to the matching error obtained in the previous calculation.

[0096] When generating the corresponding estimated trajectory point based on the transformation trajectory point when the calculation stop condition is satisfied, specifically, considering that in actual applications, the transformation trajectory point when the calculation stop condition is satisfied may not be located on the geomagnetic contour line, therefore, for the transformation trajectory point when the calculation stop condition is satisfied, if the transformation trajectory point is located on the geomagnetic contour line, the transformation trajectory point is used as the estimated trajectory point; if the transformation trajectory point is not located on the geomagnetic contour line, the geomagnetic contour line is used. The point closest to the transformed trajectory point is determined as the estimated trajectory point.

[0097] S104: Moving the target time window on the inertial navigation trajectory according to the target time interval, returning to determine the matching error until a preset iteration condition is satisfied, and generating a target correction trajectory based on the estimated trajectory points corresponding to each target time window passed when the preset iteration condition is satisfied; wherein the target correction trajectory is used to correct the inertial navigation trajectory; the initial value of the transformation matrix used in the first iteration is the preset transformation matrix, and the initial value of the transformation matrix used in the remaining iterations is the steering matrix generated in the previous iteration, the steering matrix being generated based on the last transformation trajectory point among the transformation trajectory points obtained in the previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-dimensional geomagnetic contour lines corresponding to the last target inertial navigation trajectory point.

[0098] Here, considering that within a certain time length, the trajectory changes can be regarded as smooth motion, and the scaling, rotation and offset of all inertial navigation trajectory points relative to the inertial navigation trajectory are basically the same, the embodiment of the present application adopts the moving target time window method.

[0099] As the iterative process continues, the trajectory composed of the transformed trajectory points gradually approaches the estimated trajectory of the target object until the preset iterative conditions are met. At this time, the target correction trajectory can be generated based on the estimated trajectory points corresponding to each target time window passed when the preset iterative conditions are met.

[0100] The preset iteration condition includes at least one of the following: reaching the end point of the inertial navigation trajectory; meeting a preset duration; or receiving an iteration stop signal. The specific value of the preset duration can be set based on the iteration requirements and is not specifically limited here.

[0101] In some possible implementations, the target inertial navigation trajectory points used in two adjacent iterations partially overlap; the length of the first trajectory is determined based on the distance between each pair of adjacent target inertial navigation trajectory points, and the length of the second trajectory is determined based on the distance between each pair of adjacent transformed trajectory points.

[0102] During the iterations other than the first iteration, determining the matching error of the transformed trajectory point relative to the estimated trajectory point of the target object based on a length deviation between a first trajectory formed by a plurality of target inertial navigation trajectory points and a second trajectory formed by a plurality of transformed trajectory points, and a distance deviation between each transformed trajectory point and a corresponding three-dimensional geomagnetic contour line, includes:

[0103] Determine the newly added target inertial navigation trajectory points and repeated target inertial navigation trajectory points of this iteration relative to the previous iteration;

[0104] For each of the newly added target inertial navigation trajectory points, determining a distance between the newly added target inertial navigation trajectory point and a previous adjacent target inertial navigation trajectory point of the newly added target inertial navigation trajectory point as a first distance; and for each newly added transformed trajectory point corresponding to the newly added target inertial navigation trajectory point, determining a distance between the newly added transformed trajectory point and a previous adjacent transformed trajectory point of the newly added transformed trajectory point as a second distance;

[0105] Obtaining the distance between each pair of adjacent two repeated target inertial navigation trajectory points obtained in the previous iteration as a third distance, and obtaining the distance between each pair of adjacent two repeatedly transformed trajectory points obtained in the previous iteration as a fourth distance, wherein the repeatedly transformed trajectory points are transformed trajectory points corresponding to the repeated target inertial navigation trajectory points;

[0106] Determine a length deviation obtained in this iteration based on the first distance, the second distance, the third distance, and the fourth distance;

[0107] The matching error is determined based on the length deviation obtained in this iteration, the distance deviation between the newly added transformation trajectory point and the corresponding three-dimensional geomagnetic contour line, and the distance deviation between the repeatedly transformed trajectory point and the corresponding three-dimensional geomagnetic contour line obtained in the previous iteration.

[0108] For a clearer understanding, please also refer to Figure 2 , is a schematic diagram of a moving target time window on an inertial navigation track shown in an exemplary embodiment of the present application. The target time window is set to contain N target inertial navigation track points. In this example, N is 6 and the target time interval is 1s. It can be understood that the sampling of the first target time window occurs when the time length corresponding to the inertial navigation track H meets N*target time interval, such as Figure 2 As shown in , the first target time window includes six target INS trajectory points collected at ts, t+1s, t+2s, t+3s, t+4s, and t+5s, respectively. The target time window is then slid at 1s intervals, adding the target INS trajectory point from the most recent 1s and removing the target INS trajectory point from the furthest time, to ensure that the number of target INS trajectory points participating in the iteration is always N. Accordingly, the second target time window includes six target INS trajectory points collected at t+1s, t+2s, t+3s, t+4s, t+5s, and t+6s, respectively.

[0109] Combined with formula (2), it can be seen that when determining the matching error, the matching loss value (i.e., the corresponding length deviation and distance deviation) for each target inertial navigation trajectory point and each transformed trajectory point is calculated independently. In this way, in the case of smooth motion, the matching loss value corresponding to the current moment is relatively close to the matching loss value corresponding to the previous moment. The first trajectory transformation corresponding to two adjacent target time windows is small, and the second trajectory transformation corresponding to two adjacent target time windows is also small. Therefore, in the process of the remaining iterations except the first iteration, it is only necessary to calculate the matching loss value of the newly added target inertial navigation trajectory point and the newly added transformed trajectory point relative to the previous iteration, and the matching loss value of the repeated target inertial navigation trajectory point and the repeated transformed trajectory point obtained in the previous iteration is used.

[0110] In this example, for the iteration corresponding to the second target time window, the newly added target inertial navigation trajectory point relative to the previous iteration is the trajectory point collected at t+6s, and the repeated target inertial navigation trajectory point relative to the previous iteration is the trajectory point collected at t+1s, t+2s, t+3s, t+4s, and t+5s. It can be understood that the matching loss values ​​of the trajectory points collected at t+1s, t+2s, t+3s, t+4s, and t+5s must have been calculated in the previous iteration. Therefore, in this iteration, when determining the matching error, only the matching loss value of the trajectory point collected at t+6s needs to be calculated. The matching loss values ​​of the trajectory points collected at t+1s, t+2s, t+3s, t+4s, and t+5s can use the existing results obtained in the previous iteration.

[0111] Specifically, determine the distance between the t+6s target inertial navigation trajectory point and the t+5s target inertial navigation trajectory point as the first distance, and determine the distance between the t+6s transformed trajectory point and the t+5s transformed trajectory point as the second distance; obtain the distance between the t+5s target inertial navigation trajectory point and the t+4s target inertial navigation trajectory point obtained in the previous iteration, the distance between the t+4s target inertial navigation trajectory point and the t+3s target inertial navigation trajectory point obtained in the previous iteration, the distance between the t+3s target inertial navigation trajectory point and the t+2s target inertial navigation trajectory point obtained in the previous iteration, and the distance between the t+2s target inertial navigation trajectory point and the t+1s target inertial navigation trajectory point obtained in the previous iteration as the third distance, and obtain the distance between the t+5s transformed trajectory point and the t+4s transformed trajectory point obtained in the previous iteration The distance between them, the distance between the t+4s transformation trajectory point and the t+3s transformation trajectory point obtained in the previous iteration, the distance between the t+3s transformation trajectory point and the t+2s transformation trajectory point obtained in the previous iteration, and the distance between the t+2s transformation trajectory point and the t+1s transformation trajectory point obtained in the previous iteration are taken as the fourth distance; based on the first distance, the second distance, the third distance and the fourth distance, the length deviation obtained in this iteration is determined; based on the length deviation obtained in this iteration, the distance deviation between the t+6s transformation trajectory point and the corresponding three-dimensional geomagnetic contour line, and the distance deviation between the t+1s, t+2s, t+3s, t+4s, t+5s transformation trajectory points and the corresponding three-dimensional geomagnetic contour lines obtained in the previous iteration, the matching error is determined.

[0112] In this way, when determining the matching error in each iteration, it is only necessary to determine the data associated with the newly added target inertial navigation trajectory points and the newly added transformed trajectory points relative to the previous iteration, and continue to use the data associated with the repeated target inertial navigation trajectory points and the repeated transformed trajectory points relative to the previous iteration, avoiding repeated calculations and greatly reducing computational overhead. While ensuring accuracy, it also significantly improves processing efficiency.

[0113] In practical applications, since navigation is real-time, the correction trajectory must be updated in real time as the navigation trajectory grows. In other words, the correction trajectory grows with each iteration, rather than being generated all at once. Iteration stops when the preset iteration conditions are met, and the resulting correction trajectory becomes the target correction trajectory.

[0114] For example, at the 15th second of iteration, the generated correction trajectory includes 15 estimated trajectory points. If the preset iteration condition is to transform 7200 target inertial navigation trajectory points, the target correction trajectory obtained when the iteration stops includes 7200 estimated trajectory points.

[0115] When generating a correction trajectory based on the estimated trajectory points corresponding to each target time window passed, specifically, for each target time window passed, all first estimated trajectory points corresponding to the first time window passed are determined, and second estimated trajectory points corresponding to the newly added transformed trajectory points obtained from the remaining time windows passed are determined, and the first estimated trajectory points and the second estimated trajectory points are connected in sequence in chronological order to generate a real-time correction trajectory.

[0116] It can be understood that, for iterations other than the first iteration, the correction trajectory generated in each iteration is generated based on the correction trajectory generated in the previous iteration and the second estimated trajectory points corresponding to the newly added transformed trajectory points relative to the previous iteration.

[0117] In an embodiment of the present application, the initial value of the transformation matrix used in the first iteration is a preset transformation matrix. Optionally, the rotation parameter of the preset transformation matrix is ​​0, the translation parameter is 0, and the scaling parameter is 1.

[0118] The initial value of the transformation matrix used in the remaining iterations is the steering matrix generated in the previous iteration. The steering matrix is ​​generated based on the last transformation trajectory point among the transformation trajectory points obtained in the previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-dimensional geomagnetic contour line corresponding to the last target inertial navigation trajectory point. Therefore, the steering matrix can be used to guide the trajectory point transformation of the next iteration, so that the next iteration can perform matching transformation in the correct direction.

[0119] In some possible implementations, the steering matrix is ​​determined by the following steps:

[0120] Determining a target guidance point based on the last transformed trajectory point among the transformed trajectory points obtained in the previous iteration, and constructing a guidance area with the target guidance point as the center;

[0121] Searching for three-dimensional geomagnetic contour lines in the guide area according to a target window and a target step size to obtain at least one intersection point;

[0122] Filtering the at least one intersection to obtain a target intersection point closest to the target guide point;

[0123] The steering matrix is ​​generated according to the rotation angle and translation amount of the target intersection point relative to the final target inertial navigation trajectory point.

[0124] Here, taking into account the characteristic of smooth movement of the target object in a short period of time, a target guidance point is determined based on the last transformed trajectory point among the transformed trajectory points obtained in the previous iteration, and a guidance area is constructed with the target guidance point as the center. Then, considering that the true trajectory point is likely located at the intersection of its corresponding three-dimensional geomagnetic contour line, or that an intersection of three-dimensional geomagnetic contour lines exists within the neighborhood of the true trajectory point, the three-dimensional geomagnetic contour lines located in the guidance area are searched to obtain at least one intersection point, from which the target intersection point closest to the target guidance point is determined. The guidance matrix is ​​generated based on the rotation angle and translation of the target intersection point relative to the last target inertial navigation trajectory point, and the guidance matrix is ​​used as the initial value of the transformation matrix used in the next iteration, thereby preventing the next iteration from starting along the erroneous orientation of the previous iteration.

[0125] In some possible implementations, determining the target guidance point based on the last transformed trajectory point among the transformed trajectory points obtained in the previous iteration includes:

[0126] Determining a track point distance between the final transformed track point and the final target inertial navigation track point;

[0127] Obtaining a historical trajectory point distance, where the historical trajectory point distance is the distance between the historical last target inertial navigation trajectory point and the historical last transformation trajectory point corresponding to the target historical moment;

[0128] determining a first distance deviation between the trajectory point distance and the historical trajectory point distance;

[0129] A target guidance point is determined according to a comparison result between the first distance deviation and a first distance threshold.

[0130] Here, considering that the drift of the inertial navigation trajectory is gradual when the target object performs smooth motion, the trajectory point distance between the last transformed trajectory point and the last target inertial navigation trajectory point is determined to determine whether the trajectory point distance between the last transformed trajectory point and the last target inertial navigation trajectory point changes suddenly, thereby determining the target guidance point.

[0131] The initial value of the target historical moment is the moment when the first target inertial navigation track point is collected on the inertial navigation track. After that, it is updated every fixed time, such as 300 seconds, so that the updated moment can be selected as the target historical moment.

[0132] In this way, the target guidance point is determined by comparing the trajectory point distance between the last transformed trajectory point and the last target inertial navigation trajectory point with the first distance deviation between the historical trajectory point distances, which helps to correct the last transformed trajectory point through the target guidance point.

[0133] In some possible implementations, determining the target guidance point according to a comparison result between the first distance deviation and a first distance threshold includes:

[0134] When the first distance deviation is greater than or equal to the first distance threshold, determining a historical transformation trajectory point located before the last transformation trajectory point, and determining the target guidance point based on the historical transformation trajectory point;

[0135] When the first distance is less than the first distance threshold, the last transformed trajectory point is used as the target guidance point.

[0136] Among them, if the first distance deviation is greater than or equal to the first distance threshold, it means that the trajectory point distance between the last transformation trajectory point and the last target inertial navigation trajectory point has changed suddenly. At this time, the historical transformation trajectory point located before the last transformation trajectory point is determined, and the last transformation trajectory point is subject to regular constraints based on motion laws based on the historical transformation trajectory points to determine the target guidance point. This can, to a certain extent, suppress the deviation result of the last transformation trajectory point from being too rapid, and avoid accidental large matching errors caused by interference such as measurement noise and excessive cumulative error of approximate matching.

[0137] If the first distance is less than the first distance threshold, it means that the trajectory point distance between the last transformation trajectory point and the last target inertial navigation trajectory point has not changed suddenly. Therefore, there is no need to impose regularity constraints on the last transformation trajectory point based on motion laws. The last transformation trajectory point can be directly used as the target guidance point, thereby improving processing efficiency while ensuring accuracy.

[0138] In some possible implementations, determining the target guidance point based on the historical transformation trajectory points includes:

[0139] determining the longitude coordinates of the target guidance point based on the longitude coordinates of the historical transformation trajectory point and a target multiple of the speed of the historical transformation trajectory point in the longitude direction, wherein the target multiple is determined based on the time interval between the historical transformation trajectory point and the last transformation trajectory point;

[0140] The latitude coordinate of the target guidance point is determined based on the latitude coordinate of the historical transformation trajectory point and the target multiple of the speed of the historical transformation trajectory point in the latitude direction.

[0141] Among them, the sum of the longitude coordinates of the historical transformation trajectory point and the target multiple of the speed of the historical transformation trajectory point in the longitude direction can be determined as the longitude coordinates of the target guidance point, and the latitude coordinates of the historical transformation trajectory point and the target multiple of the speed of the historical transformation trajectory point in the latitude direction can be determined as the latitude coordinates of the target guidance point.

[0142] Here, the time interval between the historical transformation trajectory point and the last transformation trajectory point can be greater than 2s. Continuing with the previous embodiment, for the second time window, its last transformation trajectory point is the t+6s transformation trajectory point. At this time, the historical transformation trajectory point can be the t+4s transformation trajectory point. In this way, by setting a certain time interval between the historical transformation trajectory point and the last transformation trajectory point, the deviation of the last transformation trajectory point can be suppressed.

[0143] For example, the target guidance point can be obtained by the following formula (3):

[0144] (3)

[0145] In this example, the time interval between the historical transformation trajectory point and the last transformation trajectory point is 2s. Indicates the target guidance point, Represents the latitude coordinates of historical transformation trajectory points, Indicates the velocity of the carrier in the latitude direction at the last transformation trajectory point, Represents the longitude coordinates of historical transformation trajectory points, Indicates the velocity of the carrier in the longitude direction at the last point of the trajectory transformation. Indicates the track point distance between the last transformed track point and the last target inertial navigation track point, Represents the distance between historical trajectory points, Indicates the first distance deviation, represents the first distance threshold, Indicates the last transformation trajectory point.

[0146] After determining the target guidance point, a guidance area is constructed with the target guidance point as the center. Theoretically, the true value trajectory point should fall on the intersection of the three-dimensional geomagnetic contour line, or at a position close to the three-dimensional geomagnetic contour line. In order to include the optimal solution in the guidance area as much as possible, the embodiment of the application uses the target guidance point as the center. is the center and the side length is The rectangular range is used as the guide area.

[0147] The side length of the guide area is The specific value of can be determined according to the navigation accuracy index of the target object. Taking the target object as an aircraft as an example, the aviation navigation accuracy index is used to characterize the average distance root mean square value of the trajectory correction achieved at different flight altitudes. Taking into account the error of the magnetic measurement value, the one-way search range based on the target guidance point is set to 2 times the navigation accuracy index. For example, when navigating at an altitude of 3000m, the side length is It is 0.8 km, represented by a 200pix*200pix image, and the resolution of each pixel is 40m.

[0148] In some possible implementations, searching for three-dimensional geomagnetic contour lines in the guide area according to the target window and the target step size to obtain at least one intersection point includes:

[0149] According to the target step length, move on the three-dimensional geomagnetic contour line in the guide area and intercept the target window;

[0150] For the target window moved to any position according to the target step length, if the image attribute parameters of the target window meet the preset conditions, determining the center point of the target window as a candidate intersection point;

[0151] Clustering is performed on the candidate intersection points to obtain at least one intersection point.

[0152] In the above steps, in order to more clearly determine the location of the intersection, the intersection can be searched through image processing (IP) technology.

[0153] Here you can also refer to Figure 3 , is a schematic diagram of a process for determining an intersection according to an exemplary embodiment of the present application. Figure 3 As shown in , the pixel values ​​of all pixels of the image corresponding to the guide area are all set to 0 to obtain a completely black guide area, and then the three-dimensional geomagnetic contour lines are traversed to intercept the three-dimensional geomagnetic contour lines within the guide area, that is, to determine 、 The three-dimensional geomagnetic contour lines within the range, where Indicates the latitude coordinate of the target guidance point, Indicates the longitude coordinate of the target guidance point.

[0154] In this embodiment, different pixel values ​​are used to mark the contour lines in different directions, so that the contour lines in different directions can be distinguished. Figure 4a and Figure 4b , is a schematic diagram showing the effect of determining an intersection according to an exemplary embodiment of the present application. Figure 4a and Figure 4bAs shown in , the x-direction contour line is marked with a pixel value of 250, the y-direction contour line is marked with a pixel value of 150, and the z-direction contour line is marked with a pixel value of 50, so that the contour lines in different directions are marked with white with different brightness.

[0155] According to the target step size, move on the three-dimensional geomagnetic contour line in the image corresponding to the guide area and intercept the target window. The target step size and the target window can be determined according to the size of the image corresponding to the guide area. For example, if the image corresponding to the guide area is 200pix*200pix, the target step size is set to 5pix and the target window is set to 20pix*20pix.

[0156] For the target window moved to any position according to the target step size, the image attribute parameters of the target window are determined, and it is judged whether the image attribute parameters of the target window meet the preset conditions. If the image attribute parameters of the target window meet the preset conditions, the center point of the target window is determined as a candidate intersection point. If the image attribute parameters of the target window do not meet the preset conditions, the target window continues to be moved.

[0157] The image attribute parameters of the target window include at least one of the following: mean avg, variance std, and complexity index copml. The complexity index includes, for example, entropy and local binary pattern (LBP).

[0158] The preset condition is that the image attribute parameter meets the corresponding threshold range. If there are multiple image attribute parameters, it is determined that the preset condition is met when the multiple image attribute parameters all meet the corresponding threshold range.

[0159] For example, for the mean avg, it needs to be greater than or equal to the mean threshold, that is, avg thr_avg; for variance std, it needs to be within the variance range, that is, std thr_std_l and std thr_std_h; for the complexity index copml, it needs to be greater than or equal to the complexity index threshold, that is, copml thr_copml.

[0160] See also Figure 4a and Figure 4b , cluster the candidate intersection points (square marks) to obtain intersection points (star marks). Here, according to the different position distribution of candidate intersection points, at least one intersection point can be obtained, such as Figure 4a As shown, three intersection points are obtained, such as Figure 4b As shown, an intersection point is obtained.

[0161] In this way, searching for intersections by image processing technology can accurately obtain the position coordinates of the intersections while being concise and efficient.

[0162] After obtaining at least one intersection point, a plurality of intersection points are selected from the at least one intersection point to obtain the intersection point. The nearest target intersection , determine the target intersection Inertial navigation trajectory point relative to the final target Rotation angle and translation , by the rotation angle and translation Composition of the guidance matrix , thereby obtaining the initial value of the transformation matrix used in the next iteration.

[0163] See also Figure 5 , is a schematic diagram showing an exemplary embodiment of the present application, which shows a method of guiding the direction of the next trajectory point transformation by using a guiding matrix. Figure 5 As shown in The center point constructs a Cartesian coordinate system, H represents the inertial navigation trajectory, the diamond mark a represents the final target inertial navigation trajectory point, C represents the three-dimensional geomagnetic contour line, the star mark b represents the target intersection point, H' represents the transformation trajectory composed of transformation trajectory points, the triangle mark c represents the target guidance point, and L represents the true value trajectory. It can be seen that if the transformation trajectory H' continues to iterate along the direction of the target guidance point c, it will continue to deviate from the true value trajectory L. By determining the guidance matrix through the target intersection point b, the subsequent iterations can be guided towards the correct direction close to the true value trajectory L, reducing the probability of deviation of the transformation trajectory.

[0164] In practical applications, there may be situations where the three-dimensional geomagnetic contour lines are relatively sparse, or the deviation of the transformation trajectory points is large, resulting in the inability to cluster to obtain the intersection point. In this case, the target guidance point can be determined. Inertial navigation trajectory point relative to the final target Rotation angle and translation , by the rotation angle and translation Composition of the guidance matrix , thereby obtaining the initial value of the transformation matrix used in the next iteration.

[0165] In some possible implementations, the method further includes:

[0166] Determine the second distance deviation between the last transformed trajectory point obtained in this iteration and the target intersection point;

[0167] When the second distance deviation is greater than or equal to the second distance threshold, weighting the last transformation trajectory point and the target intersection point obtained in this iteration to obtain an adjusted last transformation trajectory point, and replacing the last transformation trajectory point obtained in this iteration with the adjusted last transformation trajectory point;

[0168] When the second distance deviation is less than the second distance threshold, the last transformed trajectory point obtained in the current iteration is replaced by the target intersection point obtained in the current iteration.

[0169] Here, considering that the last transformation trajectory point may not fall exactly at the position of the target intersection point, and there may be a local optimal solution in the guidance direction, these interferences may cause the last transformation trajectory point to deviate seriously from the target intersection point. Therefore, the last transformation trajectory point can be appropriately adjusted to further suppress the local optimal solution.

[0170] Specifically, if the second distance deviation between the last transformation trajectory point and the target intersection point obtained in this iteration is greater than or equal to the second distance threshold, it means that the last transformation trajectory point obtained in this iteration has a larger deviation than the target intersection point, and thus the last transformation trajectory point and the target intersection point obtained in this iteration are weighted to obtain an adjusted last transformation trajectory point, so as to adjust the last transformation point through the target intersection point, and then replace the last transformation trajectory point obtained in this iteration with the adjusted last transformation trajectory point to improve the accuracy of the iteration result.

[0171] If the second distance deviation is less than the second distance threshold, it means that the deviation of the last transformation trajectory point obtained in this iteration is smaller than the target intersection point, so the target intersection point obtained in this iteration can be directly used to replace the last transformation trajectory point obtained in this iteration.

[0172] Specifically, the last transformed trajectory point after replacement can be obtained by the following formula (4):

[0173] (4)

[0174] in, represents the last transformed trajectory point after replacement, Indicates the latitude coordinate of the last transformed trajectory point, Indicates the latitude coordinate of the target intersection point, Indicates the longitude coordinate of the last transformed trajectory point, Indicates the longitude coordinate of the target intersection point, Indicates the second distance deviation, represents the second distance threshold, represents the target intersection point, Indicates the weight coefficient, optional, .

[0175] To clearly demonstrate the trajectory correction process, see Figure 6 , is a schematic diagram of a trajectory correction process shown in an exemplary embodiment of the present application. Figure 6 As shown in , when trajectory correction begins, it first determines whether the preset iteration conditions are met. If not, it determines multiple target inertial navigation trajectory points within the target time window from the inertial navigation trajectory. It then checks whether N target inertial navigation trajectory points can be accumulated. If not, it returns to determine whether the preset iteration conditions are met. If so, it determines whether this is the first iteration.

[0176] If this is the first iteration, each target inertial navigation trajectory point in the first target time window is transformed. Based on each target inertial navigation trajectory point in the first target time window, multiple transformation matrices and matching error determinations are performed along the direction of decreasing matching error until the calculation stop condition is met. If this is not the first iteration, the steering matrix generated in the previous iteration is used as the initial value of the transformation matrix, and each target inertial navigation trajectory point in the corresponding target time window is transformed. Based on the newly added target inertial navigation trajectory points and the repeated target inertial navigation trajectory points in the corresponding target time window, the matching error is determined. Multiple transformation matrices and matching error determinations are performed along the direction of decreasing matching error until the calculation stop condition is met.

[0177] Then, based on the last transformed trajectory point, the target guidance point is determined, a guidance area is constructed with the target guidance point as the center, and the three-dimensional geomagnetic contour lines located in the guidance area are searched to determine whether at least one intersection point can be obtained.

[0178] If at least one intersection point is found, the target intersection point is selected and the final transformed trajectory point obtained in this iteration is corrected. A steering matrix is ​​generated based on the rotation angle and translation of the target intersection point relative to the final target inertial navigation trajectory point. If no intersection point is found, a steering matrix is ​​generated based on the rotation angle and translation of the target guidance point relative to the final target inertial navigation trajectory point. The steering matrix generated in this iteration serves as the initial transformation matrix for the next iteration.

[0179] Repeat the above steps until the preset iteration conditions are met to generate the target correction trajectory. The specific steps are described in the previous embodiment and will not be repeated here.

[0180] For example, see Figure 7 , is a schematic diagram showing the effect of trajectory correction according to an exemplary embodiment of the present application. Figure 7 As shown in the figure, the inertial navigation track points are collected from the inertial navigation track H. 、 、 、 、 According to the trajectory correction method provided in the embodiment of the present application, a correction trajectory X can be generated. The corresponding correction trajectory X is composed of the estimated trajectory points 、 、 、 It can be seen that each estimated trajectory point is located on the corresponding three-dimensional geomagnetic contour line. 、 、 、 、 On the other hand, compared with the inertial navigation track H, the correction track X is closer to the true track L. Accordingly, compared with the inertial navigation track point 、 、 、 Estimated trajectory points 、 、 、 etc. are closer to the true value trajectory point 、 、 、 wait.

[0181] In the trajectory correction method provided by an embodiment of the present application, during iterations other than the first iteration, the initial value of the transformation matrix used when transforming the target inertial navigation trajectory points to obtain the transformed trajectory points is the guidance matrix generated in the corresponding previous iteration. The guidance matrix is ​​generated based on the last transformed trajectory point among the transformed trajectory points obtained in the corresponding previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-dimensional geomagnetic contour line corresponding to the last target inertial navigation trajectory point. Therefore, the guidance matrix can be used to guide the trajectory point transformation of the next iteration, so that the next iteration can perform a matching transformation in the correct orientation, reduce the probability of deviation of the transformation trajectory, avoid the dilemma of the iteration falling into a local optimal solution in the wrong orientation due to complex magnetic field distribution, and thereby improve the accuracy of trajectory correction.

[0182] Those skilled in the art will understand that in the above-mentioned method of the specific implementation method, the writing order of each step does not mean a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.

[0183] Based on the same technical concept, the embodiment of the present application also provides a trajectory correction device corresponding to the trajectory correction method. Since the principle of solving the problem by the trajectory correction device in the embodiment of the present application is similar to the above-mentioned trajectory correction method in the embodiment of the present application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be repeated.

[0184] See also Figure 8 , is a schematic diagram of a trajectory correction device shown as an exemplary embodiment of the present application. Figure 8 As shown in , the trajectory correction device 800 provided in the embodiment of the present application includes:

[0185] The trajectory acquisition module 801 is used to obtain the inertial navigation trajectory of the target object;

[0186] a trajectory transformation module 802 for determining a plurality of target inertial navigation trajectory points located in a target time window from the inertial navigation trajectory, and transforming each of the target inertial navigation trajectory points using a transformation matrix to obtain a transformed trajectory point corresponding to each of the target inertial navigation trajectory points;

[0187] an error determination module 803 for determining, based on a length deviation between a first trajectory formed by a plurality of target inertial navigation trajectory points and a second trajectory formed by a plurality of transformed trajectory points, and a distance deviation between each transformed trajectory point and a corresponding three-dimensional geomagnetic contour line, a matching error of the transformed trajectory point relative to an estimated trajectory point of the target object; the estimated trajectory point is generated based on the transformed trajectory point;

[0188] A trajectory generation module 804 is configured to move the target time window on the inertial navigation trajectory according to a target time interval, return to determine the matching error, and generate a target correction trajectory based on the estimated trajectory points corresponding to each target time window passed when the preset iteration condition is met.

[0189] The target correction trajectory is used to correct the inertial navigation trajectory; the initial value of the transformation matrix used in the first iteration is a preset transformation matrix, and the initial value of the transformation matrix used in the remaining iterations is a steering matrix generated in the previous iteration. The steering matrix is ​​generated based on the last transformation trajectory point among the transformation trajectory points obtained in the previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-dimensional geomagnetic contour lines corresponding to the last target inertial navigation trajectory point.

[0190] In some possible implementations, the trajectory transformation module 802 is configured to determine the steering matrix by the following steps:

[0191] Determining a target guidance point based on the last transformed trajectory point among the transformed trajectory points obtained in the previous iteration, and constructing a guidance area with the target guidance point as the center;

[0192] Searching for three-dimensional geomagnetic contour lines in the guide area according to a target window and a target step size to obtain at least one intersection point;

[0193] Filtering the at least one intersection to obtain a target intersection point closest to the target guide point;

[0194] The steering matrix is ​​generated according to the rotation angle and translation amount of the target intersection point relative to the final target inertial navigation trajectory point.

[0195] In some possible implementations, when the trajectory transformation module 802 is used to determine the target guidance point based on the last transformed trajectory point among the transformed trajectory points obtained in the previous iteration, it is specifically used to:

[0196] Determining a track point distance between the final transformed track point and the final target inertial navigation track point;

[0197] Obtaining a historical trajectory point distance, where the historical trajectory point distance is the distance between the historical last target inertial navigation trajectory point and the historical last transformation trajectory point corresponding to the target historical moment;

[0198] determining a first distance deviation between the trajectory point distance and the historical trajectory point distance;

[0199] A target guidance point is determined according to a comparison result between the first distance deviation and a first distance threshold.

[0200] In some possible implementations, when the trajectory transformation module 802 is configured to determine the target guidance point based on the comparison result between the first distance deviation and the first distance threshold, it is specifically configured to:

[0201] When the first distance deviation is greater than or equal to the first distance threshold, determining a historical transformation trajectory point located before the last transformation trajectory point, and determining the target guidance point based on the historical transformation trajectory point;

[0202] When the first distance is less than the first distance threshold, the last transformed trajectory point is used as the target guidance point.

[0203] In some possible implementations, when the trajectory transformation module 802 is used to determine the target guidance point based on the historical transformation trajectory points, it is specifically used to:

[0204] determining the longitude coordinates of the target guidance point based on the longitude coordinates of the historical transformation trajectory point and a target multiple of the speed of the historical transformation trajectory point in the longitude direction, wherein the target multiple is determined based on the time interval between the historical transformation trajectory point and the last transformation trajectory point;

[0205] The latitude coordinate of the target guidance point is determined based on the latitude coordinate of the historical transformation trajectory point and the target multiple of the speed of the historical transformation trajectory point in the latitude direction.

[0206] In some possible implementations, when the trajectory transformation module 802 is configured to search for three-dimensional geomagnetic contour lines located in the guidance area according to the target window and the target step size to obtain at least one intersection point, it is specifically configured to:

[0207] According to the target step length, move on the three-dimensional geomagnetic contour line in the guide area and intercept the target window;

[0208] For the target window moved to any position according to the target step length, if the image attribute parameters of the target window meet the preset conditions, determining the center point of the target window as a candidate intersection point;

[0209] Clustering is performed on the candidate intersection points to obtain at least one intersection point.

[0210] In some possible implementations, during the iterations other than the first iteration, the trajectory transformation module 802 is further configured to:

[0211] Determine the second distance deviation between the last transformed trajectory point obtained in this iteration and the target intersection point;

[0212] When the second distance deviation is greater than or equal to the second distance threshold, weighting the last transformation trajectory point and the target intersection point obtained in this iteration to obtain an adjusted last transformation trajectory point, and replacing the last transformation trajectory point obtained in this iteration with the adjusted last transformation trajectory point;

[0213] When the second distance deviation is less than the second distance threshold, the last transformed trajectory point obtained in the current iteration is replaced by the target intersection point obtained in the current iteration.

[0214] In some possible implementations, the target inertial navigation trajectory points used in two adjacent iterations partially overlap; the length of the first trajectory is determined based on the distance between each pair of adjacent target inertial navigation trajectory points, and the length of the second trajectory is determined based on the distance between each pair of adjacent transformed trajectory points;

[0215] During the remaining iterations except the first iteration, the error determination module 803 is specifically configured to:

[0216] Determine the newly added target inertial navigation trajectory points and repeated target inertial navigation trajectory points of this iteration relative to the previous iteration;

[0217] For each of the newly added target inertial navigation trajectory points, determining a distance between the newly added target inertial navigation trajectory point and a previous adjacent target inertial navigation trajectory point of the newly added target inertial navigation trajectory point as a first distance; and for each newly added transformed trajectory point corresponding to the newly added target inertial navigation trajectory point, determining a distance between the newly added transformed trajectory point and a previous adjacent transformed trajectory point of the newly added transformed trajectory point as a second distance;

[0218] Obtaining the distance between each pair of adjacent two repeated target inertial navigation trajectory points obtained in the previous iteration as a third distance, and obtaining the distance between each pair of adjacent two repeatedly transformed trajectory points obtained in the previous iteration as a fourth distance, wherein the repeatedly transformed trajectory points are transformed trajectory points corresponding to the repeated target inertial navigation trajectory points;

[0219] Determine a length deviation obtained in this iteration based on the first distance, the second distance, the third distance, and the fourth distance;

[0220] The matching error is determined based on the length deviation obtained in this iteration, the distance deviation between the newly added transformation trajectory point and the corresponding three-dimensional geomagnetic contour line, and the distance deviation between the repeatedly transformed trajectory point and the corresponding three-dimensional geomagnetic contour line obtained in the previous iteration.

[0221] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present application. A person of ordinary skill in the art can understand and implement the present invention without inventive effort.

[0222] Based on the same technical concept, the embodiment of the present application further provides a computer device 900, referring to Figure 9 FIG. 1 is a schematic diagram of a computer device according to an exemplary embodiment of the present application, comprising:

[0223] Processor 910, memory 920, and bus 930. Memory 920 is used to store execution instructions and includes internal memory 921 and external memory 922. Memory 921, also referred to as internal memory, is used to temporarily store computational data from processor 910 and data exchanged with external memory 922, such as a hard disk. Processor 910 exchanges data with external memory 922 via internal memory 921.

[0224] In the embodiment of the present application, the memory 920 is specifically used to store application code for executing the solution of the present application, and the execution is controlled by the processor 910. That is, when the electronic device 900 is running, the processor 910 communicates with the memory 920 via the bus 930, or the processor 910 communicates with the memory 920 via other means, so that the processor 910 executes the application code stored in the memory 920, and then performs the steps of the trajectory correction method described in any of the aforementioned embodiments.

[0225] The memory 920 may be, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc.

[0226] Processor 910 may be an integrated circuit chip with signal processing capabilities. Such processors may be general-purpose processors, including central processing units (CPUs) and network processors (NPs). They may also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. They may implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. A general-purpose processor may be a microprocessor or any conventional processor.

[0227] It should be understood that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the electronic device 900. In other embodiments of the present application, the electronic device 900 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0228] The present disclosure also provides a computer-readable storage medium having a computer program stored thereon. When executed by a processor, the computer program executes the steps of the trajectory correction method described in the above method embodiment. The storage medium may be a volatile or non-volatile computer-readable storage medium.

[0229] The present disclosure also provides a computer program product having a computer program stored thereon. When the computer program is executed by a processor, the steps of the trajectory correction method provided by any of the above embodiments of the present disclosure are executed. For details, please refer to the above method embodiments, which will not be repeated here.

[0230] The computer program product may be implemented in hardware, software, or a combination thereof. In one alternative embodiment, the computer program product is embodied as a computer storage medium, which may be a volatile or non-volatile computer-readable storage medium. In another alternative embodiment, the computer program product is embodied as a software product, such as a software development kit (SDK).

[0231] In addition, embodiments of the subject matter and functional operations described in this specification may be implemented in the following: digital electronic circuits, tangibly embodied computer software or firmware, computer hardware including the structures disclosed in this specification and their structural equivalents, or a combination of one or more thereof. Embodiments of the subject matter described in this specification may be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible, non-transitory program carrier to be executed by a data processing device or to control the operation of the data processing device. Alternatively or additionally, the program instructions may be encoded on an artificially generated propagation signal, such as a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information and transmit it to a suitable receiver device for execution by the data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more thereof.

[0232] The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform the corresponding functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can be implemented as, special-purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).

[0233] Computers suitable for executing computer programs include, for example, general-purpose and / or special-purpose microprocessors, or any other type of central processing unit. Typically, the central processing unit will receive instructions and data from a read-only memory and / or random access memory. The basic components of a computer include a central processing unit for implementing or executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, or the computer will be operably coupled to such mass storage devices to receive data from them or to transmit data to them, or both. However, a computer does not necessarily have such devices. In addition, a computer can be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device such as a universal serial bus (USB) flash drive, to name a few.

[0234] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including, for example, semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, and CD ROM and DVD-ROM disks. The processor and memory can be supplemented by, or incorporated in, special purpose logic circuitry.

[0235] Although this specification includes many specific implementation details, these should not be interpreted as limiting the scope of any invention or the scope of protection claimed, but are mainly used to describe the features of specific embodiments of specific inventions. Certain features described in multiple embodiments within this specification may also be implemented in combination in a single embodiment. On the other hand, the various features described in a single embodiment may also be implemented separately in multiple embodiments or in any suitable sub-combination. In addition, although features may work in certain combinations as described above and even initially claimed as such, one or more features from the claimed combination may be removed from the combination in some cases, and the claimed combination may point to a sub-combination or a variation of the sub-combination.

[0236] Similarly, although operations are depicted in a particular order in the accompanying drawings, this should not be understood as requiring that these operations be performed in the particular order shown or performed sequentially, or that all illustrated operations be performed to achieve the desired results. In some cases, multitasking and parallel processing may be advantageous. In addition, the separation of various system modules and components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product, or packaged into multiple software products.

[0237] Thus, specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the particular order shown or sequential sequence to achieve the desired results. In some implementations, multitasking and parallel processing may be advantageous.

[0238] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A trajectory correction method, characterized in that: The method comprises: Obtain inertial navigation trajectory for target objects; Determining a plurality of target inertial navigation trajectory points located in a target time window from the inertial navigation trajectory, and transforming each of the target inertial navigation trajectory points using a transformation matrix to obtain a transformed trajectory point corresponding to each of the target inertial navigation trajectory points; determining, based on a length deviation between a first trajectory formed by a plurality of target inertial navigation trajectory points and a second trajectory formed by a plurality of transformed trajectory points, and a distance deviation between each transformed trajectory point and a corresponding three-dimensional geomagnetic contour line, a matching error of the transformed trajectory point relative to an estimated trajectory point of the target object; the estimated trajectory point being generated based on the transformed trajectory point; Moving the target time window on the inertial navigation trajectory according to a target time interval, returning to determine the matching error until a preset iteration condition is satisfied, and generating a target correction trajectory based on estimated trajectory points corresponding to each target time window passed when the preset iteration condition is satisfied; The target correction trajectory is used to correct the inertial navigation trajectory; the initial value of the transformation matrix used in the first iteration is a preset transformation matrix, and the initial value of the transformation matrix used in the remaining iterations is a steering matrix generated in the previous iteration. The steering matrix is ​​generated based on the last transformation trajectory point among the transformation trajectory points obtained in the previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-dimensional geomagnetic contour lines corresponding to the last target inertial navigation trajectory point.

2. The method according to claim 1, characterized in that The steering matrix is ​​determined by the following steps: Determining a target guidance point based on the last transformed trajectory point among the transformed trajectory points obtained in the previous iteration, and constructing a guidance area with the target guidance point as the center; Searching for three-dimensional geomagnetic contour lines in the guide area according to a target window and a target step size to obtain at least one intersection point; Filtering the at least one intersection to obtain a target intersection point closest to the target guide point; The steering matrix is ​​generated according to the rotation angle and translation amount of the target intersection point relative to the final target inertial navigation trajectory point.

3. The method according to claim 2, characterized in that The determining of the target guidance point based on the last transformed trajectory point among the transformed trajectory points obtained in the last iteration includes: Determining a track point distance between the final transformed track point and the final target inertial navigation track point; Obtaining a historical trajectory point distance, where the historical trajectory point distance is the distance between the historical last target inertial navigation trajectory point and the historical last transformation trajectory point corresponding to the target historical moment; determining a first distance deviation between the trajectory point distance and the historical trajectory point distance; A target guidance point is determined according to a comparison result between the first distance deviation and a first distance threshold.

4. The method according to claim 3, characterized in that The determining the target guidance point according to the comparison result between the first distance deviation and the first distance threshold includes: When the first distance deviation is greater than or equal to the first distance threshold, determining a historical transformation trajectory point located before the last transformation trajectory point, and determining the target guidance point based on the historical transformation trajectory point; When the first distance is less than the first distance threshold, the last transformed trajectory point is used as the target guidance point.

5. The method according to claim 4, characterized in that The determining the target guidance point based on the historical transformation trajectory point includes: determining the longitude coordinates of the target guidance point based on the longitude coordinates of the historical transformation trajectory point and a target multiple of the speed of the historical transformation trajectory point in the longitude direction, wherein the target multiple is determined based on the time interval between the historical transformation trajectory point and the last transformation trajectory point; The latitude coordinate of the target guidance point is determined based on the latitude coordinate of the historical transformation trajectory point and the target multiple of the speed of the historical transformation trajectory point in the latitude direction.

6. The method according to claim 2, characterized in that The step of searching for three-dimensional geomagnetic contour lines in the guide area according to the target window and the target step size to obtain at least one intersection point includes: According to the target step length, move on the three-dimensional geomagnetic contour line in the guide area and intercept the target window; For the target window moved to any position according to the target step length, if the image attribute parameters of the target window meet the preset conditions, determining the center point of the target window as a candidate intersection point; Clustering is performed on the candidate intersection points to obtain at least one intersection point.

7. The method according to claim 2, characterized in that The method further comprises: Determine the second distance deviation between the last transformed trajectory point obtained in this iteration and the target intersection point; When the second distance deviation is greater than or equal to the second distance threshold, weighting the last transformation trajectory point and the target intersection point obtained in this iteration to obtain an adjusted last transformation trajectory point, and replacing the last transformation trajectory point obtained in this iteration with the adjusted last transformation trajectory point; When the second distance deviation is less than the second distance threshold, the last transformed trajectory point obtained in the current iteration is replaced by the target intersection point obtained in the current iteration.

8. The method according to any one of claims 1 to 7, characterized in that The target inertial navigation trajectory points used in two adjacent iterations partially overlap; the length of the first trajectory is determined according to the distance between each pair of adjacent target inertial navigation trajectory points, and the length of the second trajectory is determined according to the distance between each pair of adjacent transformed trajectory points; During the iterations other than the first iteration, determining the matching error of the transformed trajectory point relative to the estimated trajectory point of the target object based on a length deviation between a first trajectory formed by a plurality of target inertial navigation trajectory points and a second trajectory formed by a plurality of transformed trajectory points, and a distance deviation between each transformed trajectory point and a corresponding three-dimensional geomagnetic contour line, includes: Determine the newly added target inertial navigation trajectory points and repeated target inertial navigation trajectory points of this iteration relative to the previous iteration; For each of the newly added target inertial navigation trajectory points, determining a distance between the newly added target inertial navigation trajectory point and a previous adjacent target inertial navigation trajectory point of the newly added target inertial navigation trajectory point as a first distance; and for each newly added transformed trajectory point corresponding to the newly added target inertial navigation trajectory point, determining a distance between the newly added transformed trajectory point and a previous adjacent transformed trajectory point of the newly added transformed trajectory point as a second distance; Obtaining the distance between each pair of adjacent two repeated target inertial navigation trajectory points obtained in the previous iteration as a third distance, and obtaining the distance between each pair of adjacent two repeatedly transformed trajectory points obtained in the previous iteration as a fourth distance, wherein the repeatedly transformed trajectory points are transformed trajectory points corresponding to the repeated target inertial navigation trajectory points; Determine a length deviation obtained in this iteration based on the first distance, the second distance, the third distance, and the fourth distance; The matching error is determined based on the length deviation obtained in this iteration, the distance deviation between the newly added transformation trajectory point and the corresponding three-dimensional geomagnetic contour line, and the distance deviation between the repeatedly transformed trajectory point and the corresponding three-dimensional geomagnetic contour line obtained in the previous iteration.

9. A trajectory correction device, characterized in that: The device comprises: A trajectory acquisition module is used to obtain the inertial navigation trajectory of the target object; a trajectory transformation module, configured to determine a plurality of target inertial navigation trajectory points located in a target time window from the inertial navigation trajectory, and transform each of the target inertial navigation trajectory points using a transformation matrix to obtain a transformed trajectory point corresponding to each of the target inertial navigation trajectory points; an error determination module, configured to determine, based on a length deviation between a first trajectory formed by a plurality of target inertial navigation trajectory points and a second trajectory formed by a plurality of transformed trajectory points, and a distance deviation between each transformed trajectory point and a corresponding three-dimensional geomagnetic contour line, a matching error of the transformed trajectory point relative to an estimated trajectory point of the target object; the estimated trajectory point being generated based on the transformed trajectory point; a trajectory generation module, configured to move the target time window on the inertial navigation trajectory according to a target time interval, return to determine the matching error, and generate a target correction trajectory based on the estimated trajectory points corresponding to each target time window passed when the preset iteration condition is met; The target correction trajectory is used to correct the inertial navigation trajectory; the initial value of the transformation matrix used in the first iteration is a preset transformation matrix, and the initial value of the transformation matrix used in the remaining iterations is a steering matrix generated in the previous iteration. The steering matrix is ​​generated based on the last transformation trajectory point among the transformation trajectory points obtained in the previous iteration, the last target inertial navigation trajectory point among the target inertial navigation trajectory points used in the previous iteration, and the intersection point of the three-dimensional geomagnetic contour lines corresponding to the last target inertial navigation trajectory point.

10. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the steps of the trajectory correction method according to any one of claims 1 to 8 are implemented.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the trajectory correction method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • Isoline matching method based on sliding window data backtracking

    CN114061591A

  • Contour line matching method based on sliding window data backtracking

    US20230332899A1