Integer ambiguity fixing method based on factor graph optimization and storage device

By introducing an ambiguity penalty factor and a relaxation strategy into factor graph optimization, the problem that factor graph optimization cannot directly fix ambiguity is solved, achieving integer fixation of ambiguity and improving the accuracy and stability of GNSS positioning.

CN121634172BActive Publication Date: 2026-04-21HOHAI UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HOHAI UNIV
Filing Date
2026-02-04
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing factor graph optimization methods cannot effectively utilize the integer characteristics of ambiguity in GNSS positioning, resulting in ambiguity solutions being calculated as floating-point solutions. This fails to fully leverage the global optimization advantages of factor graph optimization, thus limiting positioning accuracy and reliability.

Method used

By introducing an ambiguity penalty factor during the factor graph optimization process, a single-node ambiguity model is constructed. Then, by adopting a relaxation strategy and a penalty function, combined with iterative optimization and validity testing, the ambiguity is synchronously fixed.

Benefits of technology

It improves the accuracy and stability of GNSS positioning, simplifies the calculation process, enhances positioning accuracy and calculation efficiency, ensures that ambiguity is fixed as an integer solution, and avoids dependence on external fixed steps.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121634172B_ABST
    Figure CN121634172B_ABST
Patent Text Reader

Abstract

This invention discloses a method and storage device for fixing integer ambiguity based on factor graph optimization. The method derives observation factors based on different observation models using available GNSS observation data, broadcast ephemeris data, and observation data from selected other sensors. Based on the processing form of the selected GNSS carrier phase observations, a single-node graph optimization model for ambiguity is constructed, incorporating the observation factors. A multivariate ambiguity penalty factor is created based on the ambiguity function model, and its weight is determined by the ambiguity covariance matrix and added to the single-node graph optimization model. A graph optimization solver is constructed, and the optimization problem of the parameters to be estimated is solved through iterative optimization and dynamic weighting, thus realizing the method for fixing integer ambiguity based on factor graph optimization. This invention improves positioning accuracy and stability while simplifying the calculation process and increasing computational efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of satellite navigation technology, specifically relating to a method and storage device for fixing integer ambiguity based on factor graph optimization. Background Technology

[0002] Global Navigation Satellite System (GNSS) positioning technology, as one of the most widely used positioning methods, can obtain all-weather, all-time, and high-precision absolute position information compared to other positioning sensors, thus demonstrating extremely high value in fields such as autonomous driving, high-precision monitoring, and intelligent transportation. Ambiguity resolution is a crucial component in GNSS positioning. Once the ambiguity of the carrier phase observation value can be accurately fixed to an integer, GNSS positioning results can achieve centimeter-level or even millimeter-level positioning accuracy. However, with urban development, the positioning environment of GNSS is gradually shifting from simple scenarios to complex urban scenarios. How to correctly fix ambiguity in complex environments remains a long-standing challenge, especially in scenarios such as urban canyons and dense forests, where receiver signals are easily affected by reflection, diffraction, and even obstruction, increasing the risk of ambiguity resolution failure or incorrect fixation. This problem severely limits the application and promotion of GNSS in complex environments. Therefore, improving the success rate and reliability of ambiguity fixation in complex environments remains a key issue that academia and industry urgently need to address.

[0003] The most common ambiguity resolution methods generally follow four main steps: floating-point resolution, integer estimation, integer verification, and fixed resolution. To ensure the accuracy of ambiguity resolution, the initial floating-point resolution needs to be sufficiently accurate. At this stage, filtering-based resolution methods are widely used. In addition, methods specifically for integer estimation and verification of ambiguity are employed for Argumentative Alterance (AR). Once a ambiguity is successfully fixed in a certain epoch, the information of the successfully fixed ambiguity can be immediately considered in the next epoch. Therefore, filtering is not required, nor is it easy to directly utilize, the integer characteristics of ambiguity. However, with the development of GNSS positioning technology for complex environments, Factor Graph Optimization (FGO) has been introduced into GNSS positioning to better utilize historical information and achieve higher accuracy and reliability in state estimation. FGO models the system state and observation constraints as a graph structure between nodes and factors. Under a unified optimization framework, it can utilize the temporal correlation between epochs and the redundant information from multiple observation sources to improve the overall structural consistency, theoretically achieving globally optimal state estimation. However, because FGO is essentially a batch processing optimization method, compared to filtering-based solutions, it cannot fuse the fixed ambiguity results of the previous epoch in real time, preventing the direct utilization of the integer ambiguity characteristics during optimization. Currently, most research still performs ambiguity resolution independently outside the FGO framework. While this "post-processing AR" can improve local accuracy, it fails to leverage the advantages of FGO's globally consistent optimization, limiting FGO's potential in high-precision GNSS positioning. Unlike epoch-wise filtering methods, FGO theoretically has the capability and should better utilize the integer ambiguity characteristics. However, research on ambiguity resolution within the FGO framework is still incomplete, and existing strategies have shortcomings, severely limiting the potential of factor graph optimization in GNSS positioning. Summary of the Invention

