rtabmap does not find loop closures

Posted by acp on
URL: http://official-rtab-map-forum.206.s1.nabble.com/rtabmap-does-not-find-loop-closures-tp6586.html

Dear People,

I do have a ZED camera and a Jetson TX2 mounted on a drone. I have taken the drone with my hands to map an outdoor place by means of the rtabmap.launch node.



 I do have some problems when I map the outdoor place. I have taken two pictures of the RVIZ pointcloud.





In the first picture we can see that when the drone makes one loop and then when it returns to the starting point it finds loop closures and the 3D map looks good.

In the second picture we can see that when the drone follow 2 diagonals, in the upper part of the picture inside the red eclipse, the rtabmap did not find any loop closures even though the drone passes  the same path twice.








Here is a .db file

 http://www.fit.vutbr.cz/~plascencia/fityard3.db 


this is the rtabmap.launch


<group ns="/zed/">
    <include file="$(find rtabmap_ros)/launch/rtabmap.launch">
       <arg name="rtabmap_args"        value="--delete_db_on_start --Optimizer/GravitySigma 0.3" />
      <arg name="rgb_topic"               value="/zed/zed_node/rgb/image_rect_color" />
      <arg name="depth_topic"             value="/zed/depth/depth_filtered" />
      <arg name="camera_info_topic"       value="/zed/zed_node/rgb/camera_info" />
      <arg name="depth_camera_info_topic" value="/zed/zed_node/depth/camera_info" />
      <arg name="frame_id"                      value="$(arg camera_frame)" />
      <arg name="odom_frame_id"                 value="odom" />
      <arg name="approx_sync"                   value="false" />
      <arg name="visual_odometry"               value="false" />
      <arg name="rtabmapviz"                    value="false" />
      <arg name="rviz"                          value="false" />
      <arg name="odom_topic"                    value="/zed/zed_node/odom" />

      <arg name="imu_topic"                     value="/mavros/imu/data"/> 
      <(param) name = "Optimizer/GravitySigma "     type="string"  value="0.3"/>
      <(param) name = "publish_tf"                  type="string"  value="false"/>

     
     

         
         <(param) name="Grid/DepthDecimation"              type="string" value="4"/>
         <(param) name="Grid/FlatObstacleDetected"         type="string" value="true"/>
         <(param) name="Kp/MaxDepth"                       type="string" value="0"/>
         <(param) name="Kp/DetectorStrategy"               type="string" value="6"/>  
         <(param) name="Vis/EstimationType"                type="string" value="1"/>  
         <(param) name="Vis/MaxDepth"                      type="string" value="0"/>
         <(param) name="RGBD/CreateOccupancyGrid"          type="string" value="true"/-->
   
         
         

<(param) name="Grid/NormalsSegmentation" type="bool" value="false"/>
<(param) name =" Grid/MaxGroundHeight" type="double" value="0.05"/>
<(param) name="Optimizer/Strategy"  type="string" value="1"/>
<(param) name="RGBD/OptimizeStrategy" type="string" value="1"/>

    </include>
</group>

I am just wondering why the rtabmap.launch did not find any loop closure even though the drone passed over the same place twice. Or, what depends for the algorithm to find a loop closure so the map can be corrected and look good.