-
Notifications
You must be signed in to change notification settings - Fork 557
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
fix(avoidance): fix invalid road bound distance calculation #6781
fix(avoidance): fix invalid road bound distance calculation #6781
Conversation
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
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!!
My note
-
If there are several intersected points, the closer one is chosen.
autoware.universe/planning/behavior_path_avoidance_module/src/utils.cpp
Lines 889 to 891 in 0f4cb74
std::sort(intersects.begin(), intersects.end(), [](const auto & a, const auto & b) { return std::get<0>(a) < std::get<0>(b); }); -
I understand that the symmetrical lanelet, obstacle position would work as we expected.
…foundation#6781) fix(avoidance): fix invalid road shoulder distance calculation Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
…foundation#6781) (#1250) fix(avoidance): fix invalid road shoulder distance calculation Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
fix(avoidance): fix invalid road shoulder distance calculation Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
…foundation#6781) fix(avoidance): fix invalid road shoulder distance calculation Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
…foundation#6781) fix(avoidance): fix invalid road shoulder distance calculation Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
…foundation#6781) fix(avoidance): fix invalid road shoulder distance calculation Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
Background
The avoidance module calculates distance to drivable bound by using
tier4_autoware_utils::intersection
with following step.tier4_autoware_utils::calcOffsetPose
.D
) p1 to p3.In most case (fig: nominal case), we can find intersect by following logic. But, in edge case, we can't.
Then, there is following logic as well to calculate
D'
.Description
BUG: The module couldn't calculate distance to drivable bound properly. As a result, the module didn't create avoidance path even when there was enough space to avoid.
This issue caused by unexpected intersetion point calculation in following logic. And, I decreased the hard coded value to 1m in order not to get unexpected intersection point.
Tests performed
simplescreenrecorder-2024-04-09_16.34.49.mp4
Effects on system behavior
Fix bug.
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.