crossing_stop_check — DRIVE crossing op

• Datenarten: table → table

• Aufruf: import fullseye as fs; fs.ledger.crossing_stop_check(trajectory, *, stop_line: 'float', crossing_start: 'float', crossing_end: 'float', car_length: 'float', look_events: 'Sequence[Tuple[float, str]]' = (), forbidden_intervals: 'Sequence[Tuple[float, float]]' = (), queue_rear: 'Optional[float]' = None, signal_controlled: 'bool' = False, near: 'float' = 2.0, v_stop: 'float' = 0.05, gap: 'float' = 1.0, beyond: 'float' = 0.5, brake_max: 'Optional[float]' = None) -> 'Dict[str, object]' (die Implementierung direkt: import drivecrossing; drivecrossing.crossing_stop_check(trajectory, *, stop_line: 'float', crossing_start: 'float', crossing_end: 'float', car_length: 'float', look_events: 'Sequence[Tuple[float, str]]' = (), forbidden_intervals: 'Sequence[Tuple[float, float]]' = (), queue_rear: 'Optional[float]' = None, signal_controlled: 'bool' = False, near: 'float' = 2.0, v_stop: 'float' = 0.05, gap: 'float' = 1.0, beyond: 'float' = 0.5, brake_max: 'Optional[float]' = None) -> 'Dict[str, object]'; aus dem Register: opsdrive.get("crossing_stop_check"))

Verwendung

Bewertet das Überqueren eines Bahnübergangs (Art. 33 Abs. 1 und 2, Art. 50 Abs. 2, Verkehrslehrbuch (Kyōsoku) 6-1-1(1)(3)(4)(5)).

trajectory = {"t", "x"[, "v"]} (x = Fahrzeugfront). Prüfungen (Namen der Verstöße):

• no_stop (Art. 33 Abs. 1): Die Front hat vor der Einfahrt in den Bahnübergang nicht unmittelbar vor der Haltlinie ([stop_line − near, stop_line]) angehalten (bei signal_controlled befreit).

• no_look (Art. 33 Abs. 1, Fahrlehrbuch 6-1-1(1)(2)): Während des letzten Halts (vom Anhalten bis zum Anfahren) wurde nicht nach beiden Seiten geschaut.

• entered_while_forbidden (Art. 33 Abs. 2): Der Zeitpunkt, zu dem die Front den vorderen Rand des Bahnübergangs überschritt, liegt in forbidden_intervals. Wird brake_max [m/s²] übergeben, werden Einfahrten, bei denen zu Beginn dieses Intervalls mit der Verzögerung brake_max kein Halt vor dem Bahnübergang möglich war (v² / (2 brake_max) > Abstand zum Bahnübergang), nicht als Verstoß gezählt, sondern in unavoidable aufgezeichnet (dieselbe Überlegung wie die Distanz, in der man bei Gelb nicht anhalten kann. Das Gesetz kennt keine ausdrückliche Ausnahme = Auslegung, Annahme). Bei None keine Ausnahme.

• no_exit_room (Art. 50 Abs. 2): Zum Zeitpunkt der Einfahrt gab es auf der anderen Seite keinen Platz (exit_room_check).

• stopped_inside (Fahrlehrbuch 6-1-1(5)): angehalten, während sich die Karosserie im Bahnübergang befand.

Für Trajektorien, die nicht in den Bahnübergang einfahren, gilt entered = False (gezählt werden nur Verstöße bei Halt und Prüfung).

Referenzen (Beispieldaten, Literatur)

• 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.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• poc_driving_crossing — py -3.11 examples/poc_driving_crossing.py

• poc_driving_town — py -3.11 examples/poc_driving_town.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

Gleiche Kategorie (crossing)

crossing_timing_check · crossing_gate_state · crossing_lamp_signal · lamp_pair_phase · crossing_clear_time · exit_room_check · track_sight_distance · sight_triangle_distance


*Provenance: drivecrossing.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.