We review the use of factor graphs for the modeling and solving of
large-scale inference problems in robotics. Factor graphs are a family of
probabilistic graphical models, other examples of which are Bayesian
networks and Markov random fields, well known from the statistical
modeling and machine learning literature. They provide a powerful abstraction
that gives insight into particular inference problems, making
it easier to think about and design solutions, and write modular software
to perform the actual inference. We illustrate their use in the
simultaneous localization and mapping problem and other important
problems associated with deploying robots in the real world. We introduce
factor graphs as an economical representation within which
to formulate the different inference problems, setting the stage for the
subsequent sections on practical methods to solve them.We explain the
nonlinear optimization techniques for solving arbitrary nonlinear factor
graphs, which requires repeatedly solving large sparse linear systems.
The sparse structure of the factor graph is the key to understanding
this more general algorithm, and hence also understanding (and
improving) sparse factorization methods. We provide insight into the
graphs underlying robotics inference, and how their sparsity is affected
by the implementation choices we make, crucial for achieving highly
performant algorithms. As many inference problems in robotics are incremental,
we also discuss the iSAM class of algorithms that can reuse
previous computations, re-interpreting incremental matrix factorization
methods as operations on graphical models, introducing the Bayes
tree in the process. Because in most practical situations we will have
to deal with 3D rotations and other nonlinear manifolds, we also introduce
the more sophisticated machinery to perform optimization on
nonlinear manifolds. Finally, we provide an overview of applications of
factor graphs for robot perception, showing the broad impact fa
1