-
Notifications
You must be signed in to change notification settings - Fork 650
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(mission_planner): consider overlap lanelets when enable_correct_goal_pose param is true #5533
base: main
Are you sure you want to change the base?
fix(mission_planner): consider overlap lanelets when enable_correct_goal_pose param is true #5533
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5533 +/- ##
==========================================
- Coverage 14.94% 14.84% -0.10%
==========================================
Files 1943 1838 -105
Lines 133953 126717 -7236
Branches 39841 37982 -1859
==========================================
- Hits 20020 18817 -1203
+ Misses 91656 86652 -5004
+ Partials 22277 21248 -1029
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
@beyzanurkaya is it ok to update this branch? |
d3bd760
to
256369a
Compare
@kosuke55 sure, I rebased the branch onto main. |
I am working on a PR also covers/solves this issue. So when I am done, I would like to review this PR as well before we possibly merge it. |
256369a
to
0a0342c
Compare
0a0342c
to
7237442
Compare
@beyzanurkaya @mehmetdogru |
some scenarios related shoulder_lanes fails, but I did not check closely 🙏 |
208003b
to
4590451
Compare
for (const auto & gl_llt : goal_lanelets) { | ||
if ( | ||
param_.check_footprint_inside_lanes && | ||
!check_goal_footprint(gl_llt, combined_prev_lanelet, polygon_footprint, next_lane_length) && | ||
!is_in_parking_lot( | ||
lanelet::utils::query::getAllParkingLots(lanelet_map_ptr_), | ||
lanelet::utils::conversion::toLaneletPoint(goal.position))) { | ||
RCLCPP_WARN(logger, "Goal's footprint exceeds lane!"); | ||
is_goal_valid = false; | ||
} else { | ||
is_goal_valid = true; | ||
} | ||
|
||
if (is_in_lane(closest_lanelet, goal_lanelet_pt)) { | ||
const auto lane_yaw = lanelet::utils::getLaneletAngle(closest_lanelet, goal.position); | ||
const auto goal_yaw = tf2::getYaw(goal.orientation); | ||
const auto angle_diff = tier4_autoware_utils::normalizeRadian(lane_yaw - goal_yaw); | ||
if (is_in_lane(gl_llt, goal_lanelet_pt)) { | ||
const auto lane_yaw = lanelet::utils::getLaneletAngle(gl_llt, goal.position); | ||
const auto goal_yaw = tf2::getYaw(goal.orientation); | ||
const auto angle_diff = tier4_autoware_utils::normalizeRadian(lane_yaw - goal_yaw); | ||
|
||
const double th_angle = tier4_autoware_utils::deg2rad(param_.goal_angle_threshold_deg); | ||
if (std::abs(angle_diff) < th_angle) { | ||
return true; | ||
const double th_angle = tier4_autoware_utils::deg2rad(param_.goal_angle_threshold_deg); | ||
if (std::abs(angle_diff) < th_angle) { | ||
return true; | ||
} |
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.
If goal's footprint exceeds lane but the process below may return true, is it ok?
It is like the footprint check is ignored.
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 is ok for us because we don't have any motivation to check footprint.
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.
@kosuke55 I'm asking just to be sure, is your suggestion to completely remove the footprint check instead of an edit that will eliminate the logical issue here?
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.
@kosuke55 friendly ping
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.
@beyzanurkaya
Sorry for the delay.
I am not sure if we should remove the footprint check, but the results of it sometimes appear to be unused.
This PR appears to return true
even if is_goal_valid
is false
if one point of goal_lanelet_pt is in the goal lane and the angle is threshold only.
In what scene would you use the result of the footprint check?
(i.e., in what scene return is_goal_valid;
)
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.
Would the conditional branch look like this?
○: true
× : false
If goal's footprint exceeds lane but the process below may return true, is it ok?
It is like the footprint check is ignored.
I mentioned about 2,3 pattern.
In what scene would you use the result of the footprint check?
(i.e., in what scene return is_goal_valid;)
I think this scnene is 3 or 5.
5 will ignore the angle check.
This pull request has been automatically marked as stale because it has not had recent activity. |
4590451
to
f805b36
Compare
@beyzanurkaya could you resolve the conflicts and update this PR? Do you have any blockers or questions on this PR? |
I would suggest to first squash, then rebase to make it easier to resolve the conflicts. You can contact me if you need help. |
f51def1
to
84a591e
Compare
Signed-off-by: beyza <bnk@leodrive.ai>
84a591e
to
1c3540a
Compare
This pull request has been automatically marked as stale because it has not had recent activity. |
Description
Fixes:
Tests performed
fix-overlap-goal-lanes.mp4
wip tier4 internal scenario test
evaluator_description: fix/consider-overlap-lanelet
2023/11/30 https://evaluation.tier4.jp/evaluation/reports/b059c77e-39d1-5d8c-8367-127e79619b10/?project_id=prd_jt
Not applicable.
Effects on system behavior
Not applicable.
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.