Skip to content

Link OpenDRIVE signals to intersection maneuvers - #491

Draft
aprabou wants to merge 9 commits into
BerkeleyLearnVerify:mainfrom
aprabou:signal-maneuver-linking
Draft

Link OpenDRIVE signals to intersection maneuvers#491
aprabou wants to merge 9 commits into
BerkeleyLearnVerify:mainfrom
aprabou:signal-maneuver-linking

Conversation

@aprabou

@aprabou aprabou commented Jul 19, 2026

Copy link
Copy Markdown

Description

  • Add Maneuver.signal and Signal.controlledManeuvers so each junction movement can reference its controlling signal (and vice versa).
  • Wire the link during OpenDRIVE conversion using connecting-road signals first (by lane validity), then incoming-road approach signals.
  • Add self-contained integration tests (inline .xodr fixtures) covering per-lane validity, approach fallback, T-junction distinct signals, and unsignalized junctions.

Checklist

  • I have tested the changes locally via pytest and/or other means
  • I have added or updated relevant documentation
  • I have autoformatted the code with black and isort
  • I have added test cases (if applicable)

@aprabou

aprabou commented Jul 22, 2026

Copy link
Copy Markdown
Author

Parse OpenDRIVE 1.8+ <semantics><priority type="…"/> and expose it on domain Signal via an optional SignalPriorityType enum and priorities tuple. Classification prefers priorities when present; otherwise falls back to CARLA/OpenDRIVE type codes (1000001 traffic light, 206 stop, 205 yield). Also pass through subtype, propagate priorities through signalReference, and warn once when a known legacy type disagrees with <priority>.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant