A GNSS positioning solution method and device based on factor graph optimization

A robust model is constructed by factor graph optimization method. Combined with the sliding window idea, the cost function of pseudorange, Doppler and carrier phase measurements is used to solve the GNSS positioning accuracy and real-time problems, and achieve high-precision positioning in complex environments.

CN116381737BActive Publication Date: 2025-10-03HARBIN ENG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310072837.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-07
Publication Date
2025-10-03
Estimated Expiration
2043-02-07

AI Technical Summary

Technical Problem

In complex environments such as urban canyons, the accuracy and continuity of GNSS positioning are reduced. Existing methods fail to effectively utilize historical information, have large computational complexity and poor real-time performance, and fail to effectively handle outliers.

Method used

A factor graph optimization method is used to construct a robust model, and a switching factor is introduced to constrain the measurement value. The sliding window idea is combined for solution, and the cost function of the pseudorange, Doppler and carrier phase measurement values ​​is used to solve the nonlinear equations through the Newton iteration method.

Benefits of technology

It improves the accuracy and robustness of GNSS positioning, reduces the impact of environmental factors, and enhances real-time and practicality, especially in complex environments such as urban canyons.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116381737B_ABST
    Figure CN116381737B_ABST
Patent Text Reader

Abstract

The present application discloses a GNSS positioning solution method and device based on factor graph optimization, which belongs to the field of satellite navigation technology, including: obtaining GNSS measurement values ​​and performing preliminary processing on the measurement values; constructing a robustness model for state estimation based on the factor graph in combination with the switching factor according to the maximum a posteriori probability estimation theory; then determining the state quantity to be solved according to the measurement value, and establishing a motion model of the receiver; establishing a cost function based on the measurement principle and motion model corresponding to the measurement value; finally, establishing an objective function in combination with the robustness model and the cost function, and according to the objective function, solving the state quantity to be solved by the sliding window idea to obtain the positioning result of the receiver. The GNSS positioning solution method and device provided by the present application effectively improve the accuracy of single-point positioning and carrier phase differential positioning in satellite positioning application scenarios under poor satellite reception conditions, and can be applied to application scenarios with poor satellite reception such as cities and forests.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to a GNSS positioning solution method and device based on factor graph optimization, belonging to the field of satellite navigation technology. Background Art

[0002] With the official operation of the BeiDou-3 navigation system, my country's satellite navigation and positioning technology has entered a new period of development. However, in urban canyon environments such as cities, construction sites, farmlands, and dense forests, GNSS pseudorange is severely affected by multipath, and the carrier phase is prone to cycle slips, resulting in reduced accuracy and continuity of classic single-point positioning and carrier phase differential positioning. In addition, the time correlation of these measurement values ​​is more obvious. The use of traditional filtering methods only considers the value of the previous state and ignores other historical state values, making the positioning results even more inaccurate. In the existing GNSS positioning field, there are mainly the following methods for fusing and solving measurement values:

[0003] Method 1: Based on Kalman filtering theory, the receiver's position and clock error are used as the state variables of the system, and a "position-velocity" state model and measurement equation are established for state estimation. This method has some improvements over the least squares solution method, but its small number of linearizations cannot accurately describe the true nonlinear model. Moreover, it only adds the information of the previous moment to the solution of the current epoch, has low utilization of historical information, and relies on initial value settings. In addition, when the absolute value of the measurement residual in a certain epoch is too large, serious errors will occur in several adjacent epochs, requiring the system to be reset.

[0004] Method 2: Based on the carrier phase smoothed pseudorange theory, this method uses precise, smoothed carrier phase measurements to smooth the rough but unambiguous pseudoranges to varying degrees. However, this method only performs pre-processing and correction on the GNSS measurements through Hatch filtering and does not participate in the process of solving the desired position. In addition, it assumes that the ionospheric delay remains constant, which is inconsistent with reality. When there is a large deviation in the initial smoothed pseudorange value, the smoothing filter takes a long time to gradually eliminate the error.

