-
Notifications
You must be signed in to change notification settings - Fork 706
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
perf(common_ground_filter): performance tuning #5861
perf(common_ground_filter): performance tuning #5861
Conversation
Signed-off-by: taisa1 <kento.osa@tier4.jp>
Signed-off-by: taisa1 <kento.osa@tier4.jp>
Signed-off-by: taisa1 <kento.osa@tier4.jp>
Signed-off-by: taisa1 <kento.osa@tier4.jp>
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 would be great if this PR was modified to pass CodeScene.
perception/ground_segmentation/include/ground_segmentation/scan_ground_filter_nodelet.hpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
Signed-off-by: taisa1 <kento.osa@tier4.jp>
Signed-off-by: taisa1 <kento.osa@tier4.jp>
@taisa1 |
This is the result of TIER IV CI test. TIER IV internal link |
Signed-off-by: taisa1 <kento.osa@tier4.jp>
Signed-off-by: taisa1 <kento.osa@tier4.jp>
Signed-off-by: taisa1 <kento.osa@tier4.jp>
I found that some variables I added have to be updated when corresponding parameter changes, but I hadn't implemented it. This might cause failure so I fixed it. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5861 +/- ##
==========================================
+ Coverage 14.78% 14.79% +0.01%
==========================================
Files 1917 1917
Lines 132046 132109 +63
Branches 39228 39252 +24
==========================================
+ Hits 19523 19548 +25
- Misses 90734 90766 +32
- Partials 21789 21795 +6
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Thanks! |
Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp>
…r-scan_ground_filter
@miursh |
@badai-nguyen
|
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.
@taisa1 @atsushi421 I deeply appreciate your improvement.
I confirmed by logging_simulator
that the obstacle_segmentation/pointcloud
as before and the processing time of /perception/obstacle_segmentation/common_ground_filter
node is improved.
Before | After |
---|---|
![]() |
![]() |
![]() |
![]() |
CI tested result also shows the acceptable pass rate.
LGTM!
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp> Signed-off-by: Kotaro Yoshimoto <pythagora.yoshimoto@gmail.com>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp> Signed-off-by: kaigohirao <kaigo.hirao@proxima-ai-tech.com>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <kento.osa@tier4.jp> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * chore: refactoring Signed-off-by: taisa1 <kento.osa@tier4.jp> * refactor: reflect review Signed-off-by: taisa1 <kento.osa@tier4.jp> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: change unit test to use faster_filter Signed-off-by: taisa1 <kento.osa@tier4.jp> * test: fixed compile error Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: add lacking parameter callback Signed-off-by: taisa1 <kento.osa@tier4.jp> * fix: uninitialized valuabe Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> --------- Signed-off-by: taisa1 <kento.osa@tier4.jp> Signed-off-by: atsushi421 <atsushi.yano.2@tier4.jp> Co-authored-by: taisa1 <kento.osa@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <55824710+atsushi421@users.noreply.github.com> Co-authored-by: atsushi421 <atsushi.yano.2@tier4.jp>
Description
This PR makes scan_ground_filter (common_ground_filter) faster without changing the logical output.
The tail latency of the scan_ground_filter gets about x1.7 faster with this PR merged.
The main changes are as follows:
std::atan2
,pcl::PointCloud
.In addition, some small changes are made to improve performance.
Measurement Condition
・Ubuntu22.04 + ROS2 Humble + Autoware Universe rosbag simulation
・Core Isolated
・Core Frequency Fixed (2.3GHz)
・L3 Cache: 24MB
Related links
Tests performed
It has been verified that the content of output topics with the same timestamp is identical before and after the PR.
To reproduce
Download files from https://drive.google.com/drive/folders/1703DlE8MT0rksiQfZGR8A53wwrvMRSEc?usp=drive_link and run
python3 validator.py default.csv after.csv
for comparing results.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.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.