Skip to content
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 system level tests for localization #127

Closed
ivanpauno opened this issue Mar 3, 2023 · 1 comment · Fixed by #138
Closed

Add system level tests for localization #127

ivanpauno opened this issue Mar 3, 2023 · 1 comment · Fixed by #138
Assignees
Labels
enhancement New feature or request

Comments

@ivanpauno
Copy link
Collaborator

Description

Definition of done

Add system level tests, having them passing should give the same level of "confidence" that a PR is working than manually running an exemple (e.g. the bagfile example).

Additional considerations

Possible system tests to add:

  • Use nav2 system tests for localization.
    Maybe contribute to nav2 so they can also be used with other external amcl implementations (?).
  • Having a system test in beluga, that reads recorded sensor/odometry/map data and feeds beluga amcl implementation, while checking the estimation is within some conditions.
    The recorded format could be a bagfile:
    • If we want to keep beluga ROS agnostic, we should only compile those if the dependencies are available (i.e. rosbag2)
    • Altarnatively, we can use a ros agnostic rosbag reader.
      That's one is the only one I know, and it's python only, which would make interfacing with a C++ test not that nice.
      Though we could use that to postprocess bagfiles and record that in a format friendly for a pure C++ test (that doesn't have rosbag2 as a dependency).
@ivanpauno ivanpauno added the enhancement New feature or request label Mar 3, 2023
@ivanpauno ivanpauno mentioned this issue Mar 3, 2023
2 tasks
@ivanpauno
Copy link
Collaborator Author

Use nav2 system tests for localization

After having read those, they aren't really useful.
They're only testing the initial pose feature.

So I think I will create a new one.

@ivanpauno ivanpauno mentioned this issue Mar 15, 2023
6 tasks
ivanpauno added a commit that referenced this issue Mar 21, 2023
Fixes #127 

## Summary

First iteration of system level tests.

Details:
* Reads data from bagfile.
* Uses beluga_amcl::OccupancyGrid wrapper.
* Unrelated fix to `MonteCarloLocalization2d`.
* Parameterized: both bagfile and particle filter implementation.
* Checks tolerance between ground truth and localization result.
  It would maybe be better to measure RMSE and have a tolerance for that
(maybe also keeping the max tolerance).

Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant