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' (to call the implementation directly, 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'; from the registry, opsdrive.get("cr_drive"))
Runs our own driver (longitudinal IDM + pure pursuit) on a CommonRoad planning problem.
Longitudinal: IDM (a_max, b_max, idm_T, s₀ = stop_margin), with targets = route end (the point goal_inset into the goal lanelet, treated as a stopped lead vehicle), stop_lines (a sequence of route arc lengths, or "scene" to project the lanelets' stopLine onto the route; after stopping, it starts off after hold_s seconds) and leading obstacles on the route (follow_obstacles: objects ahead whose centre is within follow_width of the route). Desired speed v₀ = min(v_cruise, route limit, curvature allowance √(a_lat/|κ|), κ being the moving average over curvature_window m). Lateral: pure pursuit with look-ahead L_d = max(lookahead, k_v·v), δ̇ ∈ ±0.4. Each step is ks_step (RK4). horizon = number of steps (default = upper end of the goal time_step interval − initial time_step).
Return value {"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"}.
Gates: |a| ≤ max(a_max, b_max), 0 ≤ v ≤ v_limit, front end stops 0–1 m before the stop line, cr_feasible is feasible, goal reached.
Raises ValueError: invalid scene / route, pp_index out of range, speed upper bound undetermined (neither limit nor v_cruise), initial position not in any lanelet, stop_lines outside the route.
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• poc_driving_commonroad — py -3.11 examples/poc_driving_commonroad.py
table as input)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 operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.