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

perf(map_based_prediction): improve world to map transform calculation #8413

Conversation

technolojin
Copy link
Contributor

@technolojin technolojin commented Aug 8, 2024

Description

improve performance by optimizing transform loading part.

  1. remove unused transforms
  2. make transform loading only when it is necessary, avoid waiting time for tf

Related links

#8388
#8400
#8403
#8406

Parent Issue:

  • Link

How was this PR tested?

Tested under a local environment.

improved runtime (average)
15.97 [ms] -> 15.24 [ms]

Notes for reviewers

None.

Interface changes

None.

Effects on system behavior

None.

@github-actions github-actions bot added the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label Aug 8, 2024
Copy link

github-actions bot commented Aug 8, 2024

Thank you for contributing to the Autoware project!

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

Please ensure:

@technolojin technolojin force-pushed the perf/perception/map_based_pred-tf-optimization branch from cab8307 to 6b8b522 Compare August 13, 2024 07:25
@technolojin technolojin marked this pull request as ready for review August 13, 2024 08:47
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

@technolojin technolojin enabled auto-merge (squash) August 13, 2024 23:56
@technolojin technolojin added the tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Aug 13, 2024
Copy link

codecov bot commented Aug 14, 2024

Codecov Report

Attention: Patch coverage is 0% with 7 lines in your changes missing coverage. Please review.

Project coverage is 23.84%. Comparing base (adfd354) to head (75c08f8).
Report is 6 commits behind head on main.

Files Patch % Lines
...based_prediction/src/map_based_prediction_node.cpp 0.00% 7 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8413      +/-   ##
==========================================
- Coverage   23.85%   23.84%   -0.01%     
==========================================
  Files        1379     1381       +2     
  Lines      101614   101647      +33     
  Branches    38644    38647       +3     
==========================================
- Hits        24238    24236       -2     
- Misses      74918    74952      +34     
- Partials     2458     2459       +1     
Flag Coverage Δ *Carryforward flag
differential 2.04% <0.00%> (?)
total 23.85% <ø> (+<0.01%) ⬆️ Carriedforward from adfd354

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

1. remove unused transforms
2. make transform loading late as possible

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
@technolojin technolojin force-pushed the perf/perception/map_based_pred-tf-optimization branch from 75c08f8 to 52cb9fc Compare August 14, 2024 02:17
@technolojin technolojin merged commit 6b31cf4 into autowarefoundation:main Aug 14, 2024
23 of 24 checks passed
technolojin added a commit to technolojin/autoware.universe that referenced this pull request Aug 15, 2024
autowarefoundation#8413)

* perf(map_based_prediction): improve world to map transform calculation

1. remove unused transforms
2. make transform loading late as possible

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* perf(map_based_prediction): get transform only when it is necessary

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
technolojin added a commit to technolojin/autoware.universe that referenced this pull request Aug 15, 2024
autowarefoundation#8413)

* perf(map_based_prediction): improve world to map transform calculation

1. remove unused transforms
2. make transform loading late as possible

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* perf(map_based_prediction): get transform only when it is necessary

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
technolojin added a commit to tier4/autoware.universe that referenced this pull request Aug 15, 2024
…performance of map_based_prediction (#1464)

* fix(autoware_map_based_prediction): fix argument order (autowarefoundation#8031)

fix(autoware_map_based_prediction): fix argument order in call `getFrenetPoint()`

Signed-off-by: yucedagonurcan <onur@adastec.com>

Co-authored-by: Shintaro Tomie <58775300+Shin-kyoto@users.noreply.github.com>
Co-authored-by: Kotaro Uetake <60615504+ktro2828@users.noreply.github.com>

* perf(map_based_prediction): remove unncessary withinRoadLanelet() (autowarefoundation#8403)

Signed-off-by: Mamoru Sobue <hilo.soblin@gmail.com>

* perf(map_based_prediction): create a fence LineString layer and use rtree query (autowarefoundation#8406)

use fence layer

Signed-off-by: Mamoru Sobue <hilo.soblin@gmail.com>

* perf(map_based_prediction): apply lerp instead of spline (autowarefoundation#8416)

perf: apply lerp interpolation instead of spline

Signed-off-by: Kotaro Uetake <60615504+ktro2828@users.noreply.github.com>

* perf(autoware_map_based_prediction): improve orientation calculation and resample converted path (autowarefoundation#8427)

* refactor: improve orientation calculation and resample converted path with linear interpolation

Simplify the calculation of the orientation for each pose in the convertPathType function by directly calculating the sine and cosine of half the yaw angle. This improves efficiency and readability. Also, improve the resampling of the converted path by using linear interpolation for better performance.

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* Update perception/autoware_map_based_prediction/src/map_based_prediction_node.cpp

Co-authored-by: Kotaro Uetake <60615504+ktro2828@users.noreply.github.com>

* Update perception/autoware_map_based_prediction/src/map_based_prediction_node.cpp

Co-authored-by: Kotaro Uetake <60615504+ktro2828@users.noreply.github.com>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Co-authored-by: Shumpei Wakabayashi <42209144+shmpwk@users.noreply.github.com>
Co-authored-by: Kotaro Uetake <60615504+ktro2828@users.noreply.github.com>

* perf(map_based_prediction): improve world to map transform calculation (autowarefoundation#8413)

* perf(map_based_prediction): improve world to map transform calculation

1. remove unused transforms
2. make transform loading late as possible

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* perf(map_based_prediction): get transform only when it is necessary

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* feat(autoware_universe_utils): add LRU Cache (autowarefoundation#8456)

Signed-off-by: Yukinari Hisaki <42021302+yhisaki@users.noreply.github.com>

* perf(autoware_map_based_prediction): speed up map based prediction by using lru cache in convertPathType (autowarefoundation#8461)

feat(autoware_map_based_prediction): speed up map based prediction by using lru cache in convertPathType

Signed-off-by: Yukinari Hisaki <42021302+yhisaki@users.noreply.github.com>

* fix(autoware_map_based_prediction): use surrounding_crosswalks instead of external_surrounding_crosswalks (autowarefoundation#8467)

Signed-off-by: Yukinari Hisaki <42021302+yhisaki@users.noreply.github.com>

---------

Signed-off-by: Mamoru Sobue <hilo.soblin@gmail.com>
Signed-off-by: Kotaro Uetake <60615504+ktro2828@users.noreply.github.com>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Yukinari Hisaki <42021302+yhisaki@users.noreply.github.com>
Co-authored-by: Onur Can Yücedağ <onur@adastec.com>
Co-authored-by: Shintaro Tomie <58775300+Shin-kyoto@users.noreply.github.com>
Co-authored-by: Kotaro Uetake <60615504+ktro2828@users.noreply.github.com>
Co-authored-by: Mamoru Sobue <hilo.soblin@gmail.com>
Co-authored-by: Shumpei Wakabayashi <42209144+shmpwk@users.noreply.github.com>
Co-authored-by: Yukinari Hisaki <42021302+yhisaki@users.noreply.github.com>
xtk8532704 pushed a commit to tier4/autoware.universe that referenced this pull request Aug 15, 2024
autowarefoundation#8413)

* perf(map_based_prediction): improve world to map transform calculation

1. remove unused transforms
2. make transform loading late as possible

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* perf(map_based_prediction): get transform only when it is necessary

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: xtk8532704 <1041084556@qq.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned) tag: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.

2 participants