-
 

rtabmap_ros repository

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2024-07-01
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

README

rtabmap_ros

RTAB-Map’s ROS2 package (branch ros2). ROS2 Foxy minimum required: currently most nodes are ported to ROS2, however they are not all tested yet. The interface is the same than on ROS1 (parameters and topic names should still match ROS1 documentation on rtabmap_ros).

CI Latest

ROS 1 Build Status
Build Status </td> </tr>
ROS 2 Build Status </td> </tr> </tbody> </table> #### ROS Binaries </tbody> </table> # Usage `rtabmap.launch` is also ported to ROS2 with same arguments. If you see [ROS1 examples](http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping) like this: ```bash roslaunch zed_wrapper zed_no_tf.launch roslaunch rtabmap_ros rtabmap.launch \ rtabmap_args:="--delete_db_on_start" \ rgb_topic:=/zed/zed_node/rgb/image_rect_color \ depth_topic:=/zed/zed_node/depth/depth_registered \ camera_info_topic:=/zed/zed_node/rgb/camera_info \ frame_id:=base_link \ approx_sync:=false \ wait_imu_to_init:=true \ imu_topic:=/zed_node/imu/data ``` The ROS2 equivalent is (with those [lines](https://github.com/stereolabs/zed-ros2-wrapper/blob/b512dce6ad4565f4770273995b147122e735ca0f/zed_wrapper/config/common.yaml#L58-L60) set to false to avoid TF conflicts): ```bash ros2 launch zed_wrapper zed.launch.py ros2 launch rtabmap_launch rtabmap.launch.py \ rtabmap_args:="--delete_db_on_start" \ rgb_topic:=/zed/zed_node/rgb/image_rect_color \ depth_topic:=/zed/zed_node/depth/depth_registered \ camera_info_topic:=/zed/zed_node/rgb/camera_info \ frame_id:=base_link \ approx_sync:=false \ wait_imu_to_init:=true \ imu_topic:=/zed/zed_node/imu/data \ qos:=1 \ rviz:=true ``` `qos` (Quality of Service) argument should match the published topics QoS (1=RELIABLE, 2=BEST EFFORT). ROS1 was always RELIABLE. # Installation ### Binaries ```bash sudo apt install ros-$ROS_DISTRO-rtabmap-ros ``` ### From Source * Make sure to uninstall any rtabmap binaries: ``` sudo apt remove ros-$ROS_DISTRO-rtabmap* ``` * RTAB-Map ROS2 package: ```bash cd ~/ros2_ws git clone https://github.com/introlab/rtabmap.git src/rtabmap git clone --branch ros2 https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros rosdep update && rosdep install --from-paths src --ignore-src -r -y export MAKEFLAGS="-j6" # Can be ignored if you have a lot of RAM (>16GB) colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release ``` * To build with `rgbd_cameras>1` support and/or `subscribe_user_data` support: ```bash colcon build --symlink-install --cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release ``` # Example with Turtlebot3 1. Launch Turtlebot3 simulator: ```bash export TURTLEBOT3_MODEL=waffle ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py export TURTLEBOT3_MODEL=waffle ros2 run turtlebot3_teleop teleop_keyboard ``` 2. Launch RTAB-Map: ``` ros2 launch rtabmap_demos turtlebot3_scan.launch.py # OR with rtabmap.launch.py ros2 launch rtabmap_launch rtabmap.launch.py \ visual_odometry:=false \ frame_id:=base_footprint \ subscribe_scan:=true depth:=false \ approx_sync:=true \ odom_topic:=/odom \ scan_topic:=/scan \ qos:=2 \ args:="-d --RGBD/NeighborLinkRefining true --Reg/Strategy 1" \ use_sim_time:=true \ rviz:=true ``` 3. Launch navigation (`nav2_bringup` package should be installed): ``` ros2 launch nav2_bringup navigation_launch.py use_sim_time:=True ros2 launch nav2_bringup rviz_launch.py ``` See [rtabmap_demos/launch](https://github.com/introlab/rtabmap_ros/tree/ros2/rtabmap_demos/launch) and [rtabmap_examples/launch](https://github.com/introlab/rtabmap_ros/tree/ros2/rtabmap_examples/launch) subfolders for some other ROS2 examples with turtlebot3 in simulation and a RGB-D camera.
ROS 1 Noetic Build Status</td> </tr>
ROS 2 Humble Build Status</td> </tr>
Iron Build Status</td> </tr>
Rolling Build Status</td> </tr>
Docker rtabmap_ros Docker Pulls

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version iron-devel
Last Updated 2024-07-01
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

