Skip to content

feat: enable pcd divider to generate a metadat file #252

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

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

anhnv3991
Copy link
Contributor

Description

  • Enable the point cloud divider to generate a metadata file of map segments, instead of actually dividing the PCD map. This is helpful when we work with tiny segmentation resolution without needing the actual PCD files. In such cases, dividing the PCD map is super slow, but generating a metadata file is very fast.

How was this PR tested?

  • I tested this on the large Odaiba rinkai map, trying to divide the map to tiny 2.0x2.0m segments.
  • Run this command
    ros2 launch autoware_pointcloud_divider pointcloud_divider.launch.xml input_pcd_or_dir:=<map_path> output_pcd_dir:=<output_folder> grid_size_x:=2.0 grid_size_y:=2.0 metadata_generate:=true
  • A metadata file was generated at the <output_folder>

Notes for reviewers

None.

Effects on system behavior

None.

Copy link

github-actions bot commented May 14, 2025

Thank you for contributing to the Autoware project!

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

Please ensure:

@YamatoAndo
Copy link
Contributor

This is a package intended for dividing map point clouds,
so I don't understand the point of adding a flag that disables that functionality.

@YamatoAndo
Copy link
Contributor

You should consider refactoring the code into a library so that both pcd divider and tp manager can generate metadata.

@anhnv3991
Copy link
Contributor Author

anhnv3991 commented May 16, 2025

@YamatoAndo

This is a package intended for dividing map point clouds, so I don't understand the point of adding a flag that disables that functionality.

I agree that the point cloud divider should divide a map into actuall PCD files. But we don't always want to process maps at point-level. If we examine maps at the segment-level, the metadata is enough. The TP manager now is checking Tps of map segments, so no need to actually divide map points.

I want to keep all the operations related to hashing points, finding segments, and distributing points to segments in a single package. So adding a parameter to generate a metadata file without dividing points is enough, imo.

@anhnv3991
Copy link
Contributor Author

@YamatoAndo

You should consider refactoring the code into a library so that both pcd divider and tp manager can generate metadata.

I will consider this when there are more than two packages that call point cloud divider's functionality. Currently, adding one parameter and call the pcd divider via a python's call is simpler.

@YamatoAndo
Copy link
Contributor

Currently, adding one parameter and call the pcd divider via a python's call is simpler.

It's best to stop using it like that, as it makes no sense.

anhnv3991 and others added 9 commits May 20, 2025 16:01
Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
…e meta_generator function.

Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
@anhnv3991 anhnv3991 force-pushed the feature/pcd_divider_meta_generate branch from 96a873f to c3f3f77 Compare May 20, 2025 07:01
anhnv3991 and others added 3 commits May 22, 2025 23:52
…cripts

Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
Signed-off-by: Anh Nguyen <anh.nguyen.2@tier4.jp>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants