support_polygon — DRIVE locomotion op

• Data kinds: points → table

• Call: import fullseye as fs; fs.ledger.support_polygon(contacts, ground=None, contact_tol: 'float' = 0.02) -> 'dict' (implementation को सीधे call करना हो तो import locomotion; locomotion.support_polygon(contacts, ground=None, contact_tol: 'float' = 0.02) -> 'dict', registry से लेना हो तो opsdrive.get("support_polygon"))

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

Ground-contact बिंदुओं का convex support polygon (ज़मीन का x, y तल)।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

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.

संदर्भ (sample data, साहित्य)

• 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 में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• 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

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

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

इसी category के (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. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.