/mrpt

:zap: The Mobile Robot Programming Toolkit (MRPT)

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

The MRPT project

gcc/clang MSVC
GH SF(datasets) Stable

1. Introduction

Mobile Robot Programming Toolkit (MRPT) provides C++ libraries aimed at researchers in mobile robotics and computer vision. Libraries include SLAM solutions, 3D(6D) geometry, SE(2)/SE(3) Lie groups, probability density functions (pdfs) over points, landmarks, poses and maps, Bayesian inference (Kalman filters, particle filters), image processing, obstacle avoidance, etc. MRPT also provides GUI apps for Stereo camera calibration, dataset inspection, and much more.

2. Resources

3. Install

3.1. Ubuntu

See PPA for mrpt 2.0 branch (for mrpt 1.5.* read here).

    sudo add-apt-repository ppa:joseluisblancoc/mrpt
    sudo apt-get update
    sudo apt-get install libmrpt-dev mrpt-apps

Supported distributions:

  • Ubuntu 18.04 Bionic
  • Ubuntu 17.10 Artful (EOL: July 2018)
  • Ubuntu 16.04LTS Xenial (EOL: April 2021)
    • Using 16.04 requires installing gcc-7 due to some bugs in gcc-5:

      add-apt-repository ppa:ubuntu-toolchain-r/test apt-get update apt-get install -y g++-7

3.2. Build from sources

Minimum compiler requisites:

  • mrpt >=2.0 (master branch):
    • gcc-7 or newer.
      • Ubuntu 18.04LTS Bionic: Its default gcc version is ok.
      • Ubuntu 16.04LTS Xenial: Instructions for installing gcc-7 in this version of Ubuntu.
    • clang-4 or newer.
    • Windows: Visual Studio 2017 version 15.3 or newer.
    • cmake >= 3.3 required (>=3.4 for Windows).
  • mrpt 1.5.* and maintenance mrpt-1.5 branch:
    • Ubuntu 14.04LTS Trusty: default gcc/clang versions
    • Windows: Visual Studio 2012
    • cmake >= 3.1 required
    • EOL for mrpt-1.5.*: April 2019.

To build in Debian/Ubuntu follow the steps below. See full build docs online for Windows instructions or to learn all the details.

  • Install minimum recommended dependencies:
sudo apt install build-essential pkg-config cmake libwxgtk3.0-dev \
libopencv-dev libeigen3-dev libgtest-dev
  • Install additional dependencies to enable all MRPT features:
sudo apt install libftdi-dev freeglut3-dev zlib1g-dev libusb-1.0-0-dev \
libudev-dev libfreenect-dev libdc1394-22-dev libavformat-dev libswscale-dev \
libassimp-dev libjpeg-dev   libsuitesparse-dev libpcap-dev liboctomap-dev
  • Build with cmake as usual:
mkdir build && cd build
cmake ..
make

4. License

MRPT is released under the new BSD license.