-
Notifications
You must be signed in to change notification settings - Fork 668
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(intersection): more precise pass judge handling considering occlusion detection and 1st/2nd attention lane #6047
Merged
soblin
merged 5 commits into
autowarefoundation:main
from
soblin:feat/intersection/1st-pass-judge-position-with-occlusion
Jan 18, 2024
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
github-actions
bot
added
the
component:planning
Route planning, decision-making, and navigation. (auto-assigned)
label
Jan 10, 2024
soblin
force-pushed
the
feat/intersection/1st-pass-judge-position-with-occlusion
branch
5 times, most recently
from
January 11, 2024 03:33
2f376f7
to
a15a6ac
Compare
Signed-off-by: Mamoru Sobue <[email protected]>
soblin
force-pushed
the
feat/intersection/1st-pass-judge-position-with-occlusion
branch
from
January 15, 2024 05:47
a15a6ac
to
5d60de5
Compare
github-actions
bot
added
the
type:documentation
Creating or refining documentation. (auto-assigned)
label
Jan 15, 2024
soblin
added
the
run:deploy-docs
Mark for deploy-docs action generation. (used-by-ci)
label
Jan 15, 2024
soblin
force-pushed
the
feat/intersection/1st-pass-judge-position-with-occlusion
branch
from
January 15, 2024 05:49
5d60de5
to
c064308
Compare
soblin
force-pushed
the
feat/intersection/1st-pass-judge-position-with-occlusion
branch
2 times, most recently
from
January 15, 2024 06:23
578c560
to
ce187a8
Compare
Signed-off-by: Mamoru Sobue <[email protected]>
soblin
force-pushed
the
feat/intersection/1st-pass-judge-position-with-occlusion
branch
from
January 15, 2024 06:38
ce187a8
to
6dbaf57
Compare
soblin
requested review from
kyoichi-sugahara,
shmpwk,
takayuki5168 and
tkimura4
as code owners
January 15, 2024 08:04
Signed-off-by: Mamoru Sobue <[email protected]>
7 tasks
Signed-off-by: Mamoru Sobue <[email protected]>
Signed-off-by: Mamoru Sobue <[email protected]>
soblin
added
the
run:build-and-test-differential
Mark to enable build-and-test-differential workflow. (used-by-ci)
label
Jan 16, 2024
takayuki5168
approved these changes
Jan 17, 2024
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #6047 +/- ##
==========================================
- Coverage 14.65% 14.64% -0.01%
==========================================
Files 1857 1857
Lines 126513 126542 +29
Branches 37059 37080 +21
==========================================
Hits 18535 18535
- Misses 87155 87182 +27
- Partials 20823 20825 +2
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
soblin
deleted the
feat/intersection/1st-pass-judge-position-with-occlusion
branch
January 18, 2024 08:58
This was referenced Jan 18, 2024
soblin
added a commit
to tier4/autoware.universe
that referenced
this pull request
Jan 29, 2024
…usion detection and 1st/2nd attention lane (autowarefoundation#6047) Signed-off-by: Mamoru Sobue <[email protected]>
7 tasks
soblin
added a commit
to tier4/autoware.universe
that referenced
this pull request
Feb 6, 2024
…usion detection and 1st/2nd attention lane (autowarefoundation#6047) Signed-off-by: Mamoru Sobue <[email protected]>
soblin
added a commit
to tier4/autoware.universe
that referenced
this pull request
Feb 6, 2024
feat(intersection): cherry pick intersection (autowarefoundation#6047 + autowarefoundation#6134+ autowarefoundation#6143 + autowarefoundation#6201 + autowarefoundation#6207 + autowarefoundation#6272 + autowarefoundation#6315)
karishma1911
pushed a commit
to Interplai/autoware.universe
that referenced
this pull request
May 26, 2024
…usion detection and 1st/2nd attention lane (autowarefoundation#6047) Signed-off-by: Mamoru Sobue <[email protected]>
karishma1911
pushed a commit
to Interplai/autoware.universe
that referenced
this pull request
May 28, 2024
…usion detection and 1st/2nd attention lane (autowarefoundation#6047) Signed-off-by: Mamoru Sobue <[email protected]> Signed-off-by: karishma <[email protected]>
karishma1911
pushed a commit
to Interplai/autoware.universe
that referenced
this pull request
May 28, 2024
…usion detection and 1st/2nd attention lane (autowarefoundation#6047) Signed-off-by: Mamoru Sobue <[email protected]>
karishma1911
pushed a commit
to Interplai/autoware.universe
that referenced
this pull request
Jun 3, 2024
…usion detection and 1st/2nd attention lane (autowarefoundation#6047) Signed-off-by: Mamoru Sobue <[email protected]>
soblin
added a commit
to tier4/autoware.universe
that referenced
this pull request
Oct 23, 2024
…usion detection and 1st/2nd attention lane (autowarefoundation#6047) Signed-off-by: Mamoru Sobue <[email protected]>
soblin
added a commit
to tier4/autoware.universe
that referenced
this pull request
Oct 23, 2024
…usion detection and 1st/2nd attention lane (autowarefoundation#6047) Signed-off-by: Mamoru Sobue <[email protected]>
saka1-s
pushed a commit
to saka1-s/autoware.universe
that referenced
this pull request
Nov 9, 2024
…usion detection and 1st/2nd attention lane (autowarefoundation#6047) Signed-off-by: Mamoru Sobue <[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)
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
launcher PR: autowarefoundation/autoware_launch#792
simplify pass judge decision
Before this commit,
is_permanent_go_
became TRUE if ego iskeep_detection_velocity_threshold
)AND
is_go_out_
== true ANDpreviously_safe_ == true
, which is equal to
is_go_out_
== true ANDpreviously_safe_
== trueAfter this PR, this condition is simplified to
previously_safe_ == true
is_permanent_go_
is not set to true unlesspreviously_safe_
== trueWith this commit, middle speed condition is removed because it was ambiguous
Also with this commit,
is_go_out_
condition is removed because it is equivalent to "previously SAFE" when auto-mode, and when manual-mode still it is equivalent to it for the following reason:previously_safe_
== false and it matchesis_go_out_
== false (this value is set to false throughocclusion_activated_
variable through RTC)In manual-mode RTC approval is used regardless of how this module judges, so when both "intersection" and "intersection_occlusion" is disapproved, ego will keep stopping at default stop line (if disapproval is not too late and did not pass the sole pass judge line) although the internal state changes from "FirstWaitBeforePeeking" to "PeekingTowardOcclusion" due to the stopping.
Then if "intersection" is approved, still the state is OCCLUDED(because "ext_occlusion_requested") and
previously_safe_
== false matchesis_go_out_
== false.If only "intersection_occlusion" is approved and "intersection" is disapproved, then it is expected that ego is NOT after default stop line (maybe this is not the case due to low control precision) and NOT after pass_judge_line(it is highly expected because if ego is stopped at default stop line, pass judge line is almost at the first_attention_area_stopline which is ahead of default stop line), so it will keep stopping.
The position of 2nd pass judge line is set to the same index of 1st pass judge line if second attention lane does not exist.
pure collision detection
[intersection without second attention lane]
If ego is
previously_safe_
== truethen ego will forcefully pass the intersection. So ego can stop for the following conditions
previously_safe_
== false, so ego can completely stop untilpreviously_safe_
== true.previously_safe_
became true and ego restarted, although ego is low enough to be before pass judge line. Then if collision is detected again almost at the same time as the restart, ego can stop.Ego does not stop if it passed pass judge line safely. During the repetitive collision detection, it is possible that ego stops both after default stop line and pass judge line, mainly because it keeps trying to stop during UNSAFE even if it passed the pass judge line while decelerating. So ego stops while it is decelerating and/or stopping for collision even if it passed pass judge line while trying to stop, but once
previously_safe_
== true at that position, ego never stops anymore.[intersection with second attention lane]
For the case without second attention lane, if ego passed 1st pass judge line safely, it never stops.
If second attention lane exist, it can still stop if it is before 2nd pass judge line.
collision detection with occlusion
[intersection without second attention lane]
[occlusion is detected from "before default stop line" to "somewhere between default stop line and peeking position"]
Regardless of ego speed if occlusion is detected before default stop line, ego will stop once and then start peeking. Due to the temporal stop and peeking, 1st pass judge line position will be after default stop line in most cases.
passed_1st_judge_line_while_peeking_
becomes true and 1st pass judge line changes to occlusion stop line position. So even if occlusion is cleared after this transition, still ego is before 1st pass judge line, thereby it can continue extra occlusion/collision detection there.[occlusion is detected from "after the default stop line" to "somewhere between default stop line and peeking position"]
If ego already passed 1st pass judge line when ego passed default stop line, ego never stops.
If ego slowly passed default stop line (due to other reasons), then it maybe before 1st pass judge line, so it can start peeking. Since ego is over the default stop line, it will try to stop at intersection_occlusion wall by peeking(deceleration).
[intersection with second attention lane]
Before this PR, collision/occlusion detection continued while
is_permanet_go_
== false. After this PR, ego continues collision/occlusion detection while it is before 2nd pass judge line.Related links
https://tier4.atlassian.net/browse/RT1-4748
Tests performed
https://evaluation.tier4.jp/evaluation/reports/9bce54e7-644b-5a1d-9d83-6a31ed9fdd91?project_id=prd_jt
pure collision at intersection with single attention lane
At [00:36] ego passed the 1st pass judge line
PR6047-2024-01-15_19.51.42.mp4
In the next PR, if ego is over the 1st pass judge line and the most probable collision is expected to happen on the first attention lane, ego will GO even if it is before the 2nd pass judge line.
PR6047-2024-01-15_20.01.05.mp4
with occlusion
PR6047-2024-01-16_15.30.19.mp4
Notes for reviewers
Interface changes
none
Effects on system behavior
none
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.
After all checkboxes are checked, anyone who has write access can merge the PR.