XLeRobot Pick-and-Put-Away — Hybrid Residual ACT 20k (n=1)
This repository contains a 51,619,729-parameter ACT policy trained on
R126/Pickandputaway.
Configuration
- Training steps: 20,000
chunk_size: 100n_action_steps: 1- Observation/action size: 17
- Cameras:
observation.images.right,.left,.head - Relative channels: ten arm position channels
- Absolute channels: both grippers, both head motors, and base velocity channels
Offline comparison
Evaluation used episodes 1, 3, 5, 9, 10, 14, and 15 (6,035 frames).
| Metric | Absolute ACT n=10 | Residual ACT n=1 |
|---|---|---|
| Overall MAE | 1.684 | 0.874 |
| Arm MAE excluding grippers | 2.403 | 1.052 |
| Maximum arm prediction jump | 28.969 | 6.996 |
| Maximum arm state-to-target gap | 37.128 | 23.988 |
| Arm range violations | 2,032 | 1,126 |
| Right gripper agreement | 95.51% | 95.92% |
| Left gripper agreement | 96.97% | 96.55% |
The standard absolute ACT baseline also completed at least one successful pick-and-release sequence during an early system test. The residual policy has better offline arm metrics but still requires gradual physical validation.
Compatibility
Training used LeRobot commit:
6f0ba4be3853b773ad2e8887be2761bc5474fc89
with local ACT residual-action changes. Apply
patches/lerobot_act_relative_actions.patch before loading on another computer.
Inference pipeline
raw observation
→ saved policy preprocessor
→ ACT select_action
→ saved policy postprocessor
→ absolute 17D action
→ XLeRobot 17D-to-10D adapter
→ calibrated safety checks
→ hardware controller
Safety
Do not send model output directly to motors. Calibrate every physical joint limit, target-rejection gap, and per-command movement limit. Begin with low speed/torque, an emergency stop, and one-joint tests.