[0005] Method 3: Based on factor graph theory, the measured pseudorange and carrier phase are modeled as factor nodes, the receiver position is modeled as a variable node, and velocity is used to constrain adjacent variable nodes. A conventional factor graph algorithm is then used to perform a batch fusion solution on the three GNSS measurements. Although this method incorporates the factor graph optimization method commonly used in SLAM, adding the three observations (pseudorange, carrier phase, and Doppler) as factor nodes and introducing the Doppler factor to connect the variable nodes between epochs for constraint, thus achieving factor graph optimization of the solution model, it has improved the positioning performance of a single GNSS receiver in urban canyons to a certain extent. However, this method batch solves all epochs for a period of observation time, resulting in a large amount of computation and long processing time, resulting in poor real-time performance and low practical application value. Furthermore, the method does not handle outliers, resulting in poor algorithm stability. Summary of the Invention

[0006] The purpose of this application is to provide a GNSS positioning solution method and device based on factor graph optimization, which can effectively improve the accuracy of single-point positioning and carrier phase differential positioning in satellite positioning application scenarios under poor satellite reception conditions.

[0007] To achieve the above objectives, the first aspect of the present application provides a GNSS positioning solution method based on factor graph optimization, comprising:

[0008] Acquiring GNSS measurement values ​​and performing preliminary processing on the measurement values, wherein the measurement values ​​include pseudorange measurement values ​​and Doppler measurement values;

[0009] According to the maximum a posteriori probability estimation theory, a robust model of state estimation based on factor graph is constructed, wherein a switching factor is introduced in the construction process of the above robust model to constrain the above measurement values;

[0010] Determine the state quantity to be solved based on the above measurement values ​​and establish the motion model of the receiver;

[0011] Establishing a cost function based on the measurement principle corresponding to the above-mentioned measurement value and the above-mentioned motion model;

[0012] The objective function is established by combining the above robustness model and the above cost function. According to the above objective function, the above state quantities to be solved are solved through the "sliding window" idea to obtain the positioning result of the receiver.

[0013] In one embodiment, the state quantities to be solved include: receiver position and receiver clock error.

[0014] In one embodiment, establishing the cost function based on the measurement principle corresponding to the measurement value and the motion model includes:

[0015] According to the measurement principle of pseudorange, a cost function of pseudorange measurement value is established;

[0016] A cost function for Doppler measurements is established based on the above motion model.

[0017] In one embodiment, the objective function is established by combining the robustness model and the cost function. Based on the objective function, the state quantity to be solved is solved by using the "sliding window" concept to obtain the positioning result of the receiver, including:

[0018] Combining the robustness model, the cost function of the pseudorange measurement value, and the cost function of the Doppler measurement value to obtain a first objective function;

[0019] According to the above-mentioned first objective function, segmented calculation is performed through the "sliding window" idea, and the nonlinear equation is processed by the Newton iteration method to obtain the above-mentioned state quantity to be solved, and the positioning result of the receiver is obtained based on the above-mentioned state quantity to be solved.

[0020] In one embodiment, the above-mentioned measurement value further includes: a carrier phase measurement value;

[0021] The above-mentioned state quantities to be solved include: receiver position and integer ambiguity double difference.

[0022] In one embodiment, establishing the cost function based on the measurement principle corresponding to the measurement value and the motion model includes:

[0023] According to the measurement principle of pseudorange, the cost function of pseudorange measurement value is obtained;

[0024] Establishing a cost function for Doppler measurements based on the above motion model;

[0025] According to the measurement principle of pseudorange double difference and the measurement principle of carrier phase double difference, the cost function of pseudorange double difference and the cost function of carrier phase double difference are obtained.

[0026] In one embodiment, the objective function is established by combining the robustness model and the cost function. Based on the objective function, the state quantity to be solved is solved by using the "sliding window" concept to obtain the positioning result of the receiver, including:

