3.2.2. Complex Urban Scenario
The complex urban environment experiments utilized two different datasets: the Shanghai dataset from the open-source dataset and the robot dataset collected by our team in Zhongguancun, Beijing. The Shanghai dataset consists of 800 s of data from GPS Week 2110 (366,900–367,700) and 1000 s from 372,000–373,000. Notably, the second segment was collected in the Lujiazui area, a dense urban environment where frequent carrier phase loss of lock significantly reduces the availability of carrier phase observations. The Zhongguancun dataset, collected during GPS Week 2140, is illustrated in
Figure 6. A 600 s segment (273,850–274,450) was selected, where the robot navigated in close proximity to office buildings and residential complexes, experiencing severe signal blockages. This dataset presents a significant challenge for positioning algorithms due to the intense GNSS signal obstructions.
For the 0302 dataset, as the robot moved close to office buildings and residential complexes, pseudorange multipath errors increased rapidly, and cycle slips occurred in the carrier phase. However, the GNSS receiver failed to effectively detect these errors, resulting in an output position standard deviation smaller than the actual positioning error. Incorrect covariance estimation leads to disturbed GNSS/INS fusion and, through the sliding window mechanism of FGO, propagates its impact to subsequent epochs. As a result, it yields larger positioning error statistics than standalone GNSS, due to the misweighted fusion process amplifying estimation inconsistencies over time. Therefore, a comparison between POSGO and TC-FGO is presented in
Table 4 below.
As shown in
Table 4 above, complex urban environments introduce significant observational errors into raw GNSS measurements, resulting in rapid degradation of positioning accuracy. For example, RTKLIB exhibits relatively large 3D positioning errors, and the 3D
error of POSGO exceeds 15 m. In the case of OB_GINS, the receiver continuously provides inaccurate position covariance estimates, which suppresses the contribution of IMU pre-integration during this period. This leads to cumulative positioning errors that propagate through subsequent epochs, ultimately producing larger error statistics than standalone GNSS. In contrast, TC-FGO achieves superior positioning performance by assigning individualized fusion weights to each satellite based on its
value, and by incorporating finely modeled IMU pre-integration factors.
The driving trajectory of the Shanghai Lujiazui dataset is shown in
Figure 7 below. In the first data segment, the vehicle traveled through a medium urban environment, where the GNSS receiver experienced brief carrier phase loss-of-lock events. In the second data segment, the vehicle navigated through an area with tall office buildings and dense residential complexes, leading to frequent and extensive satellite signal loss of lock. During this period, only a small portion of carrier phase measurements remained continuously tracked. The frequent cycle slips and re-fixation attempts not only consumed significant computational resources but also failed to yield improvements in positioning accuracy.
For the GNSS/INS loosely coupled positioning algorithm, our tests indicate that the GNSS receiver tends to underestimate positioning uncertainty, leading to anomalous covariance matrices for measurement updates or GNSS position constraint factors. This, in turn, limits the contribution of INS in the positioning estimation process. To address this issue, this study adopts a tightly coupled GNSS/INS fusion scheme, utilizing DDPR to constrain absolute positioning. DDPR effectively mitigates most ionospheric, tropospheric, and receiver clock errors, but it remains susceptible to multipath interference. Therefore, TDCP is introduced to constrain velocity between consecutive epochs. TDCP without cycle slips achieves a velocity estimation accuracy that is an order of magnitude higher than Doppler while also indirectly improving position estimation and aiding INS error compensation. For the first data segment, the positioning results obtained from different algorithms are presented in
Table 5 and
Table 6.
From the results presented in
Table 4 and
Table 5, several conclusions can be drawn. First, single-GNSS positioning is highly susceptible to outliers in individual epochs, leading to significant position jumps. For instance, RTKLIB exhibits maximum positioning errors exceeding 15 m. OB_GINS, a state-of-the-art loosely coupled GNSS/INS positioning algorithm, incorporates IMU pre-integration with Earth rotation compensation to improve relative constraints. However, its loosely coupled measurement weighting strategy limits its performance in complex urban environments. Specifically, loosely coupled positioning algorithms directly use the GNSS receiver’s estimated position uncertainty, which is often smaller than the actual positioning error, limiting INS contributions during poor GNSS signal conditions. As shown in
Table 4 and
Table 5, due to incorrect GNSS position variance estimates, the
position error of OB_GINS is even worse than RTKLIB, while the
error is significantly affected by large positioning outliers, severely impacting the usability of the positioning results. This phenomenon is referred to as an observation model failure [
32]. In urban environments, satellite signals are frequently obstructed by buildings, leading to frequent carrier phase loss of lock. As a result, GNSS positioning algorithms degrade to DGNSS- or even SPP-level accuracy. Moreover, intermittent GNSS outages cause carrier phase tracking to fall into a re-convergence cycle, consuming significant computational resources without yielding positioning accuracy improvements. The TC-FGO positioning algorithm adopted in this study achieves an optimal balance between positioning accuracy and computational efficiency on the 0302 dataset.
For the second data segment, the variation in the number of tracked satellites is shown in
Figure 8. Due to building obstructions along the driving route, the number of trackable GPS and BDS satellites fluctuates significantly, with a substantial number of epochs dropping below 10 satellites. Additionally, the B1I signal of BeiDou-2 exhibits instances of zero observations, and after double-difference (DD) processing, the number of usable satellites is reduced to only 2–3. Moreover, some of the remaining tracked satellites may contain large gross errors. Obstructions result in most participating satellites being at high elevation angles, which leads to a sharp increase in PDOP, as shown in
Figure 9. This means to an increase in positioning uncertainty.
In practical positioning algorithms, the number of available satellites frequently falls below four. Data loss not only increases positioning errors in the current epoch but also leads to cumulative errors that persistently affect subsequent epochs. To improve positioning accuracy and continuity, this study employs a series of techniques for observation smoothing and prediction, including Doppler-smoothed pseudorange and P-spline fused dynamic model-based Doppler prediction.
Table 7 and
Table 8 below compare the positioning results of RTKLIB and FGO using standalone GNSS data, EKF-based tightly coupled GNSS/INS integration, Doppler-based linear extrapolation, and GNSS/INS tightly coupled integration before and after applying our predictive observation method.
It should be noted that, although RTKLIB supports Doppler-based velocity estimation, the desktop application used in this study does not support velocity output, and thus, the results are not displayed. Both POSGO and TC-FGO utilize TDCP measurements as velocity constraints, while the EKF algorithm estimates velocity based on Doppler measurements. However, as POSGO is a single-GNSS-based solution for positioning and velocity estimation, the number of valid TDCP measurements is significantly reduced in dense urban environments. Consequently, its velocity accuracy is noticeably lower than that of tightly coupled methods incorporating IMU pre-integration constraints. In contrast, both EKF and TC-FGO benefit from the assistance of IMU pre-integration, enabling high-precision velocity estimation. The use of more accurate velocity estimates contributes to improved overall positioning accuracy.
In urban environments, the number of available GNSS measurements is limited, and they generally contain varying levels of noise. When the quality of measurement data remains poor over time, FGO accumulates measurement errors from multiple epochs within the optimization window, leading to higher positioning errors in POSGO compared to RTKLIB, which relies on single-epoch positioning. This effect is particularly pronounced in vertical error accumulation [
33]. The EKF-based tightly coupled algorithm lacks constraints from historical data, making it highly susceptible to the influence of outliers in single-epoch GNSS measurements. This is primarily because the confidence model based on
fails to accurately reflect the actual measurement quality under such conditions, leading to a sharp increase in positioning errors. While the original TC-FGO achieves improved horizontal positioning accuracy, it still suffers from significant vertical positioning errors due to persistent poor GNSS observations and cumulative errors in the INS vertical position estimation. Although linear extrapolation of Doppler based on historical data mitigates data loss to some extent, it fails to capture the nonlinear variations caused by vehicle maneuvers, resulting in increased errors in certain directions. By implementing Doppler prediction and smoothing, followed by reconstructing carrier phase and pseudorange observations, the impact of data loss and environmental errors on state estimation is minimized, resulting in the best overall positioning performance.
Figure 10 shows a comparison of the number of satellites with available data before and after prediction, where the red line represents the result obtained using our method. As observed, after prediction, the number of available satellites remains above six for most of the time, with a minimum of five in some intervals. In contrast, the original data drop down to two satellites during certain periods. This not only increases positioning errors at those epochs but also affects subsequent epochs through the sliding window mechanism of FGO, until the low-quality data are phased out. Therefore, high-precision prediction and reconstruction of raw observations is essential to improve both positioning accuracy and continuity.
As shown in
Figure 11, the trajectory extends from the lower right to the upper left, with a brief stop at the intersection. The red points represent the reference trajectory (ground truth), the pink points indicate the results from the original TC-FGO, and the yellow points represent the TC-FGO enhanced with predictive observations. Due to the presence of surrounding buildings and dense summer foliage, the number of visible satellites gradually decreases, particularly as the vehicle approaches the intersection. As a result, the trajectory derived from the original TC-FGO exhibits noticeable positioning jumps (pink points), and the lack of sufficient satellite observations near the intersection leads to continuous error accumulation. This is evident in the area highlighted by the red dashed box, where the maximum 2D positioning error reaches up to 4.9 m. In contrast, the trajectory using predictive observations (yellow points) demonstrates significantly better positioning consistency, with a maximum error of approximately 2 m. This comparison confirms that incorporating predictive raw observations as constraints effectively contributes to maintaining positioning accuracy under GNSS-degraded conditions.