tacsim op• 資料種類:image2d × scalar → table
• 呼叫: import fullseye as fs; fs.ledger.contact_radius_ring(h, pitch: 'float', n_az: 'int' = 72, step_px: 'float' = 0.25, r_max_px: 'float | None' = None) -> 'dict'(要直接呼叫實作,import tacsim; tacsim.contact_radius_ring(h, pitch: 'float', n_az: 'int' = 72, step_px: 'float' = 0.25, r_max_px: 'float | None' = None) -> 'dict';從台帳取用則 opsdrive.get("contact_radius_ring"))
從高度場無模型讀取接觸半徑 a:接觸邊緣 r = a 是徑向斜率 |∂h/∂r| 最大的圓環(Hertz 中內側按 r/R 增大,外側按 √ 急遽下降,形成尖點)。沿方位角方向 n_az 條徑向線以 step_px 步長雙線性內插 |∇h|,以拋物線內插將各線的峰值細化到次像素 → 對 72 個點呼叫 measure.fit_circle(第 2 實作)並取半徑的中位數。
回傳: a(中位數 × pitch)[m]、a_circle(圓擬合的半徑 × pitch)、r_px、cy、cx、rms_px(圓)、radii_px(各方位角的峰值半徑)、centre(重心 (cy, cx))、bias_px_per_a(解析度極限的參考 = −0.7 px / a, 雙線性內插會將尖點平滑約 1 px,因此 a 為 14 px 時偏內 −5 %,21 px 時偏內 −3 % —— 實測值,為不用模型的代價)。有鑑於門檻帶的重心(試作 v1)偏內 9 %,改用峰值位置而非帶,徑向斜率以 h 的雙線性取樣做 1 px 跨距差分(平滑比 np.gradient 的 2 px 少)。預設(r_max_px=None)搜尋到視窗邊緣 − 2 px。在膜的裾部外側有其他峰值(相鄰的接觸、邊緣的陰影)的實機影像中,請明確指定 r_max_px。Raises ValueError: 沒有凹陷、pitch ≤ 0、搜尋半徑少於 2 px(凹陷太靠近視窗邊緣)。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• poc_tacscalib_sphere_lut — py -3.11 examples/poc_tacscalib_sphere_lut.py
• poc_tacsim_elastic_membrane — py -3.11 examples/poc_tacsim_elastic_membrane.py
table 作為輸入)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
tacsim)combined_modulus · hertz_sphere · hertz_force · hertz_cylinder · hertz_surface_uz · hertz_pressure · membrane_indent_sphere · membrane_indent_shape
*Provenance: tacsim.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.