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

Revision history [back]

See http://answers.ros.org/question/1914/vslam-running-on-your-own-data for initial setup, synchronization, etc. Then modify line 159 of vslam_system/src/nodes/stereo_vslam_node.cpp to have if(1). After that there are three crucial steps:

  1. Create a URDF for your robot that has a base_link. It is useful to have a camera_base link somehow connected to base_link for later steps.

  2. You will have to have a node that broadcasts a transform from base_link to odom. See http://www.ros.org/reps/rep-0105.html for more information about the map -> odom -> base_link transforms. This node also needs to listen for the transform between base_link and visual_odom. Note that visual_odom is the frame_id and base_link is the child_frame_id in vslam_system/src/nodes/stereo_vslam_node.cpp.

  3. When starting your camera nodes they must both have frame_id set to camera_base if that is what you have in your URDF. If your URDF only has a base_link then you can set the frame_id to base_link.

When you have your robot model loaded in Rviz along with the nodes to (i) run your cameras and (ii) publish the transform between base_link and visual_odom then you should see point clouds and camera poses appear in Rviz.

Also, https://code.ros.org/trac/ros-pkg/ticket/4753 has a patch that I recommend applying to fix a big memory leak.

click to hide/show revision 2
Added hyperlinks! Just figured out how to do it...

See http://answers.ros.org/question/1914/vslam-running-on-your-own-data this question for initial setup, synchronization, etc. Then modify line 159 of vslam_system/src/nodes/stereo_vslam_node.cpp to have if(1). After that there are three crucial steps:

  1. Create a URDF for your robot that has a base_link. It is useful to have a camera_base link somehow connected to base_link for later steps.

  2. You will have to have a node that broadcasts a transform from base_link to odom. See http://www.ros.org/reps/rep-0105.html REP 105 for more information about the map -> odom -> base_link transforms. This node also needs to listen for the transform between base_link and visual_odom. Note that visual_odom is the frame_id and base_link is the child_frame_id in vslam_system/src/nodes/stereo_vslam_node.cpp.

  3. When starting your camera nodes they must both have frame_id set to camera_base if that is what you have in your URDF. If your URDF only has a base_link then you can set the frame_id to base_link.

When you have your robot model loaded in Rviz along with the nodes to (i) run your cameras and (ii) publish the transform between base_link and visual_odom visual_odom, then you should see point clouds and camera poses appear in Rviz.Rviz. I have not seen it work well either.

Also, https://code.ros.org/trac/ros-pkg/ticket/4753 this ticket has a patch that I recommend applying to fix a big memory leak.