-
Notifications
You must be signed in to change notification settings - Fork 667
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(behavior_path_planner): fix lane change logic on the edge case #2287
fix(behavior_path_planner): fix lane change logic on the edge case #2287
Conversation
Codecov ReportBase: 10.62% // Head: 10.52% // Decreases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #2287 +/- ##
==========================================
- Coverage 10.62% 10.52% -0.11%
==========================================
Files 1239 1240 +1
Lines 82824 84020 +1196
Branches 20399 21013 +614
==========================================
+ Hits 8803 8842 +39
- Misses 64329 65246 +917
- Partials 9692 9932 +240
*This pull request uses carry forward flags. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
a0a7f23
to
386d7d7
Compare
I don't get this idea well. Why the "collision check in prepare phase" is not necessary for a parked vehicle? In my understanding, even if it is a parked vehicle, the collision check for lane change must be performed in all phases. |
00d304a
to
f80d3c6
Compare
f80d3c6
to
9929e9c
Compare
89d4c79
to
1c54843
Compare
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
1c54843
to
18ec2fb
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.
LGTM
Discussion with @zulfaqar-azmi-t4 : the collision check in the prepare phase is to restrict the lane change plans overtaking a vehicle, not critical to the safety. |
…utowarefoundation#2287) * fix(behavior_path_planner): fix lane change logic on the edge case Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * fix pose init and add failed reasons Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * Ignore prepare distance if object is static Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * parameterize the target speed threshold to ignore in prepare phase Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * Set default value for lane change parameters Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * additional parameterized Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * update readme and default value for prepare phase collision check Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * change force candidatePath() color Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Signed-off-by: Kotaro Yoshimoto <pythagora.yoshimoto@gmail.com>
…utowarefoundation#2287) * fix(behavior_path_planner): fix lane change logic on the edge case Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * fix pose init and add failed reasons Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * Ignore prepare distance if object is static Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * parameterize the target speed threshold to ignore in prepare phase Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * Set default value for lane change parameters Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * additional parameterized Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * update readme and default value for prepare phase collision check Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * change force candidatePath() color Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Signed-off-by: kminoda <koji.minoda@tier4.jp>
While experimenting in Odaiba, due to the safety reason, it is difficult to test the lane change function when there is object parked at the end of the road. To verify this, the confirmation is executed via PSIM. r
Once tested in PSIM, when longitudinal check is performed, it is found out that the lane change is not successful, due to the collision check in prepare phase. To allow user to be able to relax the collision check when the
enable_collision_check_at_prepare_phase
is true, the parameter that ignore target which speed falls under some threshold should be introduced.Description
The PR solves several issue.
enable_collision_check_at_prepare_phase = true
, for both stationary object and moving object, the collision check will be conducted for the duration of prepare phase + lane changing phase. But it is nice if we can ignore prepare phase check for stationary object only. Therefore new parameter is addedprepare_phase_ignore_target_speed_thresh
to ignore target with certain speed.LaneChangeParameter
's member variable to ensure no undefined behavior related to the parameter declaration.Before change
After change
Related links
Tests performed
Test lane change scenario with stationary and moving target.
Notes for reviewers
None
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.