support_polygon — DRIVE locomotion op

• Datenarten: points → table

• Aufruf: import fullseye as fs; fs.ledger.support_polygon(contacts, ground=None, contact_tol: 'float' = 0.02) -> 'dict' (die Implementierung direkt: import locomotion; locomotion.support_polygon(contacts, ground=None, contact_tol: 'float' = 0.02) -> 'dict'; aus dem Register: opsdrive.get("support_polygon"))

• GPU: nein (nur CPU-Referenzimplementierung)

Verwendung

Konvexes Stützpolygon der Bodenkontaktpunkte (Boden-x-y-Ebene).

> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.

Returns {vertices (M,2 CCW), area, perimeter, centroid}. With <3 distinct points it degenerates gracefully (a point or a segment, area = 0). This is the base of support a static-stability check is measured against. 空の入力(contacts が 0 要素)は頂点 0 個・面積 0 の多角形を返す(理由: 足が 1 つも接地していない状態そのもの。重心は nan)。

★Precondition — only feet ACTUALLY TOUCHING the floor may take part: every contact is projected to (x, y), so a lifted foot out at some far x/y inflates the polygon and can make a tipping robot read as statically stable.

• ground given (recommended for anti-cheat) — a floor level z or a plane [a, b, c, d]; contacts further than contact_tol from it are filtered out here, so an airborne foot supports nothing.

• ground=None (default, backward-compatible) — no z check at all; the caller MUST pre-filter with contact_points.

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

• physical_ai_perception — py -3.11 examples/physical_ai_perception.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 · com_support_margin · gait_phase · 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.