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

Apply map post filters in different frames #10

Open
boxanm opened this issue Oct 13, 2022 · 1 comment
Open

Apply map post filters in different frames #10

boxanm opened this issue Oct 13, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@boxanm
Copy link
Contributor

boxanm commented Oct 13, 2022

Nowadays, all filters applied to the map point cloud in the post step are in the sensor's frame. Although the coordinate frame does not matter for some filters, there are cases when it could be beneficial to add support for different frames:

  • Bounding box filter - often used to remove points in a close neighbourhood of the sensor, such as reflections from the platform the sensor is attached to. However, it could also be applied to remove parts of the environment and in that case we need a fixed frame to apply it in.
  • Voxel-based filters - a moving origin causes the individual voxels to move as well, giving a different result than with a fixed voxel origin

I imagine that there could be a frame parameter for each filter in the yaml config file, with default values being the sensor frame for the input filters and the map frame for the map post filters. Other frames could be loaded from another config file, even though I don't see any point in using different frames than the two mentioned.

As for the implementation, the mapper currently relies on libpointmatcher when it comes to loading the yaml files. This would need to be replaced by something that first loads the filter's frame and then passes the description of the filter itself to libpointmatcher. The resulting yaml structure could look something like this:

map_post_filter.yaml

- map:
      - BoundingBoxDataPointsFilter:
              ...
      - SurfaceNormalDataPointsFilter:
              ...
- sensor:  
      - BoundingBoxDataPointsFilter:
              ...
@boxanm boxanm added the enhancement New feature or request label Oct 13, 2022
@pomerlef
Copy link

I think that would indeed be a good feature to add,

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

No branches or pull requests

2 participants