gait_phase — DRIVE 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)

Verwendung

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.

Referenzen (Beispieldaten, Literatur)

• 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.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• 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

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

Gleiche Kategorie (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.