Errors on icp odometry

Posted by Mikor on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Errors-on-icp-odometry-tp7546.html

Hi Mathieu,

I hope you're doing well. I have a set of recorded pointclouds and I am trying to feed them in rtabmap, at first, it did not have any tf message in it so I published one and recorded it into a bag including the pointclouds.

I've built rtabmap from source with libpointmatcher and I run rtabmap.launch with the following arguments.

roslaunch rtabmap_ros rtabmap.launch    \
   use_sim_time:=true \
   depth:=false \
   subscribe_scan_cloud:=true \
   frame_id:=base_link \
   scan_cloud_topic:=/velodyne_points \
   scan_cloud_max_points:=131072  \
   icp_odometry:=true \
   approx_sync:=false \
   args:="-d  \
      --RGBD/CreateOccupancyGrid false \
      --Rtabmap/DetectionRate 2 \
      --Odom/ScanKeyFrameThr 0.8 \
      --OdomF2M/ScanMaxSize 10000  \
      --OdomF2M/ScanSubtractRadius 0.5   \
      --Icp/PM true \
      --Icp/VoxelSize 0.5   \
      --Icp/MaxTranslation 2   \
      --Icp/MaxCorrespondenceDistance 1.5 \
      --Icp/PMOutlierRatio 0.7 \
      --Icp/Iterations 10 \
      --Icp/PointToPlane true \
      --Icp/PMMatcherKnn 20 \
      --Icp/PMMatcherEpsilon 5 \
      --Icp/Epsilon 0.0001 \
      --Icp/PointToPlaneK 5 \
      --Icp/PointToPlaneRadius 0 \
      --Icp/CorrespondenceRatio 0.01 \
      --Icp/MaxTranslations 5 \
      --Icp/MaxRotations 1.5"

It seems that it registers a few pointclouds at the start and I assume that the odometry drifts away as I get the error that it cannot perform icp registration with a null guess. Also I get a lot of warnings regarding that it detected a jump back in time, I do not know if that is relevant and how to fix this. I attach to this message the bag I am using as it might be useful for debugging purposes.