A factor graph is a different representation of the SLAM problem [1]}, [2]}, [3]}, [4]}.
Instead of using small units, such as grids, volumes, or surfaces, to represent the space, a factor graph encodes the poses of the robot and the observed landmarks along the trajectory.
In a factor graph, each factor represents a constraint on the relative poses either between two consecutive robot poses or between a robot pose and a landmark.
The robot poses and landmark positions are modeled as random variables, and they are optimized by maximizing the joint likelihood.
Mechanisms can be designed such that new factors are only added when there are significant pose updates or new object measurements to facilitate concise representation. As a result,
Factor graph SLAM scales much better than SLAM with occupancy grid maps or 3D dense maps.
However, the convergence of factor graph SLAM algorithms relies heavily on correct data association of the landmarks.
Even a single false association can cause the algorithm to diverge [5]}, [2]}.
