Jump to main content
Automation Technology

libRSF - A Robust Sensor Fusion Library

The libRSF is an open source C++ library that provides several components that are required to estimate the state of a (robotic) system based on probabilistic methods. By applying the factor graph concept, well known from Graph SLAM, libRSF provides a robust solution for many sensor fusion problems. The general idea of factor graphs is to describe the state estimation problem as a graph of nodes (the state variables) that are connected by factors (measurements). The resulting graph optimization problem can be solved by applying non-linear least squares optimization. More information about factor graphs can be found here: Factor Graph Based Sensor Fusion.

Problems we want to address


Motivation behind this library was the demand to compare sensor fusion algorithms for robotic applications that suffer from non-Gaussian measurement errors. Such an application can be Simultaneous Localization and Mapping (see Graph SLAM), where false loop closures can cause non-Gaussian outliers. Another one is satellite based navigation (see Robust GNSS), which has an enormous importance for the field of autonomous vehicles. The Non-Line-of-Sight (NLOS) effects that occur in urban canyons are also able to cause non-Gaussian errors lead to a wrong position estimate.
Their exists a huge set of different algorithms, that aim to reduce the impact of the described errors by applying robust graph based methods. However it is hard to compare them, since only few of them have open source implementations and even the ones that have one are implemented with different frameworks.

Solutions we want to provide

With the libRSF, we want to provide a set of robust state-of-the-art algorithms along with our own recently published approaches. We build the libRSF on top of the Ceres Solver , which is an open source optimization library provided by Google. With this framework, algorithms like Max-Mixtures (Olson and Agarwal, 2012) , an exact Sum-of-Gaussians error model (Rosen et al., 2013) or Dynamic Covariance Scaling (Agarwal et al., 2013) are implemented. Along with the robust error models are several predefined factors provided. Currently libRSF cover only 2D and 3D localization problems based on odometry and Range/GNSS measurements, but we will add more factors in the next months.
For further details about our own work, please have a look at our latest robust algorithms:

Adaptive Gaussian Mixtures and the EM Algorithm
Self-tuning Gaussian Mixtures
Switchable Constraints

An Open Source Library

The libRSF is released under GPL version 3. Its source code along with installation instructions, example instructions and datasets are available online:

libRSF on GitHub


Please contact M.Sc. Tim Pfeifer for any additional information.