Two decades of open-source robotics — since 2005
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 |
sudo apt install libmrpt-dev mrpt-appsCheck 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-appsgit clone https://github.com/MRPT/mrpt.git --recursiveSee the full build guide for colcon, CMake options, and dependency setup.
Nightly Windows installer — includes .exe, .dll, .h, and .lib files.
# ROS 1
sudo apt install ros-$ROS_DISTRO-mrpt2
# ROS 2 — see https://github.com/MRPT/mrpt_roscmake_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.
