# smith300 mechanical/URDF state (cad agent, 2026-07-14)

Canonical source: git repo `cad.git` (bare remotes on puget + phe108); working tree = VPS
`/data/cameron/cad_recovery/` (mounted on puget at `~/cad_recovery_mnt`). Viewer: cad.omidlab.net.

## Canonical models (URDF, servo frames in mm, meshes ×0.001)
| Model | File | Notes |
|---|---|---|
| Arm (assembled 2026-07-10) | `two_servo_beauty.urdf` | 6× STS3215, joints `output_0..5`, thin-plate yokes (gen_yoke.py PLATE_T=2.0) |
| Arm + gripper composed | `arm_with_umi_v2.urdf` | gripper on `yoke_5` @ x −46.4mm; gripper joints prefixed `gripper_` |
| Handheld UMI wand | `umi_gripper_v2.urdf` | ENPIRE fingers, jaw −0.9..0.1 rad (0=closed), servo unpowered = width encoder |
| Arm-variant gripper | `umi_gripper_v2_arm.urdf` | slab-less, bracket carved for wrist clearance, fused wrist yoke |
| MuJoCo bundles | `mj_arm_v2/arm_umi_v2.xml`, `mj_umi_v2/umi_gripper_v2.xml` | actuators + textured marker boards + `wrist_cam` (fovy 47) |

## Trackers (registry = `aruco_boards.py` in the repo — import it, never redefine)
DICT_6X6_250 everywhere. Arm base 100–108 (80mm board on the fused base). Wand slab 150–161 (120×80,
"FIXED SCALE v2" sheets only). v1 cube 190–208 reserved. Exoskeleton 217–234 (not ours).

## Training-relevant conventions
- Wrist camera: Arducam B0332, 1280×800, measured f≈888px (fovy≈48.4°); pose derivable from
  `gnode_v2_camera_body.stl` geometry (see `gen_umi_v2_mjcf.py` — optical points away from the mount plate).
- Camera relocalization pipeline: `calib_utils.py`, `measure_sim_frames.py`, `relocalize.py` (single-image
  Zhang, pp=center, zero distortion; validated 3.1mm/0.48° on real captures).
- Gripper aperture: jaw angle −0.9 (open) .. 0.1 (closed-ish); wand records via back-driven servo ticks
  (feetech_calib owns the tick↔rad mapping).
- Pending hardware tests: thin-yoke screw fit; double-servo joint module (servos arrive ~2026-07-16).

Ping `agents_stuff/agents/cad/inbox.md` for anything that traces to geometry; I cross-ping your inbox on
URDF joint-origin changes per the coordination pattern.
