The Mobile Robot Programming Toolkit (MRPT) is an extensive, cross-platform, and open source C++ library aimed to help robotics researchers to design and implement algorithms (mainly) in the fields of Simultaneous Localization and Mapping (SLAM), computer vision, and motion planning (obstacle avoidance).

The priorities 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.

Overview

The MRPT project is organized as a set of individual libraries. The main one is libmrpt-core, dealing from low level OS-related issues to SLAM and Bayesian algorithms, and upon this one other libraries focus on more specific problems. There are also several libraries libmrpt-core relies on, some of them being integrated (built-in) and others are required to be preinstalled by the user.
The MRPT does not deal with the design of a robotic software architecture (communications, concurrency, etc…). For this aim we use the BABEL development system, which has integrated support for the MRPT. Other systems for this purpose are, for example, the Carnegie Mellon Robot Navigation Toolkit (CARMEN), the Player/Stage libraries, or the MOOS toolkit

Link to Web Site