Hostname: page-component-77f85d65b8-6bnxx Total loading time: 0 Render date: 2026-04-18T13:25:15.046Z Has data issue: false hasContentIssue false

Gravity-aided navigation using Viterbi map matching algorithm

Published online by Cambridge University Press:  13 January 2025

Wenchao Li*
Affiliation:
School of Science, RMIT University, Melbourne, VIC, Australia
Christopher Gilliam
Affiliation:
School of Engineering, University of Birmingham, Birmingham, UK
Xuezhi Wang
Affiliation:
School of Science, RMIT University, Melbourne, VIC, Australia
Allison Kealy
Affiliation:
School of Science, RMIT University, Melbourne, VIC, Australia
Andrew D. Greentree
Affiliation:
Australian Research Council Centre of Excellence for Nanoscale BioPhotonics, School of Science, RMIT University, Melbourne, VIC, Australia
Bill Moran
Affiliation:
Department of Electrical and Electronic Engineering, University of Melbourne Melbourne, VIC, Australia
*
*Corresponding author: Wenchao Li; Email: lwenchao23@gmail.com
Rights & Permissions [Opens in a new window]

Abstract

In Global Navigation Satellite Systems (GNSS)-denied environments, aiding a vehicle's inertial navigation system (INS) is crucial to reducing the accumulated navigation drift caused by sensor errors (e.g. bias and noise). One potential solution is to use measurements of gravity as an aiding source. The measurements are matched to a geo-referenced map of Earth's gravity to estimate the vehicle's position. In this paper, we propose a novel formulation of the map matching problem using a hidden Markov model (HMM). Specifically, we treat the spatial cells of the map as the hidden states of the HMM and present a Viterbi style algorithm to estimate the most likely sequence of states, i.e. most likely sequence of vehicle positions, that results in the sequence of observed gravity measurements. Using a realistic gravity map, we demonstrate the accuracy of our Viterbi map matching algorithm in a navigation scenario and illustrate its robustness compared with existing methods.

Information

Type
Research Article
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
Copyright © The Author(s), 2025. Published by Cambridge University Press on behalf of The Royal Institute of Navigation
Figure 0

Figure 1. Illustrative example of a $3\times 3$ grid of cells, at arbitrary time $t$, from a gravity map $g_m$. Each cell has a spatial location $\mathbf {c}_t^{j}=[x_t^j,x_t^j]^{{\rm T}}$ and an associated gravity value $g_m(\mathbf {c}_t^{j})$ at this location. The central cell of the grid, $\mathbf {c}^5_t$, is the one that the INS position estimate $\mathbf {s}_t^{{\rm INS}}$ lies in and can be determined by Equation (3), and the positions of other cells can then be calculated by Equation (4)

Figure 1

Figure 2. An example of the Viterbi map matching algorithm. The time sequence is $t=1,2,3,4$ and the dimension of each grid is $5\times 5$. The blue lines are the INS estimated positions while the red ones are the actual positions. The black dashed lines indicate two candidate trajectories satisfying Equation (16), i.e. $\boldsymbol {\mathcal {J}}^*_1=\{1\rightarrow 1\rightarrow 1\rightarrow 1\}$ and $\boldsymbol {\mathcal {J}}^*_{25}=\{25\rightarrow 25\rightarrow 25\rightarrow 25\}$. All trajectories shown in this figure are for demonstration only

Figure 2

Figure 3. Illustration of the refined grid. The cell $\mathbf {c}_t^5$ is an example to show how the refined sub-cells are constructed, where $n=3$ and $o=3$

Figure 3

Figure 4. Illustration of likelihood values of cells within the grids at successive time stamps $t=1,2,3$. The windows size is $n=11\times 11$. For arbitrary cell $j_t$ at time $t$, the likelihood values are calculated from $p_z(z_t\,|\,g_m(\mathbf {c}_t^{j_t}))$ and normalised by ${p_z(z_t\,|\,g_m(\mathbf {c}_t^{j_t}))}/{\max _{j'_t\in \boldsymbol {\mathcal {I}}}\{p_z(z_t\,|\,g_m(\mathbf {c}_t^{j'_t}))\}}$. There is no sub-cell for each cell to simplify the illustration. In each grid, there are only up to seven cells having relative high likelihood values while other cells’ values are close to $0$. If Equation (25) is applied and let $\alpha =0\cdot 1$, the maximum number of possible trajectories is $7^3$; otherwise, in the algorithm without applying Equation (25), the maximum number of possible trajectories is $121^3$

Figure 4

Algorithm 1: The Viterbi-based map matching algorithm

Figure 5

Figure 5. Illustration of the scenarios used in the simulation. The coloured map is the reference gravitational acceleration map of (a) Victoria and New South Wales and (b) Western Australia. The INS estimated trajectory without aiding deviates gradually from the true trajectory and its resolution is $\frac {1}{200}^\circ$

Figure 6

Table 1. Performance comparison between RVBMP and RVBMP using different values of $\alpha$

Figure 7

Figure 6. Simulation results. The scenario is shown in Figure 5(a). (a) The map resolution is $1/100^\circ$; (b) the map resolution is $1/200^\circ$

Figure 8

Table 2. Performance comparison between RVBMP and RVBMP-2 using two different map resolutions

Figure 9

Figure 7. Simulation results of ICCP and proposed algorithm when the correction rate is $4$. The scenario is shown in Figure 5(a). (a) $\sigma _z=1$ mGal; (b) $\sigma _z=2$ mGal

Figure 10

Figure 8. Simulation results of ICCP and proposed algorithm when the correction rate is $6$. The scenario is shown in Figure 5(a). (a) $\sigma _z=1$ mGal; (b) $\sigma _z=2$ mGal

Figure 11

Table 3. Performance comparison between RVBMP-2 and ICCP using two different standard deviations of the noise, $\sigma _z$ and correction rate

Figure 12

Table 4. Performance comparison between RVBMP-2 and ICCP using two different standard deviations of the noise, $\sigma _z$ and the correction rate