Mobile 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 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:
| Package | ROS 2 Humble
BinBuild | ROS 2 Jazzy
BinBuild | ROS 2 Kilted
BinBuild | ROS 2 Lyrical
BinBuild | ROS 2 Rolling
BinBuild |
| --- | --- | --- | --- | --- | --- |
| mrpt_core |
|
|
|
|
|
| mrpt_io |
|
|
|
|
|
| mrpt_serialization |
|
|
|
|
|
| mrpt_system |
|
|
|
|
|
| mrpt_rtti |
|
|
|
|
|
| mrpt_containers |
|
|
|
|
|
| mrpt_typemeta |
|
|
|
|
|
| mrpt_random |
|
|
|
|
|
| mrpt_config |
|
|
|
|
|
| mrpt_data |
|
|
|
|
|
| mrpt_expr |
|
|
|
|
|
| mrpt_math |
|
|
|
|
|
| mrpt_poses |
|
|
|
|
|
| mrpt_tfest |
|
|
|
|
|
| mrpt_bayes |
|
|
|
|
|
| mrpt_obs |
|
|
|
|
|
| mrpt_topography |
|
|
|
|
|
| mrpt_maps |
|
|
|
|
|
| mrpt_graphs |
|
|
|
|
|
| mrpt_opengl |
|
|
|
|
|
| mrpt_img |
|
|
|
|
|
| mrpt_viz |
|
|
|
|
|
| mrpt_imgui |
|
|
|
|
|
| mrpt_imgui_vendor |
|
|
|
|
|
| mrpt_gui |
|
|
|
|
|
| mrpt_nav |
|
|
|
|
|
| mrpt_kinematics |
|
|
|
|
|
| mrpt_slam |
|
|
|
|
|
| mrpt_graphslam |
|
|
|
|
|
| mrpt_hwdrivers |
|
|
|
|
|
| mrpt_common |
|
|
|
|
|
| mrpt_comms |
|
|
|
|
|
| mrpt_libapps_cli |
|
|
|
|
|
| mrpt_libapps_gui |
|
|
|
|
|
| mrpt_apps_cli |
|
|
|
|
|
| mrpt_apps_gui |
|
|
|
[](https://build.ros2.org/