pegsym op• 資料種類:scalar × scalar × scalar → table
• 呼叫: import fullseye as fs; fs.ledger.rotation_window(n: 'int', apothem: 'float', clearance: 'float', chamfer: 'float' = 0.0, peg_vertices=None, hole_vertices=None, tol: 'float' = 1e-10, mu: 'float | None' = None) -> 'dict'(要直接呼叫實作,import pegsym; pegsym.rotation_window(n: 'int', apothem: 'float', clearance: 'float', chamfer: 'float' = 0.0, peg_vertices=None, hole_vertices=None, tol: 'float' = 1e-10, mu: 'float | None' = None) -> 'dict';從台帳取用則 opsdrive.get("rotation_window"))
銷進入孔(有倒角時為孔口)的旋轉窗口。正 n 邊形的閉合式(推導):中心對齊時,頂點位於距面法線 π/n ∓ φ 的方向,最向外突出的頂點在法線方向的長度 a cos(π/n − |φ|) 不超過 A + δ(+ W)即可進入:φ = π/n − arccos(x),x = (A + δ + W) cos(π/n)/A(若 x ≥ 1,窗口佔滿半週期 π/n)。arccos 在 1 附近有捨入下限,故寫成 atan2(√(1 − x²), x)。若傳入 peg_vertices、hole_vertices,還以對線性規劃(polygon_fit_check,平移也自由)的二分法量測正、負方向的窗口(第二實作。帶鍵形狀只能用這個)。回傳 phi_fit(最窄處而非孔口)、phi_cap(倒角的孔口)、period = 2π/n、M = ⌈period/(2 phi_cap)⌉、lp(plus/minus:傳入頂點時,進入孔口的窗口兩端 = 包含 0 的連通區間。掃描將半週期分成 360 步,端點用二分法)。
傳入 mu 時也回傳 因摩擦而停住的極限(推導,45° 倒角): 落在口上的頂點(從面法線起 β = π/n − φ 的方向)要沿倒角滑下, 銷必須轉動(偶數 n 時相對頂點的橫向力相互抵銷,不會平移)。繞軸的彈簧較弱時, 接觸力繞軸的力矩以 0 平衡: 倒角法線的切向分量 sin β/√2 與阻礙滑動方向(面上向下 + 旋轉)的摩擦 μ/√(1 + sin²β) 相等處為界,轉動的條件是 s√(1 + s²) > √2 μ(s = sin β),即 s² > (√(1 + 8μ²) − 1)/2 時。phi_friction = π/n − β*、phi_eff = max(phi_fit, min(phi_cap, phi_friction))(不依賴倒角而進入的部分與摩擦無關)。六邊形(頂點接近面法線)因摩擦窗口變窄,三角形、四邊形由幾何決定 —— 已在 MuJoCo 試作中確認(PoC 的 --full)。Raises ValueError: n < 1、apothem ≤ 0、clearance < 0、chamfer < 0、mu < 0、只給定了一側的頂點。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• poc_peg_symmetry_search — py -3.11 examples/poc_peg_symmetry_search.py
table 作為輸入)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
pegsym)polygon_peg · polygon_offset · polygon_fit_check · polygon_two_point_depth · polygon_coverage_image · plane_topview · polygon_yaw_read · relative_yaw_from_images
*Provenance: pegsym.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.