Reflective Planning: Vision-Language Models for Multi-Stage Long-Horizon Robotic Manipulation

Yunhai Feng, Jiaming Han, Zhuoran Yang, Xiangyu Yue, Sergey Levine +1 more
2/23/2025
cs.ROcs.AIcs.LG

No official code found. Best implementation: yunhaif/reflect-vlm (182 stars, MIT, last commit 2025-07-17).

Abstract

Solving complex long-horizon robotic manipulation problems requires sophisticated high-level planning capabilities, the ability to reason about the physical world, and reactively choose appropriate motor skills. Vision-language models (VLMs) pretrained on Internet data could in principle offer a framework for tackling such problems. However, in their current form, VLMs lack both the nuanced understanding of intricate physics required for robotic manipulation and the ability to reason over long horizons to address error compounding issues. In this paper, we introduce a novel test-time computation framework that enhances VLMs' physical reasoning capabilities for multi-stage manipulation tasks. At its core, our approach iteratively improves a pretrained VLM with a "reflection" mechanism - it uses a generative model to imagine future world states, leverages these predictions to guide action selection, and critically reflects on potential suboptimalities to refine its reasoning. Experimental results demonstrate that our method significantly outperforms several state-of-the-art commercial VLMs as well as other post-training approaches such as Monte Carlo Tree Search (MCTS). Videos are available at https://reflect-vlm.github.io.

View on arXivView PDF

Code Implementations(1)

MIT

Reflective Planning: Vision-Language Models for Multi-Stage Long-Horizon Robotic Manipulation

1824CSS, HTMLFeb 12, 20251 years agoMIT

Similar Papers

Cite this paper

@article{feng2025reflective,
  title  = {Reflective Planning: Vision-Language Models for Multi-Stage Long-Horizon Robotic Manipulation},
  author = {Yunhai Feng and Jiaming Han and Zhuoran Yang and Xiangyu Yue and Sergey Levine and Jianlan Luo},
  year   = {2025},
  eprint = {2502.16707},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2502.16707v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2502.16707.svg)](https://codeofpaper.com/paper/2502.16707)

Discussion