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

What tf information does vslam_system need?

asked 2011-02-24 06:37:43 -0600

Thomas gravatar image

Hello, is there anyone that could tell me (or better update the tutorial ;) to explain precisely what are the tf requirements for vslam_system.

The bag files seems to contain tf information but the wiki does not say anything about it.

I currently have a bag file containing an image sequence from a calibrated stereo setup. It would be nice if the tutorial could explain all the steps required to switch from the provided sequence to a custom one.

Thanks!

edit retag flag offensive close merge delete

Comments

Hi, are you trying to run with the bag file from this tutorial: http://www.ros.org/wiki/vslam_system/Tutorials/RunningVslamOnStereoData ? Or are you trying to run with your own setup?
Chad Rockey gravatar image Chad Rockey  ( 2011-02-24 07:59:41 -0600 )edit
The bag file from the tutorial works fine. My question would be: how to use my own bag file? The bag provided bag file seems to include tf information. Is it required? What are the frames that are used by vslam? I suppose it would at least need the transformation between the sensor and the main body
Thomas gravatar image Thomas  ( 2011-03-02 01:10:53 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2011-04-04 03:32:03 -0600

updated 2011-04-04 04:48:43 -0600

If you're following the tutorial then you'll be using: roslaunch vslam_system stereo_vslam.launch

If you look at the stereo_vslam.launch file, it has:

<node name="stereo_vslam_node"...

This is launching the binary compiled from the source vslam_system/src/nodes/stereo_vslam_node.cpp. If you check that file, you'll see that it only subscribes to these topics:

// Synchronize inputs
l_image_sub_.subscribe(it_, "left/image_rect", 1);
l_info_sub_ .subscribe(nh_, "left/camera_info", 1);
r_image_sub_.subscribe(it_, "right/image_rect", 1);
r_info_sub_ .subscribe(nh_, "right/camera_info", 1);
sync_.connectInput(l_image_sub_, l_info_sub_, r_image_sub_, r_info_sub_);

So to answer your question, there's no tf inputs needed. You may be able to get it to broadcast odometry data as tf's if you provide the base_footprint transform. However that code (in the latest svn) is disabled with an if (0).

edit flag offensive delete link more

Comments

@rreid: Have you been able to run VSLAM with your own data? I'm struggling to get VSLAM working using stereo images published by uvc_camera stereo_node. I did topic remappings needed but vslam doesn't work properly: http://answers.ros.org/question/864/vslam_system-not-publishing-visual-odometry
tom gravatar image tom  ( 2011-04-29 00:59:14 -0600 )edit
@tom: I've been using pre-recorded image sequences with `vslam_system/src/run_stereo.cpp`.
rreid gravatar image rreid  ( 2011-05-10 22:31:41 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2011-02-24 06:37:43 -0600

Seen: 406 times

Last updated: Apr 04 '11