--- license: mit tags: - robotics - imitation-learning - diffusion-policy - memory - rmbench - robotwin --- # CAMP on RMBench Policies for the paper **"Remember what you did: learning behavioral memory for robot manipulation"** ([CAMP](https://robo-camp.github.io/), code: https://github.com/ucsdarclab/CAMP), trained on the [RMBench](https://github.com/robotwin-Platform/rmbench) (RoboTwin 2.0, Aloha-AgileX) benchmark from the 50 released demonstrations per task. Evaluated with RMBench's own protocol (`demo_clean`, seeds from 100000 validated by the scripted expert, per-task step limits, 100 episodes). | task | success (100 episodes) | folder | |---|---|---| | rearrange_blocks | 100 / 100 | `rearrange_blocks/` | | blocks_ranking_try | 100 / 100 | `blocks_ranking_try/` | | put_back_block | 100 / 100 | `put_back_block/` | | battery_try | 97 / 100 | `battery_try/` | ## Files Each task folder holds only inference weights (no optimizer, scheduler or training bookkeeping): - `policy.ckpt` — CAMP policy (Diffusion Policy conditioned on the compressed action memory), EMA weights and the resolved training config. - `memory/best_model.pt` — the Stage-1 action-memory LSTM (weights + architecture args) the policy was trained with. - `memory/normalizer.pt` — its input normaliser. ## Recipe (all tasks) - Stage 1: memory LSTM pretrained on the 50 demos to reconstruct its past actions (DCT heads), head camera 96x128 + 14-D joint state, hidden 128, action subsampling 4. - Stage 2: Diffusion Policy (head camera 240x320, 14-D joint targets, `n_obs_steps=1`, 8-step action chunks) conditioned on the memory through a 32-D projection; memory frozen for 400 epochs, then jointly finetuned (200 epochs; put_back_block 600). The checkpoint reported per task is the best one over evaluated epochs. ## Usage ```bash # inside the CAMP + RoboTwin evaluation image (see scripts/rmbench/eval in the CAMP repo) python scripts/rmbench/eval/rmbench_eval.py eval --task rearrange_blocks --ckpt policy --episodes 100 \ --ckpt_root /stage2 --stage1_root /stage1 ``` where `stage2//checkpoints/policy.ckpt` and `stage1//{best_model.pt,normalizer.pt}` point at the files of this repo (symlink or copy). The policy adapter is `scripts/rmbench/eval/policy_CAMP` and follows RMBench's `get_model / eval / reset_model` interface. ## Citation ```bibtex @article{wang2026rememberdidlearningbehavioral, title = {Remember What You Did: Learning Behavioral Memory for Robot Manipulation}, author = {Wang, Kuancheng and Yeom, Hyunsoo and Cao, Yifan and Zhi, Huanyu and Shinde, Ishan and Yip, Michael C.}, journal = {arXiv preprint arXiv:2606.21188}, year = {2026} } ```