[0004] To address the aforementioned problems, this invention proposes a method and storage device for fixing integer ambiguity based on factor graph optimization, which simultaneously fixes ambiguity during the optimization process. This aims to solve the problem that traditional factor graph optimization can only calculate floating-point ambiguity solutions, resulting in limited optimization accuracy.

[0005] The above objectives are achieved through the following technical solutions:

[0006] This invention first provides a method for fixing integer ambiguity based on factor graph optimization, which includes the following steps:

[0007] S1. Collect GNSS observation data and observation information from various sensors, and preprocess this data; after preprocessing, construct multi-type observation models according to the selected sensor types, and establish basic observation factors based on the observation models by collecting and comparing observation data.

[0008] S2. Establish a single-node ambiguity model, and then establish an ambiguity penalty factor according to the ambiguity type; after weighting each observation factor and the ambiguity penalty factor, complete the construction of the ambiguity fixed graph optimization model;

[0009] S3. Iteratively optimize and dynamically weight the graph optimization model constructed in step S2, and gradually obtain the optimized floating-point solution of ambiguity and other variables to be estimated by combining various factors. Finally, only the ambiguity penalty factor is retained in the model to obtain the fixed ambiguity solution.

[0010] S4. Perform a validity check on the fixed solution obtained in step S3. If the check fails, re-weight and optimize. If the check passes, output the final optimal fixed solution.

[0011] Furthermore, the preprocessing steps in step S1 include cycle slip detection, distortion removal, and timestamp alignment.

[0012] Furthermore, the specific method for step S2 is as follows:

[0013] First, a single-node ambiguity model is established. For each ambiguity that needs to be estimated, a graph optimization node is created. For the entire system, the set of ambiguity state variables is denoted as... , This represents all ambiguity state variables in the factor graph, with each ambiguity variable... All are defined in a range Among them Indicates the dimension of the node;

[0014] The estimates of all ambiguity variables are denoted as The set of fuzzy state variables and corresponding valuation These are the core variables in the graph optimization process;

[0015] If we consider the integer property of ambiguity, then the single-factor graph optimization model is:

[0016] ,

[0017] in, Represents the ambiguity state variable. Represents other state variables such as position, clock error, and attitude angle; and These represent the observation factors and the corresponding information matrix constructed in the first step, respectively; Represents the overall variables that need to be optimized; Represents the total epoch number; represent dimensionality; Representative at the At each epoch, the information matrix is The observed factors, which contain These two types of parameters to be estimated;

[0018] A relaxation-based strategy is adopted, firstly reducing the integer constraints from... relaxation This yields a continuous model that can be processed in graph optimization; an additional penalty function is introduced to construct the integer properties of ambiguity within the continuous factor graph framework. The penalty function Considering the negative logarithm prior in the maximum a posteriori (MAP) probability formula, the ambiguity prior is defined as follows:

[0019] ,

[0020] Where γ represents the coefficient, Represents the state variable of ambiguity The prior probability distribution; Represents the ambiguity penalty function; This represents an exponential function; meanwhile, the likelihood estimate of the observation model is:

[0021] ,

[0022] in, Represents observational data; Represents the given parameters Under the premise of observation data The probability of occurrence;

[0023] This results in a joint posterior:

[0024] ,

[0025] Represents the given observation data Under the premise, parameters The probability of occurrence;

[0026] The maximum a posteriori probability estimate is:

[0027] ,

[0028] The MAP estimate representing the ambiguity state variable; The MAP estimate represents other state variables that are being estimated. represent and The joint maximum a posteriori estimate; An optimization operator that takes the independent variable that maximizes the objective function;

[0029] Therefore, the graph optimization objective function model is obtained as follows:

[0030] ,

[0031] For the For an ambiguity penalty factor with a variable number of connection nodes, its set of applicable variables, i.e., its scope set, is defined as follows: This indicates that the ambiguity penalty factor only applies to the set. The variables in the list, i.e., the ambiguity penalty factor, are only related to the listed variables;

[0032] At this point, the scope set The subvector composed of the estimates of all variables is:

[0033] ,

