Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fatal Error on Database in Multi-Session Mapping with LIDAR and AprilTags #1231

Open
brayanpa opened this issue Oct 29, 2024 · 2 comments
Open

Comments

@brayanpa
Copy link

brayanpa commented Oct 29, 2024

Hi Mathieu,

We’re experiencing some issues with mapping using a single LIDAR configuration along with AprilTags.

In the first mapping session, everything works smoothly, regardless of the number of AprilTags detected. However, in the second session, when we attempt to switch to localization mode (to finish the mapping process), an error occurs, resulting in database corruption.

In some cases, the error occurs when closing the database, but the database continues to function without noticeable issues. Below, I’ve included some logs we've captured, as well as a sample of one of the corrupted databases.

Please let us know if there’s any additional information we can provide to help in troubleshooting this bug.

We are currently working with these versions:

rtabmap: f3ccfcb45219fbbb40648072a8b9adb0f6143e77
rtabmap-ros: 28f9974

Thank you!

rtabmap_log1.txt
rtabmap_log2.txt
map.original.db.zip
rtabmap_params.txt

@brayanpa
Copy link
Author

We have discovered some additional information. Occasionally, when mapping a new session and switching to localization mode (to finish the map), the database file disappears. Typically, it only disappears momentarily, but in some cases, it completely vanishes. Here are the logs captured during these instances:

[rtabmap-1] [INFO] [1730234044.822210010] [gary.nav.rtabmap.rtabmap]: rtabmap (304): Rate=1.00s, Limit=0.000s, Conversion=0.0012s, RTAB-Map=0.0049s, Maps update=0.0017s pub=0.0053s delay=0.1361s (local map=163, WM=160)
[rtabmap-1] [INFO] [1730234045.838148980] [gary.nav.rtabmap.rtabmap]: rtabmap (305): Rate=1.00s, Limit=0.000s, Conversion=0.0013s, RTAB-Map=0.0044s, Maps update=0.0017s pub=0.0003s delay=0.1195s (local map=163, WM=160)
[rtabmap-1] [INFO] [1730234046.871486519] [gary.nav.rtabmap.rtabmap]: rtabmap (306): Rate=1.00s, Limit=0.000s, Conversion=0.0014s, RTAB-Map=0.0049s, Maps update=0.0019s pub=0.0003s delay=0.1205s (local map=163, WM=160)
^C[LAUNCH WARNING] [launch.launch]: caught SIGINT
[rtabmap-1] [INFO] [1730234046.960311316] [rclcpp]: signal_handler(signum=2)
[rtabmap-1] [INFO] [1730234047.013188213] [gary.nav.rtabmap.rtabmap]: Parameters are not saved (No configuration file provided...)
[rtabmap-1] tabmap.cpp:3729::process() Localization was good, but waiting for another one to be more accurate (RGBD/MaxOdomCacheSize>0)
[rtabmap-1] [ WARN] (2024-10-29 20:32:53.856) OptimizerG2O.cpp:1285::optimize() Computing marginals: vertex 233 has negative hessian index (-1). Cannot compute last pose covariance.
[rtabmap-1] rtabmap: Saving database/long-term memory... (located at /robot/generic_persistent_data/navigation/maps/test_tags_29.6/map.db)
rtabmap: 2D occupancy grid map saved.
rtabmap: Saving database/long-term memory...done! (located at /robot/generic_persistent_data/navigation/maps/test_tags_29.6/map.db, 0 MB)```

@matlabbe
Copy link
Member

matlabbe commented Oct 31, 2024

I have difficulty reproducing the issue. In your second example, how long did you wait after switching to localization and killing launch file? Is it like:

ros2 service call /rtabmap/set_mode_localization std_srvs/srv/Empty

<< wait 5 sec >>

ctrl-c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants