Skip to content
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(behavior_path_planner_common): modify drivable area expansion to be able to avoid static objects #10220

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

mkquda
Copy link
Contributor

@mkquda mkquda commented Mar 4, 2025

Description

Drivable area expansion has the option to avoid expanding in the path of dynamic objects. However this feature is disabled by default as it can be unstable and put too much restriction on Ego motion around corners and tight turns.

At tight turns drivable area is expanded considerably specially in case of large Ego vehicle, and Ego can exceed its current lane boundaries, as a result there is a higher chance of collision if there are nearby obstacles and the point of turning, like shown in the image below.
Screenshot from 2025-03-04 09-33-07

To address this, this PR modifies the drivable area expansion to able to avoid static objects explicitly without having to avoid all dynamic objects.

The following image shows the behavior with and without this feature.
Untitled drawing

Related links

Parent Issue:

  • Link

How was this PR tested?

Notes for reviewers

None.

Interface changes

None.

ROS Parameter Changes

Additions and removals

Change type Parameter Name Type Default Value Description
Added object_exclusion.exclude_static bool true if true, the drivable area is not expanded over static objects
Added object_exclusion.th_stopped_object_velocity double 1.0 [m/s] velocity threshold for static objects

Modifications

Version Parameter Name Type Default Value Description
Old dynamic_objects.avoid bool false if true, the drivable area is not expanded in the predicted path of dynamic objects
Old dynamic_objects.extra_footprint_offset.front double 0.5 [m] extra length to add to the front of the dynamic object footprint
Old dynamic_objects.extra_footprint_offset.rear double 0.5 [m] extra length to add to the rear of the dynamic object footprint
Old dynamic_objects.extra_footprint_offset.left double 0.5 [m] extra length to add to the left of the dynamic object footprint
Old dynamic_objects.extra_footprint_offset.right double 0.5 [m] extra length to add to the right of the dynamic object footprint
New object_exclusion.exclude_dynamic bool false if true, the drivable area is not expanded in the predicted path of dynamic objects
New object_exclusion.safety_margin.front double 0.75 [m] extra length to add to the front of the dynamic object footprint
New object_exclusion.safety_margin.rear double 0.75 [m] extra length to add to the rear of the dynamic object footprint
New object_exclusion.safety_margin.left double 0.75 [m] extra length to add to the left of the dynamic object footprint
New object_exclusion.safety_margin.right double 0.75 [m] extra length to add to the right of the dynamic object footprint

Effects on system behavior

At tight turns, when drivable area is expanded it will keep a safe distance from static objects.

@github-actions github-actions bot added type:documentation Creating or refining documentation. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) type:ci Continuous Integration (CI) processes and testing. (auto-assigned) labels Mar 4, 2025
Copy link

github-actions bot commented Mar 4, 2025

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@mkquda mkquda force-pushed the RT1-9346-modify-drivable-area-expansion-to-be-able-to-avoid-static-objects branch from 63c0593 to ff2c2a3 Compare March 4, 2025 02:21
@github-actions github-actions bot removed the type:ci Continuous Integration (CI) processes and testing. (auto-assigned) label Mar 4, 2025
@mkquda mkquda added run:deploy-docs Mark for deploy-docs action generation. (used-by-ci) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) labels Mar 4, 2025
@mkquda mkquda requested a review from maxime-clem March 4, 2025 04:54
Copy link

codecov bot commented Mar 4, 2025

Codecov Report

Attention: Patch coverage is 80.55556% with 7 lines in your changes missing coverage. Please review.

Project coverage is 26.40%. Comparing base (4649cf6) to head (6d1a7d2).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...n/src/utils/drivable_area_expansion/footprints.cpp 63.15% 6 Missing and 1 partial ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main   #10220   +/-   ##
=======================================
  Coverage   26.40%   26.40%           
=======================================
  Files        1390     1390           
  Lines      107719   107737   +18     
  Branches    41501    41505    +4     
=======================================
+ Hits        28442    28452   +10     
- Misses      76442    76450    +8     
  Partials     2835     2835           
Flag Coverage Δ *Carryforward flag
differential 29.64% <80.55%> (?)
total 26.39% <ø> (-0.02%) ⬇️ Carriedforward from 4649cf6

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

mkquda added 2 commits March 5, 2025 10:58
Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp>
Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp>
mkquda and others added 2 commits March 5, 2025 10:58
…common/docs/behavior_path_planner_drivable_area_design.md

Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com>
Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp>
@mkquda mkquda force-pushed the RT1-9346-modify-drivable-area-expansion-to-be-able-to-avoid-static-objects branch from aafade9 to 6d1a7d2 Compare March 5, 2025 01:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:planning Route planning, decision-making, and navigation. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) run:clang-tidy-pr-review run:deploy-docs Mark for deploy-docs action generation. (used-by-ci) type:documentation Creating or refining documentation. (auto-assigned)
Projects
Status: To Triage
Development

Successfully merging this pull request may close these issues.

2 participants