ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
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:
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.
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.
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.
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:
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.
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.
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.