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
_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.