support_line_margin — DRIVE locomotion op

• Data kinds: vector × points → measurement

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

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

उपयोग

हर support set के लिए परिभाषित support margin, दो-पैर (segment) support सहित।

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

支持の形がどれでも値を持つ静的安定余裕。com_support_margin は支持多角形に面積が無いとき(2 足支持 = 線分、1 足 = 点)-inf を返す ―― 2 足で立つ人型の大半の時間が「測れない」になる穴がある。既存の値を変えると破壊的変更なので、この op を別に足した。

• 面積のある多角形: com_support_margin と同じ符号つき距離(+ = 内側)。

• 線分(2 足、または一直線に並んだ足): COM の地面への射影から閉じた線分までの距離に 負号を付けた値(-dist)。線分の上でちょうど 0、離れるほど負。線分には内側が無いので正にはならない(刃の上で釣り合うのが最良)。点と線分の距離は閉形式 t = clip(((p-a)·(b-a))/|b-a|², 0, 1)。

• 点(1 足): -|p - foot|。

com は (x, y) か (x, y, z)(z は使わない)。contacts は (N, 2) / (N, 3)。ground / contact_tol は support_polygon に渡す(宙に浮いた足を外す)。単位は入力の世界単位。足が 1 つも無い(フィルタ後も含む)ときは ValueError (支えが無いことを -inf で黙って返さない)。

English: polygon with area -> the same signed distance as com_support_margin; segment -> -distance to the closed segment (0 on it, never positive: a line has no interior); single foot -> -distance to that foot; no foot -> ValueError. The first source of the segment rule is fullseye_shows/common/measure.py (support_line_margin, same author).

संदर्भ (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 करते हैं)

• walking_ops_tour — py -3.11 examples/walking_ops_tour.py

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

spin_from_marker_sequence · carla_transform_matrix · carla_pose_to_world · carla_camera_pose · carla_xy_yaw · carla_scene_load · town_chain · osm_parse

इसी category के (locomotion)

contact_points · com_from_silhouette · support_polygon · com_support_margin · gait_phase · 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.