[0034] in, Representative scope set The domain of all variables is defined together. Representative scope set Estimation of variables within;

[0035] For the scope set The Cartesian product of the ranges of all variables in the set is defined as:

[0036] ,

[0037] Among the symbols This represents the Cartesian product operation, used to construct the input space of the factors, which will have a scope. The range of values ​​of all ambiguity variables is combined into a factor. The complete domain of; Represents a single ambiguity state variable In the single-node model, each fuzzy state variable is a one-dimensional scalar, and therefore its dimension is 1.

[0038] The set of all scope sets is denoted as ,Right now:

[0039] ,

[0040] For any Define the function:

[0041] ,

[0042] in, Representative effect on Ambiguity penalty function;

[0043] The basic form of the ambiguity penalty function is as follows:

[0044] ,

[0045] Representative scope set A subvector composed of the estimates of all variables in the vector;

[0046] For the penalty function Apply the following three constraints:

[0047] 1. Lower bound

[0048] For each The following conditions must be met:

[0049] ,

[0050] in Represents the ambiguity penalty function In its domain The lower bound constant on, Represents the domain Any combination of values ​​on;

[0051] 2. Differentiability

[0052] ,

[0053] in This indicates that the function has continuous first derivatives;

[0054] 3. Local Minimum of Integers

[0055] for , , , except Other The valuation is , Make

[0056] ,

[0057] in for Any fuzziness variable within, , Represents the ambiguity variable The applied local disturbance, This represents the neighborhood radius that guarantees the integer point is a local minimum.

[0058] Further, the specific method of step S3 is as follows: Before the optimization begins, initial values ​​need to be set for each node. During each iteration of optimization, the residual and corresponding Jacobian matrix of each factor are calculated first. Based on this, the increment is calculated and the state is updated to complete one iteration operation. After each iteration, it is necessary to check whether the change of the objective function is small enough. If the change of the objective function is less than the set threshold, the optimization process is considered to have converged and the iteration is stopped. On the other hand, a maximum number of iterations is set to prevent infinite loops or excessively large loops. After the iteration optimization is completed, the information matrix of the observed factors is set to 0 or a very small value. Due to the effect of the ambiguity penalty factor, the solution of the ambiguity variable will converge to an integer during the optimization process. Therefore, the final optimal ambiguity solution is the fixed solution.

[0059] Furthermore, the specific method of step S4 is as follows: the validity test mainly includes two parts. The first is the accuracy test, which confirms whether the final solution meets the positioning accuracy requirements and ensures that the error is within a reasonable range. The second is the consistency test, which confirms whether there are large inconsistencies between factors or nodes during the optimization process. For example, the position nodes are usually continuous and smooth, and there will be no instantaneous jumps.

[0060] The present invention also provides a computer-readable storage medium storing a computer-executable program for causing a computer to perform any of the above-described methods for fixing integer ambiguities based on factor graph optimization.

[0061] The advantages of this invention compared to the prior art are:

[0062] Existing factor graph optimization ambiguity resolution methods can incorporate multiple observation factors and complex graph structures, but because they do not fully consider the integer properties of ambiguity, the resolved ambiguity is still a floating-point solution, requiring additional operations through external ambiguity fixing methods, thus failing to fully leverage the overall advantages of factor graph optimization. Therefore, this invention directly integrates ambiguity integer constraints into the factor graph optimization process, using an ambiguity penalty factor to simultaneously fix ambiguity during optimization, avoiding dependence on external fixing steps. Through this invention, ambiguity fixing and the optimization of other variables to be estimated can be performed jointly, improving positioning accuracy and stability while simplifying the calculation process and increasing computational efficiency. This solution avoids the limitations of existing methods, providing an efficient, accurate, and flexible positioning resolution method. Attached Figure Description

[0063] Figure 1 This is a flowchart of a method for fixing integer ambiguity based on factor graph optimization according to the present invention;

[0064] Figure 2This is a detailed step diagram of a method for fixing integer ambiguity based on factor graph optimization according to the present invention;

[0065] Figure 3 The comparison shows the positioning results of traditional factor graph optimization (shown in blue in the figure), factor graph optimization with added univariate ambiguity penalty factor (shown in green in the figure), and factor graph optimization with added univariate and binary ambiguity penalty factors (shown in red in the figure).

[0066] Figure 4 This represents the difference between the estimated and true ambiguity values ​​for three methods in the test data: traditional factor graph optimization, factor graph optimization with added univariate ambiguity penalty factors, and factor graph optimization with added univariate and binary ambiguity penalty factors. All double-difference ambiguities are based on the G15 satellite as the reference satellite. Detailed Implementation

