The trade-off REACT is built to break
Chunked VLA control forces a choice. A long action chunk, generated by diffusion or flow matching, keeps motion smooth and mode-consistent, but once the chunk is being generated or executed, new observations cannot change the actions still inside it. Frequent replanning refreshes observations sooner, yet it introduces discontinuities at chunk boundaries and can pull contact-rich skills back into the same approach behavior.
The paper names this the coherence-freshness trade-off and measures it with two system-level quantities: input throughput, the rate at which fresh observations enter the policy, and output throughput, the rate at which executable actions leave it. The argument is that latency alone does not describe dynamic robot control, because a controller must both absorb new observations at high frequency and emit actions continuously.
REACT's answer is to stop treating a chunk as a disposable unit. It maintains a persistent action buffer with staggered flow timesteps, denoises the full horizon with the latest observation at each control step, executes the cleanest front block, shifts partially refined future blocks forward, and appends fresh noise at the tail. Each executed block therefore passes through multiple recent observations before deployment.
How the rolling buffer refines each block
The buffer partitions the same H=50 action horizon into K contiguous blocks of size S, so H=K·S. In the main experiments the schedule is K=5 and S=10, used without per-task tuning. A block enters at the tail as pure noise, receives one observation-conditioned Euler denoising update per control iteration, and exits at the front after traversing the K staircase stages.
This differs from standard π0.5 inference, which runs N=10 flow-matching denoising iterations per generated chunk. A REACT update performs only one Euler step on the H-step buffer. An emitted block is clean because it has persisted across successive updates, not because a single update ran a multi-step loop. The paper states that REACT changes the training timestep layout and inference scheduling of the action expert rather than the model architecture.
The training side is matched to this schedule. Staircase training supervises all intermediate stages {1/K, 2/K, …, 1} within each demonstration chunk, so every time-position pair queried during rolling inference has a corresponding supervised blockwise noise level. The paper argues that the deployed scheduler does not query unseen time-position combinations. At episode start, the buffer is initialized from the robot reset state rather than pure noise, and the first K−1 warm-up updates fill the pipeline while the controller holds a reset or safe pose.
Dual decoupling keeps observations fresh under compute limits
Rolling denoising alone would still be limited by the cost of a full VLM forward pass. Dual decoupling separates sensing, VLM encoding, DiT denoising, and action execution without changing model weights. VLM workers run asynchronously and publish completed visual-language embeddings to a latest-ready cache, removing the VLM pass from the DiT critical path.
The evaluated deployment uses a single NVIDIA RTX 4090 GPU (24 GB VRAM), colocating the action expert with M=2 asynchronous VLM workers, the same single-GPU budget as non-decoupled baselines. The scheduler only requires the effective VLM-pool service rate to satisfy R_VLM ≥ f_cam/S. For the main setting of S=10 and f_cam=30 Hz, the selected-observation rate is 3 Hz, well below the single-worker reference throughput of roughly 1/T_VLM = 27 Hz reported in the appendix.
The base model is π0.5, combining a PaliGemma-3B vision-language model with a 300M-parameter action expert. The paper keeps the backbone, tokenizer, image preprocessing, and action parameterization unchanged across baselines, REACT without dual decoupling, and full REACT, which makes the comparison a test of scheduling rather than of model capacity.
Why shorter chunks and async stitching fall short
The paper's baseline analysis is the clearest evidence for why REACT is structured this way. The full-chunk π0.5 baseline with H=50 and execution horizon 50 achieves the lowest average simulation jerk at 658.9 and stays competitive on many standard tasks, but it commits to a plan from an earlier observation. In Pour Rice it keeps pouring after the rice level exceeds the target, reaching only 3% success; in Reaction Game its slow observation refresh produces 1505 ms latency, 800 ms behind the human teleoperation average.
Shortening execution to 10 actions, H50E10, drops success from 37.43%/11.43% to 33.71%/8.71% on RoboTwin Clean/Randomized and from 58.7% to 35.9% on real robots, while average simulation jerk rises from 658.9 to 1463.7. The paper attributes this to two mechanisms: contact-rich skills need an action prefix long enough to change the physical state before the next observation is informative, and more replanning boundaries amplify multimodal short-horizon ambiguity. Bottle Cap Unscrewing falls to 0% on both ARX X5 and Franka because the policy repeatedly returns to cap grasping instead of sustaining the grasp–twist–release sequence.
Shortening the training horizon is worse. H10E10 collapses to 10.86%/2.43% on RoboTwin Clean/Randomized and 21.0% on real robots, and reaches 0% on all three general Franka tasks. Async+RTC raises nominal throughput to 3.0 Hz input and 30.0 Hz output, but still predicts chunks from observations that may no longer match the scene at execution and must stitch them onto an evolving trajectory. It has the highest average simulation jerk among the main methods at 2022.2 and averages only 17.7% across real-world general tasks.
What REACT gains over each baseline
REACT without dual decoupling reaches 65.7% average success across real-world general tasks, compared with 35.9% for H50E10, 21.0% for H10E10, and 17.7% for Async+RTC. Full REACT reaches 64.8%. The paper reads this pattern as support for coupling fresh observations with a persistent long-horizon buffer rather than optimizing either freshness or throughput alone.
Smoothness separates full REACT from the asynchronous baseline. Average simulation jerk is 1219.0 for full REACT versus 2022.2 for Async+RTC, and on ARX X5 the average jerk is 90.1 versus 284.1. Per-task ARX results show the same pattern: Async+RTC reaches jerk of 189.3 on Bowl Stacking by Size and 378.8 on Cable Hanging, against 80.3 and 102.7 for REACT, while its success falls to 36% and 3% on those tasks. In Pour Rice, Async+RTC reaches 0% because stitched, jerky tilting can spill rice before the target level is reached.
The paper also reports that REACT improves task success and reduces reaction latency relative to frequent-replanning and asynchronous baselines across RoboTwin 2.0 and real-world tasks spanning bimanual manipulation and dynamic control on multiple robot platforms. The real-robot platforms are the Acone/ARX X5 bimanual system and a dual-arm Franka Research 3 setup, both monitored by three RGB cameras at 30 Hz and controlled at 30 Hz.
Where the evidence stops
All reported results use π0.5 as the flow-based VLA backbone, so cross-model compatibility is untested. The paper notes that REACT only assumes a dual-system interface for perception-language-conditioned action generation and is not tied to model scale or a specific backbone, and it names GR00T N1 and X-VLA as candidate dual-system VLAs for future validation, but no such results are reported here.
The rolling schedule is also fixed per policy. Each policy is trained for one (K, S) configuration, and the paper neither evaluates nor claims zero-shot switching between schedules. The guidance offered is that S can be chosen from the required reaction timescale and compute budget, with K set to the largest integer satisfying K·S ≤ 50, the pretrained horizon of π0.5. All main experiments use (K, S) = (5, 10) without per-task tuning.
Finally, the paper did not train independent policy seeds, so its statistical comparisons reflect evaluation-rollout sampling noise rather than training-seed robustness. That matters when reading small gaps between methods, though the largest reported separations in success and jerk are far wider than a sampling-noise explanation would comfortably cover.
The priority REACT establishes for real-time VLA control
The paper's central claim is a priority ordering, not a single speed number. When success depends on reacting to state changes inside the action horizon, the decisive variable is whether fresh observations are folded into a coherent long-horizon action context. Long open-loop chunks fail because they are stale; short chunks fail because they lose the action-distribution support that carries contact-rich skills through state-changing phases; asynchronous stitching fails because it improves throughput while leaving prediction and execution states mismatched.
REACT's specific bet is that a persistent H=50 buffer refined one Euler step per control update, combined with dual decoupling and staircase training, is the combination that keeps both properties. The reported separation that matters most is the real-world general-task average: 65.7% for REACT without dual decoupling against 35.9%, 21.0%, and 17.7% for the three baselines, with full REACT at 64.8% and markedly lower jerk than Async+RTC.
For readers deciding whether this applies to their setting, the paper's own variables give the test. If the task requires reacting within a horizon shorter than the chunk being executed, and the compute budget allows a selected-observation rate of f_cam/S to be met by the VLM pool, the rolling-buffer design targets exactly that gap. If the backbone is not a dual-system flow-based VLA, or the schedule must change at deployment without retraining, the paper provides no evidence either way.
Sources used in this answer
REACT: Rolling Denoising and Dual Decoupling for Reactive Robot Control with VLA Models
REACT maintains a persistent H=50 action buffer with staggered flow timesteps, refining each block across multiple recent observations before execution; it reaches 65.7% average real-world general-task success without dual decoupling (64.8% with it) versus 35.9%, 21.0%, and 17.7% for short-execution, short-training, and Async+RTC baselines, with lower jerk than Async+RTC.