[0027] A second objective function is obtained by combining the robustness model, the cost function of the pseudorange measurement value, the cost function of the Doppler measurement value, the cost function of the pseudorange double difference, and the cost function of the carrier phase double difference;

[0028] According to the above-mentioned second objective function, segmented calculation is performed through the "sliding window" idea, and the nonlinear equation is processed by the Newton iteration method to obtain the floating-point solution of the above-mentioned state quantity to be solved, and the positioning result of the receiver is obtained based on the floating-point solution of the above-mentioned state quantity to be solved.

[0029] In one embodiment, obtaining the positioning result of the receiver according to the floating-point solution of the state quantity to be solved includes:

[0030] The ambiguity of the floating-point solution of the above-mentioned state quantity to be solved is fixed by the LAMBDA algorithm;

[0031] Determine whether the ambiguity of the above floating-point solution has been fixed. If so, calculate the baseline vector between the receiver and the reference station to obtain the positioning result of the receiver; otherwise, use the floating-point solution of the state quantity to be solved as the positioning result of the receiver.

[0032] A second aspect of the present application provides a GNSS positioning solution device based on factor graph optimization, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the first aspect or any one of the embodiments of the first aspect when executing the computer program.

[0033] A third aspect of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the first aspect or any embodiment of the first aspect are implemented.

[0034] As can be seen from the above, the present application provides a GNSS positioning solution method and device based on factor graph optimization. To address the problem that traditional least squares and filtering methods only include the current epoch or adjacent epochs in the optimization range, which easily leads to large positioning errors under limited satellite reception conditions, the present application uses an algorithm based on factor graph optimization to fuse and solve the measurement values ​​in the GNSS observation file, such as pseudorange measurements and Doppler measurements, to achieve the integration of all historical information into the solution of the current epoch, fully exploiting the role of historical information, and reducing the impact of environmental factors on the measurement values ​​in actual applications. The weight of the measurement values ​​in the solution process is estimated, effectively improving the positioning solution accuracy. In addition, by establishing a motion model to obtain the velocity value, the position of the receiver is constrained. By constructing a robust model for state estimation based on the factor graph and introducing a switching factor, the weight of the measurement values ​​in the calculation process is dynamically changed, eliminating the influence of abnormal observations. Finally, the "sliding window" concept is used for calculation to solve the problem of poor real-time performance due to large computational workload and long processing time, further improving the robustness and practicality of the present application method. The GNSS positioning solution method and device provided in this application have important development potential in application scenarios such as cities and forests where satellite reception is poor. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0036] Figure 1 A flowchart of a GNSS positioning solution method provided in an embodiment of the present application;

[0037] Figure 2 A factor expression diagram of the robustness model provided in an embodiment of the present application;

[0038] Figure 3 A factor expression diagram of the first objective function provided in an embodiment of the present application;

[0039] Figure 4 This is a factor expression diagram of the second objective function provided in an embodiment of the present application. DETAILED DESCRIPTION

[0040] In the following description, specific details such as specific system structures and technologies are provided for illustration rather than limitation to facilitate a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid obstructing the description of the present application with unnecessary details.

[0041] It will be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

[0042] It should also be understood that the terms used in this specification are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise.

[0043] The following is a clear and complete description of the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments of the present application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0044] In the following description, many specific details are set forth to facilitate a full understanding of the present application. However, the present application may also be implemented in other ways different from those described herein. Those skilled in the art may make similar generalizations without violating the connotation of the present application. Therefore, the present application is not limited to the specific embodiments disclosed below.

[0045] Example 1

[0046] The embodiment of the present application provides a GNSS positioning solution method based on factor graph optimization, such as Figure 1 As shown, the method includes:

[0047] Step 11: Acquire GNSS measurement values ​​and perform preliminary processing on the measurement values, wherein the measurement values ​​include pseudorange measurement values ​​and Doppler measurement values;

