Introduction

One of the bottlenecks of intelligent transportation system (ITS) is the positioning accuracy of vehicles. To improve the accuracy of positioning, an inertial navigation system (INS) is always integrated with GNSS (Groves 2013). Due to progress in computing capability, LiDAR is employed for simultaneous localization and mapping (SLAM) (Levinson et al. 2007). Unlike other sensors measuring the relative position, the GNSS also provides absolute positions without accumulated error. Therefore, the GNSS solution is still a key technology to provide the positioning service for autonomous driving (Kamijo et al. 2015).

Due to the expected maturity of vehicle-to-vehicle (V2V) communications in the near future (Qiu et al. 2015), the positioning via V2V cooperation becomes possible. By making use of numerous measurements from surrounding vehicular, the positioning accuracy of the target vehicle can be much improved (de Ponte Müller 2017). The collaborative positioning can be mainly divided into transponder-based and GNSS-based relative positioning (Elazab et al. 2016; Liu et al. 2017). By combining various types of transponder-based measurements (Xu et al. 2015), the positioning accuracy can be optimized through a weighted solution (Elazab et al. 2016), least-squares estimation (Van Nguyen et al. 2015) or the application of a probability density filter (Zhang et al. 2014). However, the transponder-based approach suffers from signal reflection or blockage and unsynchronized clock, making practical implementation difficult (Blumenstein et al. 2015). The GNSS-based approaches directly exchange the GNSS data between vehicles to improve the positioning performance (Lassoued et al. 2017), and most of them use the double-difference (DD) method (Alam et al. 2013). The idea behind the DD technique is to eliminate common pseudorange error between two GNSS receivers, including ionospheric, tropospheric and satellite clock/orbit errors. As mentioned by Liu et al. (2014), the DD-based collaborative positioning is still difficult in urban areas due to multipath and NLOS errors.

In urban canyons, the GNSS signal can be reflected by a building surface, experiencing an extra traveling distance. The signal multipath and NLOS effects are introducing GNSS positioning errors that can in extreme cases exceed 100 m in urban areas (Hsu 2018). One of the feasible solutions is to apply fault detection and exclusion (FDE) for the multipath or NLOS affected signals. A GNSS consistency check has been proposed to select consistent measurements for positioning based on pseudorange residuals (Groves and Jiang 2013). Similarly, a forward–backward receiver autonomous integrity monitoring (RAIM) technique has been developed to improve the performance of GNSS in the urban environment (Angrisano et al. 2012). The random sample consensus (RANSAC) method is further employed to improve the performance of RAIM in case of multiple outliers (Castaldo et al. 2014). Due to the arrival of multi-GNSS, the availability of GNSS is enhanced even in a dense urban area, which further improves its positioning performance (Hsu et al. 2017). However, multi-GNSS could also increase the number of outliers (multipath or NLOS), rendering FDE unable to obtain satisfactory performance in dense urban area. Because multipath and NLOS effects are produced by buildings, a 3D building model can be employed to evaluate and mitigate such effects (Tiberius and Verbree 2004). The shadow matching (SDM) is a widely used 3DMA GNSS positioning method (Groves 2011). Instead of using pseudorange, it uses satellite visibility as measurement to estimate the receiver position. Satellite visibility is defined by the blockage of LOS signal transmission. If a satellite is not tracked by a receiver, it is very likely the signal is blocked by the buildings and vice versa. The SDM determines the receiver position by matching the satellite visibility computed from receiver measurements with the visibility for hypothesized positions using 3D models. If the computed visibility matched the visibility of a hypothesized position, then the receiver is very likely located at that hypothesized position. The performance assessment and of the 3DMA GNSS and the effect of mapping quality are summarized in Adjrad et al. (2018) and Groves and Adjrad (2018).

