About MRPT

dataset_Parking_6L_pointcloud_img

Mobile Robot Programming Toolkit (MRPT) provides C++ developers an extensive, portable and well-tested set of libraries and applications which cover the most common data structures and algorithms employed in a number of mobile robotics research areas: localization, Simultaneous Localization and Mapping (SLAM), computer vision and motion planning (obstacle avoidance).

Key points in the design of MRPT are efficiency and reusability of code. The libraries include classes for easily managing 3D(6D) geometry, probability density functions (pdfs) over many predefined variables (points and poses, landmarks, maps), Bayesian inference (Kalman filters, particle filters), image processing, path planning and obstacle avoidance, 3D visualization of all kind of maps (points, occupancy grids, landmarks,...), etc.

Gathering, manipulating and inspecting very large robotic datasets (Rawlogs) efficiently is another goal of MRPT, supported by several classes and applications.

A proper and up-to-date documentation is another of the major goals of MRPT developers. Currently there are dozens of examples and several single-topic tutorials. A currently on-going project is devoted to write a "MRPT book" tutorial.

The MRPT is free software and it is released under the GPL.

An up-to-date list of hardware and robotic sensors currently supported by MRPT is maintained here.

More about the authors and contributors here.

Some statistics: Currently (April 2010), the MRPT project comprises >1400 source files, and >500 KLOC.


Some videos on MRPT-based projects:


EKF-based 6D SLAM (higher quality video here)


Robotic Wheelchair Navigation in the Malaga University (outdoor):


Robot ICP SLAM + MCL (sent by Fabian Menges, TU-Dresden):


ICP-SLAM showing evolution in a 3D view in real-time:


Visualization of the ICP algorithm within RawLogViewer:



The Mobile Robot Programming Toolkit (MRPT) initiative (C) 2010