cartographer-project / cartographer

Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
Apache License 2.0
7.04k stars 2.24k forks source link

System reboots in the middle of map creation causes trajectories pre- and post-reboot to have no established connection #1827

Open ljduremdes opened 3 years ago

ljduremdes commented 3 years ago

Hi there!

We have been using Cartographer for our project and encountered an issue due to the limited memory of our device. I apologize beforehand if a similar issue has already been asked, but since my search efforts have not turned up anything, I decided to explicitly ask for the case of our system.

While creating a map for a large indoor area, due to the limited nature of our system's memory, a reboot occurs while in the middle of map creation. Due to this, the previously known nodes and trajectories have been flushed from the work queue and it starts back to node 0.

My question is Is there any way to establish a connection to the trajectories prior to the reboot in order to avoid the distortion of the created map?

As of writing, after reboot, Cartographer treats it as a different location and, therefore, the image created goes out of bounds of what it the actual dimensions of the room. We would like Cartographer, post-reboot, to still recognize trajectories created pre-reboot to avoid a decline in the created map image as much as possible. So if there is a anything we can utilize in Cartographer's existing codes, it would be much appreciated!

Thank you.

CumaOzavci commented 3 years ago

If you don't have to map in real time, you can save rosbag(s) and run cartographer later. Or you can save trajectories on some interval as pbstream files and continue mapping from that file.