Dream What I Can: Sparse Visual Planning for
Long-Horizon Robot Manipulation
1
2
3
4
The world is not made of words
We introduce DreamCan, a sparse visual planner that can generate a sequence of sparse keyframes for robot manipulation task planning. Rather than generating dense frames, DreamCan generates visual subgoals that balance reachability—what the robot can achieve—and task utility—what moves the task forward.
Video
Key Results
Method
DreamCan first employs an unsupervised approach to discover sparse visual subgoal sequences from robot video datasets that balance subgoal reachability and utility, then fine-tunes a pretrained video generation model (WAN 2.2 TI2V-5B) to generate the full sequence of subgoals.
Select a stage to view its details.
- Input
- Robot video datasets.
- Output
- A reachability value network that estimates the reachability between two states.
DreamCan first learns a Reachability Value Function from action-free videos to measure transition difficulty between two frames.
What does reachability measure?
- An RL value. In an MDP, is the expected discounted return for reaching frame from frame : −1 per step until arrival, then 0.
- A score between 0 and 1. Normalizing this value gives reachability. Earlier arrival means a higher score; is the first hitting time.
How is it learned?
- Learn from video transitions. Fit using an action-free, goal-conditioned variant of Implicit Q-Learning (IQL), an offline RL method.
- Favor higher returns. An upper-expectile loss emphasizes transitions that reach the conditioning frame more efficiently.
Training objective & sampling
For video transitions , termination flag and target head , the TD target and expectile loss are:
The upper expectile favors higher-return transitions. We use , and Polyak rate , with . Second frames are sampled equally from future frames with geometric offsets and other trajectories.
Reachability value network
Language Instruction:
Loading learned reachability data…
Trajectory frames
Choose a role, then click a frame. Use the sliders for any frame in between.
Reachability curve
- Input
- Robot videos and language instructions.
- Output
- A task-conditioned utility that measures progress toward task completion.
DreamCan uses a Task Utility Value Function to measure progress toward the instruction .
RoboMeter · clear, simple tasks
A video prefix and instruction are enough for RoboMeter to estimate task progress.
- Build supervision. Pair demonstration clips with instructions; derive progress labels from relative frame positions. Add reversed, rewound and mismatched-instruction clips.
- Fine-tune where needed. Freeze the backbone and visual encoder; train LoRA adapters and progress/success heads.
Prediction & loss details
Progress uses ten-bin soft-target cross-entropy (CE); the success head uses binary cross-entropy (BCE). In the LoRA update, stays frozen while and are trained.
RoboMeter · progress prediction
VLM + SAM · complex, long-horizon tasks
For tasks needing explicit spatial reasoning, score the arrangement of detected objects.
- Define and detect. A VLM defines task criteria; SAM extracts object masks from each frame.
- Measure progress. A task-specific scorer evaluates those masks. For make-a-line, it rewards alignment and even spacing.
Make-a-line scoring example
Alignment depends on distance to the line, tolerance and softness . scores even spacing among blocks; denotes their masks.
VLM + SAM · Make a line
Language Instruction:
Loading task utility data…
Trajectory frames
Click a frame or use the slider to inspect its utility.
Task utility curve
- Input
- Robot videos, reachability values, and task utility values.
- Output
- Discovered sparse keyframe sequence.
Balance three needs
A good subgoal sequence should balance feasible transitions with meaningful task progress.
- Reachability R: favor transitions the robot can make.
- Task utility U: reward progress toward the instruction.
- Spacing Ω: discourage clustered, redundant keyframes.
From frames , select ordered keyframes to maximize:
Spacing term & weights
The weights control feasibility, progress and spacing. For remaining subgoals, the spacing penalty compares the next gap with a reference gap:
Optimize the whole sequence
A locally attractive frame may leave poor choices later. Dynamic programming scores each next frame together with its best continuation, reusing results for the remaining sequence.
is the best future score from frame with keyframes left:
Recover the plan. Start at and follow the maximizing next frame at each step to obtain all keyframes.
Loading the training trajectory…
Language Instruction:
Open this tab to explore subgoal selection.
Full demonstration
Selected keyframe sequence
- Input
- Discovered sparse visual subgoal sequences and the pretrained WAN 2.2 TI2V-5B model.
- Output
- A fine-tuned video generation model for visual subgoal planning.
DreamCan adapts Wan2.2-TI2V-5B to generate a sparse visual plan from the current observation and instruction.
Align sparse targets
Repeat each target four times to match the VAE’s temporal compression: one latent slot per subgoal, plus one for the observation.
Keep the prefix clean
Keep the observation and an optional prefix of subgoals clean; add noise only to future slots. is ordinary image-to-video conditioning.
Train only LoRA
Pair sampled observations with later annotated targets. Freeze the VAE, text encoder and base DiT; train LoRA with a flow-matching loss on future slots.
Flow-matching objective & prefix conditioning
The loss averages prediction error over future slots only. Here is the noise level, the sampled noise, and the scheduler weight.
During search, a longer clean prefix retains accepted subgoals while regenerating the rest.
Experimental Results
Select an option to explore the experiments.
- Dataset
- Three long-horizon tasks from the Language-Table dataset: Make a line, All to region, and Canonical shape.
- Train & Eval
- We train on 1,424, 1,303, and 1,378 videos for Make a line, All to region, and Canonical shape, respectively, and evaluate on 100 videos per task. Planning success requires reaching the instructed goal, preserving all blocks, and maintaining valid transitions.
| Method | Success rate |
|---|---|
| Dense planning | 71% |
| Uniform planning | 69% |
| VLP | 56% |
| Ours | 86% |
Baselines
- Dataset
- RoboMimic-MH Square: 300 demonstrations, comprising 100 proficient and 200 suboptimal demonstrations.
- Train & Eval
- The planner comparison below uses nested planner datasets of 5, 10, 20, 40, 80, 120, 160, and 200 suboptimal videos, and the shared low-level policy is trained on 100 proficient demonstrations.
Better demo
Worse demo
Findings
- DreamCan can scale with suboptimal datasets. DreamCan improves from 51.6% to 68.0% with 5–200 videos (+16.4 points). This shows that our keyframe discovery method can jump over sub-optimal parts in demonstrations.
- Dense planning and uniform subgoal planning cannot scale with suboptimal datasets.
- Dataset
- Language-Table Make a line and the real-world Box Packing task.
- Train & Eval
- We use 1,424 training videos for Language-Table make a line task, and 100 videos for evaluation; we use 550 demonstrations for the real-world box packing task and 95 cases for testing.
What does the y-axis measure?
- Final task progress ∈ [0, 1]: a continuous score for how well eight detected blocks align with the instructed line and remain separated. Higher is better.
- Mean ± SEM: average the last two evaluated frames of each plan, then average across cases. Error bars show the standard error of this mean.
Two ways of test-time search
- Whole-sequence best-of-N: generate N complete plans and keep the one with the highest task-progress score.
- Anchored search: keep the best subgoal prefix as clean latents and regenerate the remaining sequence.
Findings
- DreamCan can benefit from test-time search compute, especially from anchored search.
- Dense planning can also improve with extra compute, but its final task progress remains below DreamCan's initial result.
- Uniform subgoal planning cannot benefit from test-time compute.
Generated plans at different budgets
Trajectory 0
Language Instruction: put the blocks in a diagonal line from the top right to bottom left
Trajectory 1
Language Instruction: put the blocks in a diagonal line from the top right to bottom left
Trajectory 2
Language Instruction: put all the blocks in a vertical line on the center of the board
Language Table: change the target arrangement
The same initial observation supports different line arrangements.
Box Packing: steer spatial preferences
Planner Instruction: Pack the bread, blue cube, and the bear into the box.
A VLM turns each spatial preference into a task-progress criterion. Search keeps a matching subgoal prefix and regenerates the rest of the plan.
- Dataset
- PushT and LIBERO-Long.
- Train & Eval
- We use 206 demonstrations for PushT, and 379 demonstrations for 10 tasks in LIBERO-Long. We use the same low-level policy architecture across different baselines. We use 50 episodes for evaluation per task.
A goal-conditioned flow-matching policy converts visual subgoals into robot actions. The planner and controller have no shared features or gradients.
Goal-conditioned low-level policy architecture
PushT
| Method | Success rate |
|---|---|
| E2E | 58.0% |
| Dense | 70.0% |
| Uniform | 72.0% |
| DreamCan (Ours) | 86.0% |
LIBERO-Long
| Method | Success rate |
|---|---|
| E2E | 79.2% |
| Dense | 84.0% |
| Uniform | 82.4% |
| DreamCan (Ours) | 91.2% |
Planning and execution in simulation
PushT
Push the T-shaped block into the target region.
CompletedExecution
Planner output
LIBERO-Long
Put both the alphabet soup and the tomato sauce in the basket.
CompletedExecution
Planner output
- Dataset
- Three dual-arm YAM robot tasks: Cardboard Box Folding, Box Packing, and Make a Line.
- Train & Eval
- We collect 100 demonstrations for the cardboard box folding task, 550 demonstrations (110 combinations × 5) for the box packing task, and 90 (3 variations × 30) demonstrations for the real-world make a line task. Each task is evaluated over 20 episodes; packing holds out 95 unseen object combinations.
Cardboard Box Folding (Contact rich task)
| Method | Success |
|---|---|
| End-to-end policy | 5% |
| Dense video planning | 0% |
| Uniform subgoal planning | 10% |
| DreamCan | 40% |
Box Packing (Combinatorial generalization task)
| Method | Success |
|---|---|
| End-to-end policy | 0% |
| Dense video planning | 5% |
| Uniform subgoal planning | 20% |
| DreamCan | 65% |
Make a Line (Long-horizon symbolic planning task)
| Method | Success |
|---|---|
| End-to-end policy | 10% |
| Dense video planning | 0% |
| Uniform subgoal planning | 25% |
| DreamCan | 55% |
- Targets
- We evaluate learned subgoal reachability and the effectiveness of the different dynamic-programming terms.
- Train & Eval
- For the reachability study, we use LIBERO-Long and RoboMimic Square; for the DP-term ablation, we use LIBERO-Long tasks.
Experimental setting
- Ten LIBERO-Long tasks. Evaluate consecutive subgoal pairs with the trained goal-conditioned policy.
- Reset, replay, then execute. Replay to the first subgoal, then test whether the policy reaches the next state within 5 cm. Run 50 trials per segment.
- Read the distributions. Dots show stage success rates; diamonds show task means. Violins show within-task variation, and dashed lines show the mean across ten tasks.
Figure 8 uses object-only success for DreamCan and object-plus-end-effector success for Uniform subgoal planning.
Findings
- DreamCan’s subgoals are highly reachable. Its mean segment success rate is 0.98, with task means between 0.91 and 1.00.
- Uniform subgoals show larger variation. Their reported mean is 0.88, and several tasks contain stages with substantially lower success.
Which terms guide subgoal discovery?
R rewards reachable transitions, U rewards task progress, and S controls temporal spacing. The manuscript compares five discovery objectives with the planner and policy trained under the same stated protocol.
| DP terms | R | U | S | Task success |
|---|---|---|---|---|
| Spacing only (S) | — | — | ✓ | 81.8% |
| Reachability + spacing (RS) | ✓ | — | ✓ | 74.2% |
| Utility + spacing (US) | — | ✓ | ✓ | 78.0% |
| Reachability + utility (RU) | ✓ | ✓ | — | 83.8% |
| Ours (RUS) | ✓ | ✓ | ✓ | 91.2% |
In Square episode 103, the nut is grasped at frame 101, dropped at 107, and returns near the anchor state at frame 208. Learned reachability rebounds even though elapsed time continues to increase.
Interactive Demo
Drag the eight Language-Table blocks into any layout, pick a make-a-line instruction, and the DreamCan planner (Wan 2.2 TI2V-5B at 640×384 with our subgoal LoRA) generates the 16-step visual plan from that start frame. Every plan runs anchored test-time search with a detection-based block guard: each accepted subgoal is checked against the previous one and hallucinated blocks are removed before the next step.
- Cold start. The GPU container starts on demand; the first visit after an idle period takes about two minutes to load the model.
- Planning time. One plan is 30-60 generator calls, roughly 8-14 minutes on an A100; the page shows the queue position and progress. Set candidates to 1 for a faster, less careful plan.
- Shuffle draws a layout from real episode start frames (the training distribution); the demo works best when blocks are clustered like that.
FAQ
What is DreamCan?
DreamCan is a hierarchical robot manipulation system with a high-level sparse visual planner and an independently trained, goal-conditioned low-level policy. Given the current image observation and a language instruction, the planner predicts a short sequence of visual subgoals. The policy turns these subgoals into robot actions, and the planner is periodically called again using the latest observation for closed-loop replanning.
Why plan with sparse visual subgoals instead of language or dense videos?
Language plans can leave contact locations, geometric relationships, and intermediate object configurations ambiguous. Dense video plans are expensive to generate and can accumulate prediction errors or overconstrain the controller. Uniformly spaced keyframes can include redundant motion, regressions, or transitions that are difficult to execute. DreamCan selects sparse subgoals that balance reachability with useful task progress.
What does the reachability value function measure?
The normalized reachability score estimates how quickly and reliably one visual state can be reached from another. It is a discounted first-hitting-time value, rather than a success probability within a fixed horizon. The model uses action-free, goal-conditioned expectile learning with frozen RADIO visual features.
The learned score is a proxy for dataset-supported reachability, assuming a downstream controller whose capabilities are broadly compatible with the recorded behavior. It is not simply a penalty for elapsed video time: the paper evaluates demonstrations with detours and repeated states to distinguish the two.
How do the planner and low-level policy communicate?
Their interface is the generated subgoal images; the planner and policy do not share gradients or hidden representations. The low-level controller is a 0.1B-parameter goal-conditioned flow-matching Transformer. It uses current visual observations, proprioceptive state, the language instruction, and several future subgoals to produce an action chunk.
The 0.1B parameter count refers only to the low-level policy. The high-level planner is adapted from a 5B-parameter pretrained video model.
How do test-time search and language steering work?
The paper evaluates whole-sequence best-of-N search and anchored search. Anchored search samples candidate continuations, commits a selected prefix as clean latents, and regenerates the remaining subgoals. Candidate plans are evaluated with task-progress scores, and additional generator calls improve planning progress in the evaluated settings.
The planner is conditioned on language instructions. For test-time steering, the paper also uses a vision-language model to write instruction-specific task-progress functions that select plans matching the requested outcome. Examples include different line arrangements in Language-Table and preferred object placements during box packing.
Citation
@article{gao2026dreamcan,
title={Dream What I Can: Sparse Visual Planning for Long-Horizon Robot Manipulation},
author={Gao, Chongkai and Huang, Wenlong and Chen, Haonan and Shao, Lin and Du, Yilun and Wu, Jiajun and Zhang, Ruohan and Li, Fei-Fei},
journal={},
year={2026}
}