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。

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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