README

rtabmap_ros

RTAB-Map’s ROS2 package (branch ros2). ROS2 Foxy minimum required: currently most nodes are ported to ROS2, however they are not all tested yet. The interface is the same than on ROS1 (parameters and topic names should still match ROS1 documentation on rtabmap_ros).

CI Latest

ROS 1 Build Status
Build Status </td> </tr>
ROS 2 Build Status </td> </tr> </tbody> </table> #### ROS Binaries </tbody> </table> # Usage `rtabmap.launch` is also ported to ROS2 with same arguments. If you see [ROS1 examples](http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping) like this: ```bash roslaunch zed_wrapper zed_no_tf.launch roslaunch rtabmap_ros rtabmap.launch \ rtabmap_args:="--delete_db_on_start" \ rgb_topic:=/zed/zed_node/rgb/image_rect_color \ depth_topic:=/zed/zed_node/depth/depth_registered \ camera_info_topic:=/zed/zed_node/rgb/camera_info \ frame_id:=base_link \ approx_sync:=false \ wait_imu_to_init:=true \ imu_topic:=/zed_node/imu/data ``` The ROS2 equivalent is (with those [lines](https://github.com/stereolabs/zed-ros2-wrapper/blob/b512dce6ad4565f4770273995b147122e735ca0f/zed_wrapper/config/common.yaml#L58-L60) set to false to avoid TF conflicts): ```bash ros2 launch zed_wrapper zed.launch.py ros2 launch rtabmap_launch rtabmap.launch.py \ rtabmap_args:="--delete_db_on_start" \ rgb_topic:=/zed/zed_node/rgb/image_rect_color \ depth_topic:=/zed/zed_node/depth/depth_registered \ camera_info_topic:=/zed/zed_node/rgb/camera_info \ frame_id:=base_link \ approx_sync:=false \ wait_imu_to_init:=true \ imu_topic:=/zed/zed_node/imu/data \ qos:=1 \ rviz:=true ``` `qos` (Quality of Service) argument should match the published topics QoS (1=RELIABLE, 2=BEST EFFORT). ROS1 was always RELIABLE. # Installation ### Binaries ```bash sudo apt install ros-$ROS_DISTRO-rtabmap-ros ``` ### From Source * Make sure to uninstall any rtabmap binaries: ``` sudo apt remove ros-$ROS_DISTRO-rtabmap* ``` * RTAB-Map ROS2 package: ```bash cd ~/ros2_ws git clone https://github.com/introlab/rtabmap.git src/rtabmap git clone --branch ros2 https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros rosdep update && rosdep install --from-paths src --ignore-src -r -y export MAKEFLAGS="-j6" # Can be ignored if you have a lot of RAM (>16GB) colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release ``` * To build with `rgbd_cameras>1` support and/or `subscribe_user_data` support: ```bash colcon build --symlink-install --cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release ``` # Example with Turtlebot3 1. Launch Turtlebot3 simulator: ```bash export TURTLEBOT3_MODEL=waffle ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py export TURTLEBOT3_MODEL=waffle ros2 run turtlebot3_teleop teleop_keyboard ``` 2. Launch RTAB-Map: ``` ros2 launch rtabmap_demos turtlebot3_scan.launch.py # OR with rtabmap.launch.py ros2 launch rtabmap_launch rtabmap.launch.py \ visual_odometry:=false \ frame_id:=base_footprint \ subscribe_scan:=true depth:=false \ approx_sync:=true \ odom_topic:=/odom \ scan_topic:=/scan \ qos:=2 \ args:="-d --RGBD/NeighborLinkRefining true --Reg/Strategy 1" \ use_sim_time:=true \ rviz:=true ``` 3. Launch navigation (`nav2_bringup` package should be installed): ``` ros2 launch nav2_bringup navigation_launch.py use_sim_time:=True ros2 launch nav2_bringup rviz_launch.py ``` See [rtabmap_demos/launch](https://github.com/introlab/rtabmap_ros/tree/ros2/rtabmap_demos/launch) and [rtabmap_examples/launch](https://github.com/introlab/rtabmap_ros/tree/ros2/rtabmap_examples/launch) subfolders for some other ROS2 examples with turtlebot3 in simulation and a RGB-D camera.
ROS 1 Noetic Build Status</td> </tr>
ROS 2 Humble Build Status</td> </tr>
Iron Build Status</td> </tr>
Rolling Build Status</td> </tr>
Docker rtabmap_ros Docker Pulls

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version jazzy-devel
Last Updated 2024-07-01
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

