Learning GNSS Positioning Corrections for Smartphones using Graph Convolution Neural Networks
Adyasha Mohanty and Grace Gao
ION GNSS+ 2022, Session E2a, Sept 21, 2022
Android Positioning: The New Era
1
Our smartphones comprise about ~1.5 billion GNSS receivers[1] manufactured in the world
Mapping
Lane-level Positioning
Augmented/Mixed Reality
[1] https://insidegnss.com/smartphone-based-gnss-positioning-today-and-tomorrow/
Challenges and Opportunities
2
[2] Fu and van Diggelen, ION GNSS+ 2020
Challenges
Opportunities
Prior Decimeter Challenge Approaches
3
Model-based
Learning-based
Hybrid
[3] Suzuki, ION GNSS+ 2021
[4] Campos-Vega and Bevly, ION GNSS+ 2021
[5] Liu and El-Sheimy, ION GNSS+ 2021
[6] Siemuri and Elmusrati, ION GNSS+ 2021
[7] Kanhere, Gupta and Gao, NAVIGATION, 2022
[8] Han and Won, ION GNSS+ 2021
Pros and Cons of Prior Approaches
4
Approach | Model-based | Learning-based |
Pros | High positioning accuracy Faster runtime | Makes less assumptions about data structure Fault tolerant to uncertain noise models |
Cons | Needs covariance tuning Needs accurate noise models | Sensitive to initialization and feature design Cannot outperform model-based approaches |
Our Approach: Hybrid Framework
5
Model-based approach
(temporal)
Learning-based approach
(snapshot)
Initialization
Conditioning of inputs
Position Correction
Contributions
6
Outline
7
Choice of Model-Based Approach: Kalman Filter
8
Choice of Learning-Based Approach: �Graph Convolutional Neural Networks (GCNN)
9
[2] Fu and van Diggelen, ION GNSS+ 2020
GCNN: Background[9]
10
[9] Kipf and Welling, ICLR 2017
[9]
GCNN: Background Cont’d
11
Isomorphic Graphs
[10] Weisfeiler and Lehman, Nauchno-Tekhnicheskaya, Informatsiya, 1968
[11] Xu and Jegelka, ICLR 2019
Feature Preprocessing
12
Range residuals
LOS vector
Group by constellation/signal type
Eliminate inter-system and inter-frequency biases, clock biases, tropospheric and ionospheric errors
Apply ADR smoothing or Doppler if cycle slip
Feature Vector
GCNN: Feature Matrix
13
GPS L1/L2
GAL E1/E5
GLO L1/L2
Sample feature vector for a node
0.2
0.5
0.6
15
Sample feature matrix for GPS cluster
0.2
0.5
0.6
15
0.5
0.9
0.3
20
0.7
0.8
0.6
5
0.1
0.6
0.4
10
0.3
0.7
0.5
2
GCNN: Adjacency Matrix
14
GPS L1/L2
GAL E1/E5
GLO L1/L2
0.2
0.5
0.6
15
0.1
0.3
0.9
18
Connect both nodes since residuals difference < 5 m
GCNN: Convolution Layers
15
[11] Xu and Jegelka, ICLR 2019
[10]
If feature vectors of a node’s neighbors form a multiset, �aggregation in GINConv equals aggregation over the multiset
GCNN: Pooling & Prediction
16
Pooling
Position Correction (3 X 1)
Post-message
passing layers
Sample GCNN
Algorithm
17
Feature
Processing
Predicted
Position
Model-based Approach
(Kalman Filter)
Feature
Matrix
GNSS Measurements
(Code Phase, Carrier Phase, Doppler)
Satellite positions, velocities
+
ReLU
ReLU
GINConv
Linear
Layers
Global Mean-Pool
Position
Correction
Learning-based Approach (GCNN)
Adjacency
Matrix
17
Input
Conditioning
Initialization
Outline
18
Real-world Datasets for Evaluation
19
[2] Fu and van Diggelen, ION GNSS+ 2020
Sample trajectory from SJC (used as training dataset)
Baselines and Metrics
Metrics
20
Baselines
Baselines were tuned using Bayesian hyperparameter optimization for maximal performance
GCNN Experimental Parameters
21
GCNN Parameters
Module | Layer | Parameter |
GINConv (1) | Linear | 4 x 32 |
| ReLU | |
| Linear | 32 x 32 |
GINConv (2) | Linear | 32 x 32 |
| ReLU | |
| Linear | 32 x 32 |
| LayerNorm | 32 |
Post-Message Passing | Linear | 32 x 32 |
| Dropout | p =0.25 |
| Linear | 32 x 3 |
[12] Kingma and Ba, ICLR 2015
[13] Fey and Lenssen, ICLR 2019
Error on Test Datasets: Summary
22
Metric (meter) | WLS | Kalman Filter | Our Approach |
Mean Error | 5.7 | 4.6 | 3.4 |
Median Error | 4.4 | 3.9 | 3.3 |
Min. Error | 1.7 | 2.4 | 1.4 |
Max. Error | 25.5 | 7.8 | 5.6 |
Our algorithm outperforms WLS and Kalman filter across all 17 unseen test datasets
Horizontal Positioning Error Distribution: Test Datasets
Validation Dataset: 2021-12-15-US-MTV1
23
Kalman Filter baseline
Our Algorithm
Our approach has fewer outliers (> 5 m error) and provides more accurate positioning
Horizontal Positioning Error Distribution: Selected Test Datasets
24
Validation Dataset: 2021-12-09-US-LAX-2
Kalman Filter baseline
Our Algorithm
Our approach has fewer outliers and provides more accurate positioning even in unseen cities
Positioning Accuracy Example
Validation Dataset: 2021-12-15-US-MTV1
25
Ground Truth
Our Algorithm
Kalman Filter
Our approach follows ground truth more closely compared to Kalman filter position
Conclusion
26
Acknowledgement
Google for publicly available
datasets
27
Zach, Nikhil, Shubh, Ramya, and the rest of NAVLab members for insightful discussions and feedback!
Thank You!
28
29