It is interesting to note the 3DMA GNSS and GNSS-based collaborative positioning are complementary; the former one can greatly mitigate multipath and NLOS effects, while it is still suffering from various other factors to achieve highly accurate positioning. The latter one can eliminate the systematic errors by sharing raw GNSS data between vehicles, but it is limited to using multipath-free measurements. In addition, the receiver will be identified as experiencing healthy or degraded conditions based on 3DMA GNSS (Bradbury et al. 2007; Zhang and Hsu 2018), which provides an appropriate receiver selection for collaborative positioning. Accordingly, we propose GNSS-based collaborative positioning using 3D building models. The 3DMA GNSS algorithm is employed for preliminary NLOS detection and exclusion, mitigating the uncorrelated errors during DD. The 3DMA GNSS is further used to select reliable receivers for collaborative positioning. Finally, the collaborative positioning solution is integrated with the 3DMA GNSS solution based on their complementary characteristics, improving the positioning accuracy in dense urban areas.

Overview of the proposed 3DMA GNSS-based collaborative positioning

The flowchart of the proposed collaborative positioning algorithm is shown in Fig. 1. At the single receiver level, the received GNSS measurements will be used with the GNSS shadow matching (SDM) based on the 3D building models (Wang et al. 2013), to obtain an improved initial positioning solution. Based on the SDM solution, satellite visibility can be identified using the skymask (skyplot with building boundaries). Therefore, the identification and exclusion of the NLOS measurements can be conducted. Then, the remaining GNSS measurements will be subjected to a consistency check. After the two exclusions, the surviving measurements are considered to be clean GNSS measurements. The surviving pseudorange measurements will be double-differenced to obtain the relative positions between receivers. Meanwhile, the second layer of consistency check will be employed during the double-difference estimation, ensuring further the consistency of measurements (Zhang et al. 2018).

Fig. 1
figure 1

Flowchart of the proposed 3DMA collaborative positioning algorithm

Among all measurements, an inaccurate measurement may lead to a large error during position computation. Therefore, it is important to classify whether the measurement is reliable. Due to the multipath and NLOS effects, it is difficult to evaluate the positioning performance mainly relying on measurements (Hsu 2017). Based on the 3D building model in the vicinity of receiver and the broadcast ephemeris, the multipath and NLOS delay of GNSS pseudorange measurement can be predicted using a ray-tracing algorithm (Hsu et al. 2016; Ziedan 2017). Simplifications have also been studied for 3DMA GNSS pseudorange simulation to lower the computation load for real-time implementation (Ng et al. 2019). Then, a positioning error map for predicting each location’s GNSS error can be constructed (Zhang and Hsu 2018) and employed to predict each receiver’s positioning performance based on its error estimate. Based on the predicted performance, the positioning solutions are obtained by applying the proposed collaborative positioning algorithm (which is a weighted average approach) to their absolute and relative positioning solutions.

GNSS shadow matching algorithm

Conventional least-squares estimation suffers from absorbing unmodeled multipath and NLOS effect in the urban area. Hence, we use an advanced 3DMA GNSS positioning, also referred to as shadow matching (SDM), to provide the absolute position of a single receiver. Here, a basic SDM algorithm is employed (Wang et al. 2015) to determine the receiver location by searching for a candidate position having a satellite visibility that is the most similar to the actual measured satellite visibility. The satellite visibility is categorized into LOS and NLOS; the LOS signal transmission is not blocked and the NLOS signal blocked by obstacles, respectively. The actual measured satellite visibility is usually determined by C/N0. If it is weaker than a certain threshold, the sight is NLOS, and otherwise, it is LOS. For the satellite visibility prediction at each candidate position, the surrounding 3D building model from Google Earth (Fig. 2 left) can be plotted in a polar coordinate overhead with azimuth and elevation, generating the skymask (right panel). Based on the skymask, the satellite with an elevation below the building boundaries is considered as NLOS. Otherwise, it is LOS. For the measured satellite visibility, since the reflected NLOS signal may be received in the urban area, only the measurement with C/N0 over 40 dB-Hz will be regarded as LOS measurement, indicating a strong signal (Wang et al. 2013). After obtaining the predicted satellite visibility for different candidate locations and having the satellite visibility estimated from actual measurements, the receiver location is determined by finding a candidate position with a skymask-predicted satellite visibility that is the most similar to the measured satellite visibility. Figure 3 demonstrates the match score with color for each candidate position; the higher score indicates the candidate position has a better match with the computed visibility from the measurements, which means the receiver has a higher possibility of being located at this candidate position. Finally, the SDM positioning solution is estimated by the weighted average of all predicted locations.

Fig. 2
figure 2

