Spotter: Let the Embodied Model Lead, and the VLM Reflect for It
Abstract
Spotter improves embodied models by using a vision-language model to detect and correct failures in parallel, boosting success rates with minimal overhead.
Current embodied models do not respond to their own failures, although what just went wrong could inform a small adjustment on the next attempt, the kind of reflection behind the gains of thinking in language models. We test whether they can repair a known error, which requires producing a correction and judging whether it is right. Stopped at a failure and allowed to retry, they seldom repair it through their own randomness or from a language description of the error, and best-of-N selection cannot pick the successful candidate after a failure. We attribute this to training only on successful demonstrations and to inputs too narrow to show what went wrong, and conclude that reflection must come from a vision-language model (VLM), which takes in far more information, such as the episode history and text, and is more general. Prior VLM-led work has the VLM plan every step and invoke the embodied model as a tool, placing the VLM on the critical path. We propose Spotter, which reverses the roles: the embodied model leads and executes continuously, while the VLM runs in parallel, monitors through a lightweight local screener, intervenes only when an error is detected, reflects on and corrects it, and returns control. We run Spotter with Qwen and with GPT as the VLM, and both improve the embodied models; with GPT, Spotter improves Cosmos Policy and π_{0.5} by 5.6 and 7.5 percentage points on RoboCasa, and raises π_{0.5} from 47.2% to 57.0% on the Hard setting of RoboTwin 2.0 and from 53% to 83% on a real robot. Because the VLM steps in only when an error is confirmed, a successful episode with Qwen takes only 13 to 16 s longer than with the embodied model alone and about 70% less time than with a VLM-led baseline using the same model. Our code is available at https://github.com/zqc3117/Spotter.
Community
Spotter lets the embodied model lead and calls the VLM only when something goes wrong. The policy (π0.5, Cosmos Policy) keeps executing, a small local model screens every chunk in parallel, and the VLM steps in only to repair a confirmed error, with no policy training.
- On RoboCasa (24 tasks), it raises Cosmos Policy from 67.9% to 73.5% and π0.5 from 64.3% to 71.8%.
- On RoboTwin 2.0, it matches the success of a GPT-led agent (56%) in less than half the time per successful episode (72 s vs 155 s), and with only a local Qwen it lifts π0.5 from 48% to 53%.
- On a real Franka robot, success rises from 53% to 83%.
Code and logs: https://github.com/zqc3117/Spotter
If you find it useful, a GitHub star or an upvote here would mean a lot. Questions are welcome.
Get this paper in your agent:
hf papers read 2609.36808 Don't have the latest CLI?
curl -LsSf https://hf.co/cli/install.sh | bash Models citing this paper 0
No model linking this paper
Datasets citing this paper 0
No dataset linking this paper
Spaces citing this paper 0
No Space linking this paper