-
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(behavior_path_planner): fix abnormal emergency stop when enable_avoidance_over_opposite_direction is true #1544
fix(behavior_path_planner): fix abnormal emergency stop when enable_avoidance_over_opposite_direction is true #1544
Conversation
…ance_over_opposite_direction is true Signed-off-by: jack.song <jack.song@autocore.ai>
…voidance_over_opposite_direction is true Signed-off-by: jack.song <jack.song@autocore.ai>
@zulfaqar-azmi-t4 @TakaHoribe Could you review this. |
Codecov Report
@@ Coverage Diff @@
## main #1544 +/- ##
==========================================
+ Coverage 10.73% 10.93% +0.20%
==========================================
Files 1115 1039 -76
Lines 78829 70209 -8620
Branches 18561 18250 -311
==========================================
- Hits 8460 7679 -781
+ Misses 61647 53925 -7722
+ Partials 8722 8605 -117
*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. |
@zulfaqar-azmi-t4 ,could you check this simulated phenomenon? |
@shulanbushangshu |
…op-when-enable_avoidance_over_opposite_direction-is-true
current_lane, get_right, !get_left, include_opposite); | ||
} | ||
if (search_lanelets.size() > 1) { | ||
extended_lanelets.push_back(search_lanelets.at(1)); |
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.
@shulanbushangshu
I don't have a map to test, but technically, there is a possibility that the drivable area extension might will result with the same issue if the number of opposite lane > 1.
Another thing of my concern in that multiple similar lanelet will be pushed back (i think the same issue already existed), and it might affect the performance a bit.
I have another solution to this, but I will need to discuss internally about this part, and let you know about it.
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.
@zulfaqar-azmi-t4 .Thank you for your examination.I use "extended_lanelets.push_back(search_lanelets.at(1)) " to ensure that the current adjacent lane is used instead of multiple lanes.I have tested the two opposite lanes and the result is well.
Screencast.2022-08-12.18.21.41.mp4
Hi @shulanbushangshu From the look of it, the drivable area extension is too conservative, which add complexity to the current method.
We don't really have to worry about the portion of the drivable area that is not used. The portion of the code that should be modify is here. Basically is to have
Let me know what do you think about this. |
…op-when-enable_avoidance_over_opposite_direction-is-true
Hi,@zulfaqar-azmi-t4 case1: The result is well.The drivable area will remain the maximum range during the operation of the obstacle avoidance module. |
Hi, @shulanbushangshu. Thank you very much for the confirmation. Great. Considering About |
Hi @shulanbushangshu |
Due to some internal discussion and request, we also requires this part to be fix. Therefore, I deeply apologize for having to create another PR to fix this part. The PR included the details of what we have discussed, with some additional refactoring. Please let me know if there is any issue on your side. |
@zulfaqar-azmi-t4 |
Description
When the parameter "enable_avoidance_over_opposite_direction"is true(The default is true), the vehicle uses the reverse lane for obstacle avoidance; When the vehicle avoids the obstacles and returns to the main lane, the vehicle will stop abnormally and then run again (because the calculated drivable area changes suddenly).
By this PR, it can fix the abnormal emergency stop in obstacle avoidance.
Before this PR:
https://user-images.githubusercontent.com/102840938/183551281-062b1912-62a9-4287-971f-4e6be5b0c5ea.mp4
After this PR:
https://user-images.githubusercontent.com/102840938/183551431-8e3e4335-e2d3-42de-8e33-5603f9ed3ef1.mp4
Related links
Tests performed
Current simulation:
no-fix-drivearea.mp4
Modified simulation:
fix-drivearea.mp4
Notes for reviewers
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.