BotManifold
Tutorial

Driving VLA concepts

What a driving vision-language-action model is and how Alpamayo-R1 builds one.

Where details live

This page is the short version. Sensors, data and labels, reinforcement learning and the surrounding literature are covered in the tutorial. Paper statements below were checked against the text of the paper's PDF (arXiv v2).

The idea in one paragraph

A classic driving stack is a pipeline: perception, prediction, planning, control, each with its own interface. An end-to-end model maps camera input (plus the vehicle's own motion history) straight to a future trajectory. A VLA model does that with a pretrained vision-language model (VLM) as the backbone, so it inherits broad world knowledge and can also produce text such as a reasoning trace. The bet is that reasoning about why an action is right helps in rare, ambiguous situations (the long tail) where pure pattern matching is weakest.

Alpamayo-R1 at a glance

Source: Alpamayo-R1, arXiv 2511.00088.

PartWhat the paper describes
BackboneA Cosmos-Reason VLM, a model pretrained for physical-world reasoning (paper)
InputMulti-camera, multi-timestep observations and the vehicle's recent motion; a 2 s history predicts a 6 s future
OutputReasoning text, then 64 waypoints at 10 Hz (6.4 s)
Trajectory formUnicycle controls (an acceleration and a curvature per waypoint), quantised to 128 discrete tokens that the VLM generates after its reasoning
Action expertAt inference, a flow-matching decoder turns those tokens into continuous waypoints, conditioned on the reasoning; trained with a conditional flow-matching loss, Euler steps of 0.1 by default (Sec. 5.1)
DataChain of Causation (CoC) labels that tie a driving decision to its cause (data module)
TrainingSupervised fine-tuning, then reinforcement learning with GRPO (RL module)
Top: multi-camera video and ego motion history enter a Cosmos-Reason backbone, which generates reasoning text and 128 trajectory tokens; a flow-matching action expert reading the backbone's key-value cache outputs 64 waypoints. Bottom: pretrained Cosmos-Reason, then SFT on Chain of Causation data, then GRPO with three reward types.
Alpamayo-R1 in outline, simplified from the paper's description. This is our drawing, not a figure from the paper.

Why each choice exists

Chain of Causation labels. Free-form "explain the scene" text tends to describe without deciding. CoC labels tie a decision to the observed cause ("slowing because a pedestrian is about to enter the crosswalk"), so the reasoning is something the action can depend on. Part of the labeling is automatic and part is human-verified; see the data module.

Unicycle controls. Predicting acceleration and curvature gives trajectories a vehicle can follow. Free x, y points do not guarantee that. It is the same reason joint targets are often easier for an arm than free end-effector paths.

Tokens in training, flow matching at inference. The VLM is trained with a next-token loss over the reasoning and the discrete trajectory tokens (so one model does both). At inference a separate flow-matching expert, which reads the VLM's key-value cache, produces smooth continuous waypoints faster than generating tokens. The abstract calls the decoder "diffusion-based", the introduction "diffusion-based ... built on flow matching", and Sec. 5.1 specifies a conditional flow-matching loss, so "diffusion" is used loosely. The paper's latency table (one RTX 6000 Pro Blackwell) breaks 99 ms down as 3.43 ms vision encoder, 16.54 ms prefilling, 70 ms to decode 40 reasoning tokens and 8.75 ms for 5 flow steps; generating the trajectory as 127 tokens instead would take 222 ms and raise the total to 312 ms. A trajectory-only baseline takes 29 ms.

Reasoning. How chain-of-thought-style reasoning is trained, checked and paid for in latency is in the reasoning module.

Reinforcement learning after SFT. Imitation copies the data, including its mistakes. RL optimises a reward directly. The paper combines a reasoning-quality reward, a reasoning-action consistency reward and a trajectory-quality reward.

A latency budget you can check by hand

The paper's latency numbers fit a simple model, which is a useful habit for reading any systems table. Add the stages of the flow-matching path: 3.43 ms (vision encoder) + 16.54 ms (prefill) + 70 ms (decode 40 reasoning tokens) + 8.75 ms (5 flow steps) = 98.7 ms, the 99 ms in the table. The decoding stage is 70 ms for 40 tokens, about 1.75 ms per token. The token route decodes 127 trajectory tokens instead of running the flow expert: 127 × 1.75 ≈ 222 ms, and 3.43 + 16.54 + 70 + 222 ≈ 312 ms, the other number in the table. Two lessons follow.

  • Autoregressive decoding costs per token. Cost scales with the number of tokens generated, so a short trajectory code or a parallel decoder (flow matching) is a latency decision as much as a quality one. The efficiency module covers why decoding is limited by memory bandwidth rather than arithmetic.
  • Reasoning is the other big line item. 40 reasoning tokens cost 70 ms, more than every other stage together. Longer reasoning would cost 1.75 ms for each extra token on this GPU, which is why the paper lists on-demand reasoning as future work.

Reading it as a modular-stack engineer

If you come from a perception, prediction and planning stack, the table below is our mapping of where each old responsibility goes. It is an interpretation, not the paper's claim, and the right column is where the mapping is weakest.

Modular stackIn a driving VLAWhat you lose or must re-solve
Perception outputs (boxes, lanes, lights)Implicit in the backbone's features; critical objects appear in reasoning textA typed, inspectable interface between components
Prediction of other agentsImplicit in the model; the reasoning may name what other agents will doA separate prediction metric you can test alone
Planning with costs and constraintsGenerated trajectory, tuned by rewards in RLHard constraints; a cost term is a preference, not a guarantee
Controls and vehicle limitsUnicycle controls as the output spaceLittle; this part carries over directly
Interface contracts between teamsOne model trained end to endClear ownership of failures. The bridging module discusses this

Five questions to ask of any driving VLA paper

  1. What is the input window and the output horizon? Here, 2 s in and 6 s out (6.4 s of waypoints).
  2. What does the output space guarantee? Controls give feasibility; tokens give a discrete vocabulary; neither gives collision-freedom.
  3. Where do the labels come from, and who checked them? See the data module.
  4. Is the headline metric open loop or closed loop, and how many scenarios? Here, 75 scenarios for the closed-loop ablation, and the error bars matter.
  5. Is what was released the thing that was measured? The repository FAQ says it is not RL post-trained.

What it measured

  • minADE6. The distance between the logged future path and the best of six predicted paths, over the 6.4 s horizon. Open loop.
  • Close-encounter rate. The percentage of scenarios where the ego vehicle has a close encounter with another traffic agent. Measured in closed loop in the AlpaSim simulator.
  • Closed loop. On a 75-scenario ablation set (Table 8) close encounters fall from 17.0 percent (plus or minus 3.0) to 11.0 percent (plus or minus 2.0) against a trajectory-only baseline, and the AlpaSim score rises from 0.38 to 0.50. Off-road rate does not improve (3.0 percent against 4.0), and the at-fault close-encounter rates (6.0 and 5.0 percent) are within the stated error bars. A 920-scenario public benchmark (Table 10) compares the 10B model with a 0.5B model.

Limits to keep in mind

The paper has no dedicated limitations section. Its future-work section says the current architecture generates reasoning for every input (proposing on-demand reasoning), mentions hierarchical policies, self-supervised auxiliary tasks and world-model integration, and acknowledges the 75-scenario closed-loop set may look small. The points below are our reading, not the authors' claims.

  1. Open loop is not driving. Matching a logged trajectory says little about what happens when the model's own small errors accumulate. Closed-loop evaluation exists for this reason.
  2. Auto-generated labels carry the labeler's mistakes. Measure them against a human-verified set.
  3. Reasoning is not guaranteed to be grounded. A fluent explanation does not prove the model looked at the right thing.
  4. Released is not the same as published. The public repository ships the 10B weights and inference code. Its FAQ says the released model was not RL post-trained, and that route conditioning and general question answering are not included. The repository is in limited maintenance and points to a newer 1.5 release. Check the model card before assuming a paper result applies to the weights you download.

How this connects to arms

The structure is the one we use in the SO-100 track: a policy that outputs a chunk of future actions, trained on demonstrations, evaluated closed loop.

Driving (paper)Arm (our runs)
64-waypoint horizonAction chunk length. We measured that chunk length was about half of why our reach policy failed
Open-loop versus closed-loop gapWe judge policies by closed-loop success rate in simulation, not by training loss
Label qualityDemonstrations from a scripted expert are clean, so a policy never sees recovery; we added disturbed demonstrations
Language and vision backboneSmolVLA with an instruction. We measured 8 to 13 percent on pick-by-colour; the cause is not established

The last row matters: a VLA is not automatically better. In our setup a small VLA did worse than a state-based ACT policy, and we have only a hypothesis (too few visual tokens) for why.

Check yourself

  1. What does Alpamayo-R1 output, in what order, and which part produces the waypoints at inference?
  2. Why does the paper predict acceleration and curvature rather than positions?
  3. Add the four latency stages from the paper's table. Where does the 312 ms of the token route come from?
  4. On the 75-scenario closed-loop set, which improvements are larger than the stated error bars, and which are not?
  5. Name two ways the released model differs from the one the paper evaluates.
Answers
  1. Reasoning text first, then the trajectory. In training the VLM generates 128 discrete trajectory tokens after its reasoning; at inference a flow-matching action expert reading the VLM's key-value cache produces 64 waypoints at 10 Hz (6.4 s).
  2. Trajectories built from acceleration and curvature are ones a vehicle can follow; free (x, y) points do not guarantee that, and the authors report raw waypoints were hurt by sensor noise.
  3. 3.43 + 16.54 + 70 + 8.75 = 98.7 ms. Decoding costs about 1.75 ms per token (70 ms for 40 reasoning tokens), so decoding 127 trajectory tokens instead of 5 flow steps takes about 222 ms, giving about 312 ms.
  4. Close encounters fell from 17.0 ± 3.0 to 11.0 ± 2.0 percent and the AlpaSim score rose from 0.38 to 0.50. The off-road rate did not improve (3.0 against 4.0 percent), and the at-fault close-encounter rates (6.0 and 5.0 percent) are within the error bars.
  5. The repository FAQ says the released model was not RL post-trained, and that route conditioning and general question answering are not included.

Quiz

Answer each question; feedback appears as soon as you choose.

Question 1 of 8

What trajectory does Alpamayo-R1 predict, according to the paper?

Question 2 of 8

Why does the paper predict acceleration and curvature rather than raw positions?

Question 3 of 8

What does the Alpamayo repository FAQ say about the released model?

Question 4 of 8

Why is open-loop evaluation weak evidence of driving ability?

Question 5 of 8

In the paper's latency comparison, what explains 312 ms versus 99 ms?

Question 6 of 8

What do Chain of Causation labels tie together?

Question 7 of 8

The paper's table gives 3.43, 16.54, 70 and 8.75 ms for four stages. What total does a hand sum give?

Question 8 of 8

In the stack mapping, which responsibility is hardest to keep when planning becomes a generated trajectory?

0 of 8 answered

On this page