Noisy 3D PointCloud, objects not aligned, poor loop closure, and odometry lost

Posted by acp on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Noisy-3D-PointCloud-objects-not-aligned-poor-loop-closure-and-odometry-lost-tp8174.html

Dear People.


I do have an Asus Xtion Pro running under ros-noetic.   I have been inspired by the following links:


link1
  and link2


I have few questions:

1.- Why Mapcloud topic generates a smother and cleaner image than the  cloud_map or octomap_occupied_space, as seen in the figures below.

2.-The cloud_map generates a more noisy image, maybe it has to do with some outliers boundary. How can we clean this image so it looks more than the mapcloud image?,
    This parameter filter the roof, <--param name="Grid/MaxObstacleHeight" type="string" value="1.0" />, is there another parameter that could clean the image.

3.-Sometimes the odometry get lost, then I have to wait till it get reset it and it is on its own track, is there a way to solve the odom problem?


4.-we can see in the mapcloud image that some walls are not aligned even though there is a loop closure,  it is like the map does not delete the not aligned objects when there is a loop closure, is there a way to solve that issue?


5.-The Figure below shows not loop closure, even the sensor has passed twice over the same place, I have set the parameter RGBD/OptimizeMaxError to zero to accept all loop closures. Is there another parameter. Can the problem be solved?


This is the launch file:



<include file="$(find openni_launch)/launch/openni.launch"/> 
     
  <group ns="rtabmap">

    <node pkg="nodelet" type="nodelet" name="rgbd_sync" args="standalone rtabmap_ros/rgbd_sync" output="screen">
      <remap from="rgb/image"        to="/camera/rgb/image_rect_color"/>
      <remap from="depth/image"      to="/camera/depth_registered/image_raw"/>
      <remap from="rgb/camera_info"  to="/camera/rgb/camera_info"/>
      <remap from="rgbd_image"       to="rgbd_image"/> <!-- output -->
      
      <!-- Should be true for not synchronized camera topics 
           (e.g., false for kinectv2, zed, realsense, true for xtion, kinect360)-->
      <param name="approx_sync"       value="true"/> 
    </node>

    <!-- Odometry -->
    <node pkg="rtabmap_ros" type="rgbd_odometry" name="rgbd_odometry" output="screen">
      <--param name="subscribe_rgbd" type="bool"   value="true"/>
      <--param name="frame_id"       type="string" value="camera_link"/>
      <remap from="rgbd_image" to="rgbd_image"/>
    </node>
    
   
    
     <node pkg="rtabmap_ros" type="rtabmap" name="rtabmap" output="screen" args="-d">	  
        <--param name="frame_id"              type="string"  value="camera_link"/>  
        <--param name="subscribe_depth"       type="bool"    value="false"/>
        <--param name="subscribe_rgb"         type="bool"    value="false"/>
        <--param name="subscribe_rgbd"        type="bool"    value="true"/>
        <--param name="subscribe_scan_cloud"  type="bool"    value="true"/>
      
        <--param name="approx_sync"           type="bool"    value="true"/>
        
        <remap from="scan_cloud" to="/camera/depth_registered/points"/>
        <remap from="rgbd_image" to="rgbd_image"/>
        <remap from="odom" to="odom"/>
     
       <!-- RTAB-Map's parameters -->
         <--param name="Odom/ResetCountdown"              value="1" /> <!-- 1 reset the odometry -->
         <--param name="RGBD/NeighborLinkRefining"  type="string" value="true"/>
         <--param name="RGBD/ProximityBySpace"      type="string" value="true"/>
         <--param name="RGBD/AngularUpdate"         type="string" value="0.01"/>
         <--param name="RGBD/LinearUpdate"          type="string" value="0.01"/>
         <--param name="RGBD/OptimizeFromGraphEnd"  type="string" value="false"/>
         <--param name="Grid/FromDepth"             type="string" value="false"/> 
         <--param name="Reg/Force3DoF"              type="string" value="true"/>
         <--param name="Reg/Strategy"               type="string" value="0"/> <!-- 1=ICP -->
         <--param name="RGBD/OptimizeMaxError"      type="string" value="0"/><!-- accept all loopclosures -->

        
        
      </node>
    
    
    
  </group>

Mapcloud Image with some not aligned objects





Noisy cloud_map image




Macloud image with poor loop closure







Thank you so much