# Checkpoint 07: physical tending of a CAD-derived machine This checkpoint integrates the Menagerie UR10e, the shared parallel-jaw gripper, a free titanium-like plate blank, and a provisional fixture with the manufacturer-derived Haas UMC-500/SS scene. It is one machine operation; it does not complete the requested production line. ## Run ```bash PYTHONPATH=src .venv/bin/python scripts/run_haas_tending.py MUJOCO_GL=egl PYTHONPATH=src .venv/bin/python scripts/run_haas_tending.py \ --output artifacts/checkpoint_07 --video --video-speed 4 TMPDIR="$PWD/tmp" PYTHONPATH=src .venv/bin/pytest tests/test_haas_tending.py --run-slow ``` Configuration: `configs/haas_tending.yaml`. Output includes MJCF, configuration snapshot, event history and a summary. Video is optional and needs EGL/OpenGL. Blender and CAD conversion tools are not runtime dependencies for these already-generated assets. ## Physical sequence and implementation The existing fixed-step physics, IK/planner, gripper verification, machine state machine and orchestration execute pickup, grasp verification, lift, door opening, transfer, insertion, seating, release, withdrawal, clamp verification, door closure, timed OP10, reopening, grasp, unclamping, extraction and return to stock presentation. Normal motion uses joint actuators. Grasp and fixture welds activate only after the existing contact/state checks. OP10 does not change the blank mesh or simulate cutting forces. The fixture is mounted at the CAD platter's 0.8422068 m world height. Its 60 mm support assembly, clamp placement, fastener interface and cutting-load capability are provisional. The raw blank is a rounded 100 × 28 × 8 mm plate with configured titanium density, not an approved implant design. Robot base position is [-1.55, 0, 0.70] m in the factory frame. The raised pedestal is a layout design choice. The first lower/more distant base could reach the seat but not the high insertion target. The final initial joint pose comes from a connected IK branch search, not from teleporting the robot during execution. The door sweep interlock now discovers all door-body collision geometries. It therefore checks the CAD door's hundreds of pieces as well as the original simple panel. The CAD configuration requests a speed-limited smooth door command. Existing prototype configurations retain their prior command behavior. ## Evidence and failures retained - `artifacts/haas_robot_preflight/initial_layout_*`: initial layout reach failure. - `artifacts/haas_tending_01/`: physical pickup followed by rejection of a path through the control pendant. - `artifacts/haas_tending_02/`: revised transfer followed by an IK branch limit during insertion. - `artifacts/haas_robot_preflight/continuous_route.json`: connected branch search, including rejected candidates and the passing 285-sample bare-gripper approach. - `artifacts/haas_tending_03/`: completed physical cycle before a collision-mask regression was fixed. - `artifacts/checkpoint_07/`: corrected-mask physical recording and trace; earlier recordings are retained with explicit suffixes. The approach search does not substitute for execution validation. The actual planner also checks the grasped part, complete gripper, arm and trajectory samples during the physical run. Sampled collision checking is not continuous industrial safety validation. A new test found that geometry reset replaced configured workpiece collision masks with default values. The geometry layer now preserves each stage's original masks, and generated machining stages inherit the raw workpiece's collision policy. The physical cycle was rerun after this fix. Tests include initial stability, collision masks, CAD-door obstruction by a workpiece, and a complete physical machining/tending cycle with two verified grasps and no collision/alarm events. ## Remaining limits The original CAD interference corrections, lower-skirt guide approximation, partial door opening, conservative collision envelopes and static machine-axis home poses remain as documented in `haas_machine_cad.md`. Fixture, gripper and actuator parameters remain provisional. The selected 0.60 m opening is sufficient for this demonstrated route; full manufacturer door travel is unverified. This checkpoint returns the part after OP10. It does not demonstrate a manufacturer-CAD multi-machine line, validated cutting, final inspection, or packaging. The separate full-route prototype still uses provisional machines. Next work must carry this physical interface into the complete configurable production line and verify the original acceptance scope.