Slam toolbox with Rtabmap odometry

asked 2021-06-28 11:48:23 -0500

Kush Hari gravatar image

Hello, My robotics team and I want to implement the nav2 stack with a Realsense D435i. We wanted to use slam_toolbox for localization and rtabmap/rgbd_odometry for visual odometry. For slam_toolbox, we planned on using the depthimage_to_laserscan package to convert the realsense input into a scan for Slam toolbox. While running this stack, we are unable to generate a map of the environment despite having a full transform tree (map-> odom-> base_link-> camera_link-> <various camera="" depth,="" color,="" etc="" frames="">). We run into the following errors shown below regarding the dropped frames. However, when we try to run rtabmap/rgbd_odometry with rtabmap localization though, we are able to generate a map. We are also able to generate a map by just running slam toolbox with a static odom -> base_link transform to complete the transform tree. Is there a better way to set this up to make slam toolbox compatible with rgbd odometry or are there better visual odometry tools that work with slam toolbox?

Operating System:
    Ubuntu 20.04
Installation type:
    apt-get install ros-foxy-slam-toolbox
ROS Version:
    ROS2 foxy
    Intel Realsense D435i with ROS 2 foxy depthimage_to_laserscan package

Steps to reproduce issue

Run the following launch files from the following packages with base_frame configured to base_link

From Slam toolbox:
From Depthimage_to_Laserscan:
From Rtabmap_Ros (Build from source, ROS2 branch): (with the rtabmap_ros node commented out)
Static transform from base_link to camera_link
From realsense_camera:

Expected behavior

Creates a map of the environment (/map topic is not empty) Actual behavior

/map topic is empty with the following messages:

edit retag flag offensive close merge delete