-
Notifications
You must be signed in to change notification settings - Fork 682
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
feat(obstacle_avoidance_planner): deal with infeasible drivable area #3579
feat(obstacle_avoidance_planner): deal with infeasible drivable area #3579
Conversation
1037740
to
bd00ba4
Compare
@TakaHoribe |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #3579 +/- ##
==========================================
- Coverage 14.09% 14.08% -0.01%
==========================================
Files 1396 1396
Lines 98109 98180 +71
Branches 29150 29194 +44
==========================================
+ Hits 13826 13828 +2
- Misses 69550 69607 +57
- Partials 14733 14745 +12
*This pull request uses carry forward flags. Click here to find out more.
☔ View full report in Codecov by Sentry. |
Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
5c8d413
to
00a1b66
Compare
18c60c2
to
7034e09
Compare
…utowarefoundation#3579) * feat(obstacle_avoidance_planner): deal with infeasible drivable area Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com> * parametrize min_drivable_width Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com> * fix typo Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com> * refactor Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com> * fix Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com> * fix Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com> --------- Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com> Signed-off-by: Mingyu Li <mingyu.li@tier4.jp>
Description
When obstacles are extracted from the drivable area for static avoidance or dynamic avoidance by the motion planner, in some cases, the drivable area width is too narrow and it's infeasible to drive inside the drivable area as shown in the following figures.
In this case, without the PR, the trajectory optimization failed due to infeasible drivability.
To deal with this case, the obstacle avoidance planner expands the drivable area if it's infeasible to drive.
This feature of keeping the feasible drivable area width should be considered when the drivable area is created in the behavior_path_planner.
The reason I put this feature into not the behavior_path_planner but the obstacle_avoidance_planner is to add less implementation for this feature.
The obstacle_avoidance_planner already calculates the drivable area's width, so it's quite easy to add this feature there.
NOTE:
This feature does not adversely affect driving on narrow roads. (e.g. The drivable area will not be expanded to the outside the road.)
Without this PR
![image](https://user-images.githubusercontent.com/20228327/235168388-be444ae9-813a-41ee-a278-b441b4c5f1c0.png)
Failed to optimize the avoiding trajectory.
The output on the terminal is
[osqp_interface]: [MPT] Optimization failed due to solved inaccurate
With this PR
![image](https://user-images.githubusercontent.com/20228327/235169113-f055c4f0-70ef-4e2a-8b34-d35c16ece1f9.png)
Succeeded in optimizing the avoiding trajectory by modifying the drivable area internally in obstacle_avoidance_planner.
Tests performed
planning simulator
Effects on system behavior
Nothing
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.