[0048] Optionally, the measurement value also includes: a carrier phase measurement value.

[0049] In one embodiment, when the acquired GNSS measurement values ​​include pseudorange measurement values ​​and Doppler measurement values, the embodiment of the present application obtains the final positioning result of the receiver by fusing and solving the pseudorange measurement values ​​and the Doppler measurement values.

[0050] In another embodiment, when the GNSS measurement values ​​obtained include pseudorange measurement values, Doppler measurement values ​​and carrier phase measurement values, the embodiment of the present application obtains the final receiver positioning result by fusing and solving the pseudorange measurement values, Doppler measurement values ​​and carrier phase measurement values.

[0051] Optionally, the obtained GNSS measurement values ​​are preliminarily processed using GNSS broadcast ephemeris and observation files. The broadcast ephemeris and observation files may use the most readily available data without requiring other more accurate data, thereby reducing the difficulty of data acquisition.

[0052] In one embodiment, when the pseudorange measurement values ​​and the Doppler measurement values ​​are fused and solved, the preliminary processing of the measurement values ​​specifically includes: performing error correction on the pseudorange observation values ​​in satellite clock error, ephemeris error, ionospheric error and tropospheric error, wherein the satellite clock error, ephemeris error, ionospheric error and tropospheric error can be processed using a mature correction model commonly used in the prior art.

[0053] In another embodiment, when the pseudorange measurement values, Doppler measurement values ​​and carrier phase measurement values ​​are fused and solved, the preliminary processing of the measurement values ​​specifically includes: constructing pseudorange double difference and carrier phase double difference measurement values; specifically, when performing double difference processing, the errors of the satellite end and the signal propagation process can be eliminated by the difference between the mobile station and the reference station. It can be seen that the difference between satellites selects the satellite with the largest elevation angle as the reference to eliminate the receiver end error to the greatest extent.

[0054] Step 12: According to the maximum a posteriori probability estimation theory, a robust model for state estimation based on a factor graph is constructed, wherein a switching factor is introduced in the process of constructing the robust model to constrain the measurement value;

[0055] A factor graph is a bipartite graph model that characterizes the relationship between global functions and local functions, and also represents the relationship between each variable and the local function. Complex systems can be simplified by using a factor graph model, which is beneficial for handling complex probability problems. By using a factor graph model to represent the JPDF of the estimation system, the dynamic evolution process of the dynamic system and the measurement process corresponding to each state can be intuitively reflected. At the same time, the graphical representation makes the system more versatile and extensible. Therefore, in the embodiment of the present application, a robustness model for state estimation based on a factor graph is constructed by a factor graph. Specifically, according to the maximum a posteriori probability estimation theory, the state estimation of the system is characterized as the optimization of the global cost function through a state estimation method based on a factor graph, that is, the JPDF (Joint Probability Density Function) of the system is represented by a factor graph model; then the divide-and-conquer strategy of the factor graph model is used to convert the MAP (Maximum APosteriori) of the JPDF into a global cost function joint optimization, and then a switching factor is introduced to constrain the measurement value so that the weight of the measurement value is dynamically adjusted, thereby improving the robustness of the entire algorithm, achieving the equivalence of linearization and normalization of the global cost function, and converting the estimation problem into the problem of solving a system of least squares equations.

[0056] Alternatively, the state estimation method based on factor graphs characterizes the state estimation of the system as the optimization of the global cost function. The general expression is:

[0057]

[0058] This formula is essentially still a least squares problem, where the left term is the system state transition process and the right term is the measurement process. i , Λ ij are the covariances of the measured values ​​in the state transfer process and the measurement process, respectively, which can be calculated using the above satellite elevation angle model, and the state set X is to be solved.

