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

feat(tier4_localization_launch): create a launcher for a node_container of pointcloud preprocessing in the localization component #6500

Conversation

TaikiYamada4
Copy link
Contributor

@TaikiYamada4 TaikiYamada4 commented Feb 27, 2024

Description

Due to the upcoming demands, Autoware should cover the use cases where the concatenated pointcloud will be applied as an input to the localization component. Since the architecture of the pointcloud container has changed, we can't have a straight node container from the preprocessor in the sensing component to that of the localization component when we want to use the concatenated pointcloud.

Therefore, the launch system in the localization component should have a feature to launch its own pointcloud preprocessing node container, and this PR is meant to do so.

Plus, we can launch the localization component cleanly if it can launch the pointcloud container by its own.

A simple flowchart of how the launching goes is described here.

localization_pointcloud_container drawio

The argument lidar_container_name is changed to target_pointcloud_container_name since it might not be a node container related to a specific LiDAR.

Related links

This PR should be merged with this PR in autoware_launch!!

Tests performed

I tested this launch system via the logging_simulator tutorial and get the following results when I ros2 component list

(Excerpted)
/localization/util/pointcloud_preprocessor/pointcloud_container
  1  /localization/util/crop_box_filter_measurement_range
  2  /localization/util/voxel_grid_downsample_filter
  3  /localization/util/random_downsample_filter

Notes for reviewers

This PR should be merged with this PR in autoware_launch!!

Interface changes

A new node_container named /localization/util/pointcloud_preprocessor/pointcloud_container will be launched, and /localization/util/crop_box_filter_measurement_range, /localization/util/voxel_grid_downsample_filter, and /localization/util/random_downsample_filter will be added to it.

Effects on system behavior

If the user didn't define target_pointcloud_container_name in the tier4_localization_component.launch.xml of autoware_launch, the pointcloud publication/subscription between sensing & localization components will be done outside the node container, which leads to an increase of latency. (about + 20ms in my PC).

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.

  • The PR follows the pull request guidelines.
  • The PR has been properly tested.
  • The PR has been reviewed by the code owners.

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.
  • The PR is ready for merge.

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

@github-actions github-actions bot added the component:launch Launch files, scripts and initialization tools. (auto-assigned) label Feb 27, 2024
@TaikiYamada4 TaikiYamada4 added the tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Feb 27, 2024
@TaikiYamada4 TaikiYamada4 self-assigned this Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:launch Launch files, scripts and initialization tools. (auto-assigned) tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant