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

refactor(pointcloud_preprocessor): rework parameters #7422

Closed
wants to merge 307 commits into from

Conversation

Ariiees
Copy link
Contributor

@Ariiees Ariiees commented Jun 10, 2024

Description

Implement the ROS Node configuration layout for the sensing/pointcloud_preprocessor package.

Test performed

  1. Build
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to autoware_vehicle_info_utils
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to pointcloud_preprocessor
  1. Launch
ros2 launch pointcloud_preprocessor approximate_downsample_filter.launch.xml
ros2 launch pointcloud_preprocessor blockage_diag.launch.xml
ros2 launch pointcloud_preprocessor distortion_corrector.launch.xml
ros2 launch  pointcloud_preprocessor dual_return_outlier_filter.launch.xml
ros2 launch pointcloud_preprocessor lanelet2_map_filter.launch.xml
ros2 launch pointcloud_preprocessor pickup_based_voxel_grid_downsample_filter.launch.xml
ros2 launch pointcloud_preprocessor pointcloud_accumulator.launch.xml
ros2 launch pointcloud_preprocessor polygon_remover.launch.py
ros2 launch pointcloud_preprocessor preprocessor.launch.xml
ros2 launch pointcloud_preprocessor radius_search_2d_outlier_filter.launch.xml
ros2 launch pointcloud_preprocessor random_downsample_filter.launch.xml
ros2 launch pointcloud_preprocessor ring_outlier_filter.launch.xml
ros2 launch pointcloud_preprocessor ring_passthrough_filter.launch.xml
ros2 launch pointcloud_preprocessor vector_map_inside_area_filter.launch.xml
ros2 launch pointcloud_preprocessor voxel_grid_downsample_filter.launch.xml
ros2 launch pointcloud_preprocessor voxel_grid_outlier_filter.launch.xml

Notes for reviewers

None

Interface Changes

  1. Remove all default values in declare_parameter() function
  2. Create .yaml files for all used nodes.
  3. Update .launch.xml file to import .yaml.
  4. Create schema for each launch file.
  5. Update README.md
  6. Test build and launch successfully.

Effects on system behavior

None

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 type:documentation Creating or refining documentation. (auto-assigned) component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) labels Jun 10, 2024
@knzo25
Copy link
Contributor

knzo25 commented Jun 11, 2024

@Ariiees
Thanks your contribution !
There seems to be some string + yaml issues according to pre-commit. Could you please address it?

@vividf
Please handle this when you have time (as a guideline, withing the week). Be mindful that this may cause virtual conflicts with your other PRs due to the inclusion of parameters

@Ariiees
Copy link
Contributor Author

Ariiees commented Jun 11, 2024 via email

Copy link
Contributor

@vividf vividf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Ariiees
Thanks for your work!!

I reviewed some node files and found some parts look weird.
I also run with ros2 launch pointcloud_preprocessor preprocessor.launch.xml and there seem to be some errors.
For instance:
[concatenate_filter]: Need an 'output_frame' parameter to be set before continuing! (PointCloudConcatenationComponent())
Could you fix those issues?

Also, would be nice to signoff everytime for your commit :)

@vividf
Copy link
Contributor

vividf commented Jun 14, 2024

@Ariiees

Apologies that the current pointcloud preprocessor doesn't have a launch file for each node, therefore it is required to have those launch files together with this PR, otherwise, the user can't run the single ros node by ros2 run pointcloud_preprocessor <node_name>

You can take a look at this PR 4a82886 (especially the schema, param, and launch files).

To merge your hard work, you might need to provide more launch files (except the distortion correction node, and concatenation node as I am working on these nodes now) and make sure all of the launch files (including the previous one that I mentioned such as preprocessor.launch.xml can work as expected.

Thank you again for your contribution. Please let me know if you have any questions 👍

btw, just in case you haven't installed pre-commit before, you can install with pip install pre-commit and run pre-commit install in your repository.

@Ariiees
Copy link
Contributor Author

Ariiees commented Jun 15, 2024

@vividf
Thank you so much for your suggestion! I have reconfigured the .launch.py file. Make sure all parameters are imported correctly. The current node could launch successfully after the build following the command in build and launch instructions.
I will proceed to write a launch file for each node!

@Ariiees Ariiees force-pushed the pointcloud_preprocessor branch from 238f6ef to 89c98c4 Compare June 20, 2024 15:50
@vividf
Copy link
Contributor

vividf commented Jun 21, 2024

@Ariiees

Please let me know when the PR is ready for review :)

@Ariiees Ariiees force-pushed the pointcloud_preprocessor branch from c77d688 to 99ca83e Compare June 24, 2024 15:22
@Ariiees
Copy link
Contributor Author

Ariiees commented Jun 24, 2024

@Ariiees

Please let me know when the PR is ready for review :)

@vividf I have added other launch files and tested them successfully on my side. Also add schema for each launch file. Could you test it again? Thank you!

@vividf vividf self-requested a review June 27, 2024 06:37
Copy link
Contributor

@vividf vividf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Ariiees
Thanks again for your contribution, I did some checks and would like you to fix them before I review them in more detail.

For the comments, please apply them to all of the other files.
Additionally, the parameter file should be xxx.param.yaml

Copy link

github-actions bot commented Jul 2, 2024

Thank you for contributing to the Autoware project!

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

Please ensure:

@vividf vividf added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Jul 4, 2024
@vividf
Copy link
Contributor

vividf commented Jul 10, 2024

Hi @Ariiees, let me know when the PR is ready for review. Thanks!

@Ariiees
Copy link
Contributor Author

Ariiees commented Jul 11, 2024

Hi @Ariiees, let me know when the PR is ready for review. Thanks!

Hi @vividf. Thank you so much for your time and suggestions. I have resolved the problems. Could you please check again? Thanks!

@vividf vividf self-requested a review July 16, 2024 03:39
@github-actions github-actions bot removed component:tools Utility and debugging software. (auto-assigned) component:system System design and integration. (auto-assigned) component:map Map creation, storage, and loading. (auto-assigned) component:vehicle Vehicle-specific implementations, drivers, packages. (auto-assigned) type:ci Continuous Integration (CI) processes and testing. (auto-assigned) component:launch Launch files, scripts and initialization tools. (auto-assigned) component:common Common packages from the autoware-common repository. (auto-assigned) component:simulation Virtual environment setups and simulations. (auto-assigned) component:evaluator Evaluation tools for planning, localization etc. (auto-assigned) labels Jul 24, 2024
@vividf
Copy link
Contributor

vividf commented Jul 29, 2024

@Ariiees
I noticed that after you force-push the branch, there are many conflicts you need to solve.
If you feel it is too hard to solve them, you can close this PR and create a new PR.

@vividf vividf removed type:documentation Creating or refining documentation. (auto-assigned) component:perception Advanced sensor data processing and environment understanding. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) labels Jul 29, 2024
@Ariiees
Copy link
Contributor Author

Ariiees commented Jul 29, 2024

@Ariiees I noticed that after you force-push the branch, there are many conflicts you need to solve. If you feel it is too hard to solve them, you can close this PR and create a new PR.

@vividf Yes.... I made a stupid mistake in the last update; I've tried to rebase to the current main and solve the conflict (shown in the current pr). Sorry for the trouble! I will keep the current point cloud preprocessor folder and clone the latest main to create a new RP (will also update the website address in Google sheet)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) 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.