passing_gap_required — DRIVE traffic op

• Data kinds: कोई नहीं → table (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)

• Call: import fullseye as fs; fs.ledger.passing_gap_required(parked_len: 'float', margin_front: 'float', margin_back: 'float', v_ego: 'float', v_oncoming: 'float', *, lane_change_time: 'float', ego_length: 'float' = 0.0, pet_min: 'float' = 0.0, v_obstacle: 'float' = 0.0) -> 'Dict[str, float]' (implementation को सीधे call करना हो तो import drivetraffic; drivetraffic.passing_gap_required(parked_len: 'float', margin_front: 'float', margin_back: 'float', v_ego: 'float', v_oncoming: 'float', *, lane_change_time: 'float', ego_length: 'float' = 0.0, pet_min: 'float' = 0.0, v_obstacle: 'float' = 0.0) -> 'Dict[str, float]', registry से लेना हो तो opsdrive.get("passing_gap_required"))

उपयोग

खड़े वाहन से बचकर सामने की lane में जाने वाले खंड को पार करने का समय, और वह सीमा-दूरी जिस पर सामने से आने वाला वाहन तब तक नहीं पहुँचता (closed form)।

अपना वाहन खड़े वाहन के पिछले सिरे से margin_back पहले (x_in) विपरीत लेन में निकलना शुरू करता है, और अगले सिरे से margin_front आगे (x_out) निकलने के बाद lane_change_time में अपनी लेन में पूरी तरह लौटता है। बाहर निकली लंबाई L_occ = margin_back + parked_len + margin_front + ego_length, बाहर रहने का समय t_occ = L_occ / v_ego + T_lc। पूरी तरह लौटने के बिंदु P = x_in + L_occ + v_ego T_lc पर विपरीत वाहन पूरी तरह लौटने के समय से कम से कम pet_min बाद पहुँचे (PET ≥ pet_min), इसके लिए निर्णय के समय (अपना वाहन x_in पर) विपरीत वाहन तक की दूरी की सीमा:

D* = t_occ (v_ego + v_on) + v_on · pet_min

चलता हुआ अवरोध (साइकिल आदि, उसी दिशा में v_obstacle से): बाहर निकली लंबाई अवरोध के सापेक्ष दूरी है, इसलिए t_occ = L_occ / (v_ego − v_obstacle) + T_lc, पूरी तरह लौटने का बिंदु P = x_in + v_ego t_occ। D* का सूत्र उसी रूप का है। v_obstacle = 0 पर यह रुके हुए वाहन के सूत्र पर लौट आता है।

रिटर्न dict: L_occ, t_occupy, d_required (= D*), clear_point (x_in से P तक की दूरी)।

Raises ValueError: ऋणात्मक लंबाई या मार्जिन, v_ego ≤ 0, v_oncoming < 0, lane_change_time < 0, v_obstacle < 0 या v_obstacle ≥ v_ego (पकड़ नहीं सकता)।

संदर्भ (sample data, साहित्य)

• 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 में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_driving_traffic — py -3.11 examples/poc_driving_traffic.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

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

इसी category के (traffic)

idm_accel · idm_equilibrium_gap · idm_platoon_simulate · driver_style · lateral_wobble · ou_estimate · social_force_step · pedestrian_crossing


*Provenance: drivetraffic.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.