-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add nominal beluga vs nav2 benchmark #80
Conversation
Draft report.pdf. Interestingly enough, Beluga does worse than Nav2. |
I'm not really surprised, since it's the first time we measure it. The max errors are very different too. I wonder if a large error at some point in the interval is skewing the results. Are the medians very different too? how about the APE Localization error distributions? In the meantime I'll use these results in the paper, we can discuss them tomorrow. |
I bet it's outliers skewing our naive mean and covariance estimates. I suspect Nav2 AMCL clustering logic is naturally shielding it from them, at the expense of under reporting covariance for true multi-modal distributions (a reasonable tradeoff when you think about it). I'll try and see if I can prove this.
I didn't plot distributions for this new report (yet), but the one in #76 shows heavier tails. |
I think the same. Also, did you do more than one run? if so, did the tendency remain? |
Signed-off-by: Michel Hidalgo <[email protected]>
0780b44
to
18be294
Compare
FYI @glpuga @nahueespinosa you should be able to reproduce following the |
My run seems to have moved in the same general direction, but Nav2 crashed in the beam model. |
I bet my fix upstream didn't make it to your Docker image ros-navigation/navigation2#3929 |
I created https://github.com/ekumenlabs/kobuki_ros2_stack/pull/8 to help debug this. |
Thanks Gera! I've been replaying things manually out of laziness. |
After much fiddling, plotting distributions, going back and forth between Beluga and Nav2, I think I found the main issue: Ekumen-OS/beluga#266. Also found Ekumen-OS/beluga#267 along the way. report.pdf now looks they way it should. |
That's truly awesome! I'll update the paper with these results, let's discuss on Tuesday whether to push forward with ERF or look forward to RSS. I see that now nav2 has a much larger error for the first dataset. Is this random or did anything else change? |
I saw that too. I don't have a good answer. Nothing changed. I'll run the benchmarks again tonight and for a larger number of iterations (we are at 10 iterations per variation, for statistical significance we should do 30 or 50 at least). Edit: hmm, I think I rolled back the changes I made to Nav2 AMCL to disable clustering, but maybe I didn't? I'll nuke and rebuild everything just to be sure. |
Latest report.pdf, 30 iterations per variation. Roughly in line, worse max error. Must have left clustering disabled in the previous run. I'd be inclined to implement that for Beluga next. |
Just out of caution, can we double check these values? Reasons:
Given the random nature of the filters, I'd expect very close to not exactly the same values. Latest report: Previous report: |
Sure. This is what I get if I manually work with output data:
Values are not the same but close. We are rounding to mm precision, as I didn't think anything past that point was anything but noise. I may be mistaken, though. |
We should get this in, along with #81. @glpuga @nahueespinosa comments are welcome. Otherwise, I'll merge at EOD. |
I'm ok to merge with eyes closed. |
🙈 going in! |
Proposed changes
This PR adds a benchmark to compare Beluga AMCL and Nav2 AMCL for a nominal configuration.
Type of change
Checklist