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(start_planner): add surround moving obstacle check #5782

Conversation

kyoichi-sugahara
Copy link
Contributor

@kyoichi-sugahara kyoichi-sugahara commented Dec 5, 2023

Description

This PR should be merged first!!!

This commit introduces a new feature in the start_planner module for checking surrounding moving obstacles.

  • It adds parameters to specify the search radius and threshold velocity for moving obstacles, along with flags to indicate which types of objects should be checked.
  • The noMovingObjectsAround function has been added to filter dynamic objects within a certain radius based on their velocity.
    • If no moving objects are detected, the function returns true; otherwise, it returns false.
  • This feature enhances the safety of the start_planner by ensuring that the path can't be approved while surrond moving obstacles exist.

Tests performed

confirmed with psim that safe status becomes false
※safety check against dynamic object is disabled in the scene
image

Effects on system behavior

Not applicable.

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.

  • There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@@ -44,6 +44,16 @@ bool position_filter(

return (backward_distance < dist_ego_to_obj && dist_ego_to_obj < forward_distance);
}

bool position_filter(
Copy link
Contributor

Choose a reason for hiding this comment

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

any better name that makes it easier to understand what the bool value represents?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

thanks for the comment!
Let me think 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@zulfaqar-azmi-t4
Do you think I can define different function name for positon_filter?
If so, is it better to change other functions name like the other position_filter and velocity_filter?
Do you have any specific concept in this part?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@kosuke55
How about is_within_circle?

Copy link
Contributor

Choose a reason for hiding this comment

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

@kyoichi-sugahara looks good to me

Copy link
Contributor Author

Choose a reason for hiding this comment

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

renamed in 13e06e6

Copy link
Contributor

@kosuke55 kosuke55 left a comment

Choose a reason for hiding this comment

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

LGTM! thanks for quick work!

@kyoichi-sugahara kyoichi-sugahara force-pushed the feat/surround_moving_obstacles_check branch from 13e06e6 to fae9c75 Compare December 5, 2023 16:35
This commit introduces a new feature in the start_planner module for checking surrounding moving obstacles.
- It adds parameters to specify the search radius and threshold velocity for moving obstacles, along with flags to indicate which types of objects should be checked.
- The `noMovingObjectsAround` function has been added to filter dynamic objects within a certain radius based on their velocity.
  - If no moving objects are detected, the function returns true; otherwise, it returns false.
- This feature enhances the safety of the start_planner by ensuring that the path can't be approved while surrond moving obstacles exist.

Signed-off-by: kyoichi-sugahara <[email protected]>
Signed-off-by: kyoichi-sugahara <[email protected]>
1. The `updateData()` function now sets `status_.is_safe_dynamic_objects` to true when `requiresDynamicObjectsCollisionDetection()` returns false.

2. The `isExecutionReady()` function now checks for dynamic object collisions only if `requiresDynamicObjectsCollisionDetection()` returns true and `isWaitingApproval()` also returns true. This change ensures that dynamic object collision detection is performed only when necessary and approval is pending.

Signed-off-by: kyoichi-sugahara <[email protected]>
@kyoichi-sugahara kyoichi-sugahara force-pushed the feat/surround_moving_obstacles_check branch from fae9c75 to 711f4bc Compare December 6, 2023 09:59
@kyoichi-sugahara kyoichi-sugahara enabled auto-merge (squash) December 6, 2023 11:45
@kyoichi-sugahara kyoichi-sugahara added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Dec 6, 2023
Copy link

codecov bot commented Dec 6, 2023

Codecov Report

Attention: 825 lines in your changes are missing coverage. Please review.

Comparison is base (765a596) 15.32% compared to head (6f37f55) 12.65%.
Report is 167 commits behind head on main.

Files Patch % Lines
.../scene_module/goal_planner/goal_planner_module.cpp 0.58% 168 Missing and 2 partials ⚠️
...er/src/scene_module/avoidance/avoidance_module.cpp 10.48% 111 Missing and 17 partials ⚠️
...ule/dynamic_avoidance/dynamic_avoidance_module.cpp 1.88% 99 Missing and 5 partials ⚠️
...cene_module/start_planner/start_planner_module.cpp 20.72% 78 Missing and 10 partials ⚠️
..._path_planner/src/marker_utils/avoidance/debug.cpp 0.00% 61 Missing ⚠️
...planner/src/scene_module/start_planner/manager.cpp 6.25% 6 Missing and 39 partials ⚠️
...ath_planner/src/scene_module/avoidance/manager.cpp 18.86% 0 Missing and 43 partials ⚠️
...th_planner/src/scene_module/lane_change/normal.cpp 0.00% 28 Missing ⚠️
...ner/src/scene_module/dynamic_avoidance/manager.cpp 20.68% 4 Missing and 19 partials ⚠️
..._planner/src/scene_module/goal_planner/manager.cpp 11.53% 2 Missing and 21 partials ⚠️
... and 19 more
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #5782       +/-   ##
===========================================
- Coverage   15.32%   12.65%    -2.67%     
===========================================
  Files        1721      107     -1614     
  Lines      118559    14970   -103589     
  Branches    37995     8321    -29674     
===========================================
- Hits        18169     1895    -16274     
+ Misses      79657    10160    -69497     
+ Partials    20733     2915    -17818     
Flag Coverage Δ
differential 12.65% <13.88%> (?)
total ?

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

@kyoichi-sugahara kyoichi-sugahara merged commit ab4a3eb into autowarefoundation:main Dec 6, 2023
31 of 35 checks passed
@kyoichi-sugahara kyoichi-sugahara deleted the feat/surround_moving_obstacles_check branch December 6, 2023 16:04
kyoichi-sugahara added a commit to kyoichi-sugahara/autoware.universe that referenced this pull request Dec 8, 2023
…dation#5782)

* feat(start_planner): add surround moving obstacle check
This commit introduces a new feature in the start_planner module for checking surrounding moving obstacles.
- It adds parameters to specify the search radius and threshold velocity for moving obstacles, along with flags to indicate which types of objects should be checked.
- The `noMovingObjectsAround` function has been added to filter dynamic objects within a certain radius based on their velocity.
  - If no moving objects are detected, the function returns true; otherwise, it returns false.
- This feature enhances the safety of the start_planner by ensuring that the path can't be approved while surrond moving obstacles exist.
---------
Signed-off-by: kyoichi-sugahara <[email protected]>
danielsanchezaran pushed a commit to tier4/autoware.universe that referenced this pull request Dec 15, 2023
…dation#5782)

* feat(start_planner): add surround moving obstacle check
This commit introduces a new feature in the start_planner module for checking surrounding moving obstacles.
- It adds parameters to specify the search radius and threshold velocity for moving obstacles, along with flags to indicate which types of objects should be checked.
- The `noMovingObjectsAround` function has been added to filter dynamic objects within a certain radius based on their velocity.
  - If no moving objects are detected, the function returns true; otherwise, it returns false.
- This feature enhances the safety of the start_planner by ensuring that the path can't be approved while surrond moving obstacles exist.
---------
Signed-off-by: kyoichi-sugahara <[email protected]>
karishma1911 pushed a commit to Interplai/autoware.universe that referenced this pull request Dec 19, 2023
…dation#5782)

* feat(start_planner): add surround moving obstacle check
This commit introduces a new feature in the start_planner module for checking surrounding moving obstacles.
- It adds parameters to specify the search radius and threshold velocity for moving obstacles, along with flags to indicate which types of objects should be checked.
- The `noMovingObjectsAround` function has been added to filter dynamic objects within a certain radius based on their velocity.
  - If no moving objects are detected, the function returns true; otherwise, it returns false.
- This feature enhances the safety of the start_planner by ensuring that the path can't be approved while surrond moving obstacles exist.
---------
Signed-off-by: kyoichi-sugahara <[email protected]>

Signed-off-by: karishma <[email protected]>
karishma1911 pushed a commit to Interplai/autoware.universe that referenced this pull request Dec 19, 2023
…dation#5782)

* feat(start_planner): add surround moving obstacle check
This commit introduces a new feature in the start_planner module for checking surrounding moving obstacles.
- It adds parameters to specify the search radius and threshold velocity for moving obstacles, along with flags to indicate which types of objects should be checked.
- The `noMovingObjectsAround` function has been added to filter dynamic objects within a certain radius based on their velocity.
  - If no moving objects are detected, the function returns true; otherwise, it returns false.
- This feature enhances the safety of the start_planner by ensuring that the path can't be approved while surrond moving obstacles exist.
---------
Signed-off-by: kyoichi-sugahara <[email protected]>

Signed-off-by: karishma <[email protected]>
j4tfwm6z pushed a commit to tier4/autoware.universe that referenced this pull request Dec 26, 2023
karishma1911 pushed a commit to Interplai/autoware.universe that referenced this pull request May 26, 2024
…dation#5782)

* feat(start_planner): add surround moving obstacle check
This commit introduces a new feature in the start_planner module for checking surrounding moving obstacles.
- It adds parameters to specify the search radius and threshold velocity for moving obstacles, along with flags to indicate which types of objects should be checked.
- The `noMovingObjectsAround` function has been added to filter dynamic objects within a certain radius based on their velocity.
  - If no moving objects are detected, the function returns true; otherwise, it returns false.
- This feature enhances the safety of the start_planner by ensuring that the path can't be approved while surrond moving obstacles exist.
---------
Signed-off-by: kyoichi-sugahara <[email protected]>
karishma1911 pushed a commit to Interplai/autoware.universe that referenced this pull request May 28, 2024
…dation#5782)

* feat(start_planner): add surround moving obstacle check
This commit introduces a new feature in the start_planner module for checking surrounding moving obstacles.
- It adds parameters to specify the search radius and threshold velocity for moving obstacles, along with flags to indicate which types of objects should be checked.
- The `noMovingObjectsAround` function has been added to filter dynamic objects within a certain radius based on their velocity.
  - If no moving objects are detected, the function returns true; otherwise, it returns false.
- This feature enhances the safety of the start_planner by ensuring that the path can't be approved while surrond moving obstacles exist.
---------
Signed-off-by: kyoichi-sugahara <[email protected]>
karishma1911 pushed a commit to Interplai/autoware.universe that referenced this pull request May 28, 2024
…dation#5782)

* feat(start_planner): add surround moving obstacle check
This commit introduces a new feature in the start_planner module for checking surrounding moving obstacles.
- It adds parameters to specify the search radius and threshold velocity for moving obstacles, along with flags to indicate which types of objects should be checked.
- The `noMovingObjectsAround` function has been added to filter dynamic objects within a certain radius based on their velocity.
  - If no moving objects are detected, the function returns true; otherwise, it returns false.
- This feature enhances the safety of the start_planner by ensuring that the path can't be approved while surrond moving obstacles exist.
---------
Signed-off-by: kyoichi-sugahara <[email protected]>
satoshi-ota pushed a commit to tier4/autoware.universe that referenced this pull request Jun 6, 2024
…dation#5782)

* feat(start_planner): add surround moving obstacle check
This commit introduces a new feature in the start_planner module for checking surrounding moving obstacles.
- It adds parameters to specify the search radius and threshold velocity for moving obstacles, along with flags to indicate which types of objects should be checked.
- The `noMovingObjectsAround` function has been added to filter dynamic objects within a certain radius based on their velocity.
  - If no moving objects are detected, the function returns true; otherwise, it returns false.
- This feature enhances the safety of the start_planner by ensuring that the path can't be approved while surrond moving obstacles exist.
---------
Signed-off-by: kyoichi-sugahara <[email protected]>
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)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants