Fixes to map builder tool #186
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added progress bar to track status of cloud merging
https://github.com/user-attachments/assets/241ba53c-1dfb-46f9-9478-193024615dfa
Added timing stats to know timings for each tool's part. It has to be useful for tool optimisation in near future.
(word benchmark might be not good for such tool, but I haven't come with nothing better)
Fixed bug in function filterByPosesProximity. It used RTree to thin out points, but it has primarily two cons: firstly, for loop closure it might be better to have two very close to each other points, secondly if you take a ride with car on the same route, thinking that it will increase quality of resulting map, the second lap will be fully removed by this filter, because we will remember each point on the first lap, and will not include points from the second lap counting them as very close points. So I removed RTree and made back old filtration that looked at only two close by time points.
Fixed little bug with points filtration inside mergeCloudsByPointsSimilarity, on last iteration of most nested loop we had no chance to add selected point to the answer.
Added RTree to selection of poses, which clouds we use in mergeCloudsByPointsSimilarity. In previous version we were selecting just nearby 20 poses and pick their clouds. Now we build RTree of poses and select no more than N poses not farther than M by distance.