README

rtabmap_ros

RTAB-Map’s ROS2 package (branch ros2). ROS2 Foxy minimum required: currently most nodes are ported to ROS2, however they are not all tested yet. The interface is the same than on ROS1 (parameters and topic names should still match ROS1 documentation on rtabmap_ros).

CI Latest

ROS 1 Build Status
Build Status </td> </tr>
ROS 2 Build Status </td> </tr> </tbody> </table> #### ROS Binaries </tbody> </table> # Usage `rtabmap.launch` is also ported to ROS2 with same arguments. If you see [ROS1 examples](http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping) like this: ```bash roslaunch zed_wrapper zed_no_tf.launch roslaunch rtabmap_ros rtabmap.launch \ rtabmap_args:="--delete_db_on_start" \ rgb_topic:=/zed/zed_node/rgb/image_rect_color \ depth_topic:=/zed/zed_node/depth/depth_registered \ camera_info_topic:=/zed/zed_node/rgb/camera_info \ frame_id:=base_link \ approx_sync:=false \ wait_imu_to_init:=true \ imu_topic:=/zed_node/imu/data ``` The ROS2 equivalent is (with those [lines](https://github.com/stereolabs/zed-ros2-wrapper/blob/b512dce6ad4565f4770273995b147122e735ca0f/zed_wrapper/config/common.yaml#L58-L60) set to false to avoid TF conflicts): ```bash ros2 launch zed_wrapper zed.launch.py ros2 launch rtabmap_launch rtabmap.launch.py \ rtabmap_args:="--delete_db_on_start" \ rgb_topic:=/zed/zed_node/rgb/image_rect_color \ depth_topic:=/zed/zed_node/depth/depth_registered \ camera_info_topic:=/zed/zed_node/rgb/camera_info \ frame_id:=base_link \ approx_sync:=false \ wait_imu_to_init:=true \ imu_topic:=/zed/zed_node/imu/data \ qos:=1 \ rviz:=true ``` `qos` (Quality of Service) argument should match the published topics QoS (1=RELIABLE, 2=BEST EFFORT). ROS1 was always RELIABLE. # Installation ### Binaries ```bash sudo apt install ros-$ROS_DISTRO-rtabmap-ros ``` ### From Source * Make sure to uninstall any rtabmap binaries: ``` sudo apt remove ros-$ROS_DISTRO-rtabmap* ``` * RTAB-Map ROS2 package: ```bash cd ~/ros2_ws git clone https://github.com/introlab/rtabmap.git src/rtabmap git clone --branch ros2 https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros rosdep update && rosdep install --from-paths src --ignore-src -r -y export MAKEFLAGS="-j6" # Can be ignored if you have a lot of RAM (>16GB) colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release ``` * To build with `rgbd_cameras>1` support and/or `subscribe_user_data` support: ```bash colcon build --symlink-install --cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON -DCMAKE_BUILD_TYPE=Release ``` # Example with Turtlebot3 1. Launch Turtlebot3 simulator: ```bash export TURTLEBOT3_MODEL=waffle ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py export TURTLEBOT3_MODEL=waffle ros2 run turtlebot3_teleop teleop_keyboard ``` 2. Launch RTAB-Map: ``` ros2 launch rtabmap_demos turtlebot3_scan.launch.py # OR with rtabmap.launch.py ros2 launch rtabmap_launch rtabmap.launch.py \ visual_odometry:=false \ frame_id:=base_footprint \ subscribe_scan:=true depth:=false \ approx_sync:=true \ odom_topic:=/odom \ scan_topic:=/scan \ qos:=2 \ args:="-d --RGBD/NeighborLinkRefining true --Reg/Strategy 1" \ use_sim_time:=true \ rviz:=true ``` 3. Launch navigation (`nav2_bringup` package should be installed): ``` ros2 launch nav2_bringup navigation_launch.py use_sim_time:=True ros2 launch nav2_bringup rviz_launch.py ``` See [rtabmap_demos/launch](https://github.com/introlab/rtabmap_ros/tree/ros2/rtabmap_demos/launch) and [rtabmap_examples/launch](https://github.com/introlab/rtabmap_ros/tree/ros2/rtabmap_examples/launch) subfolders for some other ROS2 examples with turtlebot3 in simulation and a RGB-D camera.
ROS 1 Noetic Build Status</td> </tr>
ROS 2 Humble Build Status</td> </tr>
Iron Build Status</td> </tr>
Rolling Build Status</td> </tr>
Docker rtabmap_ros Docker Pulls

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version noetic-devel
Last Updated 2024-06-30
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