[0067] To make the objectives, implementation methods and advantages of this application clearer, the exemplary implementation methods of this application will be clearly and completely described below with reference to the accompanying drawings of the exemplary embodiments of this application. Obviously, the described exemplary embodiments are only some embodiments of this application, and not all embodiments.

[0068] With the advancement of urbanization, high-precision GNSS positioning in complex environments faces numerous challenges. Factor graph optimization (FGO) can improve the consistency of the overall structure by utilizing the temporal correlation between epochs and redundant information from multi-source observations within a unified optimization framework, thereby achieving higher accuracy and better reliability in state estimation. However, in GNSS applications, FGO typically treats ambiguity as a real number, making it difficult for traditional GNSS-FGO methods to fix ambiguity during the optimization process, thus failing to fully leverage the global optimization advantages of factor graph optimization.

[0069] To address the above problems, this invention implements a method for fixing integer ambiguity based on factor graph optimization, such as... Figure 1 As shown, it includes:

[0070] Step 1: First, collect GNSS observation data and observation information from various sensors, and preprocess this data. Preprocessing steps include cycle slip detection, distortion removal, and timestamp alignment. Cycle slip detection includes carrier phase change rate detection based on adjacent epochs and Doppler observation detection. For multi-source sensor information, such as point cloud data from lidar, the scanning angle may be affected by hardware errors or environmental factors, leading to measurement errors, especially when the scanning speed is high or the target distance is far. Internal gyroscopes or accelerometers are used to detect attitude changes of the scanning platform, thereby adjusting the measurement angle in real time. For the preprocessing of multi-sensor observation factors, timestamp alignment is also necessary. The core of timestamp alignment is to perform time interpolation or synchronization based on the sampling frequency and timestamps of different sensors. Typically, the timestamp difference of high-frequency observation data is used to match low-frequency observation data to obtain observation data and time intervals with the same observation time points for each sensor. After preprocessing, multiple observation models are constructed according to the selected sensor type. For example, taking the GNSS double-difference model as an example, the function model of the GNSS observation values ​​after double-difference is:

[0071] ,

[0072] ,

[0073] in, and These represent the reference satellite and the participating satellite, respectively. and These represent the base station and the rover, respectively. and These represent the epoch number and frequency, respectively. and These represent pseudorange and carrier phase observations, respectively. Indicates the distance from the receiver to the satellite; Represents wavelength; Represents the overall ambiguity; and These represent ionospheric error and tropospheric error, respectively. and These represent random noise and unmodeled error (mainly including multipath effects) in pseudorange and carrier phase observations, respectively. Represents the first after double difference Double-difference pseudorange observations at each epoch. Represents the first after double difference The distance from the receiver to the satellite at each epoch. Represents the first after double difference epochal ionospheric error, Represents the first after double difference Epochal tropospheric error, Represents the first after double difference pseudorange random noise and unmodeled error in epochs Represents the first after double difference Double-difference carrier phase observations at each epoch. Representative frequency point The wavelength of the signal Representing the The epochal double difference ambiguity, Represents the first after double difference Carrier phase random noise and unmodeled error in the epoch.

[0074] Ionospheric and tropospheric errors are usually eliminated during the difference process, especially in the case of short baselines. Therefore, the above two formulas can be simplified to the following form:

[0075] ,

[0076] ,

[0077] Therefore, error equations for the double-difference pseudorange factor and the double-difference carrier phase factor can be established:

[0078] ,

[0079] ,

[0080] in Represents Mahalanobis distance, and These represent the pseudorange and carrier phase factor, respectively. and The information matrices, representing pseudorange and carrier phase observations respectively, can be estimated based on observation frequency, satellite elevation angle, baseline length, etc. and They represent the first two digits after double difference. The pseudorange and carrier phase factor of each epoch; and These represent the inputs after double difference. Pseudorange and carrier phase observations for each epoch; and They represent the first two digits after double difference. The information matrix of pseudorange observations and carrier phase observations for each epoch.

[0081] By collecting and comparing observation data, basic observation factors are established based on the observation model, providing a necessary foundation for the subsequent ambiguity single-node graph optimization model.

[0082] Step two: This invention establishes a single-node ambiguity model, and then establishes ambiguity penalty factors according to the ambiguity type. After weighting each observation factor and the ambiguity penalty factor, the ambiguity-fixed graph optimization model is constructed. The goal of this stage is to construct a single-node ambiguity model, establish a corresponding ambiguity penalty factor for each ambiguity node, and finally complete the ambiguity-fixed graph optimization model. For ease of demonstration, it is assumed that no cycle slips occur within a given time period, and modeling is based on this assumption. When cycle slips or occlusions occur, the model simply needs to be reconstructed.

