MRPT/mrpt
MRPT/mrpt has 2,174 GitHub stars and 662 forks. GitHot measured +1 stars in 24 hours and +1 in 7 days. Last checked 2026-11-07 12:01 UTC. Last push 2026-11-06.
:zap: The Mobile Robot Programming Toolkit (MRPT)
What you can do
- 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
Measured star growth
- in 24h
- +1
- in 7 days
- +1
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalMobile Robot Programming Toolkit
Two decades of open-source robotics — since 2005
Documentation · Tutorials · API Reference · Examples · Applications
What is MRPT?
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.

Key capabilities
| 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 |
Getting started
Install for Python (pip)
pip install mrpt3
from mrpt.poses import CPose3D
print(CPose3D(1.0, 2.0, 0.0, 0.5, 0.0, 0.0) + CPose3D(0.5, 0.0, 0.0, 0.0, 0.0, 0.0))
Linux (x86_64, aarch64), Python 3.11 to 3.14. The wheel also contains the C++ headers, libraries and CMake files. See the Python examples.
Install from ROS repositories
# ROS 1 (deprecated)
sudo apt install ros-$ROS_DISTRO-mrpt2
# ROS 2
sudo apt install ros-$ROS_DISTRO-mrpt-*
ROS2 build status for mrpt3
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | ||
| ROS 2 Jazzy (u24.04) | ||
| ROS 2 Kilted (u24.04) | ||
| ROS 2 Lyrical (u26.04) | ||
| ROS 2 Rolling (u26.04) |
Binary package build status per package, distro, OS and architecture:
Each cell stacks the badges for that ROS 2 distro, in this order (when available):
- Ubuntu (
amd64) - Ubuntu (
arm64) - RHEL (
x86_64) -- not available for Humble:pybind11-devhas no RHEL 8 mapping in rosdep, so mrpt3 cannot be built there. - Fedora (
x86_64) -- only available since ROS 2 Lyrical (Fedora was not a supported buildfarm target for earlier distros).
A red/failing badge means the package attempted to build for that platform but currently fails (e.g. an unresolved transitive dependency); a missing badge means that platform is not offered at all for that distro.
mrpt_imgui_vendor is pending its first rosdistro release, so its badges will show as unbuilt until that merge lands.
Install (Ubuntu/Debian)
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
Build from source
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.
Windows
Nightly Windows installer — includes .exe, .dll, .h, and .lib files.
Using MRPT 3.0 in your project
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>.
Documentation highlights
| 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 |
| Python API reference | docs.mrpt.org/reference/latest/python_api.html |
| Docs for AI agents | llms.txt, examples.json, and a .md version of every page |
| 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/page_porting_mrpt3.html |
| Changelog | docs.mrpt.org/reference/latest/page_changelog.html |
| Robotics datasets | mrpt.org/robotics_datasets |
Modules
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 · …
Community & support
- 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
License
Released under the BSD 3-Clause License.
Contributors
Packaging status
Explore related projects
freeCodeCamp/freeCodeCamp
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
458,729 starsdonnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
377,280 starsreact/react
The library for web and native user interfaces.
252,381 starsvuejs/vue
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
212,631 stars