harrywang01 commited on
Commit
c2a4ed5
·
verified ·
1 Parent(s): 46824ce

README: drop title block and hero GIFs, center task GIFs, CAMP citation only

Browse files
Files changed (1) hide show
  1. README.md +9 -32
README.md CHANGED
@@ -11,12 +11,6 @@ tags:
11
  - robotwin
12
  ---
13
 
14
- <h1 align="center">CAMP on RMBench</h1>
15
-
16
- <p align="center"><b>Remember what you did?<br>Learning Behavioral Memories for Partially Observable Object Manipulation</b></p>
17
-
18
- <p align="center">Kuancheng Wang, Seungho Yeom, Jinglin Cao, Yuheng Zhi, Nikhil Shinde, Michael Yip</p>
19
-
20
  <p align="center">
21
  <a href="https://arxiv.org/abs/2606.21188"><img alt="arXiv" src="https://img.shields.io/badge/arXiv-2606.21188-b31b1b?logo=arxiv&logoColor=white"></a>
22
  &nbsp;
@@ -29,12 +23,6 @@ tags:
29
  <a href="https://huggingface.co/datasets/TianxingChen/RMBench"><img alt="RMBench dataset" src="https://img.shields.io/badge/%F0%9F%A4%97%20Dataset-TianxingChen%2FRMBench-ffbf00"></a>
30
  </p>
31
 
32
- <p align="center">
33
- <img src="previews/rearrange_blocks.gif" width="32%">
34
- <img src="previews/put_back_block.gif" width="32%">
35
- <img src="previews/battery_try.gif" width="32%">
36
- </p>
37
-
38
  **CAMP** (Compressed Action Memory Policy) gives a visuomotor policy a *behavioral memory*. A recurrent memory
39
  is pretrained to reconstruct a compressed (DCT) summary of the robot's own past actions, so its hidden state
40
  has to encode what the robot already did; a Diffusion Policy is then conditioned on that state. This lets the
@@ -78,7 +66,7 @@ The full-resolution MP4 files are in [`previews/`](previews). Success rates in t
78
  <a id="rearrange_blocks"></a>
79
  ### rearrange_blocks: 100%
80
 
81
- <img src="previews/rearrange_blocks.gif" width="70%">
82
 
83
  Two blocks sit on mats next to a button, and one mat is empty. The robot moves the first block onto the empty
84
  mat and presses the button. It then moves the second block off its mat to the spot between the mats.
@@ -90,7 +78,7 @@ mat and presses the button. It then moves the second block off its mat to the sp
90
  <a id="blocks_ranking_try"></a>
91
  ### blocks_ranking_try: 100%
92
 
93
- <img src="previews/blocks_ranking_try.gif" width="70%">
94
 
95
  Three colored cubes stand in a row in a random order, next to a check button. The robot does not know the target
96
  order. It presses the button to test the current arrangement. If the arrangement is rejected, it swaps two cubes
@@ -104,7 +92,7 @@ and tests again, working through the orders until the button accepts one.
104
  <a id="put_back_block"></a>
105
  ### put_back_block: 100%
106
 
107
- <img src="previews/put_back_block.gif" width="70%">
108
 
109
  A block starts on a mat. The robot moves the block to the center of the table and presses the button. It then
110
  puts the block back on the mat it came from.
@@ -117,7 +105,7 @@ puts the block back on the mat it came from.
117
  <a id="battery_try"></a>
118
  ### battery_try: 97%
119
 
120
- <img src="previews/battery_try.gif" width="70%">
121
 
122
  Two batteries must go into a slot whose correct polarity is hidden. The dashboard needle shows whether the current
123
  combination is correct. If it is not, the robot takes a battery out and re-inserts it the other way round.
@@ -128,7 +116,7 @@ combination is correct. If it is not, the robot takes a battery out and re-inser
128
  <a id="swap_t"></a>
129
  ### swap_T: 24%
130
 
131
- <img src="previews/swap_T.gif" width="70%">
132
 
133
  Two T-shaped blocks lie on the table. The robot picks them up and places each one at the other's initial position
134
  and orientation.
@@ -140,7 +128,7 @@ and orientation.
140
  <a id="swap_blocks"></a>
141
  ### swap_blocks: 19%
142
 
143
- <img src="previews/swap_blocks.gif" width="70%">
144
 
145
  Two blocks are in two of three trays. The robot may move one block at a time and each tray holds at most one
146
  block. It swaps the two blocks using the spare tray as a buffer, then presses the button.
@@ -152,7 +140,7 @@ block. It swaps the two blocks using the spare tray as a buffer, then presses th
152
  <a id="cover_blocks"></a>
153
  ### cover_blocks: 17%
154
 
155
- <img src="previews/cover_blocks.gif" width="70%">
156
 
157
  A red, a green and a blue block are arranged randomly together with three identical lids. The robot covers the
158
  blocks from left to right. Then it lifts the lids again in the order red, green, blue.
@@ -164,7 +152,7 @@ blocks from left to right. Then it lifts the lids again in the order red, green,
164
  <a id="observe_and_pickup"></a>
165
  ### observe_and_pickup: 9%
166
 
167
- <img src="previews/observe_and_pickup.gif" width="70%">
168
 
169
  A target object is shown on a shelf. A wall then drops in front of the shelf and hides it. The robot must pick
170
  up the matching object from several distractors on the table.
@@ -179,7 +167,7 @@ up the matching object from several distractors on the table.
179
  <a id="press_button"></a>
