Skip to main content

Main menu

  • Home
  • Current Issue
  • Archive
  • About Us
    • About NAVIGATION
    • Editorial Board
    • Peer Review Statement
    • Open Access
  • More
    • Email Alerts
    • Info for Authors
    • Info for Subscribers
  • Other Publications
    • ion

User menu

  • My alerts

Search

  • Advanced search
NAVIGATION: Journal of the Institute of Navigation
  • Other Publications
    • ion
  • My alerts
NAVIGATION: Journal of the Institute of Navigation

Advanced Search

  • Home
  • Current Issue
  • Archive
  • About Us
    • About NAVIGATION
    • Editorial Board
    • Peer Review Statement
    • Open Access
  • More
    • Email Alerts
    • Info for Authors
    • Info for Subscribers
  • Follow ion on Twitter
  • Visit ion on Facebook
  • Follow ion on Instagram
  • Visit ion on YouTube
Research ArticleOriginal Article
Open Access

Factor Graphs for Navigation Applications: A Tutorial

Clark Taylor and Jason Gross
NAVIGATION: Journal of the Institute of Navigation September 2024, 71 (3) navi.653; DOI: https://doi.org/10.33012/navi.653
Clark Taylor
1Autonomy & Navigation Technology Center, Air Force Institute of Technology, Wright–Patterson Air Force Base, OH, USA
  • Find this author on Google Scholar
  • Find this author on PubMed
  • Search for this author on this site
Jason Gross
2Department of Mechanical, Materials and Aerospace Engineering, West Virginia University, Morgantown, WV, USA
  • Find this author on Google Scholar
  • Find this author on PubMed
  • Search for this author on this site
  • Article
  • Figures & Data
  • Supplemental
  • References
  • Info & Metrics
  • PDF
Loading

Article Figures & Data

Figures

  • Tables
  • Additional Files
  • FIGURE 1
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 1

    A factor graph representing the system described in Equation (1)

    The xk circles are hidden variable nodes, with the number of these nodes proportional to the number of time steps. The yellow, black, and green rectangles are factor nodes.

  • FIGURE 2
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 2

    An illustration of the three equivalent representations of a factor graph.

    The factor graph is described in Section 2.3, the equivalent optimization problem in Section 3.1, and the adjacency matrix for the graph and how it can be used to solve the optimization in Section 3.2.

  • FIGURE 3
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 3

    Computation time required to solve a factor graph estimation problem as a function of size

  • FIGURE 4
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 4

    Example of marginalization to achieve a sliding window of size 2

    Note how the graph is reduced in size by “marginalizing” a hidden variable and replacing it with a different factor

  • FIGURE 5
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 5

    Example of marginalization in a more complex graph

    In this case, the node being removed (labeled “m” on the left) is replaced by a factor that connects to all nodes to which “m” was originally connected.

  • FIGURE 6
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 6

    Comparative results for EKF vs. factor graph estimation for a 2D satellite problem Note that the factor-graph-based estimator is far more accurate across all time steps, especially near the beginning of the time over which measurements are received. (a) EKF estimation, RMSE = 736 km (b) Factor graph estimation, RMSE = 17.5 km

  • FIGURE 7
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 7

    Examples of different systems that can be solved using factor graphs that are not standard Kalman-filter-type graphs: (a) Graph representing a typical SLAM problem, (b) Graph with relative measurements between different time steps, (c) Graph with different dynamics models between time steps and nonperiodic measurements, (d) Graph with additional hidden variable nodes for selecting the weighting of the dynamics models, (e) Graph for use with highly fine-scaled time-based sensors.

  • FIGURE 8
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 8

    Two figures showing robust cost functions and how selecting an accurate weighting value yields correct derivatives: (a) Huber cost function and scaled Gaussians created to have the same derivative, (b) Geman–McClure cost function and scaled Gaussians created to have the same derivative.

  • FIGURE 9
    • Download figure
    • Open in new tab
    • Download powerpoint
    FIGURE 9

    Example of a GNSS factor graph, where six GNSS pseudorange factors (black squares) are used to estimate x1 and x2 and four are used to estimate x3

    The estimated state, x, includes receiver clock error and atmospheric delay estimates; carrier-phase factors can also be added provided that x includes estimated phase biases. Factors for dynamics (green squares) may incorporate internal navigation.

