Skip to content

Latest commit

 

History

History
161 lines (109 loc) · 6.92 KB

File metadata and controls

161 lines (109 loc) · 6.92 KB

Mobile Robot Programming Toolkit

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


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.

MRPT demo

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 (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

See the full build guide for colcon, CMake options, and dependency setup.

Windows

Nightly Windows installer — includes .exe, .dll, .h, and .lib files.

ROS

# ROS 1
sudo apt install ros-$ROS_DISTRO-mrpt2

# ROS 2 — see https://github.com/MRPT/mrpt_ros

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> to mrpt_<name> and targets from mrpt::<name> to mrpt::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
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

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


License

Released under the BSD 3-Clause License.


Contributors

Contributors

Packaging status

Repology