-
Notifications
You must be signed in to change notification settings - Fork 632
MRPT ROS packages
We provide Robot Operative System (ROS) wrapper packages for certain MRPT library features.
At present, the targeted ROS distributions and their C++ language version per REP 3 are:
- Kinetic (C++11)
- Melodic (C++14)
The goal is publishing and maintaining these (meta)packages:
- mrpt_navigation: Particle-filter based localization, reactive navigation, loading maps in MRPT format, etc.
- mrpt_slam: SLAM algorithms.
- mrpt_sensors (Work in progress!): Connect to sensors, publish observations as standard ROS topics (and optionally,
- pose_cov_ops: A ROS C++ library to operate with SE(3) transformations with uncertainty (Gaussian distributions).
All MRPT ROS packages must support building against MRPT>=1.5.4 (branch mrpt-1.5
) and MRPT>=1.9.9 (branch master
). Unfortunately, officially released ROS packages (e.g. via apt
) cannot be shipped with the latest MRPT version due to the restriction to remain within C++14 in ROS Melodic (mrpt master requires C++17), so all current releases ship with mrpt-1.5.
Since not all Ubuntu versions supported by our targeted ROS distributions include in their repositories a version of MRPT >= 1.5.4, we provide the following ROS packages to easily install a more modern MRPT version in a ROS-friendly way:
-
mrpt1
: Ships the latest version ofmrpt-1.5
.
It can be installed with sudo apt install ros-$ROS_DISTRO-mrpt1
.
After installation, all MRPT ROS packages that list mrpt1
as a ROS dependency (in contrast to a system dependency) will be able to FIND_PACKAGE(MRPT...)
since catkin
will append the mrpt1
ROS package directory to CMake PATH.
Install the desired packages as usual with apt
.
Since mrpt1
is a non-catkin package, we need two catkin environments:
mkdir -p ~/catkin_ws_isolated/src
cd ~/catkin_ws_isolated/src
catkin_init_workspace # create CMakeLists.txt
# Clone MRPT-1.5 in dir mrpt1
git clone https://github.com/MRPT/mrpt.git mrpt1 -b mrpt-1.5
cd ~/catkin_ws_isolated
catkin_make_isolated
Put all MRPT (and your own) ROS packages under a usual catkin environment (e.g. ~/catkin_ws/
).
Remember to source the isolated setup.bash
for all packages to find the isolated build:
source catkin_ws_iso/devel_isolated/setup.bash
You can add this line to your .bashrc
after the call to the general ROS setup.bash
.