Skip to content

zy-up/rtabmap_ros

 
 

Repository files navigation

rtabmap_ros 中文注释

Build from source

This section shows how to install RTAB-Map ros-pkg on ROS Hydro/Indigo/Jade/Kinetic/Lunar/Melodic/Noetic (Catkin build). RTAB-Map works only with the PCL >=1.7, which is the default version installed with ROS Hydro/Indigo/Jade/Kinetic/Lunar/Melodic/Noetic (Fuerte and Groovy are not supported).

  • The next instructions assume that you have set up your ROS workspace using this tutorial. I will use noetic prefix for convenience, but it should work with Hydro, Indigo, Jade, Kinetic, Lunar and Melodic. The workspace path is ~/catkin_ws and your ~/.bashrc contains:

    $ source /opt/ros/noetic/setup.bash
    $ source ~/catkin_ws/devel/setup.bash
  1. Required dependencies

    • The easiest way to get all them (Qt, PCL, VTK, OpenCV, ...) is to install/uninstall rtabmap binaries:
      $ sudo apt install ros-noetic-rtabmap ros-noetic-rtabmap-ros
      $ sudo apt remove ros-noetic-rtabmap ros-noetic-rtabmap-ros
  2. Optional dependencies

    • If you want SURF/SIFT on Indigo/Jade/Melodic/Noetic (Hydro/Kinetic has already SIFT/SURF), you have to build OpenCV from source to have access to xfeatures2d and nonfree modules (note that SIFT is not in nonfree anymore since OpenCV 4.4.0). Install it in /usr/local (default) and rtabmap library should link with it instead of the one installed in ROS.

      • On Indigo, I recommend to use latest 2.4 version (2.4.11) and build it from source following these instructions. RTAB-Map can build with OpenCV3+xfeatures2d module, but rtabmap_ros package will have libraries conflict as cv_bridge is depending on OpenCV2. If you want OpenCV3+, you should build vision-opencv package yourself (and all ros packages depending on it) so it can link on OpenCV3+.
      • On Kinetic/Melodic/Noetic, build from source with xfeatures2d module (and nonfree module if needed) the same OpenCV version already installed on the system. You will then avoid breaking cv_bridge with rtabmap_ros. If you want to install a more recent OpenCV version, I recommend to uninstall libopencv* libraries (with all ros packages depending on it) and rebuild all those ros packages in your catkin workspace (to make sure cv_bridge is linked on the OpenCV version you just compiled).
    • g2o: Should be already installed by ros-noetic-libg2o.

    • GTSAM: Install via PPA to avoid building from source. If you install from source, make sure to build with cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF -DGTSAM_USE_SYSTEM_EIGEN=ON.

    • libpointmatcher: Recommended if you are going to use lidars. Follow their instructions to install.

  3. Install RTAB-Map standalone libraries. Do not clone in your Catkin workspace.

    $ cd ~
    $ git clone https://github.com/introlab/rtabmap.git rtabmap
    $ cd rtabmap/build
    $ cmake ..  [<---double dots included]
    $ make -j6
    $ sudo make install

if you meet this problem: rtabmap: error while loading shared libraries: librtabmap_gui.so.0.20: cannot open shared object file: No such file or directory Run: sudo ldconfig

  1. Install RTAB-Map ros-pkg in your src folder of your Catkin workspace.

    $ cd ~/catkin_ws
    $ git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
    $ catkin_make -j4
    • Use catkin_make -j1 if compilation requires more RAM than you have (e.g., some files require up to ~2 GB to build depending on gcc version).
    • Options:
      • Add -DRTABMAP_SYNC_MULTI_RGBD=ON to catkin_make if you plan to use multiple cameras.
      • Add -DRTABMAP_SYNC_USER_DATA=ON to catkin_make if you plan to use user data synchronized topics.

About

RTAB-Map's ROS 中文解析

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 88.8%
  • Python 7.4%
  • CMake 1.6%
  • Shell 1.1%
  • C 1.0%
  • Lua 0.1%