fullseye

long_simulate — DRIVE long op

使い方

縦の運動方程式を RK4 で積分する(事象の時刻で刻みを切る。モジュールの docstring)。

Parameters

s0, v0 : 初めの位置 [m] (道なりの弧長)と速度 [m/s] (負 = 後ろ向き) command : command(t, s, v) -> (drive, brake)(どちらも ≥ 0 [m/s²]。上限は μ g cos θ と a_max で頭打ち)。 v = 0.0 で呼ばれるのは止まっている間だけ(動いている刻みの中間点で速度が 0 を横切っても、指令には動きの向きの ±1e-300 を渡す)ので、指令は v == 0 / v <= 0 で「止まったら保持」を書いてよい。 指令が時刻で不連続に変わるなら、その時刻を t_breaks に入れると刻みがそこで切れる(厳密さのため)。 road : 道の縦断(:func:road_eval と同じ) t_end : 終わりの時刻 [s]、dt : 刻み [s] params : :func:long_params の dict(None = 既定) t0 : 初めの時刻 [s]

Returns

dict : t, s, v, a, drive, brake, z, W_drive, W_brake, W_rr, W_drag(各 (n,) の配列、a = その時点の加速度)、 stopped(bool 配列)、events(("stop"|"move", t, s, 向き) の列)、saturated(上限で頭打ちになった刻みがあったか)、 params。

Raises ValueError: 引数が不正、指令が負や非有限を返した。

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

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

同カテゴリ(long)

long_params · road_profile · road_eval · long_energy_residual · stopping_distance_grade · stop_line_plan · plan_command · hill_hold_brake_min


Provenance: drivelong.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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