cr_drive — DRIVE commonroad op

• Data kinds: table → table

• Call: 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' (implementation को सीधे call करना हो तो 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', registry से लेना हो तो opsdrive.get("cr_drive"))

उपयोग

अपने driver (longitudinal IDM + pure pursuit) को CommonRoad planning problem पर चलाता है।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

縦: 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 が経路の外。

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_driving_commonroad — py -3.11 examples/poc_driving_commonroad.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

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

इसी category के (commonroad)

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


*Provenance: drivecommonroad.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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