autoware.universe icon indicating copy to clipboard operation
autoware.universe copied to clipboard

feat(pointcloud_preprocessor): runtime configurable output topic qos

Open ralwing opened this issue 11 months ago • 2 comments

Description

This change would allow runtime qos configuration for filter output topic. Currently, it is not even possible to use filters with nodes which have qos configured as reliable. According to ROS2 documentation it would be possible to configure qos at runtime:

Node(
                package="pointcloud_preprocessor",
                executable="crop_box_filter_node",
                name="crop_box_filter",
                parameters=[
                    {"input_frame": "base_link"},
                    {"output_frame": "base_link"},
                    {"qos_overrides.output.reliability": "reliable"},
                ],
            ),

The output topic must be in fact fully qualified topic name, and cannot be changed after the node is constructed, however this feature is still extending filter nodes usability.

Tests performed

Feature: I've tested crop-box-filter with different qos settings.

Effects on system behavior

Not applicable.

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • [ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

ralwing avatar Mar 20 '24 09:03 ralwing

@ralwing Could you elaborate more on the background of this PR, e.g. what issue you want to solve?

kminoda avatar Mar 29 '24 01:03 kminoda

@kminoda
In this pull request, I'd like to fix missing node ability to work with different qos subscriber configurations. Currently, when a subscriber has a reliable qos reliability configured, it can't retrieve data from this node. And primarly, IMHO QoS settings should be easily configurable without the need to change source code.

ralwing avatar May 06 '24 12:05 ralwing

@knzo25
I've added it to publishers in pointcloud_processor.

ralwing avatar May 22 '24 12:05 ralwing

@ralwing Thanks for the changes. Doing a Ctrl+F search, I think I saw concatenate_and_time_sync and ring_outlier_filter with PointCloud2 publishers without the runtime configurable options (not the main pointcloud but still releveant)

knzo25 avatar May 23 '24 04:05 knzo25

@ralwing It is been around a month since the last activity in this PR. If you do not think you will be able to continue working on this PR, please let us know so that we can try to arrange resources to continue working on this ourselves, or close the PR.

knzo25 avatar Jun 21 '24 06:06 knzo25

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

github-actions[bot] avatar Jun 25 '24 20:06 github-actions[bot]

I've added missing policies configuration in pointcloud preprocessor and additionally in livox_tag_filter and radar_scan_to_pointcloud2, which concludes these changes in sensing subfolder.

ralwing avatar Jun 25 '24 20:06 ralwing

@scepter914 @technolojin @YoshiRi It seems we need an approval from one of you guys !

knzo25 avatar Jul 01 '24 11:07 knzo25

Codecov Report

Attention: Patch coverage is 17.85714% with 23 lines in your changes missing coverage. Please review.

Project coverage is 28.54%. Comparing base (335ed8b) to head (cbde5fa). Report is 4 commits behind head on main.

Files Patch % Lines
...atenate_data/concatenate_and_time_sync_nodelet.cpp 0.00% 4 Missing :warning:
...are_livox_tag_filter/src/livox_tag_filter_node.cpp 0.00% 3 Missing :warning:
...lier_filter/dual_return_outlier_filter_nodelet.cpp 0.00% 3 Missing :warning:
...ointcloud2_node/radar_scan_to_pointcloud2_node.cpp 0.00% 3 Missing :warning:
...r/src/concatenate_data/concatenate_pointclouds.cpp 0.00% 2 Missing :warning:
...or/src/crop_box_filter/crop_box_filter_nodelet.cpp 0.00% 2 Missing :warning:
...src/outlier_filter/ring_outlier_filter_nodelet.cpp 0.00% 2 Missing :warning:
...rc/time_synchronizer/time_synchronizer_nodelet.cpp 0.00% 2 Missing :warning:
.../vector_map_filter/lanelet2_map_filter_nodelet.cpp 0.00% 2 Missing :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6658      +/-   ##
==========================================
+ Coverage   28.37%   28.54%   +0.16%     
==========================================
  Files        1583     1588       +5     
  Lines      115588   115852     +264     
  Branches    49278    49351      +73     
==========================================
+ Hits        32798    33066     +268     
+ Misses      73819    73773      -46     
- Partials     8971     9013      +42     
Flag Coverage Δ *Carryforward flag
differential 9.64% <17.85%> (?)
total 28.37% <ø> (+<0.01%) :arrow_up: Carriedforward from 335ed8b

*This pull request uses carry forward flags. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Jul 03 '24 01:07 codecov[bot]

@knzo25 The clang-tidy reports hundreds of warnings, which are unrelated with this PR.

ralwing avatar Jul 03 '24 06:07 ralwing

@ralwing Yes, but they are not required as of now. Can you Squash and merge ?

knzo25 avatar Jul 03 '24 06:07 knzo25

Nope: image

ralwing avatar Jul 03 '24 06:07 ralwing

Ok, I was waiting for you to merge this. I will do it instead

knzo25 avatar Jul 03 '24 06:07 knzo25