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:
Publications
- 2019) Expectation-Maximization for Adaptive Mixture Models in Graph Optimization. In Proc. of Intl. Conf. on Robotics and Automation (ICRA). DOI: 10.1109/ICRA.2019.8793601 (
- 2018) Robust Sensor Fusion with Self-tuning Mixture Models. In Proc. of Int. Conf. on Intelligent Robots and Systems (IROS). DOI: 10.1109/IROS.2018.8594459 (
- 2017) Dynamic Covariance Estimation -- A Parameter Free Approach to Robust Sensor Fusion. In Proc. of Intl. Conf. on Multisensor Fusion and Integration for Intelligent Systems (MFI). DOI: 10.1109/MFI.2017.8170347 (
- 2016) Robust Factor Graph Optimization — A Comparison for Sensor Fusion Applications. In Proc. of Intl. Conf. on Emerging Technologies and Factory Automation (ETFA). DOI: 10.1109/ETFA.2016.7733598 (
- 2012) Towards a Robust Back-End for Pose Graph SLAM. In Proc. of IEEE Intl. Conf. on Robotics and Automation (ICRA). DOI: 10.1109/ICRA.2012.6224709 (