passing_gap_required — DRIVE traffic 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.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]' (die Implementierung direkt: 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]'; aus dem Register: opsdrive.get("passing_gap_required"))

Verwendung

Zeit, um den Abschnitt zu durchfahren, in dem das Fahrzeug zum Umfahren eines geparkten Fahrzeugs auf die Gegenfahrbahn ausweicht, und der Grenzabstand, bei dem das entgegenkommende Fahrzeug bis dahin nicht eintrifft (geschlossene Form).

> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.

自車は駐車車両の後端の 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(追いつけない)。

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_traffic — py -3.11 examples/poc_driving_traffic.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 (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. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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