-
Notifications
You must be signed in to change notification settings - Fork 639
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): apply lerp instead of spline #8416
perf(map_based_prediction): apply lerp instead of spline #8416
Conversation
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
Signed-off-by: ktro2828 <[email protected]>
dff3817
to
4037867
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 this change also makes performance improvement!
I made similar change and is under testing.
I think it is better to check if there is degradation on planning.
I'm testing an influence of this PR on planning modules. TIER IV INTERNAL LINK |
@YoshiRi @kyoichi-sugahara @technolojin |
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
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8416 +/- ##
==========================================
- Coverage 23.73% 23.72% -0.01%
==========================================
Files 1379 1381 +2
Lines 101392 101406 +14
Branches 38534 38539 +5
==========================================
- Hits 24063 24059 -4
- Misses 74937 74955 +18
Partials 2392 2392
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
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
…ndation#8416) perf: apply lerp interpolation instead of spline Signed-off-by: ktro2828 <[email protected]>
…ndation#8416) perf: apply lerp interpolation instead of spline Signed-off-by: ktro2828 <[email protected]>
…ndation#8416) perf: apply lerp interpolation instead of spline Signed-off-by: ktro2828 <[email protected]>
…ndation#8416) perf: apply lerp interpolation instead of spline Signed-off-by: Kotaro Uetake <[email protected]>
…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 <[email protected]> Co-authored-by: Shintaro Tomie <[email protected]> Co-authored-by: Kotaro Uetake <[email protected]> * perf(map_based_prediction): remove unncessary withinRoadLanelet() (autowarefoundation#8403) Signed-off-by: Mamoru Sobue <[email protected]> * perf(map_based_prediction): create a fence LineString layer and use rtree query (autowarefoundation#8406) use fence layer Signed-off-by: Mamoru Sobue <[email protected]> * perf(map_based_prediction): apply lerp instead of spline (autowarefoundation#8416) perf: apply lerp interpolation instead of spline Signed-off-by: Kotaro Uetake <[email protected]> * 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 <[email protected]> * Update perception/autoware_map_based_prediction/src/map_based_prediction_node.cpp Co-authored-by: Kotaro Uetake <[email protected]> * Update perception/autoware_map_based_prediction/src/map_based_prediction_node.cpp Co-authored-by: Kotaro Uetake <[email protected]> --------- Signed-off-by: Taekjin LEE <[email protected]> Co-authored-by: Shumpei Wakabayashi <[email protected]> Co-authored-by: Kotaro Uetake <[email protected]> * 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 <[email protected]> * perf(map_based_prediction): get transform only when it is necessary Signed-off-by: Taekjin LEE <[email protected]> --------- Signed-off-by: Taekjin LEE <[email protected]> * feat(autoware_universe_utils): add LRU Cache (autowarefoundation#8456) Signed-off-by: Yukinari Hisaki <[email protected]> * 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 <[email protected]> * fix(autoware_map_based_prediction): use surrounding_crosswalks instead of external_surrounding_crosswalks (autowarefoundation#8467) Signed-off-by: Yukinari Hisaki <[email protected]> --------- Signed-off-by: Mamoru Sobue <[email protected]> Signed-off-by: Kotaro Uetake <[email protected]> Signed-off-by: Taekjin LEE <[email protected]> Signed-off-by: Yukinari Hisaki <[email protected]> Co-authored-by: Onur Can Yücedağ <[email protected]> Co-authored-by: Shintaro Tomie <[email protected]> Co-authored-by: Kotaro Uetake <[email protected]> Co-authored-by: Mamoru Sobue <[email protected]> Co-authored-by: Shumpei Wakabayashi <[email protected]> Co-authored-by: Yukinari Hisaki <[email protected]>
…ndation#8416) perf: apply lerp interpolation instead of spline Signed-off-by: ktro2828 <[email protected]> Signed-off-by: xtk8532704 <[email protected]>
Description
Use
interpotion::lerp
instead ofinterpolation::spline
inPathGenerator::generatePathForonLaneVehicle
.This PR improved worst case execution time of
MapBasedPrediction::objectsCallback
from 36.86[ms] to 28.47[ms] on my device.CPU time (during the node is active) comparison of
PathGenerator::generatePathForonLaneVehicle
is as follows:Before: 1.792[s] -> After: 0.520[s]
Related links
Parent Issue:
How was this PR tested?
I checked predicted paths with this data. TIER IV INTERNAL LINK
TODO
Notes for reviewers
None.
Interface changes
None.
Effects on system behavior
None.