[0059] Furthermore, due to the covariance Σ of the measured values i , Λ ij It is determined before the calculation and is therefore more sensitive to abnormal values. To solve this problem, the embodiment of the present application performs a preliminary weighting on the measured values ​​by using the altitude angle weighting method, and then introduces an additional state variable s ij (i.e. switching factor) constitutes the switching function ψ(s ij ): R→[0,1] to constrain the measurement value, where s ij is the switching variable, Ψ(s ij ) According to the actual situation, the step function, sigmoid function, etc. can be selected to dynamically adjust the weight of the measured value in the calculation process. ij It also needs to be initialized. Before the calculation starts, the measured values ​​are considered to be normal. Therefore, s ij The initial value r ij It should make ψ(s ij )≈1. Therefore, the robustness model of state estimation based on factor graph is

[0060]

[0061] Among them, the robust model uses the factor graph expression as follows Figure 2 shown.

[0062] Step 13: Determine the state quantity to be solved based on the measurement value and establish a motion model of the receiver;

[0063] In one embodiment, when the pseudorange measurement value and the Doppler measurement value are fused and solved, the receiver position and the receiver clock error can be selected as the state quantities to be solved, that is, X n =[x n ,y n ,z n ,δt n ] T , p u,t =[x t ,y t ,z t ] T is the receiver position at a certain time t, and the state set is χ=[X1,X2,...,X n ].

[0064] In another embodiment, when the pseudorange measurement value, Doppler measurement value and carrier phase measurement value are fused and solved, the receiver position and integer ambiguity double difference can be selected as the above-mentioned state quantity to be solved, that is, The state set is χ=[X1,X2,...,Xn ]. Among them, the additional switching variable s is introduced ij The number of corresponds to each measurement value and also needs to be solved as a state quantity.

[0065] Optionally, establishing a motion model of the receiver includes:

[0066] The motion model is established based on the Doppler measurement value, wherein the motion model selects a constant velocity model and assumes that the position between adjacent epochs is uncertain but the velocity is constant, then the motion model is

[0067] v u,t =h v,t (p u,t+1 ,p u,t )+ω v,t

[0068] in, ω v,t Refers to the noise in the velocity measurement.

[0069] Step 14: Establishing a cost function based on a measurement principle corresponding to the measurement value and the motion model.

[0070] In one embodiment, when the pseudorange measurement value and the Doppler measurement value are fused and solved, a cost function of the pseudorange measurement value is established according to the measurement principle of the pseudorange to characterize the pseudorange factor; then a cost function of the Doppler measurement value is established according to the motion model to characterize the Doppler velocity measurement factor.

[0071] Specifically, the cost function of the pseudo-range measurement value is established according to the pseudo-range measurement principle, which includes: obtaining the measurement equation according to the pseudo-range measurement principle as follows:

[0072]

[0073] in, Refers to the distance between satellite s and receiver at time t, They refer to satellite clock error, ionospheric error, and tropospheric error respectively, which can be estimated by the assumed model. Refers to random error. After error correction, the above measurement equation is transformed into

[0074]

[0075] in, p u,t 、 δ r,t 、ω u,t are the receiver position, satellite position, receiver clock error and measurement noise respectively, then the cost function of the above pseudorange measurement value is

[0076]

[0077] in, is the covariance matrix of the pseudorange measurement value, which can be calculated using the above satellite elevation angle model.

[0078] Furthermore, the cost function of the Doppler measurement value can be established according to the motion model as follows:

[0079]

[0080] Among them, Σ v,t is the covariance of the Doppler measurements.

[0081] In another embodiment, when the pseudorange measurement value, Doppler measurement value and carrier phase measurement value are fused and solved, a cost function of the pseudorange measurement value is obtained according to the measurement principle of the pseudorange, which is used to characterize the pseudorange factor; a cost function of the Doppler measurement value is established according to the motion model, which is used to characterize the Doppler velocity measurement factor; then, a cost function of the pseudorange double difference and a cost function of the carrier phase double difference are obtained according to the measurement principle of the pseudorange double difference and the measurement principle of the carrier phase double difference, which are used to characterize the pseudorange double difference factor and the carrier phase double difference factor, respectively.

