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

How to consider known poses of the Kinect while mapping with RGBDSLAM?

asked 2013-06-25 21:20:57 -0600

Bubble gravatar image

updated 2016-10-24 09:03:35 -0600

ngrennan gravatar image


I am using RGBDSLAM with ROS (groovy) and a Kinect.
To improve the mapped data, I want to use known poses (of a tracking system) of the Kinect to
first: improve the mapping
second: have the map in the right coordinate plane

Now I wonder if it is possible to make RGBDSLAM consider the known poses and how.
As far as I know it is still not much fun to use "external" odometry while using RGBDSLAM, is that right?
But I was hoping to not use it as odometry but mabye instead of the estimated odometry of RGBDSLAM. I was setting all my hope into "config/ground_truth_frame_name", but I wasn't able to figure out what it really does. Is it just used for the first calculation?

I am sorry for the very general question. I've been trying that for a while now and was hoping somebody here could give me a hint. (Mabye also where to fiddle with the code in rgbdslam - graph_manager? - if necessary)

Thanks in advance for the reply


By now I figured out, that "ground_truth_frame_name" is really just used for the first Node added by the GraphManager and not considered afterwards. Furthermore I noticed that it won't help setting the parameter "odom_frame_name" without changing the code in GraphManager, since right now it doesn't use the parameter at all. ;)

So I tried to adjust GraphManager.cpp in a way that it uses the parameter "odom_name_frame" and hoped to be able to JUST use the odom_edge for adding new Nodes. Therefore I wanted to change the informationMatrix of the odometry in the //FIXME part of the GraphManger.cpp, but I still couldn't figure out what parameter exactly I should use for that.

Am I on the right track?
And can anyone help me with that?

edit retag flag offensive close merge delete


Did you somehow manage to set the first Pose to have the map in the right coordinate plane?

alubitz gravatar image alubitz  ( 2016-07-21 10:15:56 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-07-08 02:26:55 -0600

You figured the solution for your second goal out: Set ground_truth_frame_name.

However, using rgbdslam for registering clouds with known transformations makes no sense. Just use the known transformations! If you want an octomap, you can do this by using octomap server directly. E.g., if you publish your ground truth as a tf from /map to /ground_truth_kinect, make sure you publish a tf from the latter to /openni_link and set octomap's frame_id to /map.

edit flag offensive delete link more

Question Tools


Asked: 2013-06-25 21:20:57 -0600

Seen: 437 times

Last updated: Jul 08 '13