pure_pursuit_circle_offset — DRIVE lateral op

• 資料種類:無 → table(僅由參數決定的運算子 —— 不接受影像或資料輸入)

• 呼叫: import fullseye as fs; fs.ledger.pure_pursuit_circle_offset(radius: 'float', lookahead: 'float', wheelbase: 'float', *, understeer: 'float' = 0.0, speed: 'float' = 0.0, params: 'Optional[dict]' = None) -> 'Dict[str, float]'(要直接呼叫實作,import drivelateral; drivelateral.pure_pursuit_circle_offset(radius: 'float', lookahead: 'float', wheelbase: 'float', *, understeer: 'float' = 0.0, speed: 'float' = 0.0, params: 'Optional[dict]' = None) -> 'Dict[str, float]';從台帳取用則 opsdrive.get("pure_pursuit_circle_offset"))

用法

以 pure pursuit(以後軸中心為基準)追蹤定常圓(半徑 R)時的穩態圓半徑 ρ 與橫向偏差 ρ − R(向外為正)。

運動學 + 轉向不足(params = None): 若對指令轉向角 δ = L κ_cmd,實際曲率變為 κ_cmd / (1 + K v²/L), 則在同心圓穩態下 ρ = √(R² + (K v²/L) L_d²)(本版推導的閉式解)。K = 0 時 ρ = R(橫向偏移 0)。

線性二輪等效模型(給定 params。δ = atan(L κ_cmd)): 穩態下車身朝向比後軸速度(圓的切線) 向內偏轉後軸側滑角 α_r = m l_f a_y / (C_r L),因此預視點的視角減少 α_r。將穩態關係(δ = L/R_c + K u²/R_c、β、旋轉中心)化為關於重心轉彎半徑 R_c 的單變數方程式,以二分法求解(半閉式)。運動學公式忽略了此效應,因此低估橫向偏移(PoC 中約為一半)。

Raises ValueError: R, L_d, L ≤ 0、預視點到達不了圓、1 + K v²/L ≤ 0、給定 params 時 v ≤ 0.5。

參考(範例資料、文獻)

• 範例資料目錄(下載 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.