[0082] Specifically, the steps of establishing a cost function for pseudorange measurement values ​​according to the pseudorange measurement principle and establishing a cost function for Doppler measurement values ​​according to the motion model are the same as those in the above embodiment and will not be repeated here.

[0083] According to the measurement principle of pseudorange double difference and carrier phase double difference, the cost function of pseudorange double difference and carrier phase double difference are obtained. According to the measurement principle of pseudorange double difference and carrier phase double difference, the measurement equation of pseudorange double difference can be expressed as

[0084]

[0085] in, The double difference measurement equation of the carrier phase can be expressed as

[0086]

[0087] in,

[0088]

[0089] p u,t is the position coordinate of the mobile station (i.e., the receiver position), p b,t is the location coordinate of the base station, is the satellite position in the double-difference calculation, is the position of the reference satellite, is the measurement noise, is the double difference of the integer ambiguity. Then the cost function of the above pseudorange double difference is

[0090]

[0091] The cost function of the above carrier phase double difference measurement is

[0092]

[0093] in, is the covariance of the pseudorange double difference and the carrier phase double difference.

[0094] Step 15: Establish an objective function by combining the robustness model and the cost function. According to the objective function, solve the state quantity to be solved by the "sliding window" idea to obtain the positioning result of the receiver.

[0095] Specifically, the objective function is essentially a large-scale, nonlinear, overdetermined equation. It is expanded using Newton iterations on a set initial value and then solved using a general least squares method. Due to its large dimension, a "sliding window" approach can be used for segmented calculations to reduce time and improve real-time positioning.

[0096] In one embodiment, when the pseudorange measurement value and the Doppler measurement value are fused and solved, a first objective function is obtained by combining the robustness model, the cost function of the pseudorange measurement value, and the cost function of the Doppler measurement value;

[0097] According to the first objective function, segmented calculation is performed through the "sliding window" idea, and the nonlinear equation is processed by the Newton iteration method to obtain the state quantity to be solved, and the positioning result of the receiver is obtained according to the state quantity to be solved, wherein the state quantity to be solved includes the receiver position and the receiver clock difference. The above-mentioned first objective function is

[0098]

[0099] The first objective function is expressed using a factor graph as Figure 3 As shown, it conforms to the solution form of nonlinear least squares, so the state set X can be solved, and the obtained state quantity also contains the covariance of the measurement values ​​used.

[0100] In another embodiment, when the pseudorange measurement value, the Doppler measurement value, and the carrier phase measurement value are fused and solved, a second objective function is obtained by combining the robustness model, the cost function of the pseudorange measurement value, the cost function of the Doppler measurement value, the cost function of the pseudorange double difference, and the cost function of the carrier phase double difference;

[0101] According to the second objective function, a segmented calculation is performed using the "sliding window" concept, and the nonlinear equation is processed by the Newton iteration method to obtain a floating-point solution of the state quantity to be solved, and the positioning result of the receiver is obtained based on the floating-point solution of the state quantity to be solved, wherein the state quantity to be solved includes the receiver position and the integer ambiguity double difference. The above second objective function is

[0102]

[0103] The second objective function is expressed using factor graph as Figure 4 As shown, it conforms to the solution form of nonlinear least squares, so the state set X can be solved, and the obtained state quantity also contains the covariance of the measurement values ​​used.

[0104] Furthermore, obtaining a positioning result of the receiver according to the floating-point solution of the state quantity to be solved includes:

[0105] Fixing the integer ambiguity of a single epoch on the floating-point solution of the state quantity to be solved by the LAMBDA algorithm;

[0106] Determine whether the ambiguity of the floating-point solution has been fixed. If so, calculate the baseline vector between the receiver and the reference station to obtain a high-precision positioning result of the receiver; otherwise, use the floating-point solution of the state quantity to be solved as the positioning result of the receiver.

