crossing op• Data kinds: table → table
• Call: 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]' (implementation को सीधे call करना हो तो 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]', registry से लेना हो तो opsdrive.get("crossing_stop_check"))
railway crossing पार करने के तरीके की scoring करता है (धारा 33(1)-(2), धारा 50(2), Kyosoku 6-1-1(1)(3)(4)(5))।
trajectory = {"t", "x"[, "v"]} (x = वाहन का अग्र सिरा)। निर्णय (उल्लंघन के नाम):
• no_stop (अनुच्छेद 33 खंड 1): अग्र सिरा रेलवे क्रॉसिंग में प्रवेश करने से पहले, रुकने की रेखा के ठीक पहले ([stop_line − near, stop_line]) नहीं रुका (signal_controlled हो तो छूट)।
• no_look (अनुच्छेद 33 खंड 1, नियम-पुस्तिका 6-1-1(1)(2)): अंतिम ठहराव के दौरान (रुकने से चल पड़ने तक) बाएँ और दाएँ दोनों ओर नहीं देखा।
• entered_while_forbidden (अनुच्छेद 33 खंड 2): अग्र सिरे के क्रॉसिंग के निकट वाले किनारे को पार करने का समय forbidden_intervals के भीतर है। brake_max [m/s²] देने पर, वह प्रवेश जिसमें उस अंतराल के आरंभ के समय brake_max के मंदन से क्रॉसिंग से पहले रुकना संभव नहीं था (v² / (2 brake_max) > क्रॉसिंग तक की दूरी), उल्लंघन में नहीं गिना जाता और unavoidable में दर्ज होता है (पीली बत्ती पर न रुक सकने वाली दूरी के समान विचार; क़ानून में स्पष्ट अपवाद नहीं = व्याख्या / मान्यता)। None हो तो कोई अपवाद नहीं।
• no_exit_room (अनुच्छेद 50 खंड 2): प्रवेश के समय उस पार कोई जगह नहीं थी (exit_room_check)।
• stopped_inside (नियम-पुस्तिका 6-1-1(5)): वाहन का ढाँचा क्रॉसिंग पर रहते हुए रुक गया।
जो प्रक्षेपपथ क्रॉसिंग में प्रवेश नहीं करता उसके लिए entered = False (उल्लंघनों में रुकने और जाँच के अलावा कुछ नहीं गिना जाता)।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• poc_driving_crossing — py -3.11 examples/poc_driving_crossing.py
• poc_driving_town — py -3.11 examples/poc_driving_town.py
table को input के रूप में लेते हैं)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
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. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.