| # FSM Experiment: exp_all_changes |
|
|
| - Date: Mon May 25 03:38:37 PM PST 2026 |
| - Poses file: `data/umi/test_fsm_v3/object_poses_10_shared.json` |
| - Successes: **0 |
| 0** / Failures: **10** |
|
|
| ## FSM constants used in this run |
| ```python |
| _MAX_CARTESIAN_DELTA = 0.020 # slight bump from 0.018 (0.025 was too aggressive and caused knock-offs) |
| _HOVER_Z_OFFSET = 0.15 |
| _GRASP_Z_OFFSET = 0.08 |
| _LIFT_Z_OFFSET = 0.15 # was 0.20; 0.10 was too low (held cutlery clipped plate edge during transport) |
| _RELEASE_Z_OFFSET = 0.06 # was 0.09; 0.04 was too low (gripper fingers hit plate/table) |
| _PHASE_DURATIONS_PER_OBJECT = (80, 70, 25, 70, 100, 30, 25) # cut from (180,130,20,160,170,15,30); old idle time made policy reproduce 25s trajectories vs 20s eval cap |
| _PHASES_PER_OBJECT = len(_PHASE_DURATIONS_PER_OBJECT) |
| def _clamp_delta(delta: torch.Tensor, max_norm: float = _MAX_CARTESIAN_DELTA) -> torch.Tensor: |
| MAX_STEPS: int = len(_PICK_ORDER) * sum(_PHASE_DURATIONS_PER_OBJECT) + 100 |
| self._events_dt: list[int] = list(_PHASE_DURATIONS_PER_OBJECT) * len(_PICK_ORDER) |
| target[:, 2] += _HOVER_Z_OFFSET |
| target[:, 2] += _GRASP_Z_OFFSET |
| target[:, 2] += _GRASP_Z_OFFSET |
| target[:, 2] += _LIFT_Z_OFFSET |
| target[:, 2] += _LIFT_Z_OFFSET |
| target[:, 2] += _RELEASE_Z_OFFSET |
| target[:, 2] += _LIFT_Z_OFFSET |
| ``` |
|
|
| ## Videos |
| Per-episode mp4 in `videos/` named `ep_NN_<success|failed>.mp4`. Side-by-side (wrist | front, 1280x480 @ 10 fps). |
|
|
| See `CHANGES.md` for what was modified in this version and why. |
|
|