[0107] Optionally, during the objective function solution, the window size is typically set empirically. Theoretically, a larger window size results in higher solution accuracy. To achieve a balance between solution accuracy and computational efficiency, a window size of 100-200 epochs has been shown to be optimal.

[0108] As can be seen from the above, the embodiment of the present application provides a GNSS positioning solution method based on factor graph optimization, which uses an algorithm based on factor graph optimization to fuse and solve the measurement values ​​in the GNSS observation file, such as pseudorange measurement values, Doppler measurement values, etc., to achieve the addition of all historical information to the solution of the current epoch, fully tap the role of historical information, and reduce the impact of environmental factors on the measurement values ​​in actual applications. It also estimates the weight of the measurement values ​​in the solution process, effectively improving the solution accuracy of the positioning. In addition, the speed value is obtained by the Doppler measurement value to constrain the position of the receiver, and a switching factor is introduced to estimate the variance of the pseudorange and carrier phase measurements to obtain the corresponding dynamic weight to eliminate the influence of abnormal observations. Finally, the idea of ​​"sliding window" is used for calculation to improve robustness and practicality.

[0109] Example 2

[0110] An embodiment of the present application provides a GNSS positioning solution device based on factor graph optimization, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. The memory is used to store software programs and modules, and the processor executes various functional applications and data processing by executing the software programs and modules stored in the memory. The memory and processor are connected via a bus. Specifically, the processor implements any step of the first embodiment above by executing the computer program stored in the memory.

[0111] It should be understood that in the embodiments of the present application, the processor referred to may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0112] The memory may include a read-only memory, a flash memory, and a random access memory, and provides instructions and data to the processor. A portion or all of the memory may also include a non-volatile random access memory.

[0113] As can be seen from the above, the embodiment of the present application provides a GNSS positioning solution device based on factor graph optimization, which uses an algorithm based on factor graph optimization to fuse and solve the measurement values ​​in the GNSS observation file, such as pseudorange measurement values, Doppler measurement values, etc., to achieve the addition of all historical information to the solution of the current epoch, fully tap the role of historical information, and reduce the impact of environmental factors on the measurement values ​​in actual applications. It also estimates the weight of the measurement values ​​in the solution process, effectively improving the solution accuracy of the positioning. In addition, the speed value is obtained by the Doppler measurement value to constrain the position of the receiver, and the switching factor is introduced to estimate the variance of the pseudorange and carrier phase measurements to obtain the corresponding dynamic weight to eliminate the influence of abnormal observations. Finally, the idea of ​​"sliding window" is used for calculation to improve robustness and practicality.

[0114] It should be understood that if the above-mentioned integrated modules / units are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The above-mentioned computer program can be stored in a computer-readable storage medium, and when the computer program is executed by the processor, it can implement the steps of the above-mentioned various method embodiments. Among them, the above-mentioned computer program includes computer program code, and the above-mentioned computer program code can be in source code form, object code form, executable file or some intermediate form. The above-mentioned computer-readable medium may include: any entity or device capable of carrying the above-mentioned computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the above-mentioned computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction.

[0115] The above description of the disclosed embodiments is intended to enable one skilled in the art to implement or use the present application. Various modifications to these embodiments will be readily apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application is not limited to the embodiments shown herein, but is intended to conform to the widest scope consistent with the principles and novel features disclosed herein.

[0116] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0117] In the embodiments provided herein, it should be understood that the disclosed apparatus / terminal equipment and methods may be implemented in other ways. For example, the apparatus / device embodiments described above are merely illustrative. For example, the division of the modules or units described above is merely a logical functional division. In actual implementation, other division methods may be used, such as combining or integrating multiple units or components into another system, or ignoring or not implementing certain features.

[0118] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the scope of protection of the present application.

Claims

