cr_drive — DRIVE commonroad op

• 資料種類:table → table

• 呼叫: import fullseye as fs; fs.ledger.cr_drive(scene, pp_index: 'int' = 0, *, route=None, v_cruise=None, a_max: 'float' = 1.5, b_max: 'float' = 3.0, lookahead: 'float' = 5.0, dt=None, stop_lines=None, hold_s: 'float' = 2.0, goal_inset: 'float' = 0.2, idm_T: 'float' = 1.2, stop_margin: 'float' = 0.6, a_lat: 'float' = 2.5, k_v: 'float' = 0.6, follow_width: 'float' = 2.0, follow_obstacles: 'bool' = True, curvature_window: 'float' = 10.0, horizon=None, params=None) -> 'dict'(要直接呼叫實作,import drivecommonroad; drivecommonroad.cr_drive(scene, pp_index: 'int' = 0, *, route=None, v_cruise=None, a_max: 'float' = 1.5, b_max: 'float' = 3.0, lookahead: 'float' = 5.0, dt=None, stop_lines=None, hold_s: 'float' = 2.0, goal_inset: 'float' = 0.2, idm_T: 'float' = 1.2, stop_margin: 'float' = 0.6, a_lat: 'float' = 2.5, k_v: 'float' = 0.6, follow_width: 'float' = 2.0, follow_obstacles: 'bool' = True, curvature_window: 'float' = 10.0, horizon=None, params=None) -> 'dict';從台帳取用則 opsdrive.get("cr_drive"))

用法

讓自研駕駛(縱向 IDM + pure pursuit)在 CommonRoad 的 planning problem 上行駛。

縱向: IDM(a_max, b_max, idm_T, s₀ = stop_margin),目標 = 路徑終點(目標 lanelet 的 goal_inset 地點,視為停止的前車)、stop_lines(路徑弧長的序列,或以 "scene" 將 lanelet 的 stopLine 投影到路徑。停下後 hold_s 秒再起步)、路徑上的前方障礙物(follow_obstacles,中心距路徑 follow_width 以內且在前方者)。期望速度 v₀ = min(v_cruise, 路徑的速限, 曲率的容許值 √(a_lat/|κ|),κ 為 curvature_window m 的移動平均)。橫向: 前視距離 L_d = max(lookahead, k_v·v) 的 pure pursuit, δ̇ ∈ ±0.4。每個 step 為 ks_step(RK4)。horizon = step 數(預設 = 目標 time_step 區間的上端 − 初始 time_step)。

回傳值 {"kind": "commonroad_run", "t", "time_step", "x", "y" (車両中心), "x_rear", "y_rear", "delta", "v", "psi", "u" (T−1, 2), "s" (中心の弧長), "s_front", "lat_err", "v_allow", "stops": [(time_step, s_front, kind, target_s)], "events", "route", "goal_reached", "goal_index", "params", "dt", "pp_id", "initial_time_step", "v_limit"}。

門檻: |a| ≤ max(a_max, b_max)、0 ≤ v ≤ v_limit、前端停在停止線前 0〜1 m、cr_feasible 為 feasible、到達目標。

Raises ValueError: scene / route 不正確、pp_index 超出範圍、無法決定速度上限(既無速限也無 v_cruise)、初始位置不在任何 lanelet 上、stop_lines 在路徑之外。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• poc_driving_commonroad — py -3.11 examples/poc_driving_commonroad.py

型別可銜接的下一個運算子(可接受 table 作為輸入)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

同類別(commonroad)

cr_synthetic · cr_read · cr_route · ks_step · cr_drive_sweep · cr_feasible · cr_collision · cr_solution_xml


*Provenance: drivecommonroad.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.