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: migrating pointcloud types #6996

Merged
merged 32 commits into from
Jul 9, 2024

Conversation

knzo25
Copy link
Contributor

@knzo25 knzo25 commented May 13, 2024

Description

This PR migrates the point types in autoware as per the discussions in the S/P WG.
*Note1: the nebula driver is already compatible with this new format with velodyne_points and pandar_points
*Note2: only the the nodes needed in sensing and perception were tested. The components in the sensing directory that are actually used in localization were not tested

Related links

WG minutes:
https://github.com/orgs/autowarefoundation/discussions/3533

Other more recent internal discussions:
TIER IV INTERNAL LINK
TIER IV INTERNAL LINK

Tests performed

  • Run autoware in the taxi and the output of centerpoint

Notes for reviewers

Interface changes

ROS Topic Changes

ROS Parameter Changes

Effects on system behavior

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.

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
@knzo25 knzo25 self-assigned this May 13, 2024
@github-actions github-actions bot added component:perception Advanced sensor data processing and environment understanding. (auto-assigned) component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) component:common Common packages from the autoware-common repository. (auto-assigned) labels May 13, 2024
@knzo25
Copy link
Contributor Author

knzo25 commented May 13, 2024

@tzhong518
Pointpainting does some sketchy pointcloud processing (I refer to the part that uses sensor_msgs::PointCloud2Modifier). Can you check that things are ok in this regard?

@badai-nguyen
Copy link
Contributor

@knzo25 There is a conflict in perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp, could you fixed it?

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…e out of scope before

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

 Conflicts:
	perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
	sensing/pointcloud_preprocessor/include/pointcloud_preprocessor/outlier_filter/ring_outlier_filter_nodelet.hpp
	sensing/pointcloud_preprocessor/src/outlier_filter/ring_outlier_filter_nodelet.cpp
@knzo25
Copy link
Contributor Author

knzo25 commented May 27, 2024

@badai-nguyen
Done

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Copy link

github-actions bot commented Jun 27, 2024

Thank you for contributing to the Autoware project!

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

Please ensure:

@mitsudome-r
Copy link
Member

@knzo25 Thanks for the PR.

Are there any concerns from AWF that we must address before merging this?

As long as they are reviewed by the codeowners and tested properly. It should be fine to merge.
It would be better if you can make sure that the rosbag replay simulation in our official document works fine with the updated point type as well.

@knzo25
Copy link
Contributor Author

knzo25 commented Jul 1, 2024

A PR for the sample rosbag was sent in Link
The counterpart for internal projects was sent in TIER IV INTERNAL LINK

@knzo25
Copy link
Contributor Author

knzo25 commented Jul 3, 2024

@YoshiRi
It seems that I also need your review due to the changes in tier4_perception_launch

Copy link
Contributor

@YoshiRi YoshiRi left a comment

Choose a reason for hiding this comment

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

LGTM

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
@knzo25 knzo25 merged commit 54a0c57 into autowarefoundation:main Jul 9, 2024
28 of 30 checks passed
Ariiees pushed a commit to Ariiees/autoware.universe that referenced this pull request Jul 22, 2024
* feat: changed most of sensing to the new type

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: started applying changes to the perception stack

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* feat: confirmed operation until centerpoint

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* feat: reverted to the original implementation of pointpainting

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: forgot to push a header

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* feat: also implemented the changes for the subsample filters that were out of scope before

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* fix: some point type changes were missing from the latest merge from main

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: removed unused code, added comments, and brought back a removed publish

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: replaced pointcloud_raw for pointcloud_raw_ex to avoid extra processing time in the drivers

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* feat: added memory layout checks

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: updated documentation regarding the point types

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: added hyperlinks to the point definitions. will be valid only once the PR is merged

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* fix: fixed compilation due to moving the utilities files to the base library

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: separated the utilities functions due to a dependency issue

* chore: forgot that perception also uses the filter class

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* feature: adapted the undistortion tests to the new point type

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

---------

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Co-authored-by: kminoda <44218668+kminoda@users.noreply.github.com>
Co-authored-by: badai nguyen <94814556+badai-nguyen@users.noreply.github.com>
@mitsudome-r
Copy link
Member

https://gist.github.com/mitsudome-r/cef28d3b8312e6a590cb6f577d47655a
Here's the code to convert the old pointcloud type to new pointcloud type

TomohitoAndo pushed a commit to tier4/autoware.universe that referenced this pull request Sep 10, 2024
* feat: changed most of sensing to the new type

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: started applying changes to the perception stack

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* feat: confirmed operation until centerpoint

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* feat: reverted to the original implementation of pointpainting

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: forgot to push a header

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* feat: also implemented the changes for the subsample filters that were out of scope before

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* fix: some point type changes were missing from the latest merge from main

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: removed unused code, added comments, and brought back a removed publish

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: replaced pointcloud_raw for pointcloud_raw_ex to avoid extra processing time in the drivers

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* feat: added memory layout checks

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: updated documentation regarding the point types

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: added hyperlinks to the point definitions. will be valid only once the PR is merged

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* fix: fixed compilation due to moving the utilities files to the base library

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* chore: separated the utilities functions due to a dependency issue

* chore: forgot that perception also uses the filter class

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

* feature: adapted the undistortion tests to the new point type

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>

---------

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Co-authored-by: kminoda <44218668+kminoda@users.noreply.github.com>
Co-authored-by: badai nguyen <94814556+badai-nguyen@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:common Common packages from the autoware-common repository. (auto-assigned) component:launch Launch files, scripts and initialization tools. (auto-assigned) component:perception Advanced sensor data processing and environment understanding. (auto-assigned) component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants