# Constrained pipeline (the sim_action_aug algorithm, ROLLOUT_REPORT sec. 3): # arm joints 1-6 + mobile base + torso are PINNED to the recorded MuJoCo state # path for the whole episode; the policy owns ONLY the wrist (joint-7 servo # around a searched dj7_init offset) and the gripper during the grasp window. # Transport = relative replay with dj7 frozen + recorded opening schedule. mode: constrained # perturbation (NOTE: the pinned arm cannot chase a translated object -- this # mode suits yaw-dominant perturbations and small translations) n_perturbs: 5 rot_deg: 60.0 trans_m: 0.02 trans_min_m: 0.0 seed: 7 n_samples: 3 # N policy samples per (perturbation, dj7_init) cell port: 8801 save: success constrained: dj7_init_deg: [0, 30, -30, 60, -60, 90, -90] # searched wrist offsets pre_buffer: 4 # policy inference starts at grasp_t - pre_buffer (frames) k_post: 12 # ... and keeps control this many frames after grasp_t replan: 8 # re-query the policy every N control steps # WHICH joints the policy controls (1-indexed Franka arm joints). Joints not # listed stay pinned to the recording. The GRIPPER is always the policy's # (unless gripper_mode: recorded). policy_joints: [6, 7] step_cap: 0.05 # rad per control step, every servoed joint servo_caps: {6: 0.30, 7: 0.60} # total authority per joint (rad) servo_cap_default: 0.30 # for listed joints missing from servo_caps j7_total_cap: 3.14159 # |dj7_init + servo| (joint 7 only) gripper_mode: threshold # bit | threshold | continuous grip_tau: 0.35 # threshold mode: latch full close once policy asks >= tau settle_frames: 30 qvel_mode: finitediff # finitediff | zero (pinned-joint qvel each substep) # rel-6D weld (sim_action_aug simfix): weld the object rigidly to the eef once # the grasp is real (both pads + lift >= weld_lift_m + commanded closed); drop # it when the gripper is commanded open. Without it the pinned-arm carry slips # (~33% ceiling in the old robocasa pin-sweep). rel6d: true weld_lift_m: 0.004 # engage EARLY: a 15mm gate let the object sag ~19mm in # the jaw and catch the cabinet-shelf edge (ep0 finding) weld_solref: "0.005 1" # stiff -- contact must not stretch the weld weld_open_frac: 0.5 weld_open_floor: 0.10