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(autoware_planning_validator): add collision checking for predicted objects #9143

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

Conversation

kyoichi-sugahara
Copy link
Contributor

@kyoichi-sugahara kyoichi-sugahara commented Oct 23, 2024

Description

launcher PR should be merged first.

Execute collision detection at each time step based on predicted object movements by checking the planning module output.

Currently, this feature is disabled due to frequent collision detections. We will enable this functionality once we confirm the detection mechanism is sufficiently reliable and beneficial.

Even in the current state, error information is included in the diagnostic topics, allowing for planning evaluation using this data.

How was this PR tested?

run scenario_simulator_v2 and confirmed that detecting collision.

diag_error_trajectory_validation_trajectory_collision_buffered-.2024-11-01-16-52-13.mp4

Looking at the time cross-section, locations where collisions are predicted are visualized with red markers.
image

Notes for reviewers

None.

Interface changes

add subscriber for PredictedObjects

ROS Parameter Changes

Additions

Version Parameter Name Type Default Value Description
Added trajectory_to_object_distance_threshold double 30.0 A threshold for filtering objects to improve computational efficiency of collision checking. Only objects within this distance [m] from their nearest point on the trajectory are considered for collision checking.
Added ego_to_object_distance_threshold double 50.0 A threshold for filtering objects to improve computational efficiency of collision checking. Only objects within this distance [m] from the current ego position are considered for collision checking.
Added time_tolerance_threshold double 0.1 Time tolerance threshold [s] for collision detection between ego and object trajectories. Collision check is performed only when the time difference between ego and object predicted positions is within this threshold to detect temporal-spatial intersections.

Effects on system behavior

None.

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

github-actions bot commented Oct 23, 2024

Thank you for contributing to the Autoware project!

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

Please ensure:

@kyoichi-sugahara kyoichi-sugahara force-pushed the feat/detect_planning_trajectory_has_collision branch 2 times, most recently from 27f5efa to a3b3148 Compare October 30, 2024 02:56
Copy link
Contributor

@maxime-clem maxime-clem left a comment

Choose a reason for hiding this comment

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

If you want to efficiently check for collisions then you should use an rtree to store and do queries on the ego trajectory footprints.

@kyoichi-sugahara kyoichi-sugahara force-pushed the feat/detect_planning_trajectory_has_collision branch from a3b3148 to 22e2f18 Compare October 31, 2024 11:32
@github-actions github-actions bot added the type:documentation Creating or refining documentation. (auto-assigned) label Oct 31, 2024
@kyoichi-sugahara kyoichi-sugahara force-pushed the feat/detect_planning_trajectory_has_collision branch from 33ea88e to 2936bfd Compare October 31, 2024 17:37
@kyoichi-sugahara kyoichi-sugahara marked this pull request as ready for review November 1, 2024 08:23
@kyoichi-sugahara
Copy link
Contributor Author

@satoshi-ota
After visualizing the footprint of predicted path of ego vehicle and the polygon of obstacles where collision is detected, I will merge them.
Thank you so much for the corrections.

@satoshi-ota satoshi-ota self-requested a review November 18, 2024 07:23
kyoichi-sugahara and others added 11 commits November 19, 2024 11:39
…collision checking function

Signed-off-by: Kyoichi Sugahara <[email protected]>
…tion and update includes

Signed-off-by: kyoichi-sugahara <[email protected]>
…c and data structures

Signed-off-by: kyoichi-sugahara <[email protected]>
…c and data structures

Signed-off-by: kyoichi-sugahara <[email protected]>
…ory and ego-object distance thresholds

Signed-off-by: kyoichi-sugahara <[email protected]>
Signed-off-by: Kyoichi Sugahara <[email protected]>
@kyoichi-sugahara kyoichi-sugahara force-pushed the feat/detect_planning_trajectory_has_collision branch from a88eebb to cb93cf7 Compare November 19, 2024 02:41
…ory and ego-object distance thresholds

Signed-off-by: Kyoichi Sugahara <[email protected]>
@kyoichi-sugahara kyoichi-sugahara force-pushed the feat/detect_planning_trajectory_has_collision branch from ae89cac to 6b487bc Compare November 19, 2024 02:59
@kyoichi-sugahara kyoichi-sugahara added the tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Nov 19, 2024
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) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants