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(crosswalk_traffic_light_estimator): add new package for crosswalk traffic light signals estimation #944

Conversation

satoshi-ota
Copy link
Contributor

@satoshi-ota satoshi-ota commented May 21, 2022

Description

Now, autoware supports and uses only vehicle traffic light signals, but I think if perception module detected or estimated not only vehicle traffic light signals but also crosswalk traffic light signals, behavior planning module could make better decision. (e.g. crosswalk module)

So, in this PR, I added traffic_light_estimater node in order to get crosswalk traffic light singals.

This new node subscribes

  • classified vehicle traffic light signals(autoware_auto_perception_msgs::msg::TrafficSignalArray)
  • map(autoware_auto_mapping_msgs::msg::HADMapBin)
  • route(autoware_auto_planning_msgs::msg::PathWithLaneId)

and publishes

  • estimated crosswalk and vehicle traffic light signals(autoware_auto_perception_msgs::msg::TrafficSignalArray)

Algorithm

Situation1

If traffic between pedestrians and vehicles is controlled by traffic signals, and signals of crosswalks intersecting STRAIGHT lanelets with TrafficLight::GREEN traffic state, the crosswalk traffic light signals prevent pedestrians from crossing, so in this situation, this node output crosswalk signals as TrafficLight::RED.

Situation2

If traffic between pedestrians and vehicles is controlled by traffic signals, and signals of crosswalks intersecting different turn direction lanelets (e.g. straight and left, left and right...) with TrafficLight::GREEN traffic state, the crosswalk traffic light signals prevent pedestrians from crossing, so in this situation, this node output crosswalk signals as TrafficLight::RED.

Related links

Tests performed

Notes for reviewers

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.

@satoshi-ota satoshi-ota added the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label May 21, 2022
@codecov
Copy link

codecov bot commented May 21, 2022

Codecov Report

Merging #944 (9daaafb) into main (940f912) will decrease coverage by 0.02%.
The diff coverage is 0.00%.

@@           Coverage Diff            @@
##            main    #944      +/-   ##
========================================
- Coverage   9.59%   9.57%   -0.03%     
========================================
  Files       1042    1043       +1     
  Lines      71835   71981     +146     
  Branches   15588   15588              
========================================
- Hits        6890    6889       -1     
- Misses     58707   58853     +146     
- Partials    6238    6239       +1     
Flag Coverage Δ *Carryforward flag
differential 0.00% <0.00%> (?)
total 9.57% <ø> (-0.01%) ⬇️ Carriedforward from b4703dc

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

Impacted Files Coverage Δ
...ion/crosswalk_traffic_light_estimator/src/node.cpp 0.00% <0.00%> (ø)
...planning_evaluator/src/planning_evaluator_node.cpp 37.11% <0.00%> (-1.04%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 940f912...9daaafb. Read the comment docs.

@satoshi-ota
Copy link
Contributor Author

satoshi-ota commented May 23, 2022

  • fix typo estimater -> estimator
  • write README

@satoshi-ota satoshi-ota changed the title feat(traffic_light_estimater): add new package for crosswalk traffic light signals estimation feat(traffic_light_estimator): add new package for crosswalk traffic light signals estimation May 23, 2022
@mitsudome-r
Copy link
Member

Are you still working on this PR? (Just checking because there were no updates for a month)

@satoshi-ota
Copy link
Contributor Author

@mitsudome-r

Are you still working on this PR? (Just checking because there were no updates for a month)

Sorry for the late reply 🙇 I had been testing the logic at odaiba, and confirmed that the node works as expected 👍
Now, I'm prepairing this PR for review.

@satoshi-ota satoshi-ota force-pushed the feature/traffic-light-estimater branch from 228c949 to e3a6f52 Compare June 27, 2022 07:09
@satoshi-ota satoshi-ota marked this pull request as ready for review June 27, 2022 07:10
@satoshi-ota satoshi-ota force-pushed the feature/traffic-light-estimater branch 4 times, most recently from 575225a to 3fec7c4 Compare June 28, 2022 01:08
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>
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>
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>
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 feature/traffic-light-estimater branch from 420dc7c to fcee32f Compare June 29, 2022 01:52
@satoshi-ota satoshi-ota added the type:documentation Creating or refining documentation. (auto-assigned) label Jul 1, 2022
@satoshi-ota satoshi-ota force-pushed the feature/traffic-light-estimater branch from 03e2213 to 138e9c4 Compare July 1, 2022 00:18
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@satoshi-ota satoshi-ota force-pushed the feature/traffic-light-estimater branch from 138e9c4 to 963947f Compare July 1, 2022 00:31
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@satoshi-ota
Copy link
Contributor Author

TEST at kashiwanoha

WHITE CROSSWALK: related pedestrian's traffic signal is RED (crosswalk module don't look)
RED CROSSWALK: related pedestrian's traffic signal is UNKNOWN (crosswalk module look and stop when objects cross the road)

  • basic intersection
