I've tested slam_toolbox producing life-long environment mapping, and not quite satisfied with the results.
Below you can see a fragment of the mapping. I used a 1x0.5m case to test the changing map of the environment. In the first iteration, I moved the lidar laser to the area where the 1m side of the case was facing the scanner. Then, moved the laser away from the scanner.
In the second iteration, I moved the case so that the laser will be facing the 0.5m side of the case. Then, the scanner was moved to the area. In this case, I was expecting that the old footprint would disappear and would be replaced with the 0.5m side of the case. But, as you can see in the pic below, it didn't happen?
Interesting enough, I came to conclusion that the new obstacles are being added to the map, but the old ones are not being removed?
I experimented with two slam_toolbox modes: online_async and lifelong. Both showed the same result.
Please share if you had similar experience. Am I missing something here?
The slam_toolbox repo clearly tells that the life-long mapping is intended, though it mentions that it's kind of experimental.
https://github.com/SteveMacenski/slam_toolbox - Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS