Skip to content
/ mrpt_ros Public

Fine-grained ROS packages for MRPT libraries and apps

License

Notifications You must be signed in to change notification settings

MRPT/mrpt_ros

Repository files navigation

Distro Build dev Release
ROS 1 Noetic @ u20.04 Build Status Version
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Iron (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

mrpt-ros

Fine-grained ROS packages for MRPT libraries and apps. This repository is a replacement for the usage of the upstream MRPT/mrpt repo directly as the ROS package mrpt2.

Mapping between ROS packages <==> MRPT C++ libraries

These are the <depend>...</depend> tags you need to include in your project package.xml depending on what C++ libraries you use:

ROS 2 package name Included MRPT libraries
<depend>mrpt_libbase</depend> mrpt-io, mrpt-serialization, mrpt-random, mrpt-system, mrpt-rtti, mrpt-containers, mrpt-typemeta, mrpt-core, mrpt-random, mrpt-config, mrpt-expr
<depend>mrpt_libgui</depend> mrpt-gui
<depend>mrpt_libhwdrivers</depend> mrpt-hwdrivers, mrpt-comms
<depend>mrpt_libapps</depend> mrpt-apps
<depend>mrpt_libmaps</depend> mrpt-maps, mrpt-graphs
<depend>mrpt_libmath</depend> mrpt-math
<depend>mrpt_libnav</depend> mrpt-nav, mrpt-kinematics
<depend>mrpt_libobs</depend> mrpt-obs, mrpt-topography
<depend>mrpt_libopengl</depend> mrpt-opengl, mrpt-img
<depend>mrpt_libposes</depend> mrpt-poses, mrpt-tfest, mrpt-bayes
<depend>mrpt_libros_bridge</depend> mrpt-ros2bridge
<depend>mrpt_libslam</depend> mrpt-slam, mrpt-vision
<depend>mrpt_libtclap</depend> mrpt-tclap
<depend>mrpt_apps</depend> Executable applications: RawLogViewer, rawlog-edit, rawlog-grabber, SceneViewer3D, etc.
<depend>python_mrpt</depend> pymrpt wrapper

Keep in mind that including one C++ library automatically includes all its dependencies, so you do not need to list them all:

mrpt_libs

Usage

Once binary packages are available via apt install from ROS build farm, you can install required packages like:

sudo apt install ros-${ROS_DISTRO}-mrpt_libbase  # or any other as needed

In the meanwhile, clone this repo and build with colcon as usual:

cd ~/ros2_ws/src
git clone --recursive https://github.com/MRPT/mrpt_ros.git

Build status matrix

Package ROS 1 Noetic
BinBuild
ROS 2 Humble
BinBuild
ROS 2 Iron
BinBuild
ROS 2 Jazzy
BinBuild
ROS 2 Rolling
BinBuild
mrpt_apps Build Status Build Status Build Status Build Status Build Status
mrpt_libapps Build Status Build Status Build Status Build Status Build Status
mrpt_libbase Build Status Build Status Build Status Build Status Build Status
mrpt_libgui Build Status Build Status Build Status Build Status Build Status
mrpt_libhwdrivers Build Status Build Status Build Status Build Status Build Status
mrpt_libmaps Build Status Build Status Build Status Build Status Build Status
mrpt_libmath Build Status Build Status Build Status Build Status Build Status
mrpt_libnav Build Status Build Status Build Status Build Status Build Status
mrpt_libobs Build Status Build Status Build Status Build Status Build Status
mrpt_libopengl Build Status Build Status Build Status Build Status Build Status
mrpt_libposes Build Status Build Status Build Status Build Status Build Status
mrpt_libros_bridge Build Status Build Status Build Status Build Status Build Status
mrpt_libslam Build Status Build Status Build Status Build Status Build Status
mrpt_libtclap Build Status Build Status Build Status Build Status Build Status

Motivation for the change

  • Faster build times (for each individual package). It was common to see ROS build farms to time out.
  • Finer grained dependencies: ROS users can now specify in their <depend> tags a part of MRPT only, not the whole thing.

So, the ROS package mrpt2 is obsolete now (Jul, 2024).

License

BSD-3

About

Fine-grained ROS packages for MRPT libraries and apps

Resources

License

Stars

Watchers

Forks

Packages

No packages published