Skip to content

FACT: Force-Aware Contact-Rich Manipulation via Timestep Modulation — demystifying when and why VLAs fail on contact-rich tasks

An 8-tweet thread from Carlota Parés-Morlans announcing “Demystifying When and Why VLAs Fail in Contact-Rich Tasks and How to Fix Them” and its accompanying method FACT (Force-Aware Contact-Rich Manipulation via Timestep Modulation). The thread’s diagnostic frame is that VLA failures on contact-rich manipulation are not only about lacking force sensing — there is a second, orthogonal root cause on the training-side: the Beta timestep sampler used in flow-matching training assigns almost no gradient to the low-noise regime where the tiny sub-mm action deltas of contact-phase corrections live. FACT fixes both halves at once: a Logit-Normal post-training noise schedule that reallocates ~6× more gradient to the low-noise regime, and a time-aware force-injection module (current-force modulates every layer, 2 s history as tokens, contact-gated learning). Reports 66% average success across 5 tasks and ~2,500 real-world rollouts vs 41% for the strongest prior baseline, with both components transferring across VLA backbones.

  • Contact-rich manipulation demands force-regulated interactions and sub-mm corrections precisely when vision is limited by occlusion and contact ambiguity; prior work explains VLA failure here purely by absent force sensing, which the thread argues is only half the story [Tweet 2/8].
  • Root cause #1 — precision failure from timestep sampling. During contact, successful action deltas approach zero, so the Beta timestep sampler used at flow-matching training provides very little learning signal in the low-noise regime; fine corrections are correspondingly hard to learn [Tweet 3/8].
  • Root cause #2 — force integration failure. Force signals are sparse, carry information at multiple timescales, and should modulate the policy rather than be appended as another input token [Tweet 4/8].
  • Fix #1 — Logit-Normal post-training noise schedule. Replacing the Beta sampler with a Logit-Normal schedule allocates ~6× more gradient where contact corrections happen, with no new data, no new parameters, and no architectural changes [Tweet 5/8].
  • Fix #2 — time-aware force injection. Current force modulates every layer, the last 2 s of force history are supplied as tokens, and a contact-gated learning signal focuses supervision on contact phases [Tweet 6/8].
  • Headline result. 66% average success vs 41% for the strongest prior baseline across 5 tasks and ~2,500 real-world rollouts [Tweet 7/8].
  • Transferability. Both the Logit-Normal noise schedule and the time-aware force-injection module transfer across different VLA backbones [Tweet 7/8].

The thread describes the fixes but not the exact architecture, backbones, or task list. Structurally: (i) the training loss’s timestep sampler is swapped from Beta to Logit-Normal, a change to a distribution over the flow-matching noise level that biases sampled timesteps toward the low-noise regime where near-zero action deltas dominate the signal; and (ii) the force pathway is redesigned as a per-layer modulation with a windowed history token stream and a contact gate on the learning signal, rather than appending a force feature to the observation input. The changes are presented as post-training modifications applicable on top of an existing flow-matching VLA — no new parameters, no data collection, no architectural rewrite. The underlying paper is not linked from the thread and was not locatable at filing time; when it appears on arxiv the wiki page should be re-anchored to it and this tweet demoted to a pointer.

  • 66% average success across 5 tasks vs 41% for the best prior baseline, across ~2,500 real-world rollouts [Tweet 7/8].
  • Both Logit-Normal timestep sampling and time-aware force injection transfer across VLA backbones, evaluated on more than one backbone [Tweet 7/8].
  • No per-task numbers, per-backbone deltas, ablations of one fix vs the other, or comparisons to specific baselines are given in the thread [Tweet 1-8].

FACT is the sharpest concrete answer yet to the Jitendra Malik: don't let CV researchers in robotics skip the sensorimotor level “VLAs under-weight the sensorimotor level” counter-position tracked on VLA Models: rather than adding a whole new modality pipeline or wrapping the VLA in a tactile-aware planner (Tactile-Reactive Dexterous Hand: High-Frequency Physical Interaction) or generating force from vision at inference (FELT: Generating Tactile Signals from Vision for Visuo-Tactile Manipulation), it stays inside the standard flow-matching VLA and identifies a training-side mechanism — the Beta timestep sampler starving the low-noise regime — as a load-bearing failure mode for contact tasks. It also sits alongside ModPack: An Extensible Teleoperation Interface for Bimanual Mobile Manipulation, which showed on the data side that adding projected joint torques as inputs to a DiT policy gave 30 pp on box-transfer contact tasks; FACT’s per-layer modulation + history-tokens + contact-gate treatment of that same signal is a natural next design point, and the noise-schedule half is orthogonal to whichever channel the force actually arrives on. The Logit-Normal-over-Beta finding also connects to the broader Diffusion training efficiency literature on non-uniform timestep sampling for flow matching — here the payoff is not sample quality generically but action-space precision in a specific control regime.