ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Combine IMU with visual odometry using rtabmap

asked 2015-11-17 23:00:13 -0500

VMHOANG68 gravatar image


I want to combine a razor 9dof IMU (package razor_imu_9dof) with visual odometry from ASUS Xtion Pro live using rtabmap. I used package robot_localization to combine 2 data sources. I am confusing about the tf. I still use the visual odometry from rtabmap_ros. The package robot_localization takes data from topic /imu and /rtabmap/odom. In theory the tf from odom to camera_link must be published by robot_localization but it is still published by /rtabmap/rgbd_odometry. Can anyone explain me about the tf which is published by rtabmap/rgbd_odometry and the tf which is published by robot_localization and how to fix my problem or show me how to do the combination, please?

Another question is that when rtabmap/rtabmapviz doesn't subcribe any odometry topic, i still receive the map data, the rtabmapviz gui seems to work well. The only unusual thing is that the odometry display in rtabmapviz gui is black. It made me think the odometry is not important or i misunderstand something? Can anyone explain me, please?

I attached here the TFTree and NodeGraph.

Thank you in advance for your attention to this matter.

TF Tree Node Graph

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-11-18 08:02:43 -0500

matlabbe gravatar image

updated 2016-11-15 13:14:15 -0500

You should set publish_tf parameter of rgbd_odometry node to false.

<node package="rtabmap_ros" type="rgbd_odometry" name="rgbd_odomerty">
   <param name="publish_tf" type="bool" value="false"/>

Odometry topic is mandatory for rtabmap, not for rtabmapviz. The odometry topic is used by rtabmap only if odom_frame_id parameter is set:

~odom_frame_id (string, default: "")

The frame attached to odometry. If empty, rtabmap will subscribe to odom topic to get odometry. If set, odometry is got from tf (in this case, a covariance of 1 is used).


edit flag offensive delete link more


Thank you matlabbe, now it is working as I desired.

VMHOANG68 gravatar image VMHOANG68  ( 2015-11-18 20:25:03 -0500 )edit

Question Tools

1 follower


Asked: 2015-11-17 23:00:13 -0500

Seen: 2,912 times

Last updated: Nov 15 '16