Ask Your Question

RGBDSLAM with PointCloud2 as input?

asked 2012-12-27 04:46:44 -0500

madmax gravatar image

updated 2014-01-28 17:14:40 -0500

ngrennan gravatar image


I am searching for a solution to feed rgbdslam with a PointCloud2 but it's just trial and error...
Is this even possible?

I use a tilting laser and the laser pipeline to get my point cloud.
assembled_cloud is the pcl to be processed.

My launch file looks like that:

<node pkg="rgbdslam" type="rgbdslam" name="rgbdslam" cwd="node" required="false" output="log" > 
<!-- see rgbslam_sample_config.launch for all available parameters and their default values -->
  <param name="config/topic_image_mono"              value=""/>
  <param name="config/wide_topic"                    value=""/>;
  <param name="config/wide_cloud_topic"              value="assembled_cloud"/>;
  <param name="config/drop_async_frames"             value="true"/> <!-- Check association of depth and visual image, reject if not in sync -->
  <param name="config/feature_detector_type"         value="SIFTGPU"/><!-- If SIFTGPU is enabled in CMakeLists.txt, use SURF here -->
  <param name="config/feature_extractor_type"        value="SIFTGPU"/><!-- If SIFTGPU is enabled in CMakeLists.txt, use SURF here -->
  <param name="config/matcher_type"                  value="SIFTGPU"/> <!-- FLANN (not avail for ORB features), SIFTGPU (only for SIFTGPU detector)  or BRUTEFORCE-->
  <param name="config/max_keypoints"                 value="700"/><!-- Extract no more than this many keypoints (not honored by SIFTGPU)-->
  <param name="config/min_keypoints"                 value="100"/><!-- Extract no less than this many ... -->
  <param name="config/optimizer_skip_step"           value="1"/><!-- optimize every n-th frame -->
  <param name="config/store_pointclouds"             value="false"/> <!-- if, e.g., only trajectory is required, setting this to false saves lots of memory -->
  <param name="config/individual_cloud_out_topic"    value="/rgbdslam/batch_clouds"/>;
  <param name="/config/use_gui" value="true"/>
<param name="config/visualization_skip_step"       value="1"/> <!-- draw only every nth pointcloud row and line, high values require higher squared_meshing_threshold -->
<param name="config/sufficient_matches"            value="400"/><!-- Instead of matching all new descriptors against all of a previous node in one step, sufficient_matches+100 of the new descriptors are iteratively compared to all of the previous node until sufficient_matches are found. Setting this parameter low (e.g. 2x min_matches) speeds up comparisons of frames with many matches, but with a potential loss of accuracy, as the transformation is estimated from less features. Set it to max_keypoints for maximum accuracy -->
<param name="config/max_connections"               value="15"/><!-- stop after this many succesfully found spation relations -->
<param name="config/predecessor_candidates"        value="5"/><!-- search through this many immediate predecessor nodes for corrspondences -->
<param name="config/neighbor_candidates"           value="5"/><!-- search through this many graph neighbour nodes for corrspondences -->
<param name="config/min_sampled_candidates"        value="5"/><!-- search through this many uniformly sampled nodes for corrspondences -->
<!-- see rgbslam_sample_config.launch for all available parameters and their default values -->
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-01-02 09:10:13 -0500

No. Rgbdslam requires a monocular or color image to extract visual features from. In theory you could also feed it an "intensity image" constructed from the laser reflections, but I never tried that and do not know how well visual features work on such images.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2012-12-27 04:46:44 -0500

Seen: 301 times

Last updated: Jan 02 '13