Rosanswers logo

I'm building a map with the Realsense D435 and T265. The map building works fine with rtabmap. But when I run rtabmap in localization mode, it fails loading the map with this error message:

[FATAL] (2020-05-05 22:47:50.222) Rtabmap.cpp:3338::process() Condition (_memory->getSignature(id) != 0) not met! [id=113]

More detailed logs:

[ INFO] [1588744066.076405296]: RTAB-Map detection rate = 2.000000 Hz
[ INFO] [1588744066.076975993]: rtabmap: Using database from "/home/pi/.ros/rtabmap.db" (17 MB).
[ INFO] [1588744069.472376862]: rtabmap: 2D occupancy grid map loaded (186x108).
[ INFO] [1588744069.518758444]: rtabmap: Database version = "0.19.6".
[ INFO] [1588744069.583005831]: /rtabmap/rtabmap: subscribe_depth = true
[ INFO] [1588744069.583818635]: /rtabmap/rtabmap: subscribe_rgb = true
[ INFO] [1588744069.584374405]: /rtabmap/rtabmap: subscribe_stereo = false
[ INFO] [1588744069.584849640]: /rtabmap/rtabmap: subscribe_rgbd = false (rgbd_cameras=1)
[ INFO] [1588744069.585292097]: /rtabmap/rtabmap: subscribe_odom_info = false
[ INFO] [1588744069.585727128]: /rtabmap/rtabmap: subscribe_user_data = false
[ INFO] [1588744069.586053309]: /rtabmap/rtabmap: subscribe_scan = false
[ INFO] [1588744069.586374287]: /rtabmap/rtabmap: subscribe_scan_cloud = false
[ INFO] [1588744069.586675042]: /rtabmap/rtabmap: queue_size    = 100
[ INFO] [1588744069.586982908]: /rtabmap/rtabmap: approx_sync   = true
[ INFO] [1588744069.587772269]: Setup depth callback
[ INFO] [1588744069.661110241]: 
/rtabmap/rtabmap subscribed to (approx sync):
[ INFO] [1588744069.690802854]: rtabmap 0.19.6 started...
[ WARN] (2020-05-05 22:47:50.041) Rtabmap.cpp:1058::process() Update map correction based on last localization saved in database! correction = xyz=0.113142,-0.081209,0.002167 rpy=-0.034855,-0.053422,3.092206, nearest id = 113 of last pose = xyz=0.113444,-0.081569,0.001993 rpy=-0.026738,-0.025294,3.090959, odom = xyz=-0.000329,0.000350,-0.000144 rpy=0.008064,0.028154,-0.000266
[ WARN] (2020-05-05 22:47:50.216) Rtabmap.cpp:1708::process() rejected hypothesis: last closure hypothesis is null (loop ratio is on)
[ WARN] (2020-05-05 22:47:50.217) Rtabmap.cpp:3998::getPaths() path.size()=0!? nearestId=0 ids=113, aborting...
[FATAL] (2020-05-05 22:47:50.222) Rtabmap.cpp:3338::process() Condition (_memory->getSignature(id) != 0) not met! [id=113]
terminate called after throwing an instance of 'UException'
  what():  [FATAL] (2020-05-05 22:47:50.222) Rtabmap.cpp:3338::process() Condition (_memory->getSignature(id) != 0) not met! [id=113]
[rtabmap/rtabmap-5] process has died [pid 1931, exit code -6, cmd /home/pi/catkin_ws/devel/lib/rtabmap_ros/rtabmap rgb/image:=/d435/color/image_raw depth/image:=/d435/aligned_depth_to_color/image_raw rgb/camera_info:=/d435/color/camera_info rgbd_image:=rgbd_image_relay left/image_rect:=/stereo_camera/left/image_rect_color right/image_rect:=/stereo_camera/right/image_rect left/camera_info:=/stereo_camera/left/camera_info right/camera_info:=/stereo_camera/right/camera_info scan:=/scan scan_cloud:=/scan_cloud user_data:=/user_data user_data_async:=/user_data_async gps/fix:=/gps/fix tag_detections:=/tag_detections odom:=/odom imu:=/imu/data move_base:=/move_base grid_map:=/map __name:=rtabmap __log:=/home/pi/.ros/log/6fd4bf78-8f58-11ea-8779-dca63207de8a/rtabmap-rtabmap-5.log].
log file: /home/pi/.ros/log/6fd4bf78-8f58-11ea-8779-dca63207de8a/rtabmap-rtabmap-5*.log

Any idea what's causing this and how to fix it?

Originally posted by dschnabel on ROS Answers with karma: 103 on 2020-05-06

Post score: 0

Original comments

Comment by matlabbe on 2020-05-12:
Can you share that database? Maybe there is something corrupted. Corrupted databases can be recovered with:

rtabmap-recovery /home/pi/.ros/rtabmap.db

Comment by dschnabel on 2020-05-14:
thanks @matlabbe. The recovery command did not fix it unfortunately. I uploaded the database to https://fil.email/MHy1ZmDF (link valid for 7 days).

Comment by matlabbe on 2020-05-26:
Unfortunately, I missed the link...

Comment by dschnabel on 2020-05-27:
No problem @matlabbe. I've uploaded the database again to a more permanent location (my S3 bucket): https://dschnabel-uploads.s3-us-west-2.amazonaws.com/rtabmap-bad.db.tar.gz Appreciate your help! :)

Comment by matlabbe on 2020-05-27:
I cannot reproduce the error (I am using latest rtabmap version from source), I can see the database correctly with:

$ roslaunch rtabmap_ros rtabmap.launch localization:=true database_path:=~/Downloads/rtabmap-bad.db/rtabmap.db

I see you are using Mem/ReduceGraph, try without it, just reprocess the database to regenerate the database without reducing the graph:

$ rtabmap-reprocess --Mem/ReduceGraph false rtabmap.db  output.db

See if without reducing the graph you have the same error.


1 Answer 1


Rosanswers logo

@matlabbe provided the solution, see his last comment.

The trick was to set Mem/ReduceGraph to false. After I regenerated my database, it loads fine without the error message I was seeing earlier:

$ rtabmap-reprocess --Mem/ReduceGraph false rtabmap.db  output.db

Many thanks to matlabbe!

Originally posted by dschnabel with karma: 103 on 2020-05-29

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.