Two decades of open-source robotics — since 2005
Linux build macOS build Windows build codecov clang-format
Latest release Windows installer DOI License
Documentation · Tutorials · API Reference · Examples · Applications
MRPT is a well-established C++ framework for mobile robotics, originally developed in 2005 at the University of Málaga and actively maintained to this day. Over the years, contributions from the community have evolved it into a robust, modular toolkit widely used in both academic research and industry.
MRPT 3.0 is a major refactoring that modernises the build system (colcon-based modular packages), cleans up the public API, and aligns with modern C++17 standards while preserving the data structures and algorithms at the core of MRPT.
| Area | What's included |
|---|---|
| SLAM | MonteCarlo Localization, RBPF, pose-graph optimization |
| Geometry | SE(2)/SE(3) Lie groups, rigid body transforms, point clouds |
| Probabilistic | Kalman filters, particle filters, PDFs over poses & maps |
| Maps | Occupancy grids, point maps, landmark maps, voxel maps |
| Sensors | LiDAR, stereo/RGB-D cameras, IMU, GPS, Velodyne, ... |
| Visualization | 3-D scene graph (mrpt::viz), GUI windows, plot widgets |
| Navigation | Reactive nav, path planning, PTG-based obstacle avoidance |
| Python | pybind11 bindings for all major modules |
# ROS 1 (deprecated) sudo apt install ros-$ROS_DISTRO-mrpt2 # ROS 2 sudo apt install ros-$ROS_DISTRO-mrpt-*
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | Build Status | Version |
| ROS 2 Jazzy (u24.04) | Build Status | Version |
| ROS 2 Kilted (u24.04) | Build Status | Version |
| ROS 2 Lyrical (u26.04) | Build Status | Version |
| ROS 2 Rolling (u26.04) | Build Status | Version |
Binary package build for amd64 and arm64 architectures:
sudo apt install libmrpt-dev mrpt-apps
Check your distro version at Ubuntu / Debian. For a more recent build, use the nightly PPA:
sudo add-apt-repository ppa:joseluisblancoc/mrpt sudo apt install libmrpt-dev mrpt-apps
git clone https://github.com/MRPT/mrpt.git --recursive
Install build dependencies with rosdep (recommended, works even without ROS installed):
sudo apt install python3-rosdep sudo rosdep init # only once per machine rosdep update rosdep install --from-paths . --ignore-src -r -y
Then build with colcon:
colcon build
See the full build guide for colcon, CMake options, and dependency setup.
Nightly Windows installer — includes .exe, .dll, .h, and .lib files.
cmake_minimum_required(VERSION 3.16) project(my_robot_app) find_package(mrpt_poses REQUIRED) find_package(mrpt_maps REQUIRED) add_executable(my_app main.cpp) target_link_libraries(my_app mrpt::mrpt_poses mrpt::mrpt_maps)
Migrating from MRPT 2.x? See the porting guide — package names changed from
mrpt-<name>tomrpt_<name>and targets frommrpt::<name>tomrpt::mrpt_<name>.
| Resource | Link |
|---|---|
| Full API reference | docs.mrpt.org/reference/latest/modules.html |
| Tutorials | docs.mrpt.org/reference/latest/tutorials.html |
| Code examples | docs.mrpt.org/reference/latest/examples.html |
| Python examples | docs.mrpt.org/reference/latest/python_examples.html |
| GUI applications | docs.mrpt.org/reference/latest/applications.html |
| Supported sensors | docs.mrpt.org/reference/latest/supported-sensors.html |
| ROS wrappers | docs.mrpt.org/reference/latest/wrappers.html |
| Porting from 2.x | docs.mrpt.org/reference/latest/porting_mrpt3.html |
| Changelog | docs.mrpt.org/reference/latest/page_changelog.html |
| Robotics datasets | mrpt.org/robotics_datasets |
MRPT 3.0 is organized as independent colcon packages. Each can be built and used standalone:
mrpt_core · mrpt_math · mrpt_poses · mrpt_obs · mrpt_maps · mrpt_slam ·
mrpt_viz · mrpt_gui · mrpt_nav · mrpt_bayes · mrpt_graphs · mrpt_io ·
mrpt_img · mrpt_config · mrpt_serialization · mrpt_random · mrpt_system ·
mrpt_tfest · mrpt_kinematics · mrpt_comms · mrpt_hwdrivers · ...
- Questions: Stack Overflow
[mrpt]or mrpt-users mailing list - Bugs / features: GitHub Issues
- Contributing: see CONTRIBUTING.md
- MOLA SLAM: MRPT is the core library of the MOLA modular SLAM framework
Released under the BSD 3-Clause License.
Contributors