long op• 数据种类:scalar × scalar → table
• 调用: import fullseye as fs; fs.ledger.stop_line_plan(v: 'float', dist_to_line: 'float', theta: 'float' = 0.0, params: 'Optional[dict]' = None, t0: 'float' = 0.0, margin: 'float' = 0.5, A1: 'float' = 1.5, A2: 'float' = 2.5, split: 'float' = 0.5) -> 'Dict[str, object]'(要直接调用实现,import drivelong; drivelong.stop_line_plan(v: 'float', dist_to_line: 'float', theta: 'float' = 0.0, params: 'Optional[dict]' = None, t0: 'float' = 0.0, margin: 'float' = 0.5, A1: 'float' = 1.5, A2: 'float' = 2.5, split: 'float' = 0.5) -> 'Dict[str, object]';从台账取用则 opsdrive.get("stop_line_plan"))
从感知瞬间(时刻 t0,前端到停止线的距离 dist_to_line,速度 v)出发,规划在停止线前 margin 处停下的2 段制动。
阶段:反应(ρ,保持速度)→ [必要时保持速度等待(cruise)] → 第 1 段(减速度的常数部分 A1,直到速度降到 split·v) → 第 2 段(A2,直到停止)→ 保持。将制动分为 2 段,是为了符合通知中的"未分几次踩刹车"(制动操作不当)。来不及时,以闭式重新求解第 2 段减速度(ln 公式,k > 0 时也精确);若仅第 1 段就足够距离,则 1 段停止(stages = 1)。若在上限(min(a_brake_max, μ g cos θ))处封顶,则 saturated = True,预测按封顶值给出。坡度在区间内取恒定的 θ(停止区间不跨越坡度的折点)。
dict : phases((t_start, kind, drive, brake) 的列表,kind = react / cruise / brake1 / brake2)、t_breaks、
stages、predicted_gap(停下时前端到停止线的距离。负 = 越线)、t_stop、saturated、theta、d_react, d_cruise, d_brake。
Raises ValueError:v ≤ 0、非有限、split ∉ (0, 1)、A1、A2 ≤ 0。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者、年份)与用途见上面的族使用指南。
• poc_driving_longitudinal — py -3.11 examples/poc_driving_longitudinal.py
• poc_driving_weather — py -3.11 examples/poc_driving_weather.py
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_simulate · long_energy_residual · stopping_distance_grade · plan_command · hill_hold_brake_min
*Provenance: drivelong.py — DRIVE 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.