[0083] First, a single-node ambiguity model is established. For each ambiguity that needs to be estimated, a graph optimization node is created. For the entire system, let the set of ambiguity state variables be denoted as . , This represents all ambiguity state variables in the factor graph, with each ambiguity variable... All are defined in a range Among them Indicates the dimension of the node;

[0084] The estimates of all ambiguity variables are denoted as The set of fuzzy state variables and corresponding valuation These are the core variables in the graph optimization process;

[0085] If we consider the integer property of ambiguity, then the single-factor graph optimization model is:

[0086] ,

[0087] in Represents the ambiguity state variable. Represents other state variables such as position, clock error, and attitude angle; and These represent the observation factors and the corresponding information matrix constructed in the first step, respectively; Represents the overall variables that need to be optimized; Represents the total epoch number; represent dimensionality; Representative at the At each epoch, the information matrix is The observed factors, which contain These two types of parameters to be estimated.

[0088] Since FGO is essentially a nonlinear least squares framework that relies on differentiation and continuous factors, integer constraints violate this assumption, making it particularly difficult to directly fix fuzziness within FGO. Therefore, this invention employs a relaxation-based strategy, which is widely used in integer programming. Specifically, the integer constraints are first... relaxation This yields a continuous model that can be processed in graph optimization; an additional penalty function is introduced to construct the integer properties of ambiguity within the continuous factor graph framework. The design of this function results in a smaller penalty for near-integer ambiguity estimates, while non-integer values ​​incur a greater penalty, thus enforcing an integer-first principle during optimization. From a statistical perspective, the integer property of ambiguity can be naturally interpreted as prior information. Therefore, the penalty function... This can be viewed as the negative logarithm prior in the maximum a posteriori (MAP) probability formula; by defining the ambiguity prior as:

[0089] ,

[0090] Where γ represents the coefficient, Represents the state variable of ambiguity The prior probability distribution; Represents the ambiguity penalty function; This represents an exponential function; meanwhile, the likelihood estimate of the observation model is:

[0091] ,

[0092] in, Represents observational data; Represents the given parameters Under the premise of observation data The probability of occurrence;

[0093] This results in a joint posterior:

[0094] ,

[0095] Represents the given observation data Under the premise, parameters The probability of occurrence;

[0096] The maximum a posteriori probability estimate is:

[0097] ,

[0098] The MAP estimate representing the ambiguity state variable; The MAP estimate represents other state variables that are being estimated. represent and The joint maximum a posteriori estimate; An optimization operator that takes the independent variable that maximizes the objective function;

[0099] Therefore, the graph optimization objective function model is obtained as follows:

[0100] ,

[0101] For the For an ambiguity penalty factor with a variable number of connection nodes, its set of applicable variables, i.e., its scope set, is defined as follows: This indicates that the ambiguity penalty factor only applies to the set. The variables in the list, i.e., the ambiguity penalty factor, are only related to the listed variables.

[0102] At this point, the scope set The subvector composed of the estimates of all variables is:

[0103] ,

[0104] in, Representative scope set The domain of all variables is defined together. Representative scope set Estimation of variables within;

[0105] For the scope set The Cartesian product of the ranges of all variables in the set is defined as:

[0106] ,

[0107] Among the symbols This represents the Cartesian product operation, used to construct the input space of the factors, which will have a scope. The range of values ​​of all ambiguity variables is combined into a factor. The complete domain of; Represents a single ambiguity state variable In the single-node model, each fuzzy state variable is a one-dimensional scalar, and therefore its dimension is 1.

[0108] The set of all action variables is denoted as . ,Right now:

[0109] ,

[0110] For any Define the function:

[0111] ,

[0112] in, Representative effect on Ambiguity penalty function;

[0113] The basic form of the function that forms the ambiguity penalty factor is:

[0114] ,

[0115] Representative scope set A subvector composed of the estimates of all variables in the vector;

[0116] In order for the ambiguity penalty factor function to reflect the integer property of ambiguity, the penalty factor function needs to be modified. Apply the following three constraints:

[0117] 1. Lower bound

[0118] For each The following conditions must be met:

[0119] ,

[0120] in Represents the ambiguity penalty function In its domain The lower bound constant on, Represents the domain The condition allows for any combination of values ​​on the objective function; this condition guarantees that the solution to the entire objective function will not tend to negative infinity, making the MAP problem solvable.

[0121] 2. Differentiability