Demonstration of the skymask based on the 3D building model corresponding to different locations. The skymask (right) indicates the sky view with the building blockage (gray area) projected by the corresponding building models on Google Earth (left)

Fig. 3
figure 3

Distribution of match score between the measured satellite visibility and predicted satellite visibility of different candidate positions. The color indicates the similarity score for each candidate

Identification and exclusion of NLOS measurement

NLOS exclusion based only on C/N0 is usually not reliable, since the reflected signal could possibly have a C/N0 larger than the LOS measurement. A straightforward NLOS exclusion approach is to further use the 3D building model and the satellite positions to identify which satellite is blocked by buildings. Since the receiver location is unknown, a feasible approach is to generate the skymask based on a relatively accurate positioning solution. Interestingly, the GNSS SDM gives good positioning performance in the across-street direction (Wang et al. 2015), as shown by the blue dot in Fig. 4. Theoretically, its error in along-street direction may only slightly affect the NLOS identification based on the skymask. The skymasks, the associated NLOS/LOS identification results for true location and the LS and SDM solutions are shown in Fig. 4. The true skymask of the receiver identifies that satellites 5, 9, 12, 13 are blocked by buildings. The incorrect LS solution lays on the wrong side with different skymask, resulting in erroneous NLOS identification. The SDM solution always falls on the correct side of the streets, which makes its estimated skymask similar to the truth even through having a large positioning error in along-street direction.

Fig. 4
figure 4

Illustration of NLOS/LOS identification result using the skymasks generated based on ground-truth location, least-squares solution (LS) and shadow matching solution (SDM). The blue area on the map indicates buildings. The red and green markers on the skymask denote the NLOS and LOS signals, respectively

After obtaining the positioning solution from SDM, the corresponding skymask is generated to classify NLOS from all GNSS measurements, using

$$ {\text{SV}}_{\text{NLOS}} = \left\{ {{\text{SV}} \in {\text{SV}}^{i} | {\text{ele}}^{i} < {\text{ele}}^{\text{skymask}} \left( {{\text{azi}}^{i} } \right)} \right\} $$
(1)

For the ith satellite SV, azi and ele denote the azimuth and elevation angles of the satellite, respectively. The satellites with an elevation angle below the skymask elevation angle on the same satellite azimuth angle are identified as NLOS satellite. Rather than only based on the C/N0 of the measurements, the NLOS effect can be greatly mitigated by the proposed 3DMA NLOS exclusion.

Relative positioning algorithm

By using GNSS LOS measurements from different receivers, the relative position between receivers can be estimated using double-differencing. However, the multipath and NLOS error may increase during DD, which requires it to be mitigated beforehand. Here, after applying the 3DMA NLOS exclusion, a double-layer consistency check algorithm (Zhang et al. 2018) is further employed with DD to mitigate the multipath and NLOS errors.

First layer of consistency check on single point positioning

The surviving pseudorange measurements having passed the 3DMA exclusion will be applied to an equal weighted least-squares estimation as follows:

$$ \widehat{{\mathbf{x}}} = {\mathbf{x}}_{0} + \left( {{\mathbf{H}}^{\text{T}} {\mathbf{H}}} \right)^{ - 1} {\mathbf{H}}^{\text{T}} \left( {{\varvec{\uprho}} - {\varvec{\uprho}}_{0} } \right) $$
(2)

where \( {\varvec{\uprho}} \) and \( {\varvec{\uprho}}_{0} \) are the pseudorange measurements and predictions, respectively. \( {\mathbf{H}} \) denotes the geometry matrix of satellites. \( \widehat{{\mathbf{x}}} \) and \( {\mathbf{x}}_{0} \) indicates the estimated and predicted state vectors, respectively, including position and receiver clock bias. The pseudorange residual \( \widehat{\varvec{\varepsilon}}_{\text{LS}} \) corresponding to each measurement can be calculated by:

$$ \widehat{\varvec{\varepsilon}}_{\text{LS}} =\varvec{\rho}- {\mathbf{H}} \cdot \widehat{{\mathbf{x}}} $$
(3)

Then, the measurement consistency can be evaluated by the sum of square error \( {\text{SSE}}_{\text{LS}} \), using

