locomotion op• Data kinds: any × mask × points → table
• Call: import fullseye as fs; fs.ledger.foot_slip_metrics(foot_xyz, stance, body_xyz, max_slip: 'float' = 0.02, min_advance_ratio: 'float' = 0.5) -> 'dict' (to call the implementation directly, import locomotion; locomotion.foot_slip_metrics(foot_xyz, stance, body_xyz, max_slip: 'float' = 0.02, min_advance_ratio: 'float' = 0.5) -> 'dict'; from the registry, opsdrive.get("foot_slip_metrics"))
• GPU: none (CPU reference implementation only)
Horizontal foot slip during stance, foot-measured progression, and a 'body-only' gate.
> The detailed description below is the original text — the summary and the headings are translated.
立脚中の足の水平の滑りと、足で測った前進。
• 滑り: 立脚の区間(stance が続けて True のコマ)ごとに、足の水平位置が区間の最初の位置から離れた最大の距離 [m] (slip)。全区間の最大が max_slip_observed。
• 足で測る前進: 足ごとに、続く 2 つの立脚の区間の最初の位置の差を進行方向に射影して足し、足の平均を取る(foot_advance [m])。足を置き直さない限り増えない。
• 胴の前進: body_xyz の最初と最後の水平の差の大きさ(body_advance)。進行方向はその向き(胴が動かなければ足の平均の向き、それも無ければ +x)。
• 門 walking_ok: max_slip_observed ≤ max_slip かつ foot_advance ≥ min_advance_ratio × body_advance。胴だけが進み、足が置き直されない(滑っている・引きずられている・足が地面に描かれているだけ)見せかけの歩行を落とす。advance_ratio = foot_advance / body_advance(胴が動かなければ None)。
foot_xyz (T, F, 3) [m]、stance (T, F) bool(gait_phase の stance)、body_xyz (T, 3) [m]。空の入力(foot_xyz が 0 要素)は ValueError で拒否する。
English: per stance interval the slip is the largest horizontal excursion of the foot from where it touched down; progression measured by the feet is the sum of stance-to-stance displacements along the direction of travel. walking_ok fails a scene in which only the body advances.
• 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.
• walking_ops_tour — py -3.11 examples/walking_ops_tour.py
table as input)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
locomotion)contact_points · com_from_silhouette · support_polygon · com_support_margin · gait_phase · support_line_margin · lipm_capture_point · capture_margin
*Provenance: locomotion.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.