README

rtabmap_ros

RTAB-Map’s ROS package.

For more information, demos and tutorials about this package, visit rtabmap_ros page on ROS wiki.

For the RTAB-Map libraries and standalone application, visit RTAB-Map’s home page or RTAB-Map’s wiki.

CI Latest

ROS 1 Build Status
Build Status </td> </tr>
ROS 2 Build Status </td> </tr> </tbody> </table> #### ROS Binaries </tbody> </table> # Installation ## ROS2 distribution **Under construction**: see [ros2 branch](https://github.com/introlab/rtabmap_ros/tree/ros2#rtabmap_ros). ## ROS distribution RTAB-Map is released as binaries in the ROS distribution. ```bash sudo apt install ros-$ROS_DISTRO-rtabmap-ros ``` When launching `rtabmap_ros`'s nodes, if you have the error `error while loading shared libraries...`, try `ldconfig` or add the next line at the end of your `~/.bashrc` to fix it: ```bash export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ros/noetic/lib/x86_64-linux-gnu ``` ### Docker * Go to [docker](https://github.com/introlab/rtabmap_ros/tree/master/docker) directory for an example. ## Build from source This section shows how to install RTAB-Map ros-pkg on **ROS Noetic** (Catkin build). * The next instructions assume that you have set up your ROS workspace using this [tutorial](http://wiki.ros.org/catkin/Tutorials/create_a_workspace). The workspace path is `~/catkin_ws` and your `~/.bashrc` contains: ```bash $ source /opt/ros/$ROS_DISTRO/setup.bash $ source ~/catkin_ws/devel/setup.bash ``` 0. Required dependencies * The easiest way to get all them (Qt, PCL, VTK, OpenCV, g2o, gtsam ...) is to install/uninstall rtabmap binaries: ```bash sudo apt install ros-$ROS_DISTRO-rtabmap* sudo apt remove ros-$ROS_DISTRO-rtabmap* ``` 1. Optional dependencies * If you want SURF/SIFT on Noetic, you have to build [OpenCV]([OpenCV](http://opencv.org/)) from source to have access to *xfeatures2d* and *nonfree* modules. Install it in `/usr/local` (default) and rtabmap library should link with it instead of the one installed in ROS. * On 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](https://github.com/RainerKuemmerle/g2o): Should be already installed by `ros-$ROS_DISTRO-libg2o`. * [GTSAM](https://gtsam.org/get_started/): Should be already installed by `ros-$ROS_DISTRO-gtsam`. * [libpointmatcher](https://github.com/ethz-asl/libpointmatcher): **Recommended** if you are going to use lidars. Should be alread installed by `ros-$ROS_DISTRO-libpointmatcher` (Official [install instructions](https://github.com/ethz-asl/libpointmatcher#quick-start)). 2. Install RTAB-Map standalone libraries. **Do not clone in your Catkin workspace**. ```bash cd ~ git clone https://github.com/introlab/rtabmap.git rtabmap cd rtabmap/build cmake .. [<---double dots included] make -j6 sudo make install ``` 3. Install RTAB-Map ros-pkg in your src folder of your Catkin workspace. ```bash 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. ## Build from source for Nvidia Jetson * For latest jetpack, see this [post](https://github.com/introlab/rtabmap_ros/issues/943) to use docker (you will save a lot of time using the already built docker images). * For **Jetpack 4** (Ubuntu 18.04 with ROS Melodic), see this [post](https://github.com/introlab/rtabmap/issues/427#issuecomment-608052821). * For **Jetpack 3** (Ubuntu 16.04 with ROS Kinetic), see this [post](https://github.com/introlab/rtabmap_ros/issues/655). ### Update to new version ```bash ########### # rtabmap ########### cd rtabmap git pull origin master cd build make make install # Do "sudo make install" if you installed rtabmap in "/usr/local" ########### # rtabmap_ros ########### roscd rtabmap_ros git pull origin master roscd cd .. catkin_make -j1 --pkg rtabmap_ros ```
ROS 1 Noetic Build Status</td> </tr>
ROS 2 Humble Build Status</td> </tr>
Iron Build Status</td> </tr>
Rolling Build Status</td> </tr>
Docker rtabmap_ros Docker Pulls

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version galactic-devel
Last Updated 2022-10-02
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.20.20