$$ {\text{SSE}}_{\text{LS}} = \widehat{\varvec{\varepsilon}}_{\text{LS}}^{\text{T}} \cdot \widehat{\varvec{\varepsilon}}_{\text{LS}} $$
(4)

A small value of \( {\text{SSE}}_{\text{LS}} \) indicates the measurements are consistent. A threshold is determined by Chi-square test with \( 10^{ - 5} \) probability of false alarm to guarantee the measurements are consistent enough (Blanch et al. 2015). A small probability of false alarm is used to ensure the healthy measurements are less unlikely to be mistakenly excluded. If the \( {\text{SSE}}_{\text{LS}} \) is over the threshold, the measurements will be excluded one by one and the corresponding \( {\text{SSE}}_{\text{LS}} \) recalculated. The subset of measurements with lowest \( {\text{SSE}}_{\text{LS}} \) is selected as the consistent measurements. By repeating the exclusion process, the inconsistent measurement will be excluded one by one until the \( {\text{SSE}}_{\text{LS}} \) is below the threshold. The survived measurements are considered to be consistent enough for positioning (Hsu et al. 2017).

Second layer of consistency check on relative positioning

By sharing the survived measurements, the DD technique is used for relative positioning between receivers. For the ith and jth measurement both received by receivers n and m, the double difference of the shared measurement \( D_{n,m}^{i,j} \) is derived as following:

$$ D_{n,m}^{i,j} = \left( {\overrightarrow {e}^{i} - \overrightarrow {e}^{j} } \right) \cdot \Delta \overrightarrow {{\mathbf{x}}}_{n,m} + \left[ {\left( {\varepsilon_{n}^{i} - \varepsilon_{m}^{i} } \right) - \left( {\varepsilon_{n}^{j} - \varepsilon_{m}^{j} } \right)} \right] $$
(5)

where \( \vec{e} \) denotes the unit LOS vector, \( \Delta \overrightarrow {{\mathbf{x}}}_{n,m} \) denotes the relative position vector between receivers n and m, \( \varepsilon_{n}^{i} \) indicates the uncommon error from the ith GNSS measurement with regarding to the receiver n. The DD (5) does not cancel the multipath and NLOS errors, or even worse, the error may be aggregated. By conducting the double difference between a reference satellite and other satellites for the receivers n and m, the relative positioning solution can be derived using:

$$ \Delta \overrightarrow {{\mathbf{x}}}_{n,m} = \left( {{\mathbf{E}}^{\text{T}} {\mathbf{E}}} \right)^{ - 1} {\mathbf{E}}^{\text{T}} {\mathbf{D}}_{n,m} $$
(6)

where E is the geometry matrix. \( {\mathbf{D}}_{n,m} \) is the DD measurements vector. Hence, the relative positioning solution can be obtained.

The second layer of consistency check, which is similar to the first layer but pertains to the double differences, is employed to further mitigate uncorrelated errors such as multipath and NLOS. After estimating the relative position \( \Delta \overrightarrow {{\mathbf{x}}} \) from DD, the measurement residual \( \widehat{\varepsilon }_{\text{DD}} \) and the corresponding sum of square error \( {\text{SSE}}_{\text{DD}} \) can be calculated by

$$ \widehat{\varvec{\varepsilon}}_{\text{DD}} = {\mathbf{D}} - {\mathbf{E}} \cdot \overrightarrow {{\mathbf{x}}} $$
(7)
$$ {\text{SSE}}_{\text{DD}} = \widehat{\varvec{\varepsilon}}_{\text{DD}}^{\text{T}} \cdot \widehat{\varvec{\varepsilon}}_{\text{DD}} $$
(8)

Again, if the \( {\text{SSE}}_{\text{DD}} \) is over the Chi-square test threshold, the DD measurement will be excluded one by one until finding a measurement subset with a \( {\text{SSE}}_{\text{DD}} \) below the threshold, which are consistent enough for final double-differencing. Finally, the improved relative positioning solution between different receivers can be obtained by the proposed DD method.

3DMA GNSS collaborative positioning

