Remove divided by three in the robust kernel #437
Merged
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.
Motivation
@benemer notice that, in some specific scenarios, our current optimization scheme rejects all the points in the scan, resulting in a situation where the estimate gets stacked in a no motion local minimum. One example of this behavior is represented in the Apollo Dataset, sequence MathildaAVE, where this affect the overall length of the trajectory:
This PR
While our initial dream for this PR will be to wipe out the robust kernel (finally) altogether, we realize that by simply enlarging the
kernel_scale
parameter, we can obtain performances that are slightly better than the currentmain
or even the "pre-cyrill" thresholding scheme.Results
As shown in the images below, the results are similar overall for all three settings (main, "pre-Cyrill," and this PR), with this PR having a slight edge on some sequences. Furthermore, on Mathilda AVE:
In the name of data-driven analysis, which always guided this project, we decided that the kernel can live another day; although it doesn't make us happy,
Main
"Pre-Cyrill" Optimization
This PR