LogLook: Execution-Grounded Memory for Frontier-Model Robot Planners
Organizations: State Key Laboratory for Novel Software Technology and School of Intelligence Science and Technology, Nanjing University (Suzhou Campus), Suzhou, China · School of Computation, Information and Technology, Technical University of Munich, Garching, Germany
Abstract
Many manipulation tasks require a robot to remember what it has done and what it has seen. Frontier vision-language models can plan such tasks without task-specific training, but how such a planner should remember an episode is an open question. We argue that its memory must keep track of what the planner has done and learned, and must let the planner choose what to look at, since every frame costs tokens; a note rewritten at every step meets both poorly. We propose LogLook, whose execution-grounded memory lets the system keep the record, an execution log and the model's earlier notes, while the model decides where to look: frames are returned only where it expects a change, and demonstrations are skimmed before it inspects the parts it chooses. Measured with the benchmark's motion planner, LogLook matches the success of a note-only memory with 43% fewer tokens and less than half the images, and fails far fewer episodes through what it remembered or saw. With direct control, LogLook solves 93.5% of the RoboMME test set.
Figures & tables
| System | Decision maker | Executor (action) | Beyond RGB + proprio. | Trained on RoboMME |
| MemER, FrameSamp-Modul | learned memory policy | (joint actions) | – | memory and executor |
| GroundSG, oracle subgoals | simulator ground truth | (joint actions) | privileged subgoals | executor |
| Human [ 1 ] | human player | oracle skill interface | privileged skills | – |
| Ours, executor | GPT-6 Astra | (subgoal phrases) | depth, calibration, task notes | executor only (same checkpoint) |
| Ours, direct control | GPT-6 Astra | motion planner (waypoints) | depth, calibration, task notes | nothing |
| Executor (episodes) | Memory | Success (%) | Failures: planning / other | Ours wins / losses | Tokens / ep. | Calls / ep. |
|---|---|---|---|---|---|---|
| Motion planner (256) | execution-grounded | 237/256 (92.6) | 15 / 4 | 19 / 16 | 40.5k | 7.3 |
| note-only | 234/256 (91.4) | 10 / 12 | 71.3k | 9.2 | ||
| (128) | execution-grounded | 104/128 (81.2) | – | 7 / 7 | 57.4k | 11.5 |
| note-only | 104/128 (81.2) | – | 118.6k | 12.0 |
| Memory | Success | Failures: planning / other | Full wins / losses | Tokens | Images (exec. / demo) | Calls | |
| All 16 tasks, 64 episodes | |||||||
| Ours (full) | 56/64 | 8 / 0 | – | 50.3k | 19 | 30 | 6.7 |
| without execution log | 58/64 | 3 / 3 | 6 / 8 | 40.0k | 21 | 30 | 7.4 |
| without note history | 61/64 | 1 / 2 | 2 / 7 | 45.8k | 23 | 29 | 8.0 |
| without gated frames | 58/64 | 4 / 2 | 5 / 7 | 61.1k | 83 | 28 | 7.6 |
| Note-only memory | 53/64 | 4 / 7 | 10 / 7 | 92.6k | 90 | 52 | 8.7 |
| Counting | Permanence | Reference | Imitation | ||||||||||||||
| Method | Bin Fill | Pick Xtimes | Swing Xtimes | Stop Cube | Video Umsk | Button Umsk | Video UmskS | Button UmskS | Pick HighL | Video Repick | Video PlcBtn | Video PlcOrd | Move Cube | Insert Peg | Pattern Lock | Route Stick | Avg. |
| Human | 96.0 | 100.0 | 80.0 | 78.0 | 90.0 | 92.0 | 92.0 | 90.0 | 92.0 | 92.0 | 98.0 | 90.0 | 90.0 | 98.0 | 84.0 | 86.0 | 90.5 |
| (no memory) | 30.0 | 42.9 | 35.6 | 6.7 | 20.4 | 22.2 | 18.7 | 6.7 | 11.3 | 0.4 | 31.1 | 25.8 | 26.0 | 1.6 | 2.9 | 4.7 | 17.9 |
| SAM2Act+ | 40.0 | 76.0 | 25.3 | 0.0 | 27.3 | 32.0 | 18.0 | 26.7 | 17.3 | 5.3 | 24.7 | 20.0 | 29.3 | 0.0 | 0.0 | 0.0 | 21.4 |
| MemER | 56.7 | 79.3 | 59.3 | 0.0 | 81.3 | 72.0 | 38.0 | 21.3 | 70.7 | 25.3 | 30.0 | 26.0 | 82.7 | 6.7 | 16.7 | 12.0 | 42.4 |
| GroundSG, Qwen3-VL sg. | 52.0 | 92.7 | 7.3 | 0.0 | 88.7 | 24.0 | 30.7 | 14.0 | 15.1 | 25.3 | 54.0 | 31.8 | 71.6 | 3.3 | 6.7 | 6.0 | 32.7 |
| Planner | Memory | Success (%) | Ours wins / losses | Tokens / ep. | Calls / ep. |
|---|---|---|---|---|---|
| MemER (official run) | keyframes | 341/800 (42.6) | 327 / 13 | – | – |
| FrameSamp (official run) | sampled frames | 372/800 (46.5) | 327 / 44 | – | – |
| Oracle subgoals | simulator | 658/800 (82.2) | 59 / 62 | – | – |
| Per-chunk planner | state note, rewritten | 601/800 (75.1) | 89 / 35 | 203k | 22.8 |
| Ours | execution-grounded | 655/800 (81.9) | – | 51k | 10.5 |
| Task notes | Success (%) | Failures: planning / other | Full notes wins / losses | Calls / ep. |
|---|---|---|---|---|
| Ours, full notes | 237/256 (92.6) | 15 / 4 | – | 7.3 |
| Without completion criteria | 236/256 (92.2) | 9 / 11 | 14 / 13 | 8.5 |
| Without task notes | 228/256 (89.1) | 13 / 15 | 19 / 10 | 8.7 |
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| executor, 8 episodes per task | Motion planner, 16 ep. | ||||||
| Task | MemER | FrameSamp | Oracle sg. | Per-chunk | Ours | Exec.-gr. | Note-only |
| BinFill | 4 | 4 | 6 | 6 | 7 | 16 | 15 |
| PickXtimes | 5 | 6 | 8 | 8 | 8 | 15 | 14 |
| SwingXtimes | 4 | 8 | 8 | 8 | 8 | 14 | 16 |
| StopCube | 0 | 2 | 4 | 1 | 3 | 13 | 15 |
| VideoUnmask | 7 | 3 | 7 | 8 | 8 | 16 | 16 |
| Difficulty | MemER | FrameSamp-Modul | Oracle subgoals | Ours, direct control |
|---|---|---|---|---|
| Easy | 201/416 (48.3) | 241/416 (57.9) | 365/416 (87.7) | 384/416 (92.3) |
| Medium | 90/192 (46.9) | 83/192 (43.2) | 153/192 (79.7) | 187/192 (97.4) |
| Hard | 50/192 (26.0) | 48/192 (25.0) | 140/192 (72.9) | 177/192 (92.2) |
| Memory swap, motion planner, test episodes 4–19 | ||||
| Difficulty | Note-only memory | Execution-grounded | ||
| Easy | 119/128 | 118/128 | ||
| Episode (task, test ep.) | Succeeds with | Cause of the failure |
| Motion planner, test episodes 4–19 | ||
| BinFill 7 | execution-grounded | count drift: a deposited cube is not counted |
| ButtonUnmaskSwap 19 | execution-grounded | fact dropped: swap tracking lost in a rewrite |
| ButtonUnmaskSwap 5 | execution-grounded | motion planning failure of the other memory (no path found; counted as a failure, as in RoboMME) |
| ButtonUnmaskSwap 6 | execution-grounded | motion planning failure of the other memory (no path found; counted as a failure, as in RoboMME) |
| ButtonUnmaskSwap 9 | execution-grounded | motion planning failure of the other memory (no path found; counted as a failure, as in RoboMME) |
| Parameter | Value |
| Model and inputs | |
| Planner model | GPT-6 Astra through its API, reasoning effort “high” |
| Maximum output per call | 6000 tokens |
| Images at each decision | front and wrist camera, |
| Demonstration frames | |
| Budgets per episode | |
Memory-Augmented VLMs
Memory-augmented vision-language models use persistent or retrieved context to improve reasoning across long inputs and interactions.
See all 159 papers