README

rtabmap_ros Build Status

RTAB-Map’s ROS2 package (branch ros2). ROS2 Foxy minimum required: currently most nodes are ported to ROS2, however they are not all tested yet. The interface is the same than on ROS1 (parameters and topic names should still match ROS1 documentation on rtabmap_ros).

rtabmap.launch is also ported to ROS2 with same arguments. If you see ROS1 examples like this:

roslaunch zed_wrapper zed_no_tf.launch

roslaunch rtabmap_ros rtabmap.launch \
    rtabmap_args:="--delete_db_on_start" \
    rgb_topic:=/zed/zed_node/rgb/image_rect_color \
    depth_topic:=/zed/zed_node/depth/depth_registered \
    camera_info_topic:=/zed/zed_node/rgb/camera_info \
    frame_id:=base_link \
    approx_sync:=false \
    wait_imu_to_init:=true \
    imu_topic:=/zed_node/imu/data

The ROS2 equivalent is (with those lines set to false to avoid TF conflicts):

ros2 launch zed_wrapper zed.launch.py

ros2 launch rtabmap_ros rtabmap.launch.py \
    rtabmap_args:="--delete_db_on_start" \
    rgb_topic:=/zed/zed_node/rgb/image_rect_color \
    depth_topic:=/zed/zed_node/depth/depth_registered \
    camera_info_topic:=/zed/zed_node/rgb/camera_info \
    frame_id:=base_link \
    approx_sync:=false \
    wait_imu_to_init:=true \
    imu_topic:=/zed/zed_node/imu/data \
    qos:=1 \
    rviz:=true

qos (Quality of Service) argument should match the published topics QoS (1=RELIABLE, 2=BEST EFFORT). ROS1 was always RELIABLE.

Installation

  • RTAB-Map ROS2 package:
    cd ~/ros2_ws
    git clone https://github.com/introlab/rtabmap.git src/rtabmap
    git clone --branch ros2 https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
    export MAKEFLAGS="-j6" # Can be ignored if you have a lot of RAM (>16GB)
    colcon build --symlink-install
    
  • To build with rgbd_cameras>1 support and/or subscribe_user_data support:
    colcon build --symlink-install --cmake-args -DRTABMAP_SYNC_MULTI_RGBD=ON -DRTABMAP_SYNC_USER_DATA=ON
    

Example with Turtlebot3

  1. Launch Turtlebot3 simulator:
    export TURTLEBOT3_MODEL=waffle
    ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
    
    export TURTLEBOT3_MODEL=waffle
    ros2 run turtlebot3_teleop teleop_keyboard
    
  1. Launch RTAB-Map:
    ros2 launch rtabmap_ros turtlebot3_scan.launch.py
    
    # OR with rtabmap.launch.py
    ros2 launch rtabmap_ros rtabmap.launch.py \
       visual_odometry:=false \
       frame_id:=base_footprint \
       subscribe_scan:=true depth:=false \
       approx_sync:=true \
       odom_topic:=/odom \
       scan_topic:=/scan \
       qos:=2 \
       args:="-d --RGBD/NeighborLinkRefining true --Reg/Strategy 1" \
       use_sim_time:=true \
       rviz:=true
    
  1. Launch navigation (nav2_bringup package should be installed):
    ros2 launch nav2_bringup navigation_launch.py use_sim_time:=True
    ros2 launch nav2_bringup rviz_launch.py
    