simplescreenrecorder-2022-07-01_13.26.01.mp4
simplescreenrecorder-2022-07-01_11.59.47.mp4
  • T intersection
simplescreenrecorder-2022-07-01_12.01.14.mp4
simplescreenrecorder-2022-07-01_13.13.28.mp4

@yukkysaito
Copy link
Contributor

yukkysaito commented Jul 1, 2022

@satoshi-ota I wanna change the package name. how about crosswalk_traffic_light_estimater?

@satoshi-ota
Copy link
Contributor Author

@satoshi-ota I wanna change the package name. how about crosswalk_traffic_light_estimater?

@yukkysaito OK, I agree with you 👍 I'll fix it this PR and autoware_launch.

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@satoshi-ota satoshi-ota changed the title feat(traffic_light_estimator): add new package for crosswalk traffic light signals estimation feat(crosswalk_traffic_light_estimator): add new package for crosswalk traffic light signals estimation Jul 1, 2022
@satoshi-ota
Copy link
Contributor Author

TEST at odaiba

WHITE CROSSWALK: related pedestrian's traffic signal is RED (crosswalk module don't look)
RED CROSSWALK: related pedestrian's traffic signal is UNKNOWN (crosswalk module look and stop when objects cross the road)

simplescreenrecorder-2022-07-01_13.08.37.mp4
simplescreenrecorder-2022-07-01_12.59.00.mp4
simplescreenrecorder-2022-07-01_12.57.18.mp4
simplescreenrecorder-2022-07-01_12.55.51.mp4

@satoshi-ota
Copy link
Contributor Author

@yukkysaito I fixed package name in 9daaafb

Copy link
Contributor

