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 पर चलाता है।

अनुदैर्ध्य: 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.