locomotion op• Datenarten: matrix → table
• Aufruf: import fullseye as fs; fs.ledger.gait_phase(foot_heights, stance_frac: 'float' = 0.25, ground=None, contact_tol=None) (die Implementierung direkt: import locomotion; locomotion.gait_phase(foot_heights, stance_frac: 'float' = 0.25, ground=None, contact_tol=None); aus dem Register: opsdrive.get("gait_phase"))
• GPU: nein (nur CPU-Referenzimplementierung)
Klassifiziert jeden Fuß je Bild anhand seiner Höhe als Stand (aufgesetzt) oder Schwung.
> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.
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.
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• 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 als Eingabe)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. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.