decide op• Datenarten: any → table
• Aufruf: import fullseye as fs; fs.ledger.dilemma_zone(v, *, reaction: 'float', decel: 'float', amber: 'float', intersection_width: 'float', car_length: 'float', accel: 'float' = 0.0) -> 'Dict[str, object]' (die Implementierung direkt: import drivedecide; drivedecide.dilemma_zone(v, *, reaction: 'float', decel: 'float', amber: 'float', intersection_width: 'float', car_length: 'float', accel: 'float' = 0.0) -> 'Dict[str, object]'; aus dem Register: opsdrive.get("dilemma_zone"))
Dilemmazone des Gelblichts (Gazis, Herman, Maradudin 1960).
Die Gelbphase beginnt, während man sich mit Geschwindigkeit v im Abstand x vor der Haltelinie befindet:
kann halten ⇔ x ≥ x_c = v δ + v²/(2a) (δ = reaction, a = decel)
kann räumen ⇔ x ≤ x_0 = v τ + ½ a₁ (τ − δ)² − (w + L) (τ = amber, a₁ = accel ≥ 0, w = Kreuzungsbreite, L = Fahrzeuglänge)
(a₁ = 0 ist die Grundform. Beschleunigung wird ab dem Ende der Reaktion bis zum Ende der Gelbphase angesetzt. Ist τ ≤ δ, ist der Beschleunigungsterm 0.) max(x_0, 0) < x < x_c ist die Dilemmazone (weder Halten noch Räumen möglich. x < 0 ist ausgeschlossen, da die Haltelinie bereits überfahren ist), x_c ≤ x ≤ x_0 ist die Wahlzone (beides möglich).
Lesart des japanischen Rechts: Anhangstabelle 1 (Gelb) der Verkehrsregel-Richtlinie (Kyosoku) sagt "wer nahe an der Haltestelle ist und nicht sicher halten kann, darf weiterfahren" = es genügt, die Haltelinie zu überfahren (keine Pflicht, die Kreuzung noch während Gelb zu räumen). In dieser Lesart mit intersection_width = car_length = 0 aufrufen (x_0 = vτ). Das "Räumen der Kreuzung" bei GHM ist eine strenge Lesart, die keine Allrot-Zeit voraussetzt.
Rückgabewerte: x_stop_min = x_c, x_clear_max = x_0, dilemma ((lo, hi) oder None), option (ebenso), length (Länge der Dilemmazone, 0 wenn keine), v_critical (das Geschwindigkeitspaar, bei dem für a₁ = 0 x_c = x_0 gilt. Ohne reelle Wurzel leer = bei keiner Geschwindigkeit ein Dilemma). v ist eine einzelne Zahl (für Arrays np.vectorize o. Ä.).
• 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_phase_plan · signal_state
*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.