long_simulate — DRIVE long op

• Data kinds: scalar × scalar × any → table

• Call: import fullseye as fs; fs.ledger.long_simulate(s0: 'float', v0: 'float', command: 'Callable', road=None, t_end: 'float' = 30.0, dt: 'float' = 0.01, params: 'Optional[dict]' = None, t_breaks: 'Sequence[float]' = (), t0: 'float' = 0.0) -> 'Dict[str, object]' (to call the implementation directly, import drivelong; drivelong.long_simulate(s0: 'float', v0: 'float', command: 'Callable', road=None, t_end: 'float' = 30.0, dt: 'float' = 0.01, params: 'Optional[dict]' = None, t_breaks: 'Sequence[float]' = (), t0: 'float' = 0.0) -> 'Dict[str, object]'; from the registry, opsdrive.get("long_simulate"))

Usage

> This operator's description has not been translated yet. The original text follows as it is.

縦の運動方程式を 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`: 引数が不正、指令が負や非有限を返した。

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_driving_longitudinal — py -3.11 examples/poc_driving_longitudinal.py

• poc_driving_town — py -3.11 examples/poc_driving_town.py

• poc_driving_traffic — py -3.11 examples/poc_driving_traffic.py

• poc_driving_weather — py -3.11 examples/poc_driving_weather.py

Ops the type connects to (they accept table as input)

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

Same category (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. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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