In general, GNSS-based collaborative positioning, the absolute and relative positions from available receivers are all combined to optimize the final positioning solution. However, the multipath and NLOS reception will cause severe errors for the receiver operating in deep urban canyons, degrading the overall collaborative positioning performance. Therefore, it is necessary to identify the positioning performance of each receiver, selecting the receiver with healthy GNSS signal reception to aid the one with degraded GNSS signal reception. Here, a GNSS positioning error map from ray-tracing simulation is used to predict the positioning performance of each receiver. The healthy receivers are selected to aid the degraded receivers with two different collaborative positioning methods: anchor-based method (Method 1) and complementary integration method (Method 2). The flowchart of the proposed collaborative positioning is shown in Fig. 5.

Fig. 5
figure 5

Flowchart of the proposed 3DMA GNSS-based collaborative positioning algorithm

First, the 3D building models and ephemeris are applied with the ray-tracing algorithm, simulating the GNSS range measurements including reflections. Then, the positioning error of a specific location can be predicted with the conventional least square solution from simulated measurements. The positioning error of each location can be constructed into a positioning error map (Zhang and Hsu 2018), as shown in Fig. 6.

Fig. 6
figure 6

Demonstration of the predicted positioning error map using the ray-tracing algorithm and 3D building models. The color bar denotes the positioning error in the unit of meter

Based on the SDM solution of each receiver, the corresponding GNSS positioning error can be predicted by the positioning error map. The positioning error of neighboring locations within a range of 10 m is selected to calculate the predicted positioning error of the receiver. Considering the positioning accuracy of commercial GNSS receiver, the receiver with positioning error less than 5 m is classified as a healthy receiver, otherwise, a degraded receiver.

Method 1

The positioning solution estimated by LS or SDM of the degraded receiver still includes large errors, which are difficult to be reduced by its own measurements. Since the healthy receivers contain enough LOS measurements, both the absolute and relative positioning solutions achieve better accuracy compared with that of the degraded receiver. It can use the positioning solutions of the healthy receiver to estimate the position of the degraded receiver. Therefore, the position of the degraded receiver can be derived as follows:

$$ {\mathbf{x}}_{{M1,{\text{degraded}}}} = {\mathbf{x}}_{{{\text{SDM}},{\text{healthy}}}} + \Delta {\vec{\mathbf{x}}}_{{DD,{\text{healthy}} - {\text{degraded}}}} $$
(9)

where x denotes the position of the receiver, the subscript M1 denotes the estimated positioning solution from Method 1. \( {\mathbf{x}}_{{{\text{SDM}},{\text{healthy}}}} \) denotes the SDM solution of the healthy receiver. \( \Delta {\vec{\mathbf{x}}}_{{{\text{DD}},{\text{healthy}} - {\text{degraded}}}} \) denotes the relative positioning vector between healthy and degraded receiver obtained by the proposed DD method. Using the healthy receiver as an anchor, the position of the degraded receiver can be determined with better accuracy.

Method 2

For Method 2, the positioning result of the degraded receiver from Method 1 is further integrated with the absolute positioning solution of degraded receiver estimated by SDM. The final position can be calculated as follows:

$$ {\mathbf{x}}_{{M2,{\text{degraded}}}} = \frac{1}{2}\left( {{\mathbf{x}}_{{M1,{\text{degraded}}}} + {\mathbf{x}}_{{{\text{SDM}},{\text{degraded}}}} } \right) $$
(10)

where x with the subscript of M2 indicates the final solution estimated by Method 2 of the proposed algorithm. As shown in Fig. 7, the positioning error distribution of Method 1 and SDM solutions is complementary. The SDM solution is known for its performance in the across-street direction. Method 1 is greatly based on the relative positioning using the common LOS measurements between two receivers. In the case of urban canyon, the common satellites are very likely visible in the along-street direction. Although an uncertainty-based weighted averaging could better integrate the two algorithms, the SDM determines the position by a candidate-searching method, which is hard to evaluate in terms of positioning uncertainty. Therefore, equal weight averaging is employed for simplicity. By integrating the solutions of Method 1 and SDM, the final positioning accuracy can be significantly enhanced.

Fig. 7
figure 7

Demonstration of the complementary positioning error distributions of SDM and Method 1 of the proposed 3DMA GNSS-based collaborative positioning algorithm. The upper panel shows the positioning distributions based on real data. The lower picture demonstrates the idea of the complementary characteristics

Experiment setup and result

