feat(map_based_prediction): consider arrow signals in priority stop prediction - #3231
Open
satoshi-ota wants to merge 1 commit into
Open
feat(map_based_prediction): consider arrow signals in priority stop prediction#3231satoshi-ota wants to merge 1 commit into
satoshi-ota wants to merge 1 commit into
Conversation
…rediction
The traffic-signal stop hypothesis evaluated the stop requirement using the
turn_direction of the lanelet carrying the traffic light. When the light is
referenced by a shared approach lanelet with no turn_direction, straight/left/
right predicted paths all resolved to that lanelet, so arrow signals were
ignored and every path was cut on red.
Resolve, per predicted path, both the traffic-light lanelet (for the signal
lookup and stop line) and a separate maneuver lanelet whose turn_direction
drives the arrow decision: the traffic-light lanelet's own turn_direction when
present, otherwise the first downstream lanelet on the path that has one. As a
result, e.g. a right arrow keeps the right-turn path while still stopping the
straight/left paths.
- Add resolveSignalLanelets() returning {traffic_light_lanelet, maneuver_lanelet}
- Evaluate isTrafficSignalStop against the maneuver lanelet
- Add unit tests for maneuver lanelet resolution
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
@satoshi-ota Thank you for contributing to TIER IV E2E branch! Edit the checklist below and check the boxes as you complete the items. Things to check before mergingPlease check the following points before merging:
After mergingPlease check the following points after merging:
|
|
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Makes the priority (traffic-signal stop) prediction consider arrow signals.
Previously the stop requirement was evaluated using the
turn_directionof the lanelet that carries the traffic light. When the light is referenced by a shared approach lanelet with noturn_direction, the straight / left / right predicted paths all resolved to that same lanelet, so arrow signals were ignored and every path was cut on red.Now, for each predicted path, two lanelets are resolved separately:
turn_directiondrives the arrow decision: the traffic-light lanelet's ownturn_directionwhen present, otherwise the first downstream lanelet on the path that has one.The stop requirement (
isTrafficSignalStop) is then evaluated against the maneuver lanelet. So, e.g., with a right arrow:When the traffic-light lanelet itself carries a
turn_direction, behavior is identical to before (backward compatible).Changes
resolveSignalLanelets()returning{traffic_light_lanelet, maneuver_lanelet}isTrafficSignalStopagainst the maneuver lanelet; stop line / signal lookup stay on the traffic-light laneletautoware::traffic_light_utils::isTrafficSignalStoparrow logicTests
colcon build+colcon testpass on the base (feat/v0.64/e2e): 45 tests, 0 failures🤖 Generated with Claude Code