@yukkysaito yukkysaito 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 merged commit 97d3f70 into autowarefoundation:main Jul 4, 2022
@satoshi-ota satoshi-ota deleted the feature/traffic-light-estimater branch July 4, 2022 06:11
boyali referenced this pull request in boyali/autoware.universe Sep 28, 2022
…k traffic light signals estimation (tier4#944)

* feat(traffic_light_estimator): add pedestrian traffic signal estimator

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

* feat(traffic_light_estimator): enable was_green

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

* feat(traffic_light_estimator): support specialize tag

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

* refactor(traffic_light_estimator): cleanup callback

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

* fix(traffic_light_estimator): fix typo

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

* fix(traffic_light_estimator): pass by reference

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

* fix(traffic_light_estimator): fix copyright

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

* fix(traffic_light_estimator): modify build error

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

* fix(traffic_light_estimator): fix build error

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

* fix(traffic_light_estimator): fix input topic name

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

* feat(traffic_light_estimator): add flag to use last detect signal

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

* docs(traffic_light_estimator): add README

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

* docs(traffic_light_estimator): update flow diagram

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

* fix(crosswalk_traffic_light_estimator): package rename

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
boyali referenced this pull request in boyali/autoware.universe Oct 3, 2022
…k traffic light signals estimation (tier4#944)

* feat(traffic_light_estimator): add pedestrian traffic signal estimator

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

* feat(traffic_light_estimator): enable was_green

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

* feat(traffic_light_estimator): support specialize tag

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

* refactor(traffic_light_estimator): cleanup callback

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

* fix(traffic_light_estimator): fix typo

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

* fix(traffic_light_estimator): pass by reference

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

* fix(traffic_light_estimator): fix copyright

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

* fix(traffic_light_estimator): modify build error

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

* fix(traffic_light_estimator): fix build error

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

* fix(traffic_light_estimator): fix input topic name

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

* feat(traffic_light_estimator): add flag to use last detect signal

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

* docs(traffic_light_estimator): add README

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

* docs(traffic_light_estimator): update flow diagram

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

* fix(crosswalk_traffic_light_estimator): package rename

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
boyali referenced this pull request in boyali/autoware.universe Oct 3, 2022
…k traffic light signals estimation (tier4#944)

* feat(traffic_light_estimator): add pedestrian traffic signal estimator

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

* feat(traffic_light_estimator): enable was_green

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

* feat(traffic_light_estimator): support specialize tag

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

* refactor(traffic_light_estimator): cleanup callback

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

* fix(traffic_light_estimator): fix typo

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

* fix(traffic_light_estimator): pass by reference

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

* fix(traffic_light_estimator): fix copyright

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

* fix(traffic_light_estimator): modify build error

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

* fix(traffic_light_estimator): fix build error

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

* fix(traffic_light_estimator): fix input topic name

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

* feat(traffic_light_estimator): add flag to use last detect signal

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

* docs(traffic_light_estimator): add README

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

* docs(traffic_light_estimator): update flow diagram

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

* fix(crosswalk_traffic_light_estimator): package rename

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
yukke42 pushed a commit to tzhong518/autoware.universe that referenced this pull request Oct 14, 2022
…k traffic light signals estimation (autowarefoundation#944)

* feat(traffic_light_estimator): add pedestrian traffic signal estimator

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

* feat(traffic_light_estimator): enable was_green

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

* feat(traffic_light_estimator): support specialize tag

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

* refactor(traffic_light_estimator): cleanup callback

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

* fix(traffic_light_estimator): fix typo

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

* fix(traffic_light_estimator): pass by reference

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

* fix(traffic_light_estimator): fix copyright

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

* fix(traffic_light_estimator): modify build error

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

* fix(traffic_light_estimator): fix build error

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

* fix(traffic_light_estimator): fix input topic name

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

* feat(traffic_light_estimator): add flag to use last detect signal

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

* docs(traffic_light_estimator): add README

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

* docs(traffic_light_estimator): update flow diagram

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

* fix(crosswalk_traffic_light_estimator): package rename

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
boyali referenced this pull request in boyali/autoware.universe Oct 19, 2022
…k traffic light signals estimation (tier4#944)

* feat(traffic_light_estimator): add pedestrian traffic signal estimator

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

* feat(traffic_light_estimator): enable was_green

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

* feat(traffic_light_estimator): support specialize tag

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

* refactor(traffic_light_estimator): cleanup callback

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

* fix(traffic_light_estimator): fix typo

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

* fix(traffic_light_estimator): pass by reference

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

* fix(traffic_light_estimator): fix copyright

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

* fix(traffic_light_estimator): modify build error

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

* fix(traffic_light_estimator): fix build error

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

* fix(traffic_light_estimator): fix input topic name

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

* feat(traffic_light_estimator): add flag to use last detect signal

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

* docs(traffic_light_estimator): add README

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

* docs(traffic_light_estimator): update flow diagram

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

* fix(crosswalk_traffic_light_estimator): package rename

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
kminoda pushed a commit to kminoda/autoware.universe that referenced this pull request Oct 17, 2023
…-intersection-10-15

feat(intersection): cherry-pick latest changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants