contact_candidates — DRIVE pegtactile op

• Data kinds: table × signal × signal → table

• Call: import fullseye as fs; fs.ledger.contact_candidates(kp, tip, axis, n_az: 'int' = 144, tol: 'float' = 8e-05) -> 'dict' (to call the implementation directly, import pegtactile; pegtactile.contact_candidates(kp, tip, axis, n_az: 'int' = 144, tol: 'float' = 8e-05) -> 'dict'; from the registry, opsdrive.get("contact_candidates"))

Usage

Single-contact candidate points (world frame) and a flag for whether each point can geometrically touch. tip_rim = circle of the tip rim (radius r, perpendicular to the axis); only rim points that reach the wall (deeper than the narrowest section: radius ≥ R − tol) or the chamfer face (radius ≥ R + (W − depth) − tol) are valid. mouth = rim circle of the hole's narrowest section (radius R, z = −W); only points through which the shank surface passes (distance from the axis line r ± tol, tip deeper than the narrowest section) are valid. Without narrowing the candidates, the coincidence that the line of action of a two-point contact's resultant passes through "the tip rim on the side not touching the wall" is read as a single point (measured on a prototype wedge). tol covers MuJoCo's soft-contact penetration and the 36-gon wall (+0.02 mm at the vertices). Returns tip_rim, rim_ok, mouth, mouth_ok, depth. Raises ValueError: tip or axis is not 3 finite components, n_az < 8, tol < 0.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• (none yet)

Ops the type connects to (they accept table as input)

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

Same category (pegtactile)

pad_params · pad_context · peg_wrench_to_pad_loads · pad_loads_to_peg_wrench · pad_shear_asymmetry · pad_marker_displacement · pad_tactile_frame · pad_tactile_read


*Provenance: pegtactile.py — DRIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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