[0122] ,

[0123] in The function has continuous first derivatives; this condition guarantees the feasibility of optimization algorithms (such as LM, GN and other optimization algorithms that require first derivatives);

[0124] 3. Local Minimum of Integers

[0125] To reflect the integer nature of ambiguity, the penalty function must exhibit a local minimum at integer points when other variables remain constant. Specifically: for , , , except Other The valuation is , Make

[0126] ,

[0127] in for Any fuzziness variable within, , Represents the ambiguity variable The applied local disturbance, This represents the radius of the neighborhood that guarantees the integer point is a local minimum.

[0128] Based on the above definition, two representative fuzziness penalty factors are constructed.

[0129] The first is the univariate ambiguity penalty factor, which can be constructed using a strongly periodic function, such as:

[0130] ,

[0131] or

[0132] ,

[0133] And the combinations thereof;

[0134] The second is the multivariate ambiguity penalty factor, which introduces a set of integer coefficient vectors to form the combination of state variables within a node:

[0135] ,

[0136] This requires satisfying the following conditions: There is a conversion:

[0137] ,

[0138] when When the integer is the converted value, It is also an integer; that is Achieve a linear combination of ambiguity state variables; given the ambiguity covariance matrix. Then linear combination The corresponding covariance is:

[0139] ,

[0140] Then the punishment factor is written as follows:

[0141] ,

[0142] in It's a coefficient, based on covariance. Perform coefficient control;

[0143] More specifically, assuming

[0144] The corresponding valuation is:

[0145] ,

[0146] Covariance:

[0147] ,

[0148] Select a set of integer coefficient vectors ,make ,

[0149] ,

[0150] Then linear combination for:

[0151] ,

[0152] Combined variance :

[0153] ,

[0154] ,

[0155] At this time, each All of these can be considered as one element and included in the ambiguity penalty factor;

[0156] At this point, an ambiguity penalty factor can be formed:

[0157] ,

[0158] Step three involves iterative optimization and dynamic weighting of the graph optimization model, gradually obtaining optimized floating-point solutions for ambiguity and other variables to be estimated by combining various factors. Finally, only the ambiguity penalty factor is retained in the model to obtain a fixed ambiguity solution.

[0159] Iterative optimization is the core of graph optimization methods, determining the accuracy and convergence speed of the final solution. In graph optimization models with fixed ambiguity, iterative optimization gradually adjusts the state variables (such as position, velocity, and ambiguity) of nodes in the graph until all constraints (factors) satisfy the optimal solution. Before optimization begins, initial values ​​need to be set for each node (variable). These initial values ​​are usually derived from existing estimates or rough calculations. In fixed ambiguity problems, initial values ​​can be estimated based on GNSS measurement results (e.g., floating-point solutions calculated using pseudorange and carrier phase). During each iteration, the residual and corresponding Jacobian matrix for each factor are calculated first, and the increment is calculated and the state is updated accordingly, completing one iteration. After each iteration, it is necessary to check whether the change in the objective function is small enough. If the change in the objective function is less than a set threshold, such as... If the optimization process is considered converged, the iteration stops. On the other hand, a maximum number of iterations, such as 20, is set to prevent infinite or excessively large loops. During the iteration process, the information matrix can be dynamically adjusted based on factors such as residuals to ensure that the integer constraints of ambiguity are considered in a balanced manner and do not excessively affect the optimization of other state variables. After the iterative optimization is completed, the information matrix of the observed factors is set to 0 or a very small value, such as... Due to the ambiguity penalty factor, the solution for the ambiguity variable will converge to an integer during the optimization process. Therefore, the final optimal ambiguity solution is the fixed solution.

[0160] Step four involves validating the obtained fixed solution. If the validity check fails, the weighting and optimization are repeated. If the check passes, the final optimal fixed solution is output. The purpose of the validity check is to ensure that the final ambiguity fixed solution satisfies all constraints while possessing sufficiently high accuracy, such as a residual of less than 0.05m, making it suitable for practical applications. If the check fails, the weights need to be readjusted and further optimization performed; if the check passes, the final optimal fixed solution is output as the final solution for the positioning system. The validity check mainly includes two parts: first, accuracy check, which confirms whether the final solution meets the positioning accuracy requirements and ensures that the error is within a reasonable range; second, consistency check, which confirms whether there are significant inconsistencies between factors or nodes during the optimization process. For example, position nodes are usually continuous and smooth, without instantaneous jumps. If the estimated values ​​of position nodes suddenly shift significantly across a large range within a certain epoch, it indicates significant inconsistency.

