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"))
Integrates the longitudinal equation of motion with RK4 (steps are split at event times; see the module docstring).
s0, v0 : initial position [m] (arc length along the road) and speed [m/s] (negative = backwards)
command : command(t, s, v) -> (drive, brake) (both ≥ 0 [m/s²]. Capped at μ g cos θ and a_max).
It is called with v = 0.0 only while stopped (even if the speed crosses 0 at the midpoint of a moving step, the command receives
±1e-300 in the direction of motion), so the command may write "hold once stopped" with v == 0 / v <= 0.
If the command changes discontinuously in time, put that time in t_breaks so the step is split there (for exactness).
road : road profile (same as road_eval)
t_end : end time [s], dt : step [s]
params : dict from long_params (None = default)
t0 : initial time [s]
dict : t, s, v, a, drive, brake, z, W_drive, W_brake, W_rr, W_drag (each an (n,) array, a = acceleration at that time),
stopped (bool array), events (list of ("stop"|"move", t, s, 向き)), saturated (whether any step was capped at a limit), params.
Raises ValueError: invalid arguments, command returned a negative or non-finite value.
• 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.
• 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
table as input)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. 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.