roverslip op• Data kinds: any → table
• Call: import fullseye as fs; fs.ledger.ground_shift_track(frames, pixel_size: 'float' = 1.0) -> 'dict' (to call the implementation directly, import roverslip; roverslip.ground_shift_track(frames, pixel_size: 'float' = 1.0) -> 'dict'; from the registry, opsdrive.get("ground_shift_track"))
From the frame sequence of a camera looking down at the ground, measures the translation between adjacent frames with windowed cross-correlation (integer) and translational Lucas–Kanade (subpixel), and accumulates it.
frames is a (T, H, W) array or a sequence of 2-D arrays of the same shape (T ≥ 2). pixel_size is the pixel size on the ground [m]. Returns {"step": (T−1, 2) の (drow, dcol) [m]、"position": (T, 2) の累積 [m]、"peak": (T−1,) 合わせた後の正規化相関}. step is how far the pattern moved in the image (the camera / vehicle moves the opposite way —— moving forward makes the ground flow backward). Per-frame motion up to about 1/4 of the image (the correlation is periodic, so beyond half it wraps around).
• 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_rover_slip_risk_path — py -3.11 examples/poc_rover_slip_risk_path.py
table as input)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
roverslip)bekker_pressure · bekker_wheel_sinkage · wheel_forces · wheel_sinkage · wheel_traction_curve · slope_slip_curve · odometry_slip · slip_gp_fit
*Provenance: roverslip.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.