See launch/ros2 subfolder for some other ROS2 examples with turtlebot3 in simulation and a RGB-D camera.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version melodic-devel
Last Updated 2023-01-22
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rtabmap_ros 0.20.23

README

rtabmap_ros

RTAB-Map’s ROS package.

For more information, demos and tutorials about this package, visit rtabmap_ros page on ROS wiki.

For the RTAB-Map libraries and standalone application, visit RTAB-Map’s home page or RTAB-Map’s wiki.

CI Latest

ROS 1 Build Status
Build Status </td> </tr>
ROS 2 Build Status </td> </tr> </tbody> </table> #### ROS Binaries
ROS 1 Melodic Build Status</td> </tr>
Noetic Build Status</td> </tr>
ROS 2 Foxy Build Status</td> </tr>
Galactic Build Status</td> </tr>
Humble Build Status</td> </tr>
Rolling Build Status</td> </tr> </tbody> </table> # Installation ## ROS2 distribution **Under construction**: see [ros2 branch](https://github.com/introlab/rtabmap_ros/tree/ros2#rtabmap_ros). ## ROS distribution RTAB-Map is released as binaries in the ROS distribution. ```bash sudo apt install ros-$ROS_DISTRO-rtabmap-ros ``` When launching `rtabmap_ros`'s nodes, if you have the error `error while loading shared libraries...`, try `ldconfig` or add the next line at the end of your `~/.bashrc` to fix it: ```bash export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ros/noetic/lib/x86_64-linux-gnu ``` ### Docker * Go to [docker](https://github.com/introlab/rtabmap_ros/tree/master/docker) directory for an example. ## Build from source This section shows how to install RTAB-Map ros-pkg on **ROS Melodic/Noetic** (Catkin build). * The next instructions assume that you have set up your ROS workspace using this [tutorial](http://wiki.ros.org/catkin/Tutorials/create_a_workspace). The workspace path is `~/catkin_ws` and your `~/.bashrc` contains: ```bash $ source /opt/ros/$ROS_DISTRO/setup.bash $ source ~/catkin_ws/devel/setup.bash ``` 0. Required dependencies * The easiest way to get all them (Qt, PCL, VTK, OpenCV, ...) is to install/uninstall rtabmap binaries: ```bash sudo apt install ros-$ROS_DISTRO-rtabmap ros-$ROS_DISTRO-rtabmap-ros sudo apt remove ros-$ROS_DISTRO-rtabmap ros-$ROS_DISTRO-rtabmap-ros ``` 1. Optional dependencies * If you want SURF/SIFT on Melodic/Noetic, you have to build [OpenCV]([OpenCV](http://opencv.org/)) 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 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](https://github.com/RainerKuemmerle/g2o): Should be already installed by `ros-$ROS_DISTRO-libg2o`. * [GTSAM](https://gtsam.org/get_started/): 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](https://github.com/ethz-asl/libpointmatcher): **Recommended** if you are going to use lidars. Follow their [instructions](https://github.com/ethz-asl/libpointmatcher#quick-start) to install. Should be alread installed by `ros-$ROS_DISTRO-libpointmatcher`. 2. Install RTAB-Map standalone libraries. **Do not clone in your Catkin workspace**. ```bash cd ~ git clone https://github.com/introlab/rtabmap.git rtabmap cd rtabmap/build cmake .. [<---double dots included] make -j6 sudo make install ``` 3. Install RTAB-Map ros-pkg in your src folder of your Catkin workspace. ```bash 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. ## Build from source for Nvidia Jetson * For **Jetpack 4** (Ubuntu 18.04 with ROS Melodic), see this [post](https://github.com/introlab/rtabmap/issues/427#issuecomment-608052821). * For **Jetpack 3** (Ubuntu 16.04 with ROS Kinetic), see this [post](https://github.com/introlab/rtabmap_ros/issues/655). ### Update to new version ```bash ########### # rtabmap ########### cd rtabmap git pull origin master cd build make make install # Do "sudo make install" if you installed rtabmap in "/usr/local" ########### # rtabmap_ros ########### roscd rtabmap_ros git pull origin master roscd cd .. catkin_make -j1 --pkg rtabmap_ros ```

CONTRIBUTING

No CONTRIBUTING.md found.