pegsym_scene_mjcf — DRIVE pegsym op

• Data kinds: matrix × matrix → any

• Call: import fullseye as fs; fs.ledger.pegsym_scene_mjcf(peg_vertices, hole_vertices, chamfer: 'float' = 0.0005, hole_depth: 'float' = 0.02, peg_length: 'float' = 0.04, mu: 'float' = 0.3, k_trans: 'float' = 600.0, k_rot: 'float' = 1.5, k_yaw: 'float' = 0.01, timestep: 'float' = 0.0005, image_size=(480, 480), fovy_deg: 'float' = 40.0, station=(0.1, 0.0), offsamples: 'int' = 4) -> 'str' (to call the implementation directly, import pegsym; pegsym.pegsym_scene_mjcf(peg_vertices, hole_vertices, chamfer: 'float' = 0.0005, hole_depth: 'float' = 0.02, peg_length: 'float' = 0.04, mu: 'float' = 0.3, k_trans: 'float' = 600.0, k_rot: 'float' = 1.5, k_yaw: 'float' = 0.01, timestep: 'float' = 0.0005, image_size=(480, 480), fovy_deg: 'float' = 40.0, station=(0.1, 0.0), offsamples: 'int' = 4) -> 'str'; from the registry, opsdrive.get("pegsym_scene_mjcf"))

Usage

MJCF string for a polygonal peg scene (no mujoco needed): hole = one wall box per edge (below the narrowest part), a 45° chamfer plate and a bright collar (mouth face at z = 0); peg = a convex-mesh prism (cross-section peg_vertices, peg frame, axis at the origin). The carriage has x, y, z slides and a yaw hinge (position control), followed by a 6-DoF spring wrist (tilt k_rot and twist k_yaw [N m/rad] are separate; the grasp is soft in twist). Cameras: the wrist camera (30 mm beside the carriage, looking straight down), an upward camera at station [m] from the hole (in the floor plane, viewing the peg end face from below), and a fixed oblique overhead camera side for figures. Each box lies only in the half-plane outside its own edge, so extending it past the corners never intrudes into the hole (the same construction works for any convex hole shape). Raises ValueError: polygon not convex, chamfer < 0, hole depth ≤ chamfer, friction < 0, stiffness ≤ 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)

• poc_peg_symmetry_search — py -3.11 examples/poc_peg_symmetry_search.py

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

course_crank · course_s_curve · course_turnaround · course_slope · course_intersection · course_parallel_parking · course_crossing · course_road

Same category (pegsym)

polygon_peg · polygon_offset · polygon_fit_check · rotation_window · polygon_two_point_depth · polygon_coverage_image · plane_topview · polygon_yaw_read


*Provenance: pegsym.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.