Paper · 2025-12-02 · cs.RO, cs.AI
Vehicle Dynamics Embedded World Models for Autonomous Driving
VDD splits a Dreamer-style world model into an ego-vehicle dynamics model with physical parameters and an environment model driven by ego states. A learned goal policy and a PID controller act. PAD (adjust actions at deployment) and PAT (imagine shifted vehicle dynamics in training) target changed mass and steering limits. Author-reported MetaDrive roundabout success: 0.70 vs 0.53 for DreamerV3.
World modelModel-based reinforcement learningActor-criticBird's-eye-view (BEV) representationautonomous-drivingworld-modelsmodel-based-rldistribution-shift
AI-compiled by claude-haiku-5-5 on 2026-10-25, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
A self-driving car has to plan by imagining what will happen next. A world model is a learned simulator that does this inside the computer: the agent practises on imagined drives instead of only real ones. Most such models learn the car's own behaviour and the rest of the traffic together, from camera-like images. When the car changes, for example a heavier mass or a smaller maximum steering angle, the learned simulator no longer matches the car and the policy fails.
This paper separates the two. One part models how the ego vehicle moves given its controls. The other models how the surrounding scene changes, and that part only sees the car's motion state, not its raw physical parameters. A policy proposes a target state, and a fixed feedback controller turns that target into steering and throttle, so the car's own response is handled by feedback. Two extra steps help with changed vehicles: one adjusts the trained policy when the car is deployed, and the other trains the policy on imagined drives with several vehicle settings. The results reported are from simulated traffic only.
TL;DR
VDD is a Dreamer-style model-based RL agent for autonomous driving that decouples ego-vehicle dynamics from environment dynamics §4.1. It learns goals rather than raw actions and tracks them with a PID controller §4.2. On MetaDrive it reports higher success on roundabouts than DreamerV3 but slightly lower on intersections, and it is more robust to changed mass and steering limits §5.2. All numbers are author-reported in simulation; the paper itself says real-world performance remains open §6.
Problem
Learned world models for driving are usually trained on images and actions together, so the model mixes the car's own dynamics with the environment's. When the ego vehicle's mass or steering limit changes, a model trained on the nominal car predicts wrong futures and the policy degrades §1 §3.2. The paper assumes the environment transition depends on the ego state, not directly on the action, and that changing the ego dynamics leaves the environment dynamics unchanged §3.2, eq. 3. The method is evaluated in MetaDrive and CARLA simulators, not on real vehicles §5.1.1 §6.
Method
Model structure. VDD builds on Dreamer §4.1. It uses a hierarchical context-aware RSSM (hcRSSM): the lower level is a vehicle dynamics model driven by the ego-vehicle dynamics context, and the upper level is an environmental dynamics model (EDM) that sees the ego state §4.1.1 fig. 2.
World model learning. Each step, the encoder maps the observation to a
stochastic latent, a GRU updates the deterministic state using the previous
latent and previous ego state, and heads predict the latent prior, reward,
episode continuation and the decoded observation §4.1.1 eq. 9 fig. 3.
The ego state used as input is
s^i = [Δx, Δy, Δψ, v, ψ̇, v̇], which is the relative pose to the end waypoint
of the reference lane, speed, yaw rate and acceleration §4.1.1. The paper
reports that feeding only acceleration and yaw rate to the sequence model works
better than the full state §4.1.1; the implementation section instead says
acceleration and yaw rate are the inputs to the EDM §5.1.3. Section 5.2.2
compares the full state with the two-value version, and the card does not
resolve which module each choice applies to.
Vehicle dynamics model. The ego state evolves by a parameterised physical
model with parameters θ, s^i_t = f_θ(s^i_{t-1}, a_t) eq. 9. It is fitted by
mean squared error on the observed next ego state eq. 10. The model is cited to Althoff et al. eq. 8 §3.4; the paper also notes a
kinematic bicycle model is suitable only when lateral acceleration stays below
0.5 μg §3.4. The acceleration and steering maps are described only as
mappings from the control input, without their forms §3.4.
Loss. The vehicle model is trained separately from the EDM §4.1.2. The
EDM loss is L_pred + β_pri · L_pri + β_rep · L_rep eq. 11. The prediction
term is the negative log-likelihood of observation, reward and continuation
eq. 12; the decoder and reward head use symlog §4.1.2. The prior loss
trains the transition with stop-gradient on the posterior, and the
representation loss trains the posterior with stop-gradient on the prior,
each clipped below at 1 (free bits) eq. 13.
Behaviour learning. The actor outputs a goal g_t ~ π(g | s^e_t) from the
environment state s^e = {h, z}. A predefined controller a_t = u(g_t, s^i_t)
produces the action, which makes the ego dynamics enter through feedback. The
critic estimates values under the actor and controller §4.2.1 eq. 14.
Imagined rollouts use the dynamics predictor, actor and controller from replayed
latent starts, and λ-returns are computed from predicted rewards and values
§4.2.1 eq. 15.
# Imagined behaviour rollout [§4.2.1] [eq. 14] [eq. 15]
# Input: latent starts from replayed inputs; actor, critic, controller
# Output: imagined states, actions, rewards and values for the actor loss
def imagine_rollout(starts, horizon, actor, critic, controller, model):
# Start from latent states of replayed inputs [§4.2.1]
states = starts # {h, z, s^i}
for step in range(horizon): # horizon not stated
# Actor picks a goal from the environment state [eq. 14]
goals = actor(env_part(states)) # (B, dim_goal)
# Controller turns the goal into an action [eq. 14]
actions = controller(goals, states.ego) # (B, dim_act)
# Dynamics predictor and vehicle model advance the state [eq. 9]
states = model.step(states, actions)
# Predicted reward and value feed the lambda-return [eq. 15]
rewards = model.reward(states) # (B,)
values = critic(env_part(states)) # (B,)
return states, rewards, values
# Critic: two-hot targets on symlog-transformed lambda-returns [§4.2.2]
# Actor: return term / max(1, S) + entropy term + reachability term [eq. 19]Critic. Returns are symlog-transformed, two-hot encoded on K equally spaced bins, and the critic is trained with categorical cross-entropy against a stop-gradient target §4.2.2 eq. 16 eq. 17. The value is recovered with symexp of the bin-weighted sum eq. 18.
Actor. The actor is trained by backpropagating value gradients through
imagined sequences §4.2.3. Its loss has three parts: the return term divided by
max(1, S), an entropy bonus, and a reachability penalty that pulls the goal
toward the ego state predicted h steps ahead eq. 19. S is the 5th-to-95th
percentile range of returns, averaged with exponential decay §4.2.3.
PAD (policy adjustment during deployment). On a vehicle with new parameters
θ', the original policy's action a_t is replaced by
a'_t = f^{-1}_{θ'}(s^i_{t-1}, f_θ(s^i_{t-1}, a_t)), so the new car reaches
the state the original car would reach §4.3 eq. 20 fig. 4. The paper
notes PAD cannot help when the new car cannot physically reach those states,
for example a smaller maximum steering angle §4.3.
PAT (policy augmentation during training). Imagined trajectories are
generated under both the true parameters θ and a shifted set θ'. The world
model state is extended with the context ctx = θ'/θ (all ones for the
original vehicle). The critic loss is a weighted sum over the two contexts with
weight ω_cont, and the actor is trained to maximise return under both
§4.4 eq. 21 fig. 4.
Environment reward. R = c1 · R_prog + c2 · R_speed + R_term eq. 22,
with progress R_prog = d_t − d_{t−1} in Frenet coordinates and speed term
v / v_max §5.1.1. Setting: c1 = 1, c2 = 0.1, v_max = 50 km/h; terminal
reward +10 on reaching the destination, −10 off-road, −20 on collision §5.1.1.
Hyperparameters
| Name | Value | Where | Notes |
|---|---|---|---|
| Encoder | 5-layer CNN, filters (32, 64, 128, 256, 512), kernel 4, stride 2 | §5.1.3 | each conv followed by a normalisation layer and SiLU; normalisation type not stated |
| Stochastic latent | categorical, "32 classes" | §5.1.3 | number of categorical variables and classes per variable not stated separately |
| Deterministic state | GRU, 512 hidden units | §5.1.3 | |
| Image decoder | 5 transposed conv, filters (256, 128, 64, 32, 2) | §5.1.3 | |
| Reward, continuation, actor, critic | MLP, 512 hidden units, SiLU | §5.1.3 | output layer activation not stated |
| Replay buffer capacity | 2 × 10^5 | §5.1.3 | |
| Batch size | 16 | §5.1.3 | |
| Sequence length | 64 | §5.1.3 | |
| Optimiser | Adam | §5.1.3 | betas, eps, weight decay not stated |
| World model learning rate | 1 × 10^-4 | §5.1.3 | |
| World model gradient clip | 1000 | §5.1.3 | |
| Actor-critic learning rate | 3 × 10^-5 | §5.1.3 | |
| Actor-critic gradient clip | 100 | §5.1.3 | |
| Free-bits clip | 1 | §4.1.2 eq. 13 | |
| Reward weights c1, c2 | 1, 0.1 | §5.1.1 | |
| v_max | 50 km/h | §5.1.1 | |
| Terminal rewards | +10 goal, −10 off-road, −20 collision | §5.1.1 | |
| Traffic density | 0.35 | §5.1.1 | MetaDrive roundabout and intersection maps |
| BEV input | 2 channels, 128 × 128 × 1 each | §5.1.1 | road geometry and surrounding vehicles |
| Training data (nuPlan) | 8000 logs for training, 100 scenarios for test | §5.1.1 | Pittsburgh data via ScenarioNet |
| Checkpoint interval | every 10^5 env steps | §5.1.4 | |
| Evaluation | 3 seed sets × 100 episodes | §5.1.4 | seed values not stated |
| Ego mass, max steering (nominal) | 1100 kg, 40° | §5.1.4 | |
| Parameter scale grid | {0.5, 0.75, 1.0, 1.25, 1.5} for mass and max steering | §5.1.4 | 5 × 5 grid |
| Entropy scale ω_ent | not stated | §4.2.3 eq. 19 | |
| Reachability scale ω_reach | not stated | §4.2.3 eq. 19 §5.2.3 | sensitivity shown only in figure; "start small, increase exponentially" |
| Reachability horizon h | not stated | eq. 19 | |
| Discount γ, λ | not stated | eq. 15 | |
| K (number of critic bins) | not stated | §4.2.2 | |
| β_pri, β_rep | not stated | eq. 11 | |
| PAT weight ω_cont | not stated | eq. 21 | |
| Return normalisation decay | not stated | §4.2.3 | described as exponentially decaying average |
| Controller (PID) gains | not stated | §4.2.1 | "predefined" PID controller |
| Vehicle wheelbase l_wb | not stated | eq. 8 | |
| Training steps (total) | not stated | §5.2.1 | text refers to convergence at 1M and 2M steps; full budget only in figures |
Results
Author-reported. Setup: MetaDrive simulator, traffic density 0.35, 100 episodes per seed set, three seed sets, final checkpoint §5.1 §5.2.1 tab. 1. Baselines: IDM (rule-based), SAC, PPO, DreamerV3 §5.1.2.
MetaDrive, T-Intersection and Roundabout tab. 1
| Method | Inter. RW ↑ | Inter. RC ↑ | Inter. SR ↑ | Inter. CR ↓ | Round. RW ↑ | Round. RC ↑ | Round. SR ↑ | Round. CR ↓ |
|---|---|---|---|---|---|---|---|---|
| IDM | 83.22 | 0.77 | 0.49 | 0.51 | 82.17 | 0.54 | 0.21 | 0.59 |
| SAC | 1.11 | 0.07 | 0.00 | 0.12 | 96.08 | 0.62 | 0.30 | 0.62 |
| PPO | 55.83 | 0.61 | 0.08 | 0.54 | 73.44 | 0.53 | 0.01 | 0.64 |
| DreamerV3 | 120.63 | 0.95 | 0.91 | 0.09 | 150.64 | 0.84 | 0.53 | 0.40 |
| VDD (ours) | 116.69 | 0.93 | 0.88 | 0.11 | 163.82 | 0.87 | 0.70 | 0.26 |
nuPlan and CARLA unprotected left turn tab. 1
| Method | nuPlan RW ↑ | nuPlan SR ↑ | nuPlan CR ↓ | CARLA RW ↑ | CARLA SR ↑ | CARLA CR ↓ |
|---|---|---|---|---|---|---|
| IDM | 98.62 | 0.93 | 0.03 | 212.25 | 0.29 | 0.71 |
| SAC | not reported | not reported | not reported | not reported | not reported | not reported |
| PPO | not reported | not reported | not reported | not reported | not reported | not reported |
| DreamerV3 | 78.38 | 0.79 | 0.17 | 423.06 | 0.91 | 0.09 |
| VDD (ours) | 72.29 | 0.77 | 0.19 | 427.18 | 0.94 | 0.06 |
Metric keys: RW reward, RC route completion, SR success rate, CR collision rate tab. 1. The source table leaves the SAC and PPO nuPlan and CARLA cells empty; this card marks them "not reported".
Ablations, roundabout map (figure only, no numbers in text) fig. 7: full-state input vs two-value input; no controller modelling; no reachability loss; with and without PAT §5.2.2.
Robustness to shifted mass and steering (figure only) fig. 9: DreamerV3, DreamerV3-PAD, VDD and VDD-PAT over the 5 × 5 grid. Text says VDD is stable across mass changes and improves with larger steering scale; VDD-PAT significantly outperforms VDD at steering scale 0.5 §5.2.4.
Case study (figure only) fig. 10 fig. 11 fig. 12: same traffic seed, nominal and (0.75, 0.75) scale. DreamerV3 leaves the road in the shifted environment; VDD reaches the destination §5.2.5.
Paper vs code
No official code. Searched: the paper source and the arXiv abstract page for links (none). GitHub repository searches for "vehicle dynamics dreamer", "VDD Dreamer driving", "vehicle dynamics world model", "VDD metadrive" and "Huiqian Li world model" returned no repository that belongs to the authors. Nothing to compare against.
Pitfalls
- No code, so every low-level detail is open. Controller gains, the PID
input and output definitions, the goal dimensionality, the reachability
horizon
h, the entropy scale, the critic bin countK, the λ and γ values, and the PAT weight are all not stated §4.2 eq. 14 eq. 19 eq. 21. Expect to tune them; §5.2.3 says the reachability penalty decides between collapse and slow convergence. - Inputs to the vehicle and environment models disagree in wording. §4.1.1 says the sequence model uses only acceleration and yaw rate; §5.1.3 says those two feed the EDM. Pick one and test both.
- Steering model in eq. 8 is ambiguous. The text defines
a_swas the front steering angle, but the equation usesf_sw(a_lat), anda_latis never defined.f_accandf_sware described only as mappings §3.4. - Physical vehicle model is not identified. The paper uses a parameterised physical model with parameters θ but does not say how θ is initialised or estimated in the main experiments. The appendix reports online identification of θ after deployment, with only figures app. fig. 14.
- PAD needs an inverse.
f^{-1}_{θ'}in eq. 20 is not given in closed form, and the paper does not say what happens when no inverse exists (for instance when the new steering limit is too small) §4.3. - Scale of the "17% improvement". The text says VDD gains 17% success rate on the roundabout §5.2.1. In the table this is 0.70 vs 0.53, which is 17 percentage points, a 32% relative gain.
- Mixed or unclear claims. VDD is slightly worse than DreamerV3 on intersections (0.88 vs 0.91 SR), on nuPlan (0.77 vs 0.79) and in reward on the intersection map. The text says VDD converges more slowly and stays at a local optimum for about 1M steps on the roundabout §5.2.1.
- Parameter scope is narrow. The robustness study scales only mass and maximum steering angle §5.1.4. Other dynamics parameters, and combined shifts, are untested.
- Real-world data is weaker. On nuPlan, IDM beats both learned agents §5.2.1. The authors attribute this to IDM using vector input. The CARLA run changes the encoder and decoder inputs; the modified architecture is described only in words §5.1.1.
- Same hyperparameters across simulators. The paper states identical values for MetaDrive and CARLA §5.1.3. It does not say whether the CARLA runs were tuned separately.
- Cost. Imagined rollouts run the vehicle model and controller on every step, and PAT generates a trajectory under each of two contexts (θ and θ') from every replayed start §4.4. The paper gives no wall-clock or memory figures.
Lineage
- Builds on: Dreamer, DreamerV2 and DreamerV3 (Hafner et al.) for the RSSM, symlog, two-hot critic and return normalisation §4.1 §4.2. Also the vehicle model cited to Althoff et al. §3.4, and the ego-controllable / environment split discussed for ISODreamer-style models by Pan et al. §2.
- Compared against: IDM, SAC, PPO, DreamerV3 §5.1.2; DreamerV3-PAD is the DreamerV3 policy with PAD §5.2.4.
- Superseded by: not known from the content of this wiki.
Source and license
Adapted from “Vehicle Dynamics Embedded World Models for Autonomous Driving” by Huiqian Li, Wei Pan, Haodong Zhang, Jin Huang, Zhihua Zhong (arXiv:2512.02417), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.