idm_platoon_simulate — DRIVE traffic op

• Datenarten: any → table

• Aufruf: import fullseye as fs; fs.ledger.idm_platoon_simulate(lead_v_of_t, n_followers: 'int', *, params_per_vehicle, dt: 'float', t_end: 'float', reaction_delay: 'float' = 0.0, seed: 'Optional[int]' = None) -> 'Dict[str, object]' (die Implementierung direkt: import drivetraffic; drivetraffic.idm_platoon_simulate(lead_v_of_t, n_followers: 'int', *, params_per_vehicle, dt: 'float', t_end: 'float', reaction_delay: 'float' = 0.0, seed: 'Optional[int]' = None) -> 'Dict[str, object]'; aus dem Register: opsdrive.get("idm_platoon_simulate"))

Verwendung

Integriert eine IDM-Kolonne von Folgefahrzeugen hinter dem Geschwindigkeitsprofil des Führungsfahrzeugs (Fahrzeug 0 = Führungsfahrzeug, 1..n = Folgefahrzeuge).

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

引数

• lead_v_of_t: 先頭車の速度 [m/s]。callable(t) -> v か、時刻列と同じ長さの配列。

• params_per_vehicle: 追従車ごとの dict(長さ n)か、全車共通の 1 つの dict。キー v0, T, a, b, s0 (必須)、delta(既定 4)、length(前の車の車長として使う。既定 4.5 m、仮定)、reaction_delay (無ければ引数 reaction_delay)、speed_noise(希望速度 v0 に掛ける 1 + N(0, speed_noise²) の相対むら。

> 0 なら seed が必須 = 決定的)。先頭車の車長は params_per_vehicle の 1 台目の length を使う。

• reaction_delay: 反応遅れ [s]。刻み dt の整数倍に丸める(m = round(delay/dt))。車 i は時刻 k に 時刻 k − m の自分の速度・車間・相対速度 を見て加速度を決める(t < 0 は初期の定常状態が続いていたとする)。

積分(ballistic update): v_{k+1} = max(0, v_k + a_k dt)、x_{k+1} = x_k + v_k dt + ½ a_k dt² (速度が負になる刻みでは止まる位置 x_k − v_k²/(2 a_k) で止める)。先頭車の位置は速度の台形積分。

初期状態: 全車が v_lead(0) で走り、各追従車の車間はその速度の平衡車間 idm_equilibrium_gap。車間が 0 以下になったら(追突)、その車を 接触の位置(車間 0)で止め、以後は動かさない(速度・加速度 0。前の車や後ろの車は積分を続け、後ろの車には止まった車が先行車になる)。車を重ねない —— 重ねたまま積分すると位置に意味が無い。

戻り値 dict: t (K,)、x, v, a, gap (K, n+1)(gap[:, 0] = inf)、params(実際に使った車ごとの母数。速度むら込み)、delay_steps (n,)、collision(bool)、collision_time(最初の時刻 or None)、collisions(追突の (時刻, 車番) の列。車番 i は前の車 i−1 に追突した車)、crashed (n+1,) bool。

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 · driver_style · lateral_wobble · ou_estimate · social_force_step · pedestrian_crossing · occlusion_reveal_distance


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