locomotion op• Data kinds: matrix → table
• Call: import fullseye as fs; fs.ledger.gait_phase(foot_heights, stance_frac: 'float' = 0.25, ground=None, contact_tol=None) (implementation को सीधे call करना हो तो import locomotion; locomotion.gait_phase(foot_heights, stance_frac: 'float' = 0.25, ground=None, contact_tol=None), registry से लेना हो तो opsdrive.get("gait_phase"))
• GPU: नहीं (केवल CPU reference implementation)
ऊँचाई से हर frame में हर पैर को stance (ज़मीन पर) या swing में वर्गीकृत करता है।
> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।
foot_heights is (T, F) — the height of each of F feet over T frames. Returns {stance (T,F bool), duty_factor (F,), n_contacts (T,), double_support} (duty factor, Alexander 1984; how many feet are down each frame; fraction of frames with >=2 feet down).
★Stance is defined against a ground reference:
• ground given (recommended for anti-cheat) — a foot is stance only when it is within contact_tol of the absolute floor level ground. This is the honest test: an airborne / hopping / frozen-in-air foot is correctly NOT stance. contact_tol defaults to stance_frac × the foot's own range.
• ground=None (default, backward-compatible) — stance is inferred from each foot's OWN height range (within stance_frac of its per-foot minimum). ★This heuristic CANNOT tell a foot planted on the floor from a foot at the bottom of an airborne trajectory, so it must NOT be used as a stability / cheat gate — pass ground for that.
• 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 में दिए गए हैं।
• consumer_hillco — py -3.11 examples/consumer_hillco.py
• consumer_onocollo — py -3.11 examples/consumer_onocollo.py
• walking_ops_tour — py -3.11 examples/walking_ops_tour.py
table को 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 · support_line_margin · lipm_capture_point · capture_margin · gait_step_events
*Provenance: locomotion.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.