/mrpt

:zap: The Mobile Robot Programming Toolkit (MRPT)

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

The MRPT project

Gitpod ready-to-code

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

Packaging status

3.1. Ubuntu

See this PPA for nightly builds from the develop branch, or this one for stable releases.

    sudo add-apt-repository ppa:joseluisblancoc/mrpt   # develop branch
    #sudo add-apt-repository ppa:joseluisblancoc/mrpt-stable   # master (stable releases) branch
    #sudo apt update # Only required for Ubuntu 16.04
    sudo apt install libmrpt-dev mrpt-apps

Supported distributions:

  • Ubuntu 20.04 LTS (Focal), Ubuntu 18.04 LTS (Bionic), 18.10 (Cosmic), 19.10 (Eoan)
  • Ubuntu 16.04 LTS 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:

  • gcc-7 or newer.
    • Ubuntu 16.04LTS Xenial: Instructions for installing gcc-7 in this version of Ubuntu.
    • Ubuntu 18.04 or newer: default gcc version is ok.
  • clang-4 or newer.
  • Windows: Visual Studio 2017 version 15.3 or newer.
  • cmake >= 3.3 required (>=3.4 for Windows).
  • Eigen >= 3.3 required.

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 libwxgtk3.0-gtk3-dev \
libopencv-dev libeigen3-dev libgtest-dev

MRPT builds against OpenCV 2.4.x, 3.x, 4.x, but it is recommended to use 3.0 or later.

  • Recommended: Install additional dependencies to enable most MRPT features (except ROS bridges):
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 \
libglfw3-dev
  • Install additional dependencies for ros1bridge using official Ubuntu repositories. If you already have a ROS distribution installed, doing source /opt/ros/xxx/setup.bash is enough, no further packages must be installed.
sudo apt install libcv-bridge-dev libgeometry-msgs-dev libnav-msgs-dev librosbag-storage-dev libroscpp-dev libsensor-msgs-dev libstd-srvs-dev libstereo-msgs-dev libtf2-dev libtf2-msgs-dev libbz2-dev
  • Build with cmake as usual:
mkdir build && cd build
cmake ..
make

3.3. Windows precompiled versions

Executables (.exes and .dlls) and development libraries (.hs and .libs) included:

Nightly built Windows installer

4. License

MRPT is released under the new BSD license.

Stargazers over time

Stargazers over time