Skip to main content

Diffusion Policies in Robotics: Why Robot Actions Are Becoming Generative

Updated

Real-world Push-T task with diffusion policy

Robotics has many new names now: vision-language-action models, world models, foundation policies, generalist robots. Diffusion policy is one of the ideas that sits inside this bigger wave, and I think it is useful to understand even if your background is closer to control than pure AI.

At first I thought diffusion policy might be just another fashionable name. After reading more, it seemed more serious than that. The main idea is to generate robot actions through a denoising process rather than through one direct mapping only.

In simple terms, the robot starts from a noisy action sample and the model keeps refining it step by step until it becomes a useful action sequence.

This is why the word diffusion appears here. The idea is not only for image generation anymore; it can also be used for action generation.


The simple idea

In a normal learned policy, we often think like this:

a=π(o)a = \pi(o)

The policy sees an observation oo, for example a camera image and robot state, then gives an action aa. This is simple to imagine.

A diffusion policy is different. It tries to model an action distribution and then sample from it through denoising. A very simplified version can be written like this:

ak1=fθ(ak,o,k)+σkza_{k-1} = f_\theta(a_k, o, k) + \sigma_k z

Here aka_k is a noisy action at denoising step kk, and oo is the observation. This equation is not the full theory, but it shows the main engineering picture.

The action is refined many times instead of being guessed only once.

Simplified diagram of diffusion policy denoising loop

One reason this is useful is multimodality. Robot tasks often have more than one good action. A mug can be grasped from different directions. A block can be pushed from different angles.

If a policy averages several good choices, it can sometimes produce a bad middle action.

A diffusion policy can represent those choices more naturally. It can sample one mode and continue with it. That sounds like a small detail, but for manipulation it can matter a lot.


Why people cared about it

The original Diffusion Policy work applied conditional denoising to visuomotor robot actions and evaluated the method on simulation and real manipulation tasks.

The official project page also highlights receding-horizon control, visual conditioning, and action-sequence prediction.

This part is interesting from a control perspective. The policy does not only produce one action and disappear. It can produce a chunk of future actions, let the robot execute part of that sequence, and then plan again.

So it is not model predictive control, but there is a loose similarity to rolling-horizon thinking.

For example, in the Push-T task the robot must push a T-shaped block to a target. It is contact-rich, and small errors can change the object motion. Intel also uses this task in its embodied-intelligence documentation, with both image-based and low-dimensional variants.

Push-T simulation task from Intel diffusion policy documentation

Another interesting point is that diffusion-style action generation did not stay inside one paper. Octo, a generalist robot-policy project, also uses diffusion decoding for actions. Octo was trained on a large robot dataset and is designed to work with flexible observations, task definitions, and action spaces.

This makes diffusion action generation part of a broader robot-learning direction. It is not always the whole story, but it is now inside the story.

Octo generalist robot policy teaser image


Where it is still annoying

I do not think diffusion policy is a clean final answer.

The first problem is speed. Denoising takes several steps. In robotics, this is not only a software detail. If the action arrives late, the robot may already be in a different state.

This matters even more in dynamic tasks or on hardware with limited compute.

This is why One-Step Diffusion Policy is interesting. The idea is to distill a multi-step diffusion policy into a one-step action generator. Its project page reports a large increase in action-prediction frequency, from about 1.5 Hz to 62 Hz in the reported setting.

For me, that comparison makes the weakness clear: diffusion policies can be powerful, but iterative denoising can be slow.

One-step diffusion policy distillation pipeline

Another problem is data. Diffusion policy is often used in an imitation-learning setting, so it depends on the quality and coverage of the demonstrations. If the demonstrations are narrow, noisy, or far from the deployment conditions, the learned behavior can be narrow too.

It is not magic.

Also, stability and safety are not automatic. A diffusion policy can generate a useful action proposal, but the robot still needs actuator limits, feedback, state estimation, saturation handling, and safety checks.

The motors do not care that the method is new.


My own reading from the control side

For me, the useful interpretation is not:

diffusion will replace control

That sentence is too simple.

A better view is that a diffusion policy can sit above a controller. It can propose an action chunk or a trajectory, while a classical or model-based controller tracks it. A safety layer can also sit between the learned proposal and the plant.

Diffusion policy inside a robot control stack

This is less exciting as a headline, but it is more believable for engineering.

I think this is especially true when a robot has strong nonlinear dynamics, contact, or human interaction. In those cases the policy can help with complex behavior, while low-level control and physical limits still matter.


How it can connect to my field

My own background is more about robot control, dynamic simulation, and learning-based compensation. In my M.Sc. thesis, I worked on a cable-driven lower-limb rehabilitation robot. I used computed torque control, then added residual DDPG to reduce tracking error under disturbances and model uncertainty.

So I usually think about learning as a layer beside model-based control, not always instead of it.

For rehabilitation robotics, I would be careful about using a diffusion policy as the lowest-level controller. The robot may interact with a human leg, and safety and repeatability are very important.

But I can imagine a diffusion policy being useful at a higher level. For example, it could generate smooth assistance trajectories or suggest motion chunks from sensor data while a lower-level controller tracks the reference and enforces physical limits.

For cable-driven robots, this may also be interesting. Cable tension limits, feasible workspace, and nonlinear dynamics are not simple.

A diffusion policy could potentially suggest useful motion patterns if enough good data exist. But I would still want a physics-based layer to check cable demands, geometry, and tracking constraints.

For mobile robotics, I see another possible use. A diffusion policy may help with local maneuver generation, for example by proposing a smooth action sequence when perception is uncertain.

But for terrain cost, stability, and hard constraints, I still trust explicit planning and control more. Maybe the best system is not one method. It is a stack.

This is why the topic is useful for me. It connects modern robot learning with the question I already care about:

what should be learned, what should be modeled, and where do we need safety boundaries?


My view

I don’t think diffusion policy is only a trend word. It is a useful direction in robot learning, especially when the action is complex and there are several possible good motions.

But I also don’t think it removes the need for control. In a real robot, action generation is only one part of the system. The robot still needs feedback, constraints, safety checks, and physical testing.

For me, the interesting future is not a purely learned system or a purely classical one.

It is probably a stack.

Some parts are learned from demonstrations. Some parts are designed from physics. Some parts are safety filters. Some parts are still ordinary feedback control.

Maybe that is not the most dramatic answer, but it is the one that feels more realistic for robots.


Image credits

Sources and further reading