tactile_dipole_moment — DRIVE tactorque op

• Data kinds: matrix × matrix → table

• Call: import fullseye as fs; fs.ledger.tactile_dipole_moment(pts, u, form: 'str' = 'divergence', origin='midpoint', weight: 'str' = 'area', area: 'float | None' = None, window=None, rho=None, radius: 'float | None' = None) -> 'dict' (implementation को सीधे call करना हो तो import tactorque; tactorque.tactile_dipole_moment(pts, u, form: 'str' = 'divergence', origin='midpoint', weight: 'str' = 'area', area: 'float | None' = None, window=None, rho=None, radius: 'float | None' = None) -> 'dict', registry से लेना हो तो opsdrive.get("tactile_dipole_moment"))

उपयोग

tactile dipole moment D = Σ_i w ρ_i r_i (2 components)। form: * "divergence" —— पेपर (arXiv 2404.15626) समीकरण 4–8: ρ_i = (∇·u)_i (rho दें, या radius से marker_divergence)। * "norm_cross" —— पेपर का baseline (समीकरण 10–11, Yamaguchi & Atkeson शैली): ρ_i = |u_i| (normal बल की जगह vector का norm)। l_i × f_i का tilt घटक (l_y|u|, −l_x|u|) है, यानी D को 90° घुमाया हुआ, इसलिए उसी "1st moment" जगह में लौटाया जाता है। zero के बाद symmetric tilt में |u| M का even function है, इसलिए यह हमेशा 0 है (चिह्न नहीं जानता, gate)। * "radial" —— इस module का रूप: ρ_i = u_i · r̂_i (radial घटक)। origin: "midpoint" (समीकरण 6–7, धनात्मक और ऋणात्मक centroids का मध्य-बिंदु) / "centre" (pts का औसत, baseline का तरीका) / (x0, y0)। weight: "area" = प्रति 1 बिंदु क्षेत्रफल area [m²] से गुणा (closed-form coefficient −(1−2ν)/(2G) से तुलनीय, इकाई m³) / "mean" = 1/N (पेपर)। window = (cx, cy, R) पर केवल त्रिज्या R के भीतर के बिंदु (shear के रिसाव को काटने वाली window, आधार module docstring में)। valid न होने वाले बिंदु (nan) हटाए जाते हैं। return D (2,), tau_dir = (−D_y, D_x) (समीकरण 9 की दिशा, coefficient के बिना), origin, n, rho, form, keep। Raises ValueError: अज्ञात form/origin/weight (spelling की गलती fail-closed), pts/u का shape, area के बिना "area", 3 से कम उपयोगी बिंदु।

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

• poc_tactile_dipole_torque — py -3.11 examples/poc_tactile_dipole_torque.py

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

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

इसी category के (tactorque)

punch_pressure · punch_surface_uz · hertz_pressure_shifted · ellipse_pressure_shifted · pressure_first_moment · boussinesq_kernel · boussinesq_surface_displacement · surface_divergence_closed_form


*Provenance: tactorque.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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