← Blog

7 min read4 September 2026Written by Yashvardhan GuptaPhysical Hardware Intelligence

A VLA is not the policy

Action chunking is what made behaviour cloning work. It is also what leaves the policy blind for two seconds at a time.


Start with a number from the ACT paper. Predicting one action at a time gives you a 1% success rate. Predicting a hundred at a time gives you 44%.

That is not a tuning improvement. That is the gap between a method that does not work and a method that does. Action chunking is the reason modern imitation learning functions at all, and almost everything built since has inherited it: diffusion policy, π0, ACT-1, GR00T.

So it is worth looking closely at what is actually inside the chunk.

ACT predicts a hundred target joint positions, at a control frequency of 50Hz. That is two seconds of motion, committed in a single forward pass. π0 emits fifty-step chunks from a flow-matching head on top of a 3-billion-parameter vision-language model. Different architectures, same output type: a list of places to be.

The seam nobody draws

A joint position target is not a motor command. Something downstream has to turn “be at this angle” into current through a winding, and that something is almost always a PD or impedance controller with gains an engineer chose once, running at several hundred hertz or more.

Which means the learned half of the system decides where to go, and the unlearned half decides how hard to push to get there.

That seam is exactly where force lives. Stiffness, contact, friction, the difference between setting down a wine glass and setting down a brick. The policy cannot see it, cannot represent it, and cannot change it. Stiffness is a constant in a configuration file.

LEARNED Vision-language-action model camera + instruction in, a chunk of joint position targets out ACT: 100 targets · π₀: 50 ~10–50 Hz position targets. one number per joint. what SoftMimic adds: a stiffness input, so one policy spans many force–displacement laws HAND-TUNED PD / impedance controller position error in, torque and current out gains fixed at design time ~500–1000 Hz what the policy can perceive and reason about contact, slip, friction, stiffness. all of it happens down here
The learned part of a modern manipulation stack stops at the seam. Below it, the controller that does the physics is, almost everywhere, fixed-gain and blind to the task. SoftMimic is interesting because it does not remove that controller, it parameterises it.

Ten hertz of intelligence, a kilohertz of physics

Put the numbers side by side and the problem stops being philosophical.

The policy runs at somewhere between 10 and 50Hz, because that is roughly how fast cameras produce frames and large models produce tokens. Contact transients, a slip, an early collision, a jam, happen an order of magnitude faster than that. The only component fast enough to respond is the controller, and the controller responds identically no matter what the task is, because nothing has told it anything about the task.

Action chunking makes this trade explicitly. It buys coherence and multimodality, the ability to commit to going left around an obstacle rather than averaging left and right into a collision, and it pays for them with reactivity. Two seconds of ACT is two seconds during which the plan does not know the object has moved. Temporal ensembling and re-planning before the chunk ends soften this, and in practice most systems are receding-horizon rather than truly open-loop. But re-planning at 20Hz does not help you catch a slip either.

This is the sense in which a VLA is not a policy. It is the perception-to-plan arc of a loop, and the rest of the loop, the part where the plan meets a physical object, is not learned by anyone.

The fix that sounds right and is wrong

The tempting conclusion is to learn the whole thing end to end, straight from pixels down to torques. We think that is the wrong lesson, and not because it is difficult.

Vision cannot close a kilohertz loop. Cameras do not produce the information, so no amount of model capacity conjures it. Biology is blunt about this too: your spinal reflexes fire long before your visual cortex has an opinion, and that arrangement is not a design flaw.

The hierarchy is not the mistake. The mistake is that the bottom of the hierarchy is dumb, and the channel between the layers is one number per joint. A position target cannot express “be soft here,” or “expect contact in two centimetres,” or “hold three newtons.” There is no room in the message.

One company has already done half of this. Figure’s Helix 02 runs three layers rather than two: a reasoning model at 7 to 9Hz, a reactive policy at 200Hz, and beneath both of them a 10-million-parameter network they call System 0, emitting joint-level actuator commands at 1kHz. It was trained on over a thousand hours of joint-level retargeted human motion, and by their own account it “replaces 109,504 lines of hand-engineered C++ with a single neural prior.” So the kilohertz layer is not necessarily dumb, and we should not have implied that it always is.