[0161] Based on the same technical concept, embodiments of the present invention also provide a computer-readable storage medium storing a computer-executable program, which is used to cause a computer to perform any of the above-described methods for fixing integer ambiguities based on factor graph optimization.

[0162] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0163] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0164] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0165] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

[0166] experiment:

[0167] To verify the effectiveness of the proposed integer ambiguity fixing method based on factor graph optimization, a static dataset was used for testing in a double-difference GNSS mode. The experiment employed data collected from two reference stations in the Hong Kong Satellite Positioning Reference Station Network (SatRef): HKSS (Shisixiang) and HKWS (Huangshi), with HKSS serving as the rover and HKWS as the base station. Data was collected between 11:00:00 and 11:59:59 on May 21, 2021, at 1-second sampling intervals. The precise coordinates of HKWS were provided by the reference station network, and the reference satellite's highest elevation angle was used to determine its position.

[0168] The following analysis uses the positioning results and ambiguity correction results under a static dataset as an example. First, the accuracy of the positioning results is analyzed in the latitude and longitude directions. Then, the results of the double-difference ambiguity solution are compared to verify the effectiveness of the proposed integer ambiguity fixing method based on factor graph optimization.

[0169] Combination Figure 3 The paper presents the positioning results of traditional factor graph optimization, factor graph optimization with added univariate ambiguity penalty factors, and factor graph optimization with added univariate and binary ambiguity penalty factors. It can be observed that the traditional factor graph method has a significant deviation compared to the reference position, with a 2D error of 0.0710 meters. After adding a univariate ambiguity penalty factor, the 2D error decreases to 0.0481 meters. Further adding a binary ambiguity penalty factor minimizes the 2D error to 0.0278 meters, representing the closest approximation to the reference position in the graph. This indicates that the addition of ambiguity penalty factors effectively improves positioning accuracy, and with the refinement of the ambiguity penalty factor, the accuracy of the solution can be further enhanced.

[0170] Combination Figure 4 The paper further demonstrates the difference between the estimated and true values ​​of the double-difference ambiguity nodes in the same solution data. The true values ​​are obtained through post-processing using the LAMBDA method and verified using true value coordinates. As shown in the figure, without adding an ambiguity penalty factor, the ambiguity estimates obtained by the traditional factor graph optimization method are still floating-point solutions with significant deviations. However, after adding a univariate ambiguity penalty factor, the ambiguity estimates obtained by the factor graph optimization solution are all fixed solutions, but some are incorrectly fixed. After adding univariate and bivariate ambiguity penalty factors, the ambiguity estimates obtained by the factor graph optimization solution are all fixed solutions, and all are correctly fixed. Therefore, this verifies the effectiveness of the proposed integer ambiguity fixing method based on factor graph optimization.

Claims

1. A method for fixing integer ambiguity based on factor graph optimization, characterized in that, The method includes the following steps: S1. Collect GNSS observation data and observation information from various sensors, and preprocess this data; after preprocessing, construct multi-type observation models according to the selected sensor types, and establish basic observation factors based on the observation models by collecting and comparing observation data. S2. Establish a single-node ambiguity model, and then establish ambiguity penalty factors according to the ambiguity type; after weighting each observation factor and the ambiguity penalty factor, complete the construction of the ambiguity fixed graph optimization model; specifically, first establish a single-node ambiguity model, and for each ambiguity that needs to be estimated, establish a graph optimization node. For the entire system, the set of ambiguity state variables is denoted as... , This represents all ambiguity state variables in the factor graph, with each ambiguity variable... All are defined in a range Among them Indicates the dimension of the node; The estimates of all ambiguity variables are denoted as The set of fuzzy state variables and corresponding valuation These are the core variables in the graph optimization process; If we consider the integer property of ambiguity, then the single-factor graph optimization model is: , in, Represents the ambiguity state variable. This represents state variables including position, clock error, and attitude angle; and These represent the observation factors and the corresponding information matrix constructed in the first step, respectively; Represents the overall variables that need to be optimized; Represents the total epoch number; represent dimensionality; Representative at the At each epoch, the information matrix is The observed factors, which contain These two types of parameters to be estimated; A relaxation-based strategy is adopted, firstly reducing the integer constraints from... relaxation This yields a continuous model that can be processed in graph optimization; an additional penalty function is introduced to construct the integer properties of ambiguity within the continuous factor graph framework. The penalty function Considering the negative logarithm prior in the maximum a posteriori (MAP) probability formula, the ambiguity prior is defined as follows: , Where γ represents the coefficient, Represents the state variable of ambiguity The prior probability distribution; Represents the ambiguity penalty function; This represents an exponential function; meanwhile, the likelihood estimate of the observation model is: , in, Represents observational data; Represents the given parameters Under the premise of observation data The probability of occurrence; This results in a joint posterior: , Represents the given observation data Under the premise, parameters The probability of occurrence; The maximum a posteriori probability estimate is: , The MAP estimate representing the ambiguity state variable; The MAP estimate represents other state variables that are being estimated. represent and The joint maximum a posteriori estimate; An optimization operator that takes the independent variable that maximizes the objective function; Therefore, the graph optimization objective function model is obtained as follows: , For the For an ambiguity penalty factor with a variable number of connection nodes, its set of applicable variables, i.e., its scope set, is defined as follows: This indicates that the ambiguity penalty factor only applies to the set. The variables in the list, i.e., the ambiguity penalty factor, are only related to the listed variables; S3. Iteratively optimize and dynamically weight the graph optimization model constructed in step S2, and gradually obtain the optimized floating-point solution of ambiguity and other variables to be estimated by combining various factors. Finally, only the ambiguity penalty factor is retained in the model to obtain the fixed ambiguity solution. S4. Perform a validity check on the fixed solution obtained in step S3. If the check fails, re-weight and optimize. If the check passes, output the final optimal fixed solution.

