1. Introduction
Microsatellites have experienced rapid development in recent years, driven by their cost-effectiveness and short manufacturing cycles [
1,
2,
3]. As a fundamental prerequisite for satellites to execute diverse tasks, satellite navigation technology has been extensively investigated, with the Global Navigation Satellite System (GNSS) emerging as the predominant method due to its exceptional stability and precision. Extended Kalman Filter (EKF) plays a crucial role in real-time orbit determination (RTOD) to acquire accurate position and velocity information by utilizing broadcast ephemeris, pseudorange, and carrier phase observations obtained from spaceborne GNSS receivers. Under regular conditions, EKF-RTOD can achieve dm-level accuracy when the satellite maintains a stable Earth-pointing attitude and employs a high-precision receiver [
4,
5]. However, the performance of EKF-RTOD is often compromised when processing low-quality observations from low-cost spaceborne receivers on microsatellites. Moreover, attitude maneuvers are inevitable for microsatellites when executing specific tasks, which also leads to degradation of the quality of GNSS observations. The above adverse factors make it too challenging for EKF-RTOD to achieve robust and accurate orbit determination in microsatellites.
Factor graph optimization (FGO) has gained popularity in the field of simultaneous localization and mapping (SLAM) due to its flexibility [
6,
7,
8]. In a factor graph framework, the measurements of sensors are encoded as factor nodes that are simply added to the framework when measurements are generated. FGO is capable of handling nonlinear optimization problems through iterative re-linearization and can also leverage the correlation among historical epochs to obtain a globally optimal estimation [
9,
10]. Moreover, FGO can use a loss function to robustly handle outlier measurements [
11,
12]. Based on these properties, FGO tends to yield smoother and more accurate results compared to traditional filter-based methods. Therefore, in recent years, researchers have begun to attempt to apply FGO to GNSS to study its robust positioning performance in challenging environments. Sünderhauf and Protzel [
13] were the first to use FGO for GNSS positioning. They focused on pseudorange measurements and treated observations affected by multipath errors as outliers in the optimization problem. Watson and Gross [
14] proposed an FGO-based precise point positioning (PPP) framework for GNSS with real-time optimization using incremental smoothing and mapping. Their validation dataset showed that FGO-based PPP demonstrated better convergence performance compared to EKF-based PPP. Wen and Hsu [
15] developed an FGO-based GNSS real-time kinematic (RTK) framework and investigated the time correlation of pseudorange, carrier phase, and Doppler measurements. They verified its localization performance in challenging urban canyons of Hong Kong where FGO-RTK outperformed EKF-RTK. Wen et al. [
12] proposed a graduated non-convexity FGO method to mitigate the effect of GNSS outliers by estimating the optimal weights of GNSS measurements. Bai et al. [
11] used carrier phase measurements within a window to constrain the states in the factor graph and compared the effectiveness of Huber and Cauchy loss functions in suppressing outlier measurements. Wang et al. [
9] obtained results that FGO-RTK was superior to EKF-RTK in moderately and highly complex urban environments using a marginalization-based carrier phase ambiguity propagation method. Xin et al. [
16] proposed a sliding window-based FGO to meet the real-time requirement. They experimented in the complex urban canyon of Hong Kong using a low-cost GNSS receiver and finally achieved real-time results with m-level average horizontal positioning error.
For low Earth orbit (LEO) satellites, the absence of external control forces allows for a precise characterization of inter-epoch motion by modeling the forces acting on the satellite. This renders FGO a promising approach for implementing RTOD. Low-cost receivers are ideal for deployment on microsatellites due to their minimal power consumption and compact size. However, these receivers often suffer from relatively unstable clock sources and suboptimal signal quality. When microsatellites are in non-Earth-pointing attitudes, signals from GNSS satellites with low or even negative elevation angles are susceptible to interference from atmospheric delays and severe multipath effects, which result in degradation of the quality of the observations. What’s worse, the number of observable satellites will also decrease significantly, leading to an increase in the Geometry Dilution of Precision (GDOP). When FGO is used, data correlations are taken into account from multiple epochs simultaneously and the states are refined through multiple iterations. Therefore, FGO can resist the degradation of observed signal quality or unreasonable fluctuation of states among epochs to obtain the globally optimal solution. The above advantages give FGO the opportunity to provide robust and high-precision RTOD for microsatellites in challenging environments. Nevertheless, the real-time processing capability of factor graph optimization remains underexplored, with most research focusing on optimization using progressively expanding windows, which inevitably escalates computational demands.
To address these challenges, this paper proposes a factor graph optimization framework based on a sliding window for RTOD, and the main contributions of this paper include:
To the best of the authors’ knowledge, this paper is the first to use sliding window-based FGO for RTOD, and we propose state transfer factors, including dynamics factor, clock offset variation factor, and ambiguity variation factor, to enhance the connection between multiple epochs;
We provide a detailed procedure for applying Schur complement-based marginalization to sliding window-based FGO, which explicitly incorporates Jacobian matrices and covariance to ensure accurate uncertainty propagation, and clearly defines the state nodes affected by marginalization. The marginalization significantly enhances computational efficiency without compromising accuracy;
We processed the first published data of the GNSS receiver on the Tianping-2B microsatellite and showed that the FGO-based RTOD solution exhibits superior robustness compared to EKF-RTOD.
2. Construction of Factor Graph Optimization
The basic design of the FGO-based RTOD (FGO-RTOD) proposed in this paper is shown in
Figure 1. The circles denote the state nodes. In order to meet the requirements of real-time applications, we designed the factor graph based on a sliding window. The real-time solution of FGO-RTOD is obtained from the latest epoch in the window. RTOD in this paper is implemented using the ionosphere-free combined measurements of the code and phase recorded as PC and LC [
17,
18]. The set of states
of the GNSS receiver in the sliding window is represented as follows:
where
n denotes the length of the sliding window,
is the dynamic parameter vector that includes drag coefficient
and solar radiation pressure coefficient
.
denotes the state at epoch
k which involves the position and velocity state vector
, receiver clock offset
, and LC ambiguity vector
of received GNSS satellites. All factors in
Figure 1 will be presented later.
2.1. Measurement Factors
For a spaceborne receiver on a LEO satellite, the undifferenced and uncombined (UDUC) observation models of pseudorange
P and carrier phase
L are formulated as:
where
represents the geometric range between the GNSS satellite (superscript
s) and the receiver;
c is the speed of light;
δts and
δtr are the clock offsets of the GNSS satellite and receiver, respectively;
represents the ionospheric path delay,
f and
λ are the frequency and wavelength of the carrier, respectively;
is the carrier phase ambiguity;
and
denote the pseudorange and carrier phase observation noises. Note that most signals from high-elevation GPS satellites are not affected by tropospheric delays due to the fact that LEO satellites operate above the troposphere, and we consider possible tropospheric delays for signals from low-elevation GPS satellites as part of the observation noise. All other error terms, such as hardware delays from both the receiver and GNSS satellite, systematic error, multipath, and polarization-induced windup for carrier phase, are enclosed into the
ε term [
19].
The PC and LC are obtained using dual-frequency ionosphere-free combination, as shown in Equations (3) and (4), respectively:
where
.
The error function of PC and LC at epoch
k can be denoted as
and
:
where
is defined as the squared Mahalanobis distance [
8] for the covariance matrix
.
and
are the variances of PC and LC, which can be propagated from the UDUC pseudorange variance
and carrier-phase variance
through the error propagation law, respectively.
and
are set to 0.3 and 0.003, respectively.
The measurement factor
of epoch
k consists of the sets of LC and PC factors for all observed satellites
:
2.2. State Transfer Factor
In order to better establish the relationship between state nodes within a window, a state transfer factor is proposed in this paper. The state transfer factor
at epoch
consists of three components: the dynamics factor
, the clock variation factor
, and the LC ambiguity variation factor
:
where
is the process noise matrix. The individual terms in the equations are described in later subsections.
2.2.1. Dynamics Factor
Dynamic force models are used to accurately propagate the satellite state vector over time by means of numerical integration of the first order differential equation [
20]:
Where
is the state vector at
includes satellite position
and velocity
,
a is the acceleration vector of the satellite in the geocentric inertial coordinate frame, which can be obtained by calculating the force on the satellite at position
and velocity
. The acceleration vectors of the LEO satellite are shown in
Figure 2, which include the gravitational acceleration
aE due to Earth’s non-spherical surface and uneven mass distribution, gravitational acceleration
aS and
aM due to the Sun and the Moon, respectively, acceleration
at caused by solid Earth, polar and ocean tides, acceleration
ad resulting from atmospheric drag, acceleration
asr arising from solar radiation pressure, acceleration
aer derived from Earth radiation pressure and relativistic effects.
is the sum of dynamic model error and propagation error.
Dynamics factor
is introduced to limit the position and velocity variations of the satellite between epochs with the covariance matrix of
:
where the numerical integration is accomplished using a simple 4th-order Runge-Kutta integration method. Note that unlike studies that use empirical accelerations to compensate for the shortcomings of simplified dynamic models, this article directly uses
to represent dynamic errors.
2.2.2. Clock Offset Variation Factor
Clock fluctuations are closely tied to the frequency stability of the clock source. These fluctuations can be particularly pronounced in low-cost receivers. Clock offset variation factor
is used in FGO-RTOD to describe the fluctuation of clock with variance of
.
In addition, it absorbs a small number of other errors such as hardware delay, antenna phase center offset, and dynamics model errors.
2.2.3. LC Ambiguity Variation Factor
The carrier phase ambiguity of satellite
s is theoretically constant, but it may fluctuate due to the fast movement of the LEO satellite and imperfect error modeling. LC ambiguity variation factor
is introduced to accommodate its instability in real-time estimation with variance of
:
Note that only considers satellites that have been tracked continuously without cycle slip.
2.3. A Priori Factor
The a priori factor
represents the a priori single point positioning (SPP) factor
in the first epoch. In subsequent epochs, it serves as the marginalization factor
.
The individual terms in the equations are described in later subsections.
2.3.1. A Priori SPP Factor
To reduce the number of iterations, we use the initial position and velocity vector
and clock offset
obtained from the SPP algorithm in the first epoch to construct the a priori SPP factor, which can be denoted as:
where
and
denote the a priori covariance matric set empirically for the position and velocity states and clock offset state,
.
2.3.2. Marginalization Factor
In existing FGO-based GNSS positioning frameworks, researchers have extended the window length indefinitely to fully exploit data correlation between previous and current epochs [
11,
21]. However, this approach inevitably results in a progressive escalation in computational load. To address this challenge, more researchers have explored the implementation of sliding window-based GNSS estimators. In this approach, once the window reaches its maximum size, the oldest state node and its associated factors are removed. Nevertheless, the outright exclusion of information outside the window can lead to the algorithm to diverge. To address this issue, some researchers have proposed leveraging marginalization to retain the relevant node information outside the window. It has been demonstrated that a sliding window estimator incorporating marginalization achieves convergence performance comparable to that of a batch estimator [
22]. In this paper, a marginalization factor is constructed by marginalizing past nodes, effectively serving as a prior factor that provides a priori information for the first state node within the window.
When the total number of state nodes exceeds the length of the sliding window and we have obtained the state
solved by the previous sliding window estimator, we have to marginalize the node
outside the window to obtain the a priori information for the current sliding window. We construct a state vector
, where
denotes the node to be marginalized, and
denotes the node in the window that is adjacent to
. The a priori error function
, the state transfer error function
, the measurement error function
, and the whole error function
corresponding to
are denoted as:
The Jacobian matrix of all error equations with respect to
is denoted as:
denotes the covariance matrix of factors associated with
:
The normal equation of
can be expressed as:
where
and
.
Rewrite the normal equation as:
Marginalization can be achieved with the Schur complement [
22]:
where
and
.
and
should be first used to generate the corresponding Jacobian matrix
and the residuals
by the singular value decomposition (SVD):
Thus, the marginalization factor can be given as follows:
where
is set by an identity matrix because the marginalization information is directly generated from the last optimal estimation.
3. Algorithm Implementation
After completing the last optimization, the following equations are used to drive the system forward:
Note that Equation (28) only considers satellites that have been tracked continuously without cycle slip in the previous and current epochs. In other cases, the LC ambiguity of satellite
s needs to be initialized as:
In order to obtain the maximum a posteriori (MAP) estimate for the factor graph, it is necessary to find the set of states that maximizes the product of the individual probabilities of the factor nodes [
23]. However, in this paper, simplification of this optimization problem can be achieved by employing the Gaussian noise assumption. This assumption allows the use of the negative logarithm method to convert the problem from maximizing the product of probabilities to solving a non-linear least squares problem:
The variable
can be estimated by solving the objective function Equation (30) iteratively. The objective function is solved by the state-of-the-art Ceres solver [
24]. The sliding window length is set to the default of 3, and remains unchanged unless otherwise specified.
The implementation of the proposed sliding window-based FGO-RTOD framework is shown in
Figure 3.
Step 1: At the initial epoch, the receiver position, velocity and clock offset are initialized using the SPP solution. LC ambiguities are initialized using Equation (29).
Step 2: Upon completion of the optimization in the previous epoch, states are propagated to the current epoch using Equations (26)–(29).
Step 3: Obtain raw measurements from the spaceborne receiver, including pseudoranges, carrier phases and broadcast ephemeris information, etc. Carrier phase cycle slip detection is implemented based on geometry-free (GF) combination [
25].
Step 4: Construct the measurement factors, state transfer factors and a priori factor within the window. Then perform the optimization using Equation (30).
Step 5: Calculate the marginalization factor for the next epoch.
Step 6: Proceed to the subsequent epoch and iteratively execute Steps 2–5.
Due to the computation capacity limitation of the spaceborne processor, not all perturbations, especially minor ones such as solid Earth tides, ocean tides, polar tides, relativity effects, and Earth radiation pressure, should be considered in RTOD. The specific configurations for the dynamic force model are outlined in
Table 1. In this paper, simplified precession and nutation models and rapidly predicted Earth orientation parameters are applied for the transformation of coordinate systems.
4. Experimental and Simulation Evaluations
We verified the performance of the proposed algorithm in two scenarios: the regular scenario and the challenging scenario. For the regular scenario, we used the onboard GNSS data of the GRACE-FO-A satellite which maintains a stable Earth-pointing attitude and carries a high-precision spaceborne GNSS receiver. Raw observation data could be obtained from the Level-1B products provided by the German Research Centre for Geosciences (GFZ). For the challenging scenario, we processed one set of data from the simulation platform and three sets of real data from Tianping-2B to validate the performance of the proposed method in this paper when the satellite is in a non-Earth-pointing attitude and a low-cost receiver is used. This is the first time that information about Tianping-2B has been made public. Tianping-2B is a microsatellite weighing about 20 kg and was launched in 2022. It flies in a sun-synchronous orbit at an altitude of about 500 km and employs adaptive attitude control aligned with mission-specific requirements.
The ZJU-SpaceRcv GNSS receiver aboard the Tianping-2B satellite delivers position, velocity, and time (PVT) services while validating real-time orbit determination capabilities, as shown in
Figure 4. It is a low-cost and miniaturized spaceborne receiver independently developed by Zhejiang University in Hangzhou, China and this is the first time that the receiver has been tested on orbit. ZJU-SpaceRcv can collect code and phase measurements at the L1C and L2C frequencies of the GPS or the B1I and B3I frequencies of both the BDS-2 and the BDS-3. To the best of the authors’ knowledge, this is the first on-orbit dual-civilian-code (L1C and L2C) spaceborne GPS receiver used for orbit determination. The relevant specifications of ZJU-SpaceRcv are listed in
Table 2.
Raw observations from the low-cost receiver on board Tianping-2B were used to validate the RTOD performance of the proposed method in the challenging scenario. We also used a GNSS simulator to simulate the GNSS signals received by Tianping-2B in space. The GNSS data processing strategies for GRACE-FO, Tianping-2B and the simulation are shown in
Table 3. The receiver antenna phase center offset (PCO) is corrected by satellite attitude information in quaternion. We ignore the effect of the antenna phase center variation (PCV) because it tends to be much smaller than the broadcast ephemeris error.
As shown in
Figure 5, signals from satellites with high elevation angles typically yield more reliable observations. In contrast, signals from satellites with low or even negative elevation angles are susceptible to interference from atmospheric delays and severe multipath effects, which results in diminished measurement accuracy [
30,
31]. Consequently, it is essential to control the signal quality by setting an appropriate cut-off elevation angle for satellites in general missions. Since not all GPS satellites transmit L2C signals [
32], there are fewer observations available for dual-frequency ionosphere-free (IF) combinations for ZJU-SpaceRcv. Furthermore, the number of visible satellites is significantly reduced when the microsatellite operates in a non-Earth-pointing attitude, necessitating the inclusion of low and negative elevation satellites to ensure positioning continuity. Compounding the issue, during microsatellite attitude maneuvers, the receiver’s internal loop may lose lock, leading to carrier phase cycle slips [
33].
A priori standard deviation and process noise settings for GRACE-FO, Tianping-2B and the simulated microsatellite are shown in
Table 4.
4.1. Experimental Evaluation in Regular Scenario
The GRACE-FO-A data from 0–24 h on 5 May 2019 was selected to evaluate the performance of the proposed algorithm in a regular scenario. The left part of
Figure 6 presents a sky plot showing the distribution of observed satellites based on azimuth and elevation angle. It can be observed that the satellite distribution appears to be highly uniform, indicating that GRACE-FO-A is carrying out a stable observation of the Earth. GDOP quantitatively describes how satellite geometric configurations affect positioning accuracy. The number of satellites (Nsat) and GDOP for the entire arc segment are shown in the right part of
Figure 6. The average number of observed satellites during the entire arc segment is 8.33. The GDOP remains within the range of 2 to 3, except for occasional instances when GDOP increases due to a decrease in the number of visible GPS satellites.
To comprehensively assess the efficacy of the proposed methodology, we conducted a comparative analysis of positioning performance across three different methods, noting that FGO did not introduce an M-estimator at this time:
- (1)
EKF-RTOD: the standard EKF-based GNSS RTOD framework [
4], where the measurement model and state transition model are derived from the factors in the FGO framework, and all relevant parameter settings are consistent with those used in the FGO framework;
- (2)
FGO-RTOD: the proposed sliding window-based FGO-based RTOD framework with marginalization, which provides the real-time solution for the latest state node solved by Equation (30);
- (3)
FGO-RTOD (Delayed): the method gives the delayed solution for the oldest state node in the sliding window with marginalization. The solution has a window-length time delay.
Positioning errors in radial direction, along-track direction, cross-track direction and 3D were derived from precision orbit references provided by the Jet Propulsion Laboratory (JPL), shown in
Figure 7. Corresponding statistics are summarized in
Table 5. Comparative analysis reveals that FGO-RTOD achieves marginally superior accuracy relative to EKF-RTOD in the regular scenario, which is indeed attributed to the advantages of the FGO method, such as multiple iterations, re-linearization, and the ability to take into account the correlation of multiple epochs. However, since the quality of the observed data is high in the current scenario, the problem tends to be highly linear and the benefits of re-linearization may be limited. In addition, the state variations between epochs in the regular scenario are very stable, so the advantages of FGO, which can take into account multiple epoch correlations, over the sequential estimator EKF cannot be exploited, resulting in limited accuracy improvement. FGO-RTOD(Delayed) exhibits improved accuracy compared to FGO-RTOD due to the consideration of additional nodes and factors, however, we do not describe it too much because it cannot obtain a real-time solution.
4.2. Simulation Evaluation in Challenging Scenario
The simulation hardware setup is shown in
Figure 8, which includes a GNSS signal simulator, a ZJU-SpaceRcv GNSS receiver, a PC, an RF cable and a power supply. The GNSS signal simulator used in this setup is the Spirent GSS9000, which is capable of simulating GPS L1C and L2C signals. ZJU-SpaceRcv received the RF signals from the simulator and forwarded the raw GNSS observations to the PC.
The specific orbital parameters are provided in
Table 6. At the beginning, the simulated microsatellite was in the Earth-pointing attitude until 3500 s, when it began to roll at a speed of +1 deg/s, as shown in
Figure 9. Once the roll angle reached 45 deg, the attitude was fixed for 5 min. Afterward, the microsatellite returned to the normal Earth-pointing attitude at a rate of −1 deg/s.
The Nsats and GDOPs in the simulation are displayed in
Figure 10. During the simulation, the number of satellites available for RTOD fluctuates between 5 and 10, with an average of 7.3. The GDOP varies between 1.53 and 10.31. During the period of satellite rolling, the number of available satellites for RTOD significantly decrease to the minimum, with a corresponding increase in GDOP to the maximum.
The positioning errors are illustrated in
Figure 11, with the true orbits are given from the GNSS simulator. Corresponding statistics are summarized in
Table 7. The results demonstrate that the stability of FGO-RTOD is markedly superior to that of EKF-RTOD during the satellite’s attitude maneuver, with the 3D maximum (3DMAX) errors for FGO-RTOD and EKF-RTOD being 1.139 m and 6.921 m, respectively. Meanwhile, the positioning error of FGO-RTOD exhibits significantly smoother behavior, and its 3DRMS is reduced by 79.0% compared to that of EKF-RTOD. Furthermore, upon restoration of the number of available satellites, FGO-RTOD achieves faster convergence and higher accuracy than EKF-RTOD. The reason why FGO-RTOD achieves better results compared to EKF-RTOD lies in the fact that EKF-RTOD can be viewed as an FGO-RTOD with a sliding window length of 1, while FGO-RTOD can simultaneously consider the correlations among all epochs within a sliding window of length
n. Measurement outliers in individual epochs are constrained by the epoch-to-epoch correlations in FGO, making it difficult for them to affect the normal states within the window. This enables FGO-RTOD to identify measurement outliers more effectively.
4.3. Experimental Evaluation in Challenging Scenario
Raw GNSS observations collected from Tianping-2B in July 2023 were used to evaluate the performance of the proposed algorithm in the challenging scenario. Given the constrained battery capacity of the microsatellite, the ZJU-SpaceRcv GNSS receiver was only powered on during complex tasks requiring accurate positioning information. The specific arc segments analyzed in this paper were:
Arc1: started on 07/18/2023 23:03:00, ended on 07/19/2023 02:03:00.
Arc2: started on 07/20/2023 10:32:50, ended on 07/20/2023 11:48:00.
Arc3: started on 07/21/2023 23:05:00, ended on 07/22/2023 02:00:00.
The sky plot of the observed GPS satellites is depicted in
Figure 12. It is evident from the plot that there is a gap in the azimuth range of 350° to 30°. This gap suggests that Tianping-2B was not pointing to the center of the Earth during the corresponding flight arc.
The Nsats and GDOPs for the three arc segments are displayed in
Figure 13. As ZJU-SpaceRcv operates at the L2C frequency, the number of observations available for dual-frequency IF combination is considerably lower compared to GRACE-FO. Consequently, there are moments when the GDOP drops to 0 due to the Nsat falling below 4. The data from Tianping-2B can be used to evaluate the robustness of the proposed algorithm in the challenging scenario.
Tianping-2B is equipped exclusively with ZJU-SpaceRcv for positioning, and no reference orbit is available for performance assessment. Furthermore, the short observational arcs preclude the comparison of overlapping arcs. Therefore, we illustrated the algorithm’s performance through the residuals of PC and LC. The residuals of PC and LC for Arc3 are shown in
Figure 14. It is evident that the LC residuals of FGO-RTOD exhibit a considerable reduction in the number of discrete points compared to those of EKF-RTOD. Histograms of LC residuals of EKF-RTOD and FGO-RTOD are shown in
Figure 15. Note that the dark blue bin indicates an overlap between FGO’s LC residual count and EKF’s. As illustrated in
Figure 15, FGO demonstrates a superior ability to concentrate the LC residuals around zero and to identify unreliable outliers more effectively than EKF.
The residuals of non-outlier LC measurements typically remain below 10 cm.
Table 8 shows the Root Mean Square (RMS) of LC residuals for EKF-RTOD and FGO-RTOD across the three arcs, considering only LC residuals below 10 cm. In addition,
Table 8 includes the ratio between the number of LC residuals less than 10 cm and the total number of LC residuals. The LC residuals RMS for FGO-RTOD of Arc3 significantly decreases from 2.052 cm to 1.051 cm, while the ratio of LC residuals below 10 cm increases from 90.57% to 97.90%. For other arcs, the improvements in RMS and ratio exceed 0.43 cm and 7.0%, respectively. These results further underscore the superior capability of FGO-RTOD in managing LC outliers compared to EKF-RTOD in the challenging scenario.
5. Discussion
Using an M-estimator is a typical way to reduce the sensitivity to outliers. The objective function of FGO-RTOD with the Cauchy function is expressed as:
The Cauchy function is applied as follows [
11]:
where
denotes the kernel parameter.
This section discusses the effect of different sliding window lengths and different M-estimator settings on the performance of FGO-RTOD. All tests were conducted using a high-performance laptop computer with an AMD CPU (Ryzen 7 5800 H) at 3.20 GHz and 16 GB RAM. The first hour RTOD solutions for GRACE-FO-A are presented in
Figure 16. FGO-RTOD(Batch) is the solution of the batch estimator with incrementally expanding window length, and FGO-RTOD(3) and FGO-RTOD(5) are the solutions with marginalization for sliding window lengths of 3 and 5, respectively.
Figure 16 show that FGO-RTOD(Batch) demonstrates superior positioning accuracy at the beginning due to the consideration of information from more epochs. However, its accuracy exhibits negligible improvement over time relative to the sliding window implementations with marginalization—a trend aligning precisely with theoretical predictions [
16,
22]. As the number of states requiring optimization in FGO-RTOD(Batch) increases over time, its computational runtime also grows significantly, exceeding that of FGO-RTOD. Consequently, FGO-RTOD(Batch) is unsuitable for real-time processing applications. In contrast, FGO-RTOD maintains a consistent runtime once the sliding window is fully populated, achieving a runtime of less than 1 s with an appropriately configured window length, thereby fulfilling real-time processing requirements.
Table 9 presents the influence of varying window lengths on FGO-RTOD performance in the challenging scenario simulation. Analysis reveals a progressive reduction in positioning error RMS with increasing window length. This enhanced precision occurs at the cost of exponentially increasing computational time. Different robust function settings can also affect the results differently. As shown in
Table 10, when the kernel parameter is set to 1, the algorithm exhibits suboptimal positioning accuracy, which is even lower than the accuracy achieved without using a robust function. This is likely due to the inappropriate downweighting of high-precision measurements, leading to a degradation in overall performance. In contrast, when the kernel parameter of the Cauchy function is set to 10 and 20, the algorithm’s accuracy improves, with the highest accuracy achieved at a kernel parameter of 10. This demonstrates that, in the current simulation, using an appropriate robust function can further mitigate the impact of low-quality measurements.
The influence of varying window lengths and M-estimator configurations on the performance of FGO in the challenging scenario experiment of Arc3 is detailed in
Table 11 and
Table 12. As the window length increases, the LC residual RMS generally shows a decreasing trend, which to some extent reflects the improving effectiveness of the algorithm. The ratio decreases as the window length increases because the algorithm incorporates more LC ambiguity variation factors, prioritizing the consistency of LC ambiguities across epochs over the minimization of residual magnitudes. The results presented in
Table 12 demonstrate that the LC residual RMS is minimized when employing the Cauchy function with a kernel parameter of 10. As the kernel parameter increases, the ratio also increases, indicating that more LCs are trusted, with the maximum ratio occurring in the algorithm without a robust function, which is consistent with the theory.
6. Conclusions and Outlooks
This paper proposes an FGO-based RTOD method aiming at achieving robust and accurate positioning for microsatellites operating in challenging scenarios. The proposed method incorporates dynamics factors, clock offset variation factors, and LC ambiguity variation factors to model temporal correlations between state nodes. In the sliding window-based FGO estimator, a Schur complement-based marginalization method is employed to preserve out-of-window state node information.
In the experimental part, the accuracy of FGO-RTOD was verified by using data from GRACE-FO-A. Comparative analyses demonstrate marginally superior precision for FGO-RTOD over EKF-RTOD in the regular scenario. The simulation results show that the accuracy of FGO-RTOD is significantly better than that of EKF-RTOD during the time period when the satellite is performing attitude maneuvers, and the positioning error of FGO-RTOD is significantly smoother throughout the simulation. The results obtained from Tianping-2B demonstrate that FGO-RTOD exhibits markedly smaller LC residuals and a significantly higher ratio of LC residuals below 10 cm compared to EKF-RTOD. These findings indicate that FGO-RTOD effectively manages outlier measurements in challenging scenarios and outperforms EKF-RTOD. Experiments conducted with varying window lengths reveal that, in most cases, increasing the window length improves the algorithm’s performance, albeit at the cost of greater computational time. Furthermore, the choice of loss functions can exert distinct influences on the algorithm’s performance.
FGO-RTOD in this paper was developed based on Eigen, Ceres solver and some basic libraries, and it is feasible for them to be deployed on a satellite computer. The inputs to FGO-RTOD including broadcast ephemeris, pseudorange, and carrier phase observations are available in real-time through the spaceborne GNSS receiver, so the algorithm has few limitations when working on a microsatellite. In future works, we will deploy the FGO on a satellite computer, conduct a detailed time/space complexity analysis of the algorithm, and obtain the performance of FGO-RTOD via a satellite-ground data transmission link.
Author Contributions
Conceptualization, C.H. and X.J.; Data curation, C.H.; Formal analysis, C.H. and X.Y.; Funding acquisition, X.J.; Investigation, C.H. and X.J.; Methodology, C.H.; Project administration, X.J.; Software, C.H. and X.J.; Supervision, X.J.; Validation, C.H.; Visualization, C.H. and X.Y.; Writing—original draft, C.H. and T.X.; Writing—review and editing, C.H. and X.J. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by the National Natural Science Foundation of China (62073289).
Data Availability Statement
The datasets presented in this article are not readily available because the data are part of an ongoing study. Requests to access the datasets should be directed to the corresponding author.
Conflicts of Interest
The authors declare no conflicts of interest.
References
- Lin, C.; Jin, X.; Mo, S.; Hou, C.; Zhang, W.; Xu, Z.; Jin, Z. Performance analysis and validation of precision multisatellite RF measurement scheme for microsatellite formations. Meas. Sci. Technol. 2022, 33, 025001. [Google Scholar] [CrossRef]
- Xu, J.; Zhang, C.; Wang, C.; Jin, Z. Novel Approach to Intersatellite Time-Difference Measurements for Microsatellites. J. Guid. Control Dyn. 2018, 41, 2476–2482. [Google Scholar] [CrossRef]
- Hou, C.; Jin, X.; Zhou, L.; Wang, H.; Yang, X.; Xu, Z.; Jin, Z. Precision Joint RF Measurement of Inter-Satellite Range and Time Difference and Scalable Clock Synchronization for Multi-Microsatellite Formations. Sensors 2023, 23, 4109. [Google Scholar] [CrossRef] [PubMed]
- Montenbruck, O.; Ramos-Bosch, P. Precision real-time navigation of LEO satellites using global positioning system measurements. Gps Solut. 2008, 12, 187–198. [Google Scholar] [CrossRef]
- Wang, F.; Gong, X.; Sang, J.; Zhang, X. A Novel Method for Precise Onboard Real-Time Orbit Determination with a Standalone GPS Receiver. Sensors 2015, 15, 30403–30418. [Google Scholar] [CrossRef] [PubMed]
- Kschischang, F.R.; Frey, B.J.; Loeliger, H.A. Factor graphs and the sum-product algorithm. IEEE Trans. Inf. Theory 2001, 47, 498–519. [Google Scholar] [CrossRef]
- Li, X.; Wang, X.; Liao, J.; Li, X.; Li, S.; Lyu, H. Semi-tightly coupled integration of multi-GNSS PPP and S-VINS for precise positioning in GNSS-challenged environments. Satell. Navig. 2021, 2, 1. [Google Scholar] [CrossRef]
- Dellaert, F.; Kaess, M. Factor graphs for robot perception. Found. Trends Robot. 2017, 6, 1–139. [Google Scholar]
- Wang, X.; Li, X.; Shen, Z.; Li, X.; Zhou, Y.; Chang, H. Factor graph optimization-based multi-GNSS real-time kinematic system for robust and precise positioning in urban canyons. Gps Solut. 2023, 27, 200. [Google Scholar] [CrossRef]
- Taylor, C.; Gross, J. Factor Graphs for Navigation Applications: A Tutorial. Navig.-J. Inst. Navig. 2024, 71, navi.653. [Google Scholar] [CrossRef]
- Bai, X.; Wen, W.; Hsu, L.-T. Time-Correlated Window-Carrier-Phase-Aided GNSS Positioning Using Factor Graph Optimization for Urban Positioning. IEEE Trans. Aerosp. Electron. Syst. 2022, 58, 3370–3384. [Google Scholar] [CrossRef]
- Wen, W.; Zhang, G.; Hsu, L.-T. GNSS Outlier Mitigation via Graduated Non-Convexity Factor Graph Optimization. IEEE Trans. Veh. Technol. 2022, 71, 297–310. [Google Scholar] [CrossRef]
- Sünderhauf, N.; Protzel, P. Towards robust graphical models for GNSS-based localization in urban environments. In Proceedings of the International Multi-Conference on Systems, Signals & Devices, Chemnitz, Germany, 20–23 March 2012. [Google Scholar]
- Watson, R.M.; Gross, J.N. Evaluation of Kinematic Precise Point Positioning Convergence with an Incremental Graph Optimizer. In Proceedings of the IEEE/ION Position, Location and Navigation Symposium (PLANS), Monterey, CA, USA, 23–26 April 2018. [Google Scholar]
- Wen, W.; Hsu, L.-T. Towards robust GNSS positioning and real-time kinematic using factor graph optimization. In Proceedings of the 2021 IEEE International Conference on Robotics and Automation (ICRA), Yokohama, Japan, 30 May 2021. [Google Scholar]
- Xin, S.; Geng, J.; Hsu, L.-T. Factor Graph Optimization-Based GNSS PPP-RTK: An Alternative Platform to Study Urban GNSS Precise Positioning. IEEE Trans. Aerosp. Electron. Syst. 2024, 60, 3221–3236. [Google Scholar] [CrossRef]
- An, X.; Meng, X.; Jiang, W. Multi-constellation GNSS precise point positioning with multi-frequency raw observations and dual-frequency observations of ionospheric-free linear combination. Satell. Navig. 2020, 1, 7. [Google Scholar] [CrossRef]
- Zhao, X.; Zhou, S.; Ci, Y.; Hu, X.; Cao, J.; Chang, Z.; Tang, C.; Guo, D.; Guo, K.; Liao, M. High-precision orbit determination for a LEO nanosatellite using BDS-3. Gps Solut. 2020, 24, 102. [Google Scholar] [CrossRef]
- Tancredi, U.; Renga, A.; Grassi, M. Real-Time Relative Positioning of Spacecraft over Long Baselines. J. Guid. Control Dyn. 2014, 37, 47–58. [Google Scholar] [CrossRef]
- Kroes, R.; Montenbruck, O.; Bertiger, W.; Visser, P. Precise GRACE baseline determination using GPS. Gps Solut. 2005, 9, 21–31. [Google Scholar] [CrossRef]
- Iwase, T.; Kojima, Y.; Teramoto, E. M-Epoch Ambiguity Resolution Technique for Single Frequency Receivers with INS Aid. In Proceedings of the IEEE/ION Position Location and Navigation Symposium (PLANS), Myrtle Beach, SC, USA, 23–26 April 2012. [Google Scholar]
- Sibley, G.; Matthies, L.; Sukhatme, G. Sliding Window Filter with Application to Planetary Landing. J. Field Robot. 2010, 27, 587–608. [Google Scholar] [CrossRef]
- Kaess, M.; Ranganathan, A.; Dellaert, F. iSAM: Incremental Smoothing and Mapping. IEEE Trans. Robot. 2008, 24, 1365–1378. [Google Scholar] [CrossRef]
- Agarwal, S.; Mierle, K. Ceres solver: Tutorial & reference. Google Inc 2012, 2, 8. [Google Scholar]
- Hatch, R. The synergism of GPS code and carrier measurements. In Proceedings of the International Geodetic Symposium on Satellite Doppler Positioning, Las Cruces, NM, USA, 8–12 February 1982. [Google Scholar]
- Tapley, B.D.; Watkins, M.; Ries, J.; Davis, G.; Eanes, R.; Poole, S.; Rim, H.; Schutz, B.; Shum, C.; Nerem, R.S. The joint gravity model 3. J. Geophys. Res. Solid Earth 1996, 101, 28029–28049. [Google Scholar] [CrossRef]
- Montenbruck, O.; Pfleger, T. Astronomy on the Personal Computer; Springer: Heidelberg, Germany, 2013. [Google Scholar]
- Montenbruck, O.; Gill, E.; Lutze, F. Satellite Orbits: Models, Methods, and Applications; Springer: Heidelberg, Germany, 2002. [Google Scholar]
- Cappellari, J.O.; Vélez, C.; Fuchs, A.J. Mathematical Theory of the Goddard Trajectory Determination System; Goddard Space Flight Center: Maryland, MD, USA, 1976. [Google Scholar]
- Montenbruck, O.; Kroes, R. In-flight performance analysis of the CHAMP BlackJack GPS Receiver. GPS Solut. 2003, 7, 74–86. [Google Scholar] [CrossRef]
- Wanninger, L.; May, M. Carrier-Phase Multipath Calibration of GPS Reference Stations. Navigation 2001, 48, 112–124. [Google Scholar] [CrossRef]
- Marques, H.A.S.; Monico, J.F.G.; Marques, H.A. Performance of the L2C civil GPS signal under various ionospheric scintillation effects. Gps Solut. 2016, 20, 139–149. [Google Scholar] [CrossRef]
- Kim, J.W.; Shin, M.Y.; Melin, L.; Hwang, D.-H.; Lee, S.J. GNSS receiver rotation tracking loop design for spinning vehicles. In Proceedings of the IEEE/ON Position, Location and Navigation Symposium, Monterey, CA, USA, 5–8 May 2008. [Google Scholar]
Figure 1.
Sliding window-based factor graph of RTOD.
Figure 1.
Sliding window-based factor graph of RTOD.
Figure 2.
Acceleration vectors of the LEO satellite.
Figure 2.
Acceleration vectors of the LEO satellite.
Figure 3.
Implementation of sliding window-based FGO-RTOD framework.
Figure 3.
Implementation of sliding window-based FGO-RTOD framework.
Figure 4.
ZJU-SpaceRcv GNSS receiver.
Figure 4.
ZJU-SpaceRcv GNSS receiver.
Figure 5.
Quality of signals received when the microsatellite is in non-Earth-pointing attitude.
Figure 5.
Quality of signals received when the microsatellite is in non-Earth-pointing attitude.
Figure 6.
Distribution of observed satellites (left), and Nsat and GDOP (right) for GRACE-FO-A.
Figure 6.
Distribution of observed satellites (left), and Nsat and GDOP (right) for GRACE-FO-A.
Figure 7.
Positioning errors for GRACE-FO-A.
Figure 7.
Positioning errors for GRACE-FO-A.
Figure 8.
Hardware setup.
Figure 8.
Hardware setup.
Figure 9.
Microsatellite is rolling to fulfill the earth observation mission.
Figure 9.
Microsatellite is rolling to fulfill the earth observation mission.
Figure 10.
Nsat and GDOP for the simulated microsatellite.
Figure 10.
Nsat and GDOP for the simulated microsatellite.
Figure 11.
Positioning errors for the simulated microsatellite.
Figure 11.
Positioning errors for the simulated microsatellite.
Figure 12.
Distribution of observed satellites for Tianping-2B.
Figure 12.
Distribution of observed satellites for Tianping-2B.
Figure 13.
Nsat and GDOP for Tianping-2B.
Figure 13.
Nsat and GDOP for Tianping-2B.
Figure 14.
PC (left) and LC (right) residuals for Tianping-2B.
Figure 14.
PC (left) and LC (right) residuals for Tianping-2B.
Figure 15.
Histogram of LC residuals for Tianping-2B.
Figure 15.
Histogram of LC residuals for Tianping-2B.
Figure 16.
Positioning error and runtime of RTOD for GRACE-FO-A.
Figure 16.
Positioning error and runtime of RTOD for GRACE-FO-A.
Table 1.
Relevant settings of dynamical model.
Table 1.
Relevant settings of dynamical model.
Items | Relevant Settings |
---|
Dynamical model |
Earth gravity field | JGM3 (20 × 20) [26] |
N-body gravitation | Moon and Sun only, low-precision analytic method [27] |
Solid Earth tides | Neglected |
Ocean tides | Neglected |
Polar tides | Neglected |
Solar radiation pressure | Cylindrical shadow model [28] |
Atmosphere drag | Harris–Priester model (density) [29] |
Earth radiation pressure and Relativity effects | Neglected |
Reference frame |
Coordinate system | J2000/WGS84 |
Precession and nutation | IAU1976/IAU 1980 simplified model |
Earth rotation parameter | Rapidly predicted EOP in IERS Bulletin A |
Table 2.
Specifications of the ZJU-SpaceRcv GNSS receiver.
Table 2.
Specifications of the ZJU-SpaceRcv GNSS receiver.
Items | Relevant Settings |
---|
System | GPS or BDS |
Receiving frequency | GPS: L1C/L2C BDS: B1I/B3I |
Number of channels | 12 each for each frequency |
Measurement | Carrier phase, pseudorange, and Doppler |
Sample interval | 1 s |
Carrier phase precision | ≤6 mm |
Pseudorange precision | ≤2 m |
Table 3.
GNSS data processing strategy.
Table 3.
GNSS data processing strategy.
Items | GRACE-FO | Tianping-2B/Simulation |
---|
GNSS signal | GPS L1P + L2P | GPS L1C + L2C |
Combination | Undifferenced | Undifferenced |
Sampling rate, s | 30 | 10 |
Elevation cutoff, deg | 5 | - |
Ionosphere | Dual-frequency ionosphere-free | Dual-frequency ionosphere-free |
GNSS orbit and clock | Broadcast ephemeris | Broadcast ephemeris |
Ambiguity | Float resolution | Float resolution |
Table 4.
A priori standard deviation and process noise settings.
Table 4.
A priori standard deviation and process noise settings.
Items | GRACE-FO | Tianping-2B/Simulation |
---|
| |
| 400 |
| |
| | 12.9 |
| |
Table 5.
Statistics of positioning errors for GRACE-FO-A (unit m).
Table 5.
Statistics of positioning errors for GRACE-FO-A (unit m).
Modes | Radial | Along-Track | Cross-Track | 3D |
---|
EKF-RTOD | 0.257 | 0.315 | 0.300 | 0.505 |
FGO-RTOD | 0.255 | 0.306 | 0.302 | 0.499 |
FGO-RTOD(Delayed) | 0.243 | 0.303 | 0.296 | 0.488 |
Table 6.
Orbital elements of the simulated microsatellite.
Table 6.
Orbital elements of the simulated microsatellite.
Orbital Elements | a, m | e | i, deg | Ω, deg | ω, deg | M, deg |
---|
Settings | 6,893,818.8336 | 0.0005910 | 97.4391 | −64.3989 | −108.7805 | 179.4492 |
Table 7.
Statistics of positioning errors for the simulated microsatellite (unit m).
Table 7.
Statistics of positioning errors for the simulated microsatellite (unit m).
Modes | Radial | Along-Track | Cross-Track | 3DRMS | 3DMAX |
---|
EKF-RTOD | 1.267 | 0.689 | 0.573 | 1.552 | 6.921 |
FGO-RTOD | 0.139 | 0.258 | 0.142 | 0.326 | 1.139 |
FGO-RTOD (Delayed) | 0.139 | 0.256 | 0.136 | 0.321 | 1.130 |
Table 8.
RMS and ratio of LC residuals less than 10 cm for Tianping-2B.
Table 8.
RMS and ratio of LC residuals less than 10 cm for Tianping-2B.
Modes | Arc1 | Arc2 | Arc3 |
---|
RMS (cm) | Ratio (%) | RMS (cm) | Ratio (%) | RMS (cm) | Ratio (%) |
---|
EKF-RTOD | 2.050 | 88.50 | 2.199 | 91.19 | 2.052 | 90.57 |
FGO-RTOD | 1.619 | 95.49 | 1.351 | 99.08 | 1.051 | 97.90 |
Table 9.
FGO-RTOD statistics for the simulated microsatellite with different sliding window lengths.
Table 9.
FGO-RTOD statistics for the simulated microsatellite with different sliding window lengths.
Window Length | 2 | 3 | 4 | 5 |
---|
Mean runtime (s) | 0.039 | 0.100 | 0.206 | 0.327 |
RMS (m) | 0.329 | 0.326 | 0.320 | 0.316 |
Table 10.
FGO-RTOD statistics for the simulated microsatellite with different settings of the M-estimator.
Table 10.
FGO-RTOD statistics for the simulated microsatellite with different settings of the M-estimator.
Robust Function | NULL | Cauchy (1) | Cauchy (10) | Cauchy (20) |
---|
RMS (m) | 0.326 | 0.334 | 0.324 | 0.325 |
Table 11.
FGO-RTOD statistics for Tianping-2B with different sliding window lengths.
Table 11.
FGO-RTOD statistics for Tianping-2B with different sliding window lengths.
Window Length | 2 | 3 | 4 | 5 |
---|
Mean runtime (s) | 0.070 | 0.218 | 0.466 | 0.833 |
LC residual RMS (cm) | 1.087 | 1.051 | 1.052 | 1.042 |
Ratio (%) | 97.98 | 97.90 | 97.90 | 97.83 |
Table 12.
FGO-RTOD statistics for Tianping-2B with different settings of the M-estimator.
Table 12.
FGO-RTOD statistics for Tianping-2B with different settings of the M-estimator.
P | NULL | Cauchy (1) | Cauchy (10) | Cauchy (20) |
---|
LC residual RMS (cm) | 1.051 | 1.289 | 1.048 | 1.064 |
Ratio (%) | 97.90 | 82.34 | 97.59 | 97.72 |
| Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).