180
  ### press_button: 5%
181
 
182
- <img src="previews/press_button.gif" width="70%">
183
 
184
  Two number cards lie on the table. The robot presses the left button as many times as the left card shows and
185
  the middle button as many times as the right card shows, then presses the right button to confirm.
@@ -254,14 +242,3 @@ If you find CAMP useful, please cite:
254
  url={https://arxiv.org/abs/2606.21188},
255
  }
256
  ```
257
-
258
- The tasks, demonstrations and evaluation protocol come from RMBench:
259
-
260
- ```bibtex
261
- @article{chen2026rmbench,
262
- title={RMBench: Memory-Dependent Robotic Manipulation Benchmark with Insights into Policy Design},
263
- author={Chen, Tianxing and Wang, Yuran and Li, Mingleyang and Qin, Yan and Shi, Hao and Li, Zixuan and Hu, Yifan and Zhang, Yingsheng and Wang, Kaixuan and Chen, Yue and others},
264
- journal={arXiv preprint arXiv:2603.01229},
265
- year={2026}
266
- }
267
- ```
 
11
  - robotwin
12
  ---
13
 
 
 
 
 
 
 
14
  <p align="center">
15
  <a href="https://arxiv.org/abs/2606.21188"><img alt="arXiv" src="https://img.shields.io/badge/arXiv-2606.21188-b31b1b?logo=arxiv&logoColor=white"></a>
16
  &nbsp;
 
23
  <a href="https://huggingface.co/datasets/TianxingChen/RMBench"><img alt="RMBench dataset" src="https://img.shields.io/badge/%F0%9F%A4%97%20Dataset-TianxingChen%2FRMBench-ffbf00"></a>
24
  </p>
25
 
 
 
 
 
 
 
26
  **CAMP** (Compressed Action Memory Policy) gives a visuomotor policy a *behavioral memory*. A recurrent memory
27
  is pretrained to reconstruct a compressed (DCT) summary of the robot's own past actions, so its hidden state
28
  has to encode what the robot already did; a Diffusion Policy is then conditioned on that state. This lets the
 
66
  <a id="rearrange_blocks"></a>
67
  ### rearrange_blocks: 100%
68
 
69
+ <p align="center"><img src="previews/rearrange_blocks.gif" width="70%"></p>
70
 
71
  Two blocks sit on mats next to a button, and one mat is empty. The robot moves the first block onto the empty
72
  mat and presses the button. It then moves the second block off its mat to the spot between the mats.
 
78
  <a id="blocks_ranking_try"></a>
79
  ### blocks_ranking_try: 100%
80
 
81
+ <p align="center"><img src="previews/blocks_ranking_try.gif" width="70%"></p>
82
 
83
  Three colored cubes stand in a row in a random order, next to a check button. The robot does not know the target
84
  order. It presses the button to test the current arrangement. If the arrangement is rejected, it swaps two cubes
 
92
  <a id="put_back_block"></a>
93
  ### put_back_block: 100%
94
 
95
+ <p align="center"><img src="previews/put_back_block.gif" width="70%"></p>
96
 
97
  A block starts on a mat. The robot moves the block to the center of the table and presses the button. It then
98
  puts the block back on the mat it came from.
 
105
  <a id="battery_try"></a>
106
  ### battery_try: 97%
107
 
108
+ <p align="center"><img src="previews/battery_try.gif" width="70%"></p>
109
 
110
  Two batteries must go into a slot whose correct polarity is hidden. The dashboard needle shows whether the current
111
  combination is correct. If it is not, the robot takes a battery out and re-inserts it the other way round.
 
116
  <a id="swap_t"></a>
117
  ### swap_T: 24%
118
 
119
+ <p align="center"><img src="previews/swap_T.gif" width="70%"></p>
120
 
121
  Two T-shaped blocks lie on the table. The robot picks them up and places each one at the other's initial position
122
  and orientation.
 
128
  <a id="swap_blocks"></a>
129
  ### swap_blocks: 19%
130
 
131
+ <p align="center"><img src="previews/swap_blocks.gif" width="70%"></p>
132
 
133
  Two blocks are in two of three trays. The robot may move one block at a time and each tray holds at most one
134
  block. It swaps the two blocks using the spare tray as a buffer, then presses the button.
 
140
  <a id="cover_blocks"></a>
141
  ### cover_blocks: 17%
142
 
143
+ <p align="center"><img src="previews/cover_blocks.gif" width="70%"></p>
144
 
145
  A red, a green and a blue block are arranged randomly together with three identical lids. The robot covers the
146
  blocks from left to right. Then it lifts the lids again in the order red, green, blue.
 
152
  <a id="observe_and_pickup"></a>
153
  ### observe_and_pickup: 9%
154
 
155
+ <p align="center"><img src="previews/observe_and_pickup.gif" width="70%"></p>
156
 
157
  A target object is shown on a shelf. A wall then drops in front of the shelf and hides it. The robot must pick
158
  up the matching object from several distractors on the table.
 
167
  <a id="press_button"></a>
168
  ### press_button: 5%
169
 
170
+ <p align="center"><img src="previews/press_button.gif" width="70%"></p>
171
 
172
  Two number cards lie on the table. The robot presses the left button as many times as the left card shows and
173
  the middle button as many times as the right card shows, then presses the right button to confirm.
 
242
  url={https://arxiv.org/abs/2606.21188},
243
  }
244
  ```