Open Source Robotics

A curated collection of high-quality open source robotics projects, tools, and software to propel the robotics community forward.

MRPT

Comprehensive C++ toolkit for mobile robotics, SLAM, and sensor-based navigation

License

BSD-3-Clause

Overview

The Mobile Robot Programming Toolkit (MRPT) is a comprehensive C++ library collection for mobile robotics, providing tools for SLAM, computer vision, motion estimation, obstacle avoidance, and sensor interfaces. With 12+ years of development, MRPT offers optimized implementations of particle filters, graph-based SLAM, Kalman filters, and navigation algorithms, along with sensor drivers for LIDAR, cameras, and GPS. It includes GUI tools for dataset visualization, map building, and real-time robot operation.

The Mobile Robot Programming Toolkit (MRPT) is a comprehensive open-source C++ library suite designed for researchers and developers working in mobile robotics and computer vision. It provides ready-to-use implementations of SLAM algorithms, 2D and 3D spatial transformations, SE(2)/SE(3) Lie group operations, probability density functions over poses and maps, and Bayesian inference tools including Kalman filters and particle filters.

Beyond its core libraries, MRPT ships with standalone GUI applications for common robotics tasks such as camera calibration, raw sensor log inspection, and real-time map visualization. The toolkit supports a wide range of sensors and map representations out of the box, making it practical for both research prototyping and deployed systems.

With over 12 years of active development, MRPT is distributed through Ubuntu/Debian packages, PPAs for nightly builds, Windows installers, and ROS/ROS2 packages. It serves as the foundation for the MOLA modular SLAM framework and has been cited in hundreds of academic publications across the mobile robotics community.

Why it matters

MRPT is one of the longest-running open-source mobile robotics libraries, offering a unified C++ framework that covers the full stack from sensor drivers to SLAM algorithms. Its 12+ years of continuous development and integration into the MOLA modular SLAM framework make it a foundational tool in academic and applied mobile robotics.

Problem it solves

Mobile robotics researchers and developers need a consistent, well-tested library that spans low-level sensor handling, spatial transformations, probabilistic inference, and complete SLAM pipelines. MRPT eliminates the need to stitch together disparate libraries by providing all of these capabilities under a single BSD-licensed C++ framework with ROS integration.

Key takeaways

  • Provides multiple complete SLAM implementations including particle filter and EKF-based approaches
  • Includes SE(2)/SE(3) Lie group representations, Kalman filters, and particle filters for Bayesian state estimation
  • Ships with GUI applications for camera calibration, dataset inspection, and visualization
  • Available as ROS 1 and ROS 2 packages and as Ubuntu/Debian system packages
  • Powers the MOLA modular SLAM framework for large-scale mapping applications

Who it is for

  • Mobile robotics researchers needing production-quality SLAM implementations
  • Autonomous vehicle developers requiring sensor fusion and localization libraries
  • Graduate students studying probabilistic robotics and computer vision
  • ROS developers looking for well-integrated C++ robotics primitives

Limitations

  • Large monolithic codebase with many interdependent modules can increase build times
  • Primarily focused on mobile robotics — not designed for manipulation or legged locomotion
  • Documentation spans many years of development, which can make it harder to find current best practices
  • Python bindings exist but C++ remains the primary and most complete interface

This website requires JavaScript to function properly. Please enable JavaScript to explore our collection of open source robotics projects.