What Figure has not changed is the channel. Their own description is that System 1 “produces full-body joint targets that S0 tracks.” The bottom of the hierarchy got smart. The message between the layers is still a list of places to be. Which suggests that of the two complaints above, the narrow interface is the more durable one.

Widen the interface

Which is why SoftMimic is the most quietly interesting robotics paper we read this year. Its policy still outputs joint-space position targets for a PD controller. It does not replace the classical layer at all. What it adds is a stiffness input at deployment time, so a single policy realises a whole range of force-displacement relationships.

The learned layer stops saying only where and starts saying how. It never has to run at a kilohertz to do it.

That is what people mean, mechanically, when they say force should be a native representation rather than a bolted-on sensor. Not "add a tactile pad." Give the planner a vocabulary for dynamics, and give the fast loop something to listen to.

Locomotion already ran this experiment

The reason we are fairly confident about this is that the argument is not hypothetical. Learned low-level control works, and has for years, in the next field over.

Legged locomotion policies run at control rate with proprioception in the loop, and they are trained against the actual dynamics. Hwangbo and colleagues’ 2019 Science Robotics paper went as far as learning an actuator model, a network that captures what the real motors do, precisely because the analytical model was the thing breaking transfer. That is learned control, and it is a large part of why legged robots crossed over to reliable hardware well before manipulation did.

Manipulation has not copied it for one reason, and it is not a lack of imagination. Contact is the part of physics simulators nobody has solved. Friction, deformation, compliance. You cannot train a fast contact-aware controller in a simulator that is wrong about contact.

So the interesting bet in manipulation right now is not a bigger model. It is whether contact-fidelity simulation has become good enough to run the locomotion playbook on hands. That is a claim about simulators, and it is testable, which is more than can be said for most of what gets announced.

What this changes if you are building something

Three things we now check before believing a demo.

What is the action space? If it is positions, the policy has no opinion about force, whatever the press release says about dexterity.

What is between the model and the motors, and who tuned it? If the answer is a fixed-gain controller, the interesting behaviour in the video is partly that controller's, and it will not transfer to a task needing different compliance.

How long is the chunk, and what happens inside it? Two seconds is a long time in contact.

None of this says vision-language-action models are a wrong turn. They solved a real problem, the one where you could not specify a task at all without hand-labelling a state representation for it, and they solved it well enough to be the substrate everyone builds on. The claim is narrower and, we think, harder to argue with: a VLA is one arc of the perception-action loop, and the field has been treating it as the whole circle.

We run one SO-101 arm and a few dozen recorded episodes, which is exactly the scale at which you notice that your demonstrations encode a fixed camera pose and a particular controller and nothing about force. The reading behind this post is on our Learn page, and the companies making each bet are mapped on Industry. If we have something wrong, we would genuinely like to know.

Sources

  1. Zhao et al., Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT), RSS 2023chunk size 1 → 100 gives 1% → 44%; 100 target joint positions at 50Hz control; temporal ensembling
  2. Physical Intelligence, π0: A Vision-Language-Action Flow Model for General Robot Control, 2024PaliGemma 3B backbone, flow-matching action expert, 50-step action chunks, 10,000+ hours of robot data
  3. SoftMimic: Learning Compliant Whole-body Control from Examples (MIT), 2025policy outputs joint-space position targets for a PD controller; stiffness is an input at deployment, one policy spans many stiffnesses
  4. Hwangbo et al., Learning agile and dynamic motor skills for legged robots, Science Robotics 4(26), 2019learned actuator model; learned control at control rate with proprioception
  5. Agrawal, Computational Sensorimotor Learning, PhD dissertation, UC Berkeley, 2018physics operates on mass, friction and stiffness rather than pixels; robustness over precision; the argument against modular perception-then-physics pipelines
  6. Agrawal, Question the role of vision for robotic control (talk)vision is for planning; control needs force