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.