RGBDSLAM Pointcloud with wrong transformation
Hello i am using RGBD SLAM v2. Getting batch clouds published for octomap server to get octomap and building the octomap for path planning and navigation. My max robot speed inputs are 0.25 m/s during mapping. Problem is during mapping one of the pointcloud get published with wrong transform from what i understand and it destroys the whole octomap. Previously i was using online_clouds so i thought it is because global optimization is not taking place with online_clouds but it still happening with batch_clouds. Here is the launch file setting that i am using:
<launch>
<node pkg="rgbdslam" type="rgbdslam" name="rgbdslam" cwd="node" required="true" output="log">
<!-- Input data settings-->
<param name="config/topic_image_mono" value="/kinect/rgb/image_raw"/>
<param name="config/topic_image_depth" value="/kinect/depth/image_raw"/>
<param name="config/camera_info_topic" value="/kinect/rgb/camera_info"/>
<!--<param name="config/topic_image_depth" value="/camera/depth_registered/sw_registered/image_rect_raw"/>-->
<param name="config/topic_points" value=""/> <!--if empty, poincloud will be reconstructed from image and depth -->
<param name="config/feature_extractor_type" value="ORB"/><!-- also available: SIFT, SIFTGPU, SURF, SURF128 (extended SURF), ORB. -->
<param name="config/feature_detector_type" value="ORB"/><!-- also available: SIFT, SURF, GFTT (good features to track), ORB. -->
<param name="config/detector_grid_resolution" value="3"/><!-- detect on a 3x3 grid (to spread ORB keypoints and parallelize SIFT and SURF) -->
<param name="config/max_keypoints" value="600"/><!-- Extract no more than this many keypoints -->
<param name="config/max_matches" value="300"/><!-- Keep the best n matches (important for ORB to set lower than max_keypoints) -->
<param name="config/min_matches" value="20"/><!--"Don't try RANSAC if less than this many matches (if using SiftGPU and GLSL you should use max. 60 matches)") -->
<param name="config/min_sampled_candidates" value="4"/><!-- Frame-to-frame comparisons to random frames (big loop closures) -->
<param name="config/predecessor_candidates" value="4"/><!-- Frame-to-frame comparisons to sequential frames-->
<param name="config/neighbor_candidates" value="4"/><!-- Frame-to-frame comparisons to graph neighbor frames-->
<param name="config/ransac_iterations" value="100"/>
<param name="config/cloud_creation_skip_step" value="2"/><!-- subsample the images' pixels (in both, width and height), when creating the cloud (and therefore reduce memory consumption) -->
<param name="config/max_dist_for_inliers" value="2.0"/>
<param name="config/encoding_bgr" value="false"/>
<param name="config/cloud_display_type" value="TRIANGLE_STRIP"/><!-- Show pointclouds as points (as opposed to TRIANGLE_STRIP) -->
<param name="config/pose_relative_to" value="largest_loop"/><!-- optimize only a subset of the graph: "largest_loop" = Everything from the earliest matched frame to the current one. Use "first" to optimize the full graph, "inaffected" to optimize only the frames that were matched (not those inbetween for loops) -->
<param name="config/backend_solver" value="pcg"/><!-- pcg is faster and good for continuous online optimization, cholmod and csparse are better for offline optimization (without good initial guess)-->
<param name="config/optimizer_skip_step" value="1"/><!-- optimize only every n-th frame -->
<param name="g2o_transformation_refinement" value="0"/><!--Use g2o to refine the ransac ...