Tables

  • Figures
  • Additional Files
  • scalarsLower-case, non-bold letters represent scalar quantities, e.g., x.
    vectorsLower-case, bold letters represent vector quantities, e.g., x. Vectors are assumed to be column vectors.
    matricesUpper-case, bold letters represent matrix values, e.g., A.
    setsCalligraphic, upper-case letters represent sets, e.g., Embedded Image. In some cases, if a set of values can be easily converted to a vector by stacking all of the values in the set, Embedded Image. represents that stacked vector.
    A⊤Implies the transpose of the matrix A.
    time indicesSubscripts denote time indices, e.g., xk is the value of x at time step k.
    functionsLower-case letters followed by parentheses represent functions, e.g., f(x) is a function of x. To avoid confusion, if multiplication is implied by parentheses, a space will be placed between the letter and the parentheses, e.g., K(z – h(x)) represents the matrix K multiplied by the difference between z and the function h of x.
    N(0, Σ)Represents a zero-mean normal distribution with covariance Σ.
    Embedded ImageDenotes the 2-norm of the vector v weighted by the covariance matrix A, i.e., Embedded Image.
    p(x)Represents the probability distribution of the random variable x.
    • View popup
    TABLE 1

    Effect of Sliding Window Size and Batch vs. Real-Time Estimation

    RMSE values should be compared against the EKF, which obtains an RMSE of 736 km over entire estimation problem, and 201.2km over the 2nd half of the results.

    Window SizeRMSE (delayed)RMSE (real-time)Second Half (real-time)
    Full17.4 km493.8 km13.7 km
    75086.8 km495.4 km13.7 km
    50098.1 km498.5 km13.7 km
    300170.3 km474.3 km13.7 km
    200377.5 km498.5 km13.7 km
    100405.9 km508.4 km13.7 km
    • View popup
    TABLE 2

    Example Unimodal Functions Used for Robust Optimization and Weighting Function Used in the Optimization Routine

    NameFunctionWeighting
    HuberEmbedded ImageEmbedded Image
    Geman–McClureEmbedded ImageEmbedded Image

Additional Files

  • Figures
  • Tables
  • Video Abstract

PreviousNext
Back to top

In this issue

NAVIGATION: Journal of the Institute of Navigation: 71 (3)
NAVIGATION: Journal of the Institute of Navigation
Vol. 71, Issue 3
Fall 2024
  • Table of Contents
  • Index by author
Print
Download PDF
Article Alerts
Sign In to Email Alerts with your Email Address
Email Article

Thank you for your interest in spreading the word on NAVIGATION: Journal of the Institute of Navigation.

NOTE: We only request your email address so that the person you are recommending the page to knows that you wanted them to see it, and that it is not junk mail. We do not capture any email address.

Enter multiple addresses on separate lines or separate them with commas.
Factor Graphs for Navigation Applications: A Tutorial
(Your Name) has sent you a message from NAVIGATION: Journal of the Institute of Navigation
(Your Name) thought you would like to see the NAVIGATION: Journal of the Institute of Navigation web site.
Citation Tools
Factor Graphs for Navigation Applications: A Tutorial
Clark Taylor, Jason Gross
NAVIGATION: Journal of the Institute of Navigation Sep 2024, 71 (3) navi.653; DOI: 10.33012/navi.653

Citation Manager Formats

  • BibTeX
  • Bookends
  • EasyBib
  • EndNote (tagged)
  • EndNote 8 (xml)
  • Medlars
  • Mendeley
  • Papers
  • RefWorks Tagged
  • Ref Manager
  • RIS
  • Zotero
Share
Factor Graphs for Navigation Applications: A Tutorial
Clark Taylor, Jason Gross
NAVIGATION: Journal of the Institute of Navigation Sep 2024, 71 (3) navi.653; DOI: 10.33012/navi.653
Twitter logo Facebook logo Mendeley logo
  • Tweet Widget
  • Facebook Like
  • Google Plus One
Bookmark this article

Jump to section

  • Article
    • Abstract
    • 1 INTRODUCTION
    • 2 NOTATION AND DEFINITIONS
    • 3 BASIC FACTOR GRAPH OPTIMIZATION
    • 4 COMPUTATIONAL IMPROVEMENTS
    • 5 COMPARISON WITH KALMAN FILTER SENSOR FUSION
    • 6 FACTOR GRAPHS IN NAVIGATION
    • 7 CONCLUSION
    • HOW TO CITE THIS ARTICLE
    • APPENDIX A MARGINALIZATION DETAILS
    • Footnotes
    • REFERENCES
  • Figures & Data
  • Supplemental
  • References
  • Info & Metrics
  • PDF

Related Articles

  • Google Scholar

Cited By...

  • No citing articles found.
  • Google Scholar

More in this TOC Section

  • ATLAS: Orbit Determination and Time Transfer for a Lunar Radio Navigation System
  • GNSS L5/E5a Code Properties in the Presence of a Blanker
  • Robust Interference Mitigation in GNSS Snapshot Receivers
Show more Original Article

Similar Articles

Keywords

  • Bayesian estimation
  • factor graph
  • Kalman filter
  • sensor fusion

Unless otherwise noted, NAVIGATION content is licensed under a Creative Commons CC BY 4.0 License.

© 2025 The Institute of Navigation, Inc.

Powered by HighWire