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(avoidance): improve stop behavior under decel/jerk constraints option #3978

Merged

Conversation

satoshi-ota
Copy link
Contributor

@satoshi-ota satoshi-ota commented Jun 14, 2023

Description

The avoidance module has option use_constraints_for_decel to decelerate within decel/jerk constrains but sometimes the ego doesn't stop at expected position even if stop distance is feasible because of the control error.

simplescreenrecorder-2023-06-15_08.01.17.mp4

So, in this PR, I added latch logic to judge whether the ego can stop at the expected position or not.

  • Once the module judges the ego can stop within constraints, keep that decision forever. (above movie)
  • When the ego is NOT stoppable, the module try decelerating as hard as it can within constraints. (below movie)
simplescreenrecorder-2023-06-15_10.14.16.mp4
simplescreenrecorder-2023-06-15_10.14.59.mp4

Tests performed

Effects on system behavior

Nothing.

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.

@github-actions github-actions bot added the component:planning Route planning, decision-making, and navigation. (auto-assigned) label Jun 14, 2023
@satoshi-ota satoshi-ota changed the title feat(avoidance): add option to decel within constraints feat(avoidance): improve stop behavior with decel within constraints option Jun 14, 2023
@codecov
Copy link

codecov bot commented Jun 14, 2023

Codecov Report

Patch coverage: 10.86% and no project coverage change.

Comparison is base (bcc93c1) 14.40% compared to head (23940ea) 14.40%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3978   +/-   ##
=======================================
  Coverage   14.40%   14.40%           
=======================================
  Files        1456     1456           
  Lines      102750   102769   +19     
  Branches    29784    29787    +3     
=======================================
+ Hits        14801    14808    +7     
- Misses      71771    71777    +6     
- Partials    16178    16184    +6     
Flag Coverage Δ *Carryforward flag
differential 12.82% <10.86%> (?)
total 14.40% <ø> (+<0.01%) ⬆️ Carriedforward from bcc93c1

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

Impacted Files Coverage Δ
...lanner/scene_module/avoidance/avoidance_module.hpp 0.00% <ø> (ø)
..._planner/utils/avoidance/avoidance_module_data.hpp 0.00% <ø> (ø)
...ehavior_path_planner/src/utils/avoidance/utils.cpp 2.74% <0.00%> (-0.08%) ⬇️
...er/src/scene_module/avoidance/avoidance_module.cpp 4.13% <4.16%> (+0.06%) ⬆️
...e/behavior_path_planner/utils/avoidance/helper.hpp 15.90% <44.44%> (+6.38%) ⬆️

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

@satoshi-ota satoshi-ota marked this pull request as ready for review June 14, 2023 22:56
@satoshi-ota satoshi-ota changed the title feat(avoidance): improve stop behavior with decel within constraints option feat(avoidance): improve stop behavior under decel/jerk constraints option Jun 14, 2023
@satoshi-ota satoshi-ota force-pushed the feat/feasible-stop-option branch from 1549ca3 to a6893d1 Compare June 15, 2023 01:44
Copy link
Contributor

@kyoichi-sugahara kyoichi-sugahara left a comment

Choose a reason for hiding this comment

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

LGTM

@satoshi-ota satoshi-ota force-pushed the feat/feasible-stop-option branch from a6893d1 to 0d099f4 Compare June 15, 2023 10:14
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@satoshi-ota satoshi-ota force-pushed the feat/feasible-stop-option branch from 964095c to 23940ea Compare June 15, 2023 23:55
@satoshi-ota satoshi-ota enabled auto-merge (squash) June 15, 2023 23:56
@satoshi-ota satoshi-ota merged commit 2465bbf into autowarefoundation:main Jun 16, 2023
@satoshi-ota satoshi-ota deleted the feat/feasible-stop-option branch June 16, 2023 01:17
satoshi-ota added a commit to satoshi-ota/autoware.universe that referenced this pull request Jun 20, 2023
…ption (autowarefoundation#3978)

* feat(avoidance): add option to decel within constraints

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* chore(avoidance): add comments

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* refactor(utils): merge similar functions

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

---------

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
satoshi-ota added a commit to tier4/autoware.universe that referenced this pull request Jun 23, 2023
…ption (autowarefoundation#3978)

* feat(avoidance): add option to decel within constraints

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* chore(avoidance): add comments

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* refactor(utils): merge similar functions

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

---------

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
tkimura4 pushed a commit to tier4/autoware.universe that referenced this pull request Jun 26, 2023
* feat(avoidance): add hysteresis to avoidance necessity check (autowarefoundation#3880)

* feat(avoidance): add hysteresis factor to avoid necessity check

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* feat(avoidance_by_lc): add hysteresis factor to avoid necessity check

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* refactor(utils): use lambda

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

---------

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* feat(avoidance): improve stop behavior under decel/jerk constraints option (autowarefoundation#3978)

* feat(avoidance): add option to decel within constraints

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* chore(avoidance): add comments

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* refactor(utils): merge similar functions

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

---------

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* feat(avoidance): can set stop/move judge threshold for each object class (autowarefoundation#3998)

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* feat(avoidance): ignore behind unavoidable objects (autowarefoundation#4034)

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* feat(avoidance): improve avoidance judgement logic for pedestrian & bicycle (autowarefoundation#4016)

* feat(avoidance): don't avoid pedestrian and bicycle on crosswalk

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* feat(avoidance): avoid pedestrian/bicycle near centerline

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* feat(utils): use geometry distance

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* chore(avoidance): add comment

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

---------

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(avoidance): ignore objects less than execution threshold (autowarefoundation#3595)

fix(avoidance): ignore objects whose shift length is less than execution threshold

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(avoidance): not init rtc status at onProcessEntry (autowarefoundation#3804)

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(avoidance): update logic to keep waiting approval (autowarefoundation#4059)

* revert "fix(avoidance): don't clear waiting approval if raw shift line exists (autowarefoundation#4012)"

This reverts commit 8577563.

* fix(avoidance): update logic to keep waiting approval

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

---------

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(avoidance): fix invalid cherry pick

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

---------

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
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)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants