-
Notifications
You must be signed in to change notification settings - Fork 58
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(autoware_crop_box_filter): reimplementation in core repo #279
Conversation
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
fd55475
to
c058c0f
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #279 +/- ##
===========================================
- Coverage 78.75% 19.93% -58.82%
===========================================
Files 11 3 -8
Lines 193 321 +128
Branches 73 140 +67
===========================================
- Hits 152 64 -88
- Misses 11 245 +234
+ Partials 30 12 -18
☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
2fba5f5
to
b6d2303
Compare
01af502
to
1b2c7a5
Compare
According to @mitsudome-r san, we'll implement the
Thank you in advance. |
Sasaki san, @sasakisasaki I double check the pr and remove the sentence “porting autoware_crop_box_filter” Please feel free to leave further comment Best regards 心刚 |
9271b94
to
c18f321
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add unit tests to check whether the point cloud passes or does not pass through the filter.
2e18215
to
b52a5ed
Compare
sure kondo san @youtalk Best regards 心刚 |
9bf5343
to
44df055
Compare
Hello ,Kondo san @youtalk Unit test for “filter function check” already added,in this test case :
Have a nice day 心刚 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It’s difficult to point out specific issues, but overall, it reads as if the memory efficiency is poor.
sensing/autoware_crop_box_filter/include/autoware/crop_box_filter/crop_box_filter_node.hpp
Outdated
Show resolved
Hide resolved
31b3b98
to
5a45c3d
Compare
5a45c3d
to
4ca6f61
Compare
ef31beb
to
7ed6522
Compare
sensing/autoware_crop_box_filter/include/autoware/crop_box_filter/crop_box_filter_node.hpp
Show resolved
Hide resolved
9a0ac28
to
838d5f4
Compare
04ca6ae
to
785d1da
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is good enough for initial implementation.
We can improve the memory efficiency in the other PRs if we need improvements.
I just would like to have someone from original Sensing/Perception engineers to have a quick review as well. (cc. @YoshiRi )
…oware_crop_box_filter, extracted from universe-sensing-pointcloud-preprocessor reimplemented on core repo : v0.0 Signed-off-by: liuXinGangChina <[email protected]>
…oware_crop_box_filter, add readme: v0.1 Signed-off-by: liuXinGangChina <[email protected]>
785d1da
to
530b6e3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I compared the original with the implementation, and I think it's safe to say that it's a completely different implementation. So, if the crop box algorithm itself isn't subject to any licensing, I think it's fine to remove it. If any problems arise, I'll take responsibility for now.
https://github.com/PointCloudLibrary/pcl/blob/master/filters/src/crop_box.cpp
https://github.com/autowarefoundation/autoware_core/pull/279/files
sensing/autoware_crop_box_filter/include/autoware/crop_box_filter/crop_box_filter_node.hpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
sensing/autoware_crop_box_filter/include/autoware/crop_box_filter/crop_box_filter_node.hpp
Outdated
Show resolved
Hide resolved
4435a64
to
d561a12
Compare
Description
Extracted from universe-sensing-pointcloud-preprocessor and reimplemented on core repo
Reimplementation content
4.1 construct a input pointcloud which contain points both inside and outside the box, and pass it to the filter
4.2 check the total number of points in the output pointcloud, whether it equals expectation
4.3 check every point of the output pointcloud, whether it should pass the filter
What's the difference from original code
Related links
Parent Issue:
How was this PR tested?
1.1 type the command in a terminal --
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --symlink-install
2.1 in terminal 1 launch AWSIM and use
ros2 topic list
to confirm that the pointcloud topic exist2.2 in terminal 2 source autoware workspace first, then type
ros2 run tf2_ros static_transform_publisher 2.0 3.2 1.3 0 0 0 1 velodyne_top_base_link base_link
to publish a static tf manually2.3 in terminal 3 source autoware workspace, launch crop_box_filter_node by typing
ros2 launch autoware_crop_box_filter crop_box_filter_node.launch.xml
2.4 in terminal 4 source autoware workspace, launch rviz, set frame id to
base_link
, add bbox topic and output pointcloud topic using add button.2.5 you will see that all the point cloud inside the green bbox is cropped, which mean "self-crop" succeed
3.1 repeat operation 2.2 ~ 2.4
3.2 in a new terminal open parameter reconfigure tool rqt_reconfigure using command
ros2 run rqt_reconfigure rqt_reconfigure
3.3 in rqt_reconfigure, change the parameter and see the pointcloud meets your expectation.
e.g. set negative to false will crop the pointcloud outside the bbox and keep the pointcloud inside the bbox
Notes for reviewers
None.
Interface changes
None.
Effects on system behavior
None.