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

RGBDSLAM with stereo & IMU data

asked 2012-09-20 12:52:02 -0600

P.Naughton gravatar image

updated 2014-01-28 17:13:42 -0600

ngrennan gravatar image

I would like to use RGBDSLAM using stereo cameras and an IMU for odometry. Following these questions: & &

I have set up my launch file so that I have the left camera image(from stereo_image_proc) as "wide_topic" and points2 as "wide_cloud_topic"

Also since I am not using the openni_driver I have the following configuration:

I have played around with these parameters. It seems that no matter what I do I receive warnings from rgbdslam that are caused by not being able to look up transforms, i.e.

Lookup would require extrapolation into the past. Requested time 1347501971.980839144 but the earliest data is at time 1348181126.395687059, when looking up transform from frame [/camera_optical_frame] to frame [/base_link]

This is always followed by the warning:

Using Standard kinect /openni_camera -> /openni_rgb_optical_frame as transformation.

The map that is generated is obviously poor and I believe it is because of this transformation.

I am new to the concept of tf. I have gone through the tutorials but still feel a little bit shaky on how it works. I have built a robot model that has the following tf tree:

Link: base_link has 1 child(ren) child(1): chassis child(1): left_camera child(1): left_camera_lens child(1): camera_optical_frame child(2): right_camera child(1): right_camera_lens

I have not begun to integrate robot_pose_ekf because I do not feel that I have this part of the process down.

Can someone explain to me how the tf tree should look? How is the visual odometry broadcasted by rgbdslam? Can this information be integrated into robot_pose_ekf? and can IMU odometry be considered by rgbdslam?

Any pointers, links to other pages or code would be helpful.

Thanks for your time

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2012-09-24 11:10:22 -0600

Having odometry considered needs you to fiddle with the code. Currently there is no easy and robust way to merge the information from odometry and the transformation estimation of rgbdslam, so it's not done. The corresponding code section is in graph_manager.cpp, you can search for "FIXME get odometry information matrix and transform it to the optical frame" and twiddel with the information matrix to reflect your odometry properly...

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2012-09-20 12:52:02 -0600

Seen: 853 times

Last updated: Sep 24 '12