How PACE works
An introduction to PACE, with demonstrations on real robots and in simulation.
In the π₀.₅ experiments, each query predicts 50 joint commands, allowing the robot to execute several steps before querying the policy again.
PACE selects H from the predicted speed profile, using the first valley that meets the contrast threshold.
PACE uses the predicted actions without accessing model internals or drawing additional policy samples.
Choosing how many actions to execute
The policy predicts an action chunk. PACE uses its speed profile to choose an execution length, then the robot executes that prefix and queries the policy with a new observation.
- Predict an action chunkThe policy outputs 50 joint commands for each arm.
- Compute the speed profileCompute speed from consecutive joint commands for each arm, then apply Savitzky–Golay smoothing.
- Select a valleyFor each arm, find the first valley whose contrast Δ meets the threshold δ.
- Execute and replanUse the earlier of the two arms’ selected boundaries. Execute that prefix, then query the policy with a new observation. If neither arm has a qualifying valley, execute all 50 actions.
Evaluation on 50 RoboTwin tasks
We evaluate π0.5 on all 50 RoboTwin 2.0 tasks, with 900 episodes per task and execution method. For each task, all methods use the same checkpoint.
RoboTwin 2.0 average success, vs 57.8% for the best fixed horizon (H = 25).
over AutoHorizon and +5.1 over AAC, both adaptive baselines on the same checkpoints.
real-robot success across three tasks, up from 50.7% with full-chunk execution.
selector time per query, about 0.044% of one GR00T N1.7 forward pass.
Comparison at matched average horizons
For each task, the fixed horizon is set to PACE’s rounded mean execution length. The plot compares success rates.
Policy queries and success rate
Franka, place object on plate, queries per successful episode.
88/100 with PACE vs 87/100 with H = 5, using 84.6% fewer policy queries.
Effect of speed-profile smoothing
Speed signal ablation, all 50 tasks (success · mean H).
Smoothing removes noisy valleys and lets PACE keep longer prefixes; joint-space is the default.
Task demonstrations and results
Videos play at 2× speed, with action-chunk boundaries marked below each clip. The success rates are from the paper’s per-task evaluation of PACE and the best fixed horizon (H = 5, 25, or 50).
Real-world manipulation
We evaluate PACE on ALOHA and Franka robots. The videos show the ALOHA stacking and pen-placement tasks from RoboChallenge; results for all three tasks follow below.
Videos play at recorded speed. Numbers indicate the selected execution length; curves show the speed profile of the corresponding predicted action chunk.
Stack bowls
ALOHA · RoboChallenge · Figure 5
Put a pen into its case
ALOHA · RoboChallenge
Franka · place an object on a plate
20 trials per object and method. Grey: fixed H = 50 · orange: PACE.
Comparison with fixed horizons
Successes out of 100 and queries per successful episode.
PACE with GR00T N1.7
We apply PACE to GR00T N1.7 and evaluate it on 40 LIBERO tasks, without retraining the model. GR00T predicts end-effector displacement increments. PACE uses the magnitude of each translational increment as the motion signal to choose the execution length.
Four LIBERO suites, 6,000 episodes per execution method, and 16 predicted actions per chunk. Results are mean ± sample standard deviation across three seeds; bold indicates the highest mean in each column.
PACE takes 0.0566 ± 0.0046 ms per query and uses 10.53 queries per successful episode, compared with 9.69 for full-chunk execution (H = 16).
Use PACE with your policy
The standalone module depends on NumPy and SciPy. The release also includes calibrated thresholds for all 50 RoboTwin tasks and the π0.5 evaluation code.