1. A GNSS positioning solution method based on factor graph optimization, characterized in that: include: Acquiring GNSS measurement values ​​and performing preliminary processing on the measurement values, wherein the measurement values ​​include pseudorange measurement values ​​and Doppler measurement values; According to the maximum a posteriori probability estimation theory, a robust model of state estimation based on a factor graph is constructed, wherein a switching factor is introduced in the process of constructing the robust model to constrain the measurement value; Determining the state quantity to be solved according to the measurement value and establishing a motion model of the receiver; establishing a cost function based on a measurement principle corresponding to the measurement value and the motion model; An objective function is established by combining the robustness model and the cost function. According to the objective function, the state quantity to be solved is solved by a sliding window idea to obtain a positioning result of the receiver.

2. The GNSS positioning solution method according to claim 1, wherein: The state quantities to be solved include: receiver position and receiver clock error.

3. The GNSS positioning solution method according to claim 2, wherein: The establishing of a cost function based on a measurement principle corresponding to the measurement value and the motion model comprises: According to the measurement principle of pseudorange, a cost function of pseudorange measurement value is established; A cost function for Doppler measurements is established based on the motion model.

4. The GNSS positioning solution method according to claim 3, wherein: The establishing of an objective function by combining the robustness model and the cost function, and solving the state quantity to be solved by a sliding window concept according to the objective function to obtain a positioning result of the receiver includes: Combining the robustness model, the cost function of the pseudorange measurement value, and the cost function of the Doppler measurement value to obtain a first objective function; According to the first objective function, segmented calculation is performed using the sliding window concept, and nonlinear equations are processed using the Newton iteration method to obtain the state quantity to be solved, and the positioning result of the receiver is obtained based on the state quantity to be solved.

5. The GNSS positioning solution method according to claim 1, wherein: The measurement values ​​also include: carrier phase measurement values; The state quantities to be solved include: receiver position and integer ambiguity double difference.

6. The GNSS positioning solution method according to claim 5, wherein: The establishing of a cost function based on a measurement principle corresponding to the measurement value and the motion model comprises: According to the measurement principle of pseudorange, the cost function of pseudorange measurement value is obtained; establishing a cost function for Doppler measurements based on the motion model; According to the measurement principle of pseudorange double difference and the measurement principle of carrier phase double difference, the cost function of pseudorange double difference and the cost function of carrier phase double difference are obtained.

7. The GNSS positioning solution method according to claim 6, wherein: The establishing of an objective function by combining the robustness model and the cost function, and solving the state quantity to be solved by a sliding window concept according to the objective function to obtain a positioning result of the receiver includes: Obtaining a second objective function by combining the robustness model, the cost function of the pseudorange measurement value, the cost function of the Doppler measurement value, the cost function of the pseudorange double difference, and the cost function of the carrier phase double difference; According to the second objective function, segmented calculation is performed using the sliding window idea, and the nonlinear equation is processed using the Newton iteration method to obtain a floating-point solution of the state quantity to be solved, and the positioning result of the receiver is obtained based on the floating-point solution of the state quantity to be solved.

8. The GNSS positioning solution method according to claim 7, wherein: Obtaining a positioning result of the receiver according to the floating-point solution of the state quantity to be solved includes: Fixing the ambiguity of the floating-point solution of the state quantity to be solved by the LAMBDA algorithm; Determine whether the ambiguity of the floating-point solution has been fixed. If so, calculate the baseline vector between the receiver and the reference station to obtain the positioning result of the receiver; otherwise, use the floating-point solution of the state quantity to be solved as the positioning result of the receiver.

9. A GNSS positioning solution device based on factor graph optimization, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method according to any one of claims 1 to 8 when executing the computer program.

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

Citation Information

Patent Citations

  • Laser SLAM positioning method and system fused with GNSS observation information

    CN115586556A

  • Aligning measured signal data with slam localization data and uses thereof

    WO2019018315A1