A factor graph is a bipartite graphical model that factorises a global function into a product of local factors, connecting variable nodes to the factor nodes that constrain them. It makes the structure of an inference problem explicit and supports efficient message-passing algorithms. In robotics it is the dominant representation for state estimation problems such as SLAM and sensor fusion.
Overview
- Variable nodes hold unknown states; factor nodes encode measurements and priors.
- Belief propagation and nonlinear least-squares exploit the sparse structure.
- Generalises Bayesian networks and Markov random fields for inference.
Mechanisms
- Factorisation exposes conditional independence and sparsity.
- Message passing propagates beliefs between variables and factors.
- Maximum-a-posteriori estimation solves a sparse nonlinear optimisation.
- Incremental smoothing reuses computation as new measurements arrive.
Applications
- Pose-graph and landmark-based SLAM.
- Multi-sensor fusion for localisation.
- Calibration and trajectory estimation.