pegsim op• Data kinds: table → table
• Call: import fullseye as fs; fs.ledger.contact_state_predict(kp, tip_xyz, axis, tol: 'float' = 6e-05) -> 'dict' (to call the implementation directly, import pegsim; pegsim.contact_state_predict(kp, tip_xyz, axis, tol: 'float' = 6e-05) -> 'dict'; from the registry, opsdrive.get("contact_state_predict"))
Predicts the number and location of contact points from the true peg pose (tip center and axis direction) by geometry alone (a 2nd implementation independent of the contact computation).
If the circle of the tip edge (radius r; horizontal projection is an ellipse with r along e₁ and r cos θ along the tilt) reaches the circle R of the hole's narrowest part (in the chamfer band, the cone radius at that height), it is "tip"; if the horizontal cross-section of the body at the narrowest part (z = −W) (ellipse with radii r and r/cos θ) reaches R, it is "mouth". Where the body touches the chamfer cone is always the edge of the narrowest part if tan θ < 1 (the cone radius increases by 1 per unit height, while the cross-section centre moves only by tan θ).
Returns: n (0/1/2), where ("none" / "chamfer" / "tip" / "mouth" / "tip+mouth"), depth (tip depth from the mouth plane; negative means in the air), depth_below_chamfer, tilt [rad]. tol is the radial margin for counting as "reached". Raises ValueError: axis is zero, tip_xyz shape is not (3,).
• 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.
• poc_pegsim_insertion — py -3.11 examples/poc_pegsim_insertion.py
table as input)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
pegsim)peg_params · whitney_clearance · two_point_depth · wedging_check · jamming_diagram · chamfer_capture · circle_fit_known_radius · cylinder_fit_known_radius
*Provenance: pegsim.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.