To verify the proposed 3DMA GNSS-based collaborative positioning algorithm, a static experiment is designed as shown in Fig. 8 (top). Five locations are selected to represent 5 users in different environments. For each location, the u-blox M8T is used to collect 10 min of GPS and GLONASS measurements. Similarly, a dynamic experiment is designed as Fig. 8 (bottom) to verify the performance under a vehicle-like environment, where each receiver is carried by a walking pedestrian. For the dynamic test, Receiver 1 and Receiver 2 are in the open-sky environment, while Receiver 3 and Receiver 4 are in the urban area. Receiver 5 is located on a narrow street with tall buildings on both sides, which is a harsh environment for positioning. The recorded measurements are post-processed by the proposed algorithm.

Fig. 8
figure 8

Receiver locations of the static experiment (top) and dynamic experiment (bottom) in the urban area for the proposed 3DMA collaborative positioning algorithm

Receiver performance classification during the static test

Based on the predicted GNSS positioning error map from ray-tracing simulation and SDM solutions, the positioning performance of each receiver can be predicted. The predicted positioning error distribution of each receiver is compared with its real-time least-squares estimation in Fig. 9. The corresponding mean errors and classification results are shown in Table 1.

Fig. 9
figure 9

Predicted positioning error obtained from the positioning error map and real positioning error based on least-squares estimation for different receivers. LS stands for least square estimation and PE Map Prediction stands for predicted positioning error map

Table 1 Mean positioning error (m) and class of each receiver obtained from the least-squares estimation (LS) and predicted positioning error map (PEM)

Comparing the positioning error between the error map (black line) and LS (cyan line) in Fig. 9, the predicted error of each receiver is similar to the real positioning error from LS, although the deviation of the true positioning error is larger. Therefore, the result verifies that the positioning error map can predict the positioning error of each receiver. In the case of Receiver 1, the predicted error is less than 5 m, which will be classified as a healthy receiver for collaborative positioning. For the other receivers, the predicted positioning errors are larger than 5 m and classified as degraded receivers. The degraded receivers may suffer multipath or NLOS reception, requiring the aids of collaborative positioning.

Positioning performance of the static test

The performance of the proposed collaborative positioning algorithm will be compared with the following five approaches:

  1. (1)

    LS: Conventional least-squares positioning algorithm

  2. (2)

    SDM: Shadow matching, an innovative 3DMA GNSS positioning method.

  3. (3)

    CP-DD2CC: Collaborative positioning based on double-layer consistency check.

  4. (4)

    CP-Method 1: The proposed anchor-based 3DMA GNSS collaborative positioning.

  5. (5)

    CP-Method 2: The proposed complementary integration-based 3DMA GNSS collaborative positioning.

For Receiver 5, the positioning solutions of LS, SDM, CP-DD2CC, CP-Method 1 and CP-Method 2 compared to its true location are shown on the Google Earth map in Fig. 10. The positioning errors per epoch of the different approaches are shown in Fig. 11. The mean and standard deviation of the positioning error for each degraded receiver (Receivers 2, 3, 4 and 5) are shown in Table 2.

Fig. 10
figure 10

Positioning solution of LS, SDM, CP-DD2CC, CP-Method 1 and CP-Method 2 for Receiver 5

Fig. 11
figure 11

Positioning error distributions of LS, SDM, CP-DD2CC, CP-Method 1 and CP-Method 2 for Receiver 5

Table 2 Mean positioning error and standard deviation of the classified degraded receivers by LS, SDM, CP-DD2CC, CP-Method 1 and CP-Method 2

Focusing on the case of Receiver 5, the estimated positions of the conventional LS have significantly drifted from the true location, showing a 26.6 m mean error. Since the NLOS to LOS measurements ratio is large, the consistency check algorithm may suffer from the fake consistency issue. The healthy measurements may be mistakenly excluded and further increase the mean error of collaborative positioning algorithm to 36.3 m with 41.2 m in STD. Aided by the 3D building model, the SDM avoids using the multipath/NLOS affected pseudorange measurements and improves the positioning error to 19.3 m in the mean. However, the positioning error is still large because the NLOS cannot be all correctly classified based on the C/N0. The proposed algorithm first excludes the NLOS measurements based on the satellite visibility from SDM. Then, the classified healthy receiver further collaborates with degraded receivers by double-differencing their pseudorange measurements with double-layer consistency check. Hence, the multipath effect and NLOS reception can be largely mitigated, contributing a more accurate result with 17.9 m in mean and 12.1 m in STD (Method 1). Based on the complementary error distribution illustrated in Fig. 10, the CP-Method 1 solution can be further integrated with degraded receiver’s SDM solution as Method 2. The proposed CP-Method 2 can mitigate the enormous positioning error of shadow matching or CP-Method 1 seen in Fig. 11, thus contributing a more stable and accurate positioning solution with 15.3 m mean error and 8.9 m in STD.

