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(dynamic_avoidance): avoid pedestrians #6553

Merged
merged 26 commits into from
Apr 19, 2024

Conversation

yuki-takagi-66
Copy link
Contributor

@yuki-takagi-66 yuki-takagi-66 commented Mar 6, 2024

Description

New feature
Avoid against pedestrians becomes available.

Selection algorithms is similar to the conventional logic for vehicles.

Polygon generation logic is significant different from the the conventional logic.
For more details, please see the updated document
https://autowarefoundation.github.io/autoware.universe/pr-6553/planning/behavior_path_dynamic_avoidance_module/#cuts-off-the-drivable-area-against-the-selected-pedestrians

Sample videos
Screencast from 04-08-2024 07:13:23 PM.webm
Screencast from 04-08-2024 07:31:41 PM.webm
Screencast from 04-12-2024 02:53:38 PM.webm

Related links

launch PR: autowarefoundation/autoware_launch#958

Tests performed

Psim tests and tier4 internal tests were performed.

Notes for reviewers

Interface changes

Nothing

Effects on system behavior

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.

  • The PR follows the pull request guidelines.
  • The PR has been properly tested.
  • The PR has been reviewed by the code owners.

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.
  • The PR is ready for merge.

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

@github-actions github-actions bot added the component:planning Route planning, decision-making, and navigation. (auto-assigned) label Mar 6, 2024
@yuki-takagi-66 yuki-takagi-66 changed the title Feat/da ped feat(dynamic_avoidance): ready to avoid against pedestrians Mar 13, 2024
@yuki-takagi-66 yuki-takagi-66 marked this pull request as ready for review March 13, 2024 10:09
Comment on lines 71 to 73
NOT_TO_AVOID = 0,
LaneDriveObject,
FreeRunObject,
Copy link
Contributor

Choose a reason for hiding this comment

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

FreeRunObject is hard to understand.

The best enum would be ObjectType which includes

  • Vehicle
    • Technically, bicycles should be included, but in our case, not included.
  • NotVehicle

, and the getter function's output is std::optional<ObjectType> to deal with objects not to avoid.

Or if you wanna add the ego's behavior to the enum, the enum would be ObjectBehaviorType which includes

  • Ignore
  • AvoidVehicleObject
  • AvoidNotVehicleObject

I don't come up with a good name.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thank you.
I'll think these names again after the polygon generation algorithm is decided

@yuki-takagi-66 yuki-takagi-66 force-pushed the feat/da-ped branch 3 times, most recently from e793646 to e85d5f9 Compare April 2, 2024 05:31
geometry_msgs::msg::Pose pose{};
double pose_covariance_sqrt[36]; // for experimental
Copy link
Contributor

Choose a reason for hiding this comment

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

for experimental?

Comment on lines 186 to 187
pose_covariance_sqrt[i] =
std::sqrt(predicted_object.kinematics.initial_pose_with_covariance.covariance[i]);
Copy link
Contributor

Choose a reason for hiding this comment

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

If you're gonna keep this line, please use squared value instead of square root value for the computation cost

Comment on lines 80 to 88
enum class ObjectBehaviorType {
IGNORE = 0,
REGULATED,
PRIORITIZED,
};
Copy link
Contributor

Choose a reason for hiding this comment

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

The subject of IGNORE is the ego, but that of REGULATED/PRIORITIZED is the object? They should be the same.
Also, what do you mean by PRIORITIZED in this enum.

@yuki-takagi-66 yuki-takagi-66 changed the title feat(dynamic_avoidance): ready to avoid against pedestrians feat(dynamic_avoidance): avoid pedestrians Apr 17, 2024
@github-actions github-actions bot added the type:documentation Creating or refining documentation. (auto-assigned) label Apr 17, 2024
@yuki-takagi-66 yuki-takagi-66 added run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) run:deploy-docs Mark for deploy-docs action generation. (used-by-ci) labels Apr 18, 2024
@@ -1403,6 +1669,7 @@ DynamicAvoidanceModule::calcEgoPathBasedDynamicObstaclePolygon(
return obj_poly;
}

// TODO (takagi): replace by the nother function?
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
// TODO (takagi): replace by the nother function?
// TODO (takagi): replace by the another function?

Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
@yuki-takagi-66 yuki-takagi-66 merged commit e5b3f60 into autowarefoundation:main Apr 19, 2024
20 of 22 checks passed
@yuki-takagi-66 yuki-takagi-66 deleted the feat/da-ped branch April 19, 2024 10:42
yuki-takagi-66 added a commit to tier4/autoware.universe that referenced this pull request Apr 19, 2024
new feature: avoid against the pedestrians
Signed-off-by: Yuki Takagi <[email protected]>
shmpwk added a commit to tier4/autoware.universe that referenced this pull request Apr 21, 2024
karishma1911 pushed a commit to Interplai/autoware.universe that referenced this pull request Jun 3, 2024
new feature: avoid against the pedestrians
Signed-off-by: Yuki Takagi <[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) run:deploy-docs Mark for deploy-docs action generation. (used-by-ci) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants