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

refactor(lane_change): refactor extended object safety check #9322

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

Conversation

mkquda
Copy link
Contributor

@mkquda mkquda commented Nov 14, 2024

Description

Currently when creating extended objects in lane change module, lane change prepare duration is assumed to be fixed (parameterized value).

In situations where the prepare duration used for candidate path generation does not match the assumed fixed value, such as when sampling multiple prepare durations near terminal, the mismatch can result in incorrect result for collision check causing an unsafe path to be approved.

This PR fixes the issue by refactoring extended object generation code and collision check code to work for candidate paths with varying prepare durations.

Changes

  • refactor LC utility function transform to generate predicted object polygons for the entire duration
  • refactor LC function is_collided to filter the predicted object polygons based on the prepare duration of the candidate path being checked.

Related links

None.

How was this PR tested?

Notes for reviewers

None.

Interface changes

None.

Effects on system behavior

None.

@github-actions github-actions bot added the component:planning Route planning, decision-making, and navigation. (auto-assigned) label Nov 14, 2024
Copy link

github-actions bot commented Nov 14, 2024

Thank you for contributing to the Autoware project!

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

Please ensure:

@mkquda mkquda marked this pull request as ready for review November 14, 2024 06:26
@mkquda mkquda added the tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Nov 14, 2024
Copy link

codecov bot commented Nov 14, 2024

Codecov Report

Attention: Patch coverage is 0% with 20 lines in your changes missing coverage. Please review.

Project coverage is 29.28%. Comparing base (7eec0bb) to head (cc431b5).
Report is 10 commits behind head on main.

Files with missing lines Patch % Lines
...are_behavior_path_lane_change_module/src/scene.cpp 0.00% 18 Missing ⚠️
...havior_path_lane_change_module/src/utils/utils.cpp 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9322      +/-   ##
==========================================
- Coverage   29.29%   29.28%   -0.01%     
==========================================
  Files        1334     1335       +1     
  Lines      102799   102830      +31     
  Branches    39962    39964       +2     
==========================================
+ Hits        30116    30118       +2     
- Misses      69721    69751      +30     
+ Partials     2962     2961       -1     
Flag Coverage Δ *Carryforward flag
differential 20.06% <0.00%> (?)
total 29.30% <ø> (+<0.01%) ⬆️ Carriedforward from b64a2b3

*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.

…nge_module/src/scene.cpp

Co-authored-by: Zulfaqar Azmi <[email protected]>
Copy link
Contributor

@zulfaqar-azmi-t4 zulfaqar-azmi-t4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

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) tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants