Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Robotic Tooling
  3. libRSF

libRSF

GPL-3.0C++v2.0

A robust C++ sensor fusion library for online localization using factor graphs and least squares optimization.

Visit WebsiteGitHubGitHub
336 stars74 forks0 contributors

What is libRSF?

libRSF is a robust sensor fusion library written in C++ that enables developers to solve localization problems using factor graphs and least squares optimization. It provides tools for modeling estimation problems, handling non-Gaussian noise with robust error models, and processing data in real-time with a sliding window filter. The library is designed to address challenges in accurate position estimation for applications like robotics and autonomous vehicles.

Target Audience

Robotics engineers, autonomous systems developers, and researchers working on real-time localization and sensor fusion problems. It's particularly suited for those implementing or experimenting with factor graph-based estimation in C++.

Value Proposition

Developers choose libRSF for its combination of robustness, real-time capabilities, and flexibility in handling complex sensor fusion tasks. Its integration with Ceres Solver, predefined localization cost functions, and support for self-tuning Gaussian mixtures provide a powerful, open-source alternative to proprietary sensor fusion solutions.

Overview

A robust sensor fusion library for online localization.

Use Cases

Best For

  • Implementing real-time localization for autonomous vehicles
  • Robust sensor fusion in robotics applications
  • Handling non-Gaussian noise and outliers in estimation problems
  • Building factor graph-based estimation systems in C++
  • Online filtering with sliding window marginalization
  • Research and development in robust state estimation

Not Ideal For

  • Teams developing on non-Ubuntu Linux distributions or operating systems like Windows or macOS
  • Projects with rapid prototyping needs that require minimal setup and dependency management
  • Applications where sensor noise is well-modeled as Gaussian and doesn't require advanced robust error handling
  • Systems integrated with ROS 2 that prefer libraries with native ROS support

Pros & Cons

Pros

Robust Error Models

Includes self-tuning Gaussian mixtures and other models to effectively handle non-Gaussian noise and outliers, as highlighted in the robust error models section and related papers.

Real-time Sliding Window

Supports online applications with marginalization for efficient processing, enabling accurate real-time localization for robotics and autonomous systems.

Ceres Solver Backend

Integrates with the Ceres Solver for powerful least squares optimization, providing a reliable and efficient optimization framework as the core solver.

Factor Graph Abstraction

Allows estimation problems to be modeled intuitively as factor graphs, simplifying the development of complex sensor fusion systems described in the documentation.

Predefined Localization Functions

Offers ready-to-use cost functions for various localization scenarios, reducing implementation time for common tasks like GNSS-based positioning.

Cons

Platform Restriction

Officially tested and supported only for Ubuntu 22.04 and 24.04, as stated in the README, limiting its usability in cross-platform development environments.

Dependency Burden

Requires manual installation and compilation of multiple dependencies like Ceres Solver from source, which can be complex and time-consuming, especially for beginners.

Research-Oriented Design

Closely tied to specific academic publications, which may result in a steeper learning curve and less focus on production-ready features or general usability.

Documentation Gaps

Usage documentation is sparse and assumes prior knowledge of factor graphs, with guides linked to separate markdown files that might not cover all practical use cases comprehensively.

Frequently Asked Questions

Quick Stats

Stars336
Forks74
Contributors0
Open Issues0
Last commit4 months ago
CreatedSince 2018

Tags

#robotics#sensor-fusion#factor-graphs#least-squares#c-plus-plus#gnss#ceres-solver#localization

Built With

E
Eigen
C
Ceres Solver
y
yaml-cpp
C
CMake
G
GeographicLib
C
C++

Links & Resources

Website

Included in

Robotic Tooling3.8k
Auto-fetched 1 day ago

Related Projects

Kalman-and-Bayesian-Filters-in-PythonKalman-and-Bayesian-Filters-in-Python

Kalman Filter book using Jupyter Notebook. Focuses on building intuition and experience, not formal proofs. Includes Kalman filters,extended Kalman filters, unscented Kalman filters, particle filters, and more. All exercises include solutions.

Stars19,211
Forks4,498
Last commit2 years ago
evoevo

Python package for the evaluation of odometry and SLAM

Stars4,302
Forks794
Last commit7 days ago
PROJPROJ

PROJ - Cartographic Projections and Coordinate Transformations Library

Stars2,006
Forks903
Last commit2 days ago
robot_localizationrobot_localization

robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc. Please ask questions on answers.ros.org.

Stars1,942
Forks1,030
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub