decide op• Datenarten: keine → table (ein Operator, der allein durch seine Argumente bestimmt ist — er nimmt kein Bild und keine Daten entgegen)
• Aufruf: import fullseye as fs; fs.ledger.signal_phase_plan(*, crossing_length: 'float', ped_green: 'float', walk_speed: 'float' = 1.0, ped_red_to_amber: 'float' = 2.0, amber: 'float' = 3.0, all_red: 'float' = 2.0, cross_green: 'float' = 20.0, cross_amber: 'Optional[float]' = None, cross_all_red: 'Optional[float]' = None, flash_fraction: 'float' = 1.0) -> 'Dict[str, object]' (die Implementierung direkt: import drivedecide; drivedecide.signal_phase_plan(*, crossing_length: 'float', ped_green: 'float', walk_speed: 'float' = 1.0, ped_red_to_amber: 'float' = 2.0, amber: 'float' = 3.0, all_red: 'float' = 2.0, cross_green: 'float' = 20.0, cross_amber: 'Optional[float]' = None, cross_all_red: 'Optional[float]' = None, flash_fraction: 'float' = 1.0) -> 'Dict[str, object]'; aus dem Register: opsdrive.get("signal_phase_plan"))
Zeitplan einer 2-phasigen Ampel (Hauptstraße A mit ihrer parallelen Fußgängerampel, Querstraße B). Zeitpunkt 0 = Beginn von Grün für A.
Fußgänger A: grün [0, g) → grün blinkend [g, g + F) → rot [g + F, Umlauf), F = flash_fraction · crossing_length / walk_speed
Fahrzeug A: grün [0, t_y) → gelb [t_y, t_y + Y) → rot, t_y = g + F + Δ (Δ = ped_red_to_amber)
Alles-rot [t_y + Y, t_y + Y + AR) → Fahrzeug B: grün G_B → gelb → alles-rot → Ende des Umlaufs
Rückgabewert: intervals ({"veh_A", "ped_A", "veh_B"} → [(Beginn, Ende, Zustand)]), cycle, ped_flash_start = g, ped_flash_duration = F, ped_red_onset, amber_onset = t_y, red_onset, ped_red_to_amber = Δ. Zustände sind "green" / "flash" / "amber" / "red". flash_fraction = 1 bedeutet "wer zu Beginn des Blinkens loszugehen beginnt, kommt ganz hinüber"; 0.5 ist L/(2V) aus einem Konferenzbeitrag (SOURCES "flash_rule"). Die numerischen Standardwerte (gelb 3 s, alles-rot 2 s, Δ 2 s, Gehgeschwindigkeit) siehe SOURCES.
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• poc_driving_decisions — py -3.11 examples/poc_driving_decisions.py
table als Eingabe)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
decide)mirror_reflection_matrix · mirror_virtual_camera · mirror_aim_normal · convex_mirror_fov · mirror_blind_zone · check_sequence_score · signal_state · predict_amber_onset
*Provenance: drivedecide.py — DRIVE Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.