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): add dynamic obstacle avoidance module #3415

Merged
merged 12 commits into from
Apr 28, 2023

Conversation

takayuki5168
Copy link
Contributor

@takayuki5168 takayuki5168 commented Apr 14, 2023

Description

This feature is under development, and disabled by default.
NOTE:

Added a dynamic avoidance module for avoiding dynamic obstacles which are running on the road.
In the current implementation, by extracting the dynamic obstacles to avoid from the drivable area, the motion planner plans the trajectory to avoid the obstacles.

Screencast.from.2023.04.27.17.49.10.webm

TODO

  • The trajectory shape ahead of the ego is a little bit jerky.
    • Needs to improve the motion planner which generates the trajectory
    • Needs to improve the lateral controller not to be so sensitive to the trajectory shape.
  • The dynamic avoidance module has to be assured to launch with the avoidance or lane_change modules simultaneously.
  • Complicated cases cannot be dealt with by the current implementation
    • e.g. The case where there are obstacles on the left and right side very close to the ego's trajectory.

small TODOs

  • Decision-making to avoid or not can be improved
    • not to avoid obstacles that have not been avoided.
    • not to conflict with the decision from the cruise and stop planner.

Related links

launcher: autowarefoundation/autoware_launch#299

Tests performed

In the planning simulator, in a simple case, it's working correctly.
Though the steering controller is a little bit unstable.

Notes for reviewers

Interface changes

Nothing

Effects on system behavior

Dynamic avoidance feature can be enabled.

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 component:launch Launch files, scripts and initialization tools. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) labels Apr 14, 2023
@takayuki5168 takayuki5168 changed the title tmp feat(behavior_path_planner): add dynamic obstacle avoidance module Apr 26, 2023
Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
@github-actions github-actions bot added the type:documentation Creating or refining documentation. (auto-assigned) label Apr 27, 2023
@takayuki5168 takayuki5168 added the tag:deploy-docs Mark for deploy-docs action generation. (used-by-ci) label Apr 27, 2023
Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
Copy link
Contributor

@satoshi-ota satoshi-ota left a comment

Choose a reason for hiding this comment

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

Could you add config in behavior_path_planner/config/~ ?

autowarefoundation/autoware_launch#299

takayuki5168 and others added 3 commits April 27, 2023 18:28
…nce/dynamic_avoidance_module.cpp

Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>
…cene_module/dynamic_avoidance/dynamic_avoidance_module.hpp

Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>
…mic_avoidance_design.md

Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>
Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
@codecov
Copy link

codecov bot commented Apr 27, 2023

Codecov Report

Patch coverage: 2.90% and project coverage change: -0.02 ⚠️

Comparison is base (3534f6d) 14.07% compared to head (fbb2e36) 14.05%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3415      +/-   ##
==========================================
- Coverage   14.07%   14.05%   -0.02%     
==========================================
  Files        1398     1400       +2     
  Lines       97962    98777     +815     
  Branches    29084    29636     +552     
==========================================
+ Hits        13789    13886      +97     
- Misses      69500    70132     +632     
- Partials    14673    14759      +86     
Flag Coverage Δ *Carryforward flag
differential 15.41% <2.90%> (?)
total 14.07% <ø> (ø) Carriedforward from 90732b7

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

Impacted Files Coverage Δ
...ner/include/behavior_path_planner/data_manager.hpp 46.66% <ø> (ø)
...ule/dynamic_avoidance/dynamic_avoidance_module.hpp 0.00% <0.00%> (ø)
...ule/dynamic_avoidance/dynamic_avoidance_module.cpp 0.00% <0.00%> (ø)
...test/test_behavior_path_planner_node_interface.cpp 27.90% <ø> (ø)
...or_path_planner/src/behavior_path_planner_node.cpp 20.07% <26.31%> (+0.28%) ⬆️

... and 13 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

Copy link
Contributor

@TakaHoribe TakaHoribe left a comment

Choose a reason for hiding this comment

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

LGTM!

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
@satoshi-ota satoshi-ota self-requested a review April 28, 2023 09:53
@takayuki5168 takayuki5168 merged commit 24bce1e into autowarefoundation:main Apr 28, 2023
@takayuki5168 takayuki5168 deleted the feat/dynamic-avoidance branch April 28, 2023 12:29
Mingyu1991 pushed a commit to Mingyu1991/autoware.universe that referenced this pull request Jun 26, 2023
…utowarefoundation#3415)

* implement dynamic avoidance module

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>

* update

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>

* update

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>

* fix spell

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>

* update

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>

* Update planning/behavior_path_planner/src/scene_module/dynamic_avoidance/dynamic_avoidance_module.cpp

Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>

* Update planning/behavior_path_planner/include/behavior_path_planner/scene_module/dynamic_avoidance/dynamic_avoidance_module.hpp

Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>

* Update planning/behavior_path_planner/docs/behavior_path_planner_dynamic_avoidance_design.md

Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>

* dealt with review

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>

* update test

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>

* disable dynamic avoidance with old architecture, and pass build CI

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>

* fix

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>

---------

Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>
Signed-off-by: Mingyu Li <mingyu.li@tier4.jp>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:launch Launch files, scripts and initialization tools. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) tag: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.

3 participants