For Receivers 3 and 4 located at an environment in which half of the sky is blocked by buildings, the shadow matching technique is effective and outperforms the CP-Method 1, since it mitigates the positioning error from pseudorange measurements. The proposed CP-Method 2 further employs the solution of Method 1 to compensate for the positioning error in the direction in which shadow matching is ineffective, obtaining a better positioning result. Noticed that Receiver 3 is near a bridge that is not modeled in the 3D building model, causing the proposed algorithm to achieve limited improvements. Receiver 2 in the open-sky situation is inappropriately classified as a degraded receiver due to the prediction error. However, the proposed algorithm is still able to maintain its positioning performance of 3.3 m in the mean with 1.9 m in STD. After all, the proposed 3DMA GNSS collaborative positioning algorithm can improve the positioning performance of the receivers in an urban area as well as maintaining the performance of the ones in open-reception areas.

Positioning performance of the dynamic test

Based on the proposed receiver performance classification method, Receiver 1 and Receiver 2 are classified as healthy receivers with predicted positioning errors of about 0.1 m and 1.5 m. Receivers 3, 4 and 5 are classified as degraded receivers with 35.6, 33.6 and 17.0 m predicted positioning error, respectively. Therefore, we proposed to collaborate the measurements from Receiver 1 (healthy) with Receivers 3, 4 and 5 to improving the accuracy of each of these degraded receivers. The positioning solutions of the proposed and conventional SPP methods for each degraded receiver are shown in Fig. 12 and with mean and STD given in Table 3. Both Methods 1 and 2 can achieve a mean positioning error of less than half the conventional LS method and significantly improve the accuracy compared to SDM and CP-DD2CC solutions. For Receiver 5, Method 2 makes use of the complementary behavior of Method 1 and SDM to further reduce the positioning error to 14.4 m, which is twice as good as the LS method. However, the proposed Method 2 does not achieve better performance for Receiver 3 and Receiver 4. This is because the SDM performance is not satisfactory, whereas the SDM-based NLOS classification is very accurate. Most of the NLOS measurements are correctly excluded, resulting in an accurate Method 1 solution. Since the SDM is performing much worse with regard to Method 1, the positioning accuracy of Method 2 using equal averaging may be degraded by the SDM solution. As a result, an improvement from complementarily integrating SDM and Method 1 may not occur when the two methods perform at very different accuracy.

Fig. 12
figure 12

Positioning solutions of LS, SDM, CP-DD2CC, CP-Method 1, CP-Method 2 regarding and true receiver location (Truth) for Receiver 3 in the middle between buildings (left), Receiver 4 closed to the building (middle) and Receiver 5 on a narrow street closed to buildings (right)

Table 3 Mean positioning error and standard deviation of the classified degraded receivers by LS, SDM, CP-DD2CC, CP-Method 1 and CP-Method 2 in a dynamic test

Conclusions

In this study, a new 3DMA GNSS collaborative positioning algorithm is developed. By estimating the satellite visibility based on SDM, the NLOS measurements in dense urban area are correctly distinguished and excluded. Based on the predicted GNSS positioning error map, the healthy receiver can be identified and then used to collaborate with degraded receivers. The DD method with double-layer consistency check is employed during the relative positioning, which further mitigates the multipath effect and NLOS reception. The proposed collaborative positioning uses the measurements of the healthy receiver to aid positioning of degraded receivers and further integrates with the complementary SDM solution, achieving better positioning performance in dense urban areas.

The collaborative process of the proposed algorithm is simply based on equal weighted averaging. A more effective and suitable optimization approach such as factor-graph optimization is worth to be studied to improve the integration performance.