2. The integer ambiguity fixing method based on factor graph optimization according to claim 1, characterized in that, The preprocessing steps in step S1 include cycle slip detection, distortion removal, and timestamp alignment.

3. The integer ambiguity fixing method based on factor graph optimization according to claim 1 or 2, characterized in that, In step S2, the scope set The subvector composed of the estimates of all variables is: , in, Representative scope set The domain of all variables is defined together. Representative scope set Estimation of variables within; For the scope set The Cartesian product of the ranges of all variables in the set is defined as: , Among the symbols This represents the Cartesian product operation, used to construct the input space of the factors, which will have a scope. The range of values ​​of all ambiguity variables is combined into a factor. The complete domain of; Represents a single ambiguity state variable In the single-node model, each fuzzy state variable is a one-dimensional scalar, and therefore its dimension is 1. The set of all scope sets is denoted as ,Right now: , For any Define the function: , in, Representative effect on Ambiguity penalty function; The basic form of the ambiguity penalty function is as follows: , Representative scope set A subvector composed of the estimates of all variables in the vector; For the penalty function Apply the following three constraints:

1. Lower bound For each The following conditions must be met: , in Represents the ambiguity penalty function In its domain The lower bound constant on, Represents the domain Any combination of values ​​on; 2. Differentiability , in This indicates that the function has continuous first derivatives; 3. Local minima at integer points: When other variables remain constant, the penalty function exhibits a local minimum at integer points. for , , , except Other The valuation is , Make , in for Any fuzziness variable within, , Represents the ambiguity variable The applied local disturbance, This represents the neighborhood radius that guarantees the integer point is a local minimum.

4. The integer ambiguity fixing method based on factor graph optimization according to claim 3, characterized in that, The specific method for step S3 is as follows: Before optimization begins, initial values ​​need to be set for each node. During each iteration, the residual and corresponding Jacobian matrix of each factor are calculated first. Based on this, the increment is calculated and the state is updated to complete one iteration. After each iteration, it is necessary to check whether the change in the objective function is small enough. If the change in the objective function is less than the set threshold, the optimization process is considered to have converged, and the iteration stops. On the other hand, a maximum number of iterations is set to prevent infinite loops or excessively large loops. After the iteration optimization is completed, the information matrix of the observed factors is set to 0 or a very small value. Due to the effect of the ambiguity penalty factor, the solution of the ambiguity variable will converge to an integer during the optimization process. Therefore, the final optimal ambiguity solution is the fixed solution.

5. The integer ambiguity fixing method based on factor graph optimization according to claim 3, characterized in that, The specific method for step S4 is as follows: The validity check mainly includes two parts. The first is the accuracy check, which confirms whether the final solution meets the positioning accuracy requirements and ensures that the error is within a reasonable range. The second is the consistency check, which confirms whether there are large inconsistencies between factors or nodes during the optimization process. For example, position nodes are usually continuous and smooth, and there will be no instantaneous jumps.

6. A computer-readable storage medium storing a computer-executable program for causing a computer to perform the integer ambiguity fixing method based on factor graph optimization as described in any one of claims 1-5.

Citation Information

Patent Citations

  • PPP ambiguity fixing method and system based on factor graph optimal solution

    CN118033690A

  • Ambiguity determination method for satellite positioning, terminal and medium

    CN120044569A