lateral op• 資料種類:any → table
• 呼叫: import fullseye as fs; fs.ledger.curvature_speed_plan(s, kappa, *, v_max, a_lat_max: 'float', a_accel: 'float', a_decel: 'float', a_total: 'Optional[float]' = None, v_start: 'Optional[float]' = None, v_end: 'Optional[float]' = None) -> 'Dict[str, np.ndarray]'(要直接呼叫實作,import drivelateral; drivelateral.curvature_speed_plan(s, kappa, *, v_max, a_lat_max: 'float', a_accel: 'float', a_decel: 'float', a_total: 'Optional[float]' = None, v_start: 'Optional[float]' = None, v_end: 'Optional[float]' = None) -> 'Dict[str, np.ndarray]';從台帳取用則 opsdrive.get("curvature_speed_plan"))
由曲率序列建構速度上限,並以前向、後向 2 趟處理滿足加減速上限的速度規劃(經典方法)。
s: 弧長(遞增,(N,))。kappa: 各點的曲率(不論正負)。v_max: 速度上限(純量或 (N,), 法定速度、徐行區間等)。上限 v_lim = min(v_max, √(a_lat_max/|κ|))。各間隔內 v² 對 s 為一次(等加減速)。給定 a_total(摩擦圓半徑,例 μg)時,縱向加減速也以 √(a_total² − (v²κ_m)²) 限制(κ_m = 間隔兩端 |κ| 的較大者,以二次方程求解,因此間隔內 任何位置 都滿足 √(a_x² + a_y²) ≤ a_total)。要求 a_lat_max ≤ a_total。
回傳值: v, v_limit, ax(每個間隔的縱向加速度,(N−1,))、ay_max(間隔內橫向加速度的最大值)、time(到達時刻,v² 一次的嚴格時間)。
Raises ValueError: 形狀錯誤、s 非遞增、上限不為正、a_lat_max > a_total、v_start/v_end 超過上限。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• poc_driving_lateral — py -3.11 examples/poc_driving_lateral.py
table 作為輸入)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
lateral)friction_circle_usage · curve_speed_limit · design_min_radius · understeer_gradient · steady_cornering · bicycle_model_step · ackermann_steer_angles · offtracking_circle
*Provenance: drivelateral.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.