Pot and tape → towel
Put both the pot and tape on the towel.
ICLR 2027 submission
ROBO-COP co-evolves a robotic orchestrator and its policy through deployment. It learns from mixed policy and scripted execution, including failed trials, verifies candidate policies before adoption, and revises memory to reflect policy changes.
10 simulation tasks · 3 real-world tasks
The harness
The orchestrator is the language model that writes robot programs. The harness is the set of tools, task memory, and execution loop around it.
The agent can call the policy to pick up an object, or use perception to find a grasp and move the arm with scripted primitives. A visual monitor checks execution and sends feedback when revised code is needed.
Episode reflection updates task memory. Policy actions and scripted motions are recorded in a shared action stream. The curator extracts skill demonstrations from successful and failed episodes and checks them before adding them to the training data.
A controller decides when to train and names target skills for verification. Training uses all curated data accumulated so far. Verification checks task success, previously admitted skills, and whether the candidate itself performed its targets.
After adoption or reversion, advice that discourages VLA use is marked unverified for the policy now in service. Its history is kept, so the orchestrator can retest the skill rather than assume the old advice still applies.
View code and decisions ↑
Training data
A text judge labels skills from code and execution feedback. A video judge checks the proposed labels. Segments are kept when the text judge accepts them and the video shows success or useful partial progress.

Method overview
Explore at your own pace with Back / Next, or choose Autoplay to watch every stage in sequence. Each video finishes before the next stage begins.
Step 1 of 6. Select any component to inspect it.
Two recorded runs, with videos and controller decisions along the trial timeline. Phase summaries report raw successes; rolling curves show the fluctuations within each run.
Simulation / 100 trials
The harness writes Python that calls either the VLA or motion primitives. Play a trial to follow its code, or open the monitor tab to see its feedback. Training starts after trial 45; the adopted policy serves from trial 71.
23 / 45 completed
17 / 25 completed
26 / 30 completed
TRIAL 08 / 100
The generated program samples a grasp and uses scripted motions to move the bananas.
Task completed
Rolling success rate with every trial shown below. Choose a 10- or 20-trial window.
Phase success rates from one deployment run.
Real world / 60 seconds
For lid removal and object transfer (60-second budget), the controller requests training after trial 30, targeting lid removal and two object-transfer skills. The candidate is evaluated over trials 31–40 and adopted for trial 41 onward. The videos show one attempt before training and one after adoption.
8 / 30 successful trials
4 / 10 successful trials
7 / 10 successes · Frozen: 5 / 10
Both methods share trials 1–30. The same rolling window is used for both curves.
30 curated episodes · 135 skill records
pick up the pot lid and put it on the grey towel
pick up the red tomato and put it on the white plate
pick up the green lime and put it on the white plate
The recorded verification returns CONFIRM. The adopted policy serves from trial 41.
Across all 50 deployment trials: Robo-COP 19/50 (38%); frozen-policy control 16/50 (32%).
Held-out evaluation. With policy and memory frozen after learning, Robo-COP succeeds on 14/20 tests (70%), compared with 7/20 (35%) for the frozen-policy control. These are the separate test results reported in the paper.
Held-out evaluation
After deployment, each system is tested on 50 new initializations per task with no further updates. Mean success is 73.8% for Robo-COP, 64.8% for the frozen-policy control, and 65.8% for fixed-schedule updates. ASPIRE reaches 54.0%; the standalone VLA reaches 28.0%.

Cup recycling / Trial 72
The visual monitor reports that the cup is not secure. The harness writes another program to regrasp it and continues within the same episode.
Grasp check fails. The cup is not secured after the initial policy call.
Monitor stops the action. It requests revised code to close the gripper, verify the grasp, and lift.
Code is revised. The next program includes a grasp check and another attempt.
Task succeeds. The episode ends with the cup placed in the bin.
One episode, with code revisions between attempts.
Real-world videos
Robots don’t always get it right. These three attempts didn’t finish the task. Switch to Success to see a completed attempt at the same task.
Put both the pot and tape on the towel.
Set down the lid, then move the pot contents to the white plate.
Put the mustard in the bowl and the vegetables in the pots.