idm_platoon_simulate — DRIVE traffic op

• 資料種類:any → table

• 呼叫: 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]'(要直接呼叫實作,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]';從台帳取用則 opsdrive.get("idm_platoon_simulate"))

用法

在頭車速度曲線之後積分 IDM 跟隨車隊(車 0 = 頭車,1..n = 跟隨車)。

參數

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

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• poc_driving_traffic — py -3.11 examples/poc_driving_traffic.py

型別可銜接的下一個運算子(可接受 table 作為輸入)

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

同類別(traffic)

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


*Provenance: drivetraffic.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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