When Planners Meet Reality: How Learned, Reactive Traffic Agents Shift nuPlan Benchmarks

Steffen Hagedorn, Luka Donkov, Aron Distelzweig, Alexandru P. Condurache
10/16/2025
cs.ROcs.AIcs.LG

Official code: shgd95/InteractiveClosedLoop (20 stars, last commit 2025-10-17).

Abstract

Planner evaluation in closed-loop simulation often uses rule-based traffic agents, whose simplistic and passive behavior can hide planner deficiencies and bias rankings. Widely used IDM agents simply follow a lead vehicle and cannot react to vehicles in adjacent lanes, hindering tests of complex interaction capabilities. We address this issue by integrating the state-of-the-art learned traffic agent model SMART into nuPlan. Thus, we are the first to evaluate planners under more realistic conditions and quantify how conclusions shift when narrowing the sim-to-real gap. Our analysis covers 14 recent planners and established baselines and shows that IDM-based simulation overestimates planning performance: nearly all scores deteriorate. In contrast, many planners interact better than previously assumed and even improve in multi-lane, interaction-heavy scenarios like lane changes or turns. Methods trained in closed-loop demonstrate the best and most stable driving performance. However, when reaching their limits in augmented edge-case scenarios, all learned planners degrade abruptly, whereas rule-based planners maintain reasonable basic behavior. Based on our results, we suggest SMART-reactive simulation as a new standard closed-loop benchmark in nuPlan and release the SMART agents as a drop-in alternative to IDM at https://github.com/shgd95/InteractiveClosedLoop.

View on arXivView PDF

Code Implementations(1)

200Oct 16, 20251 years ago

Similar Papers

Cite this paper

@article{hagedorn2025when,
  title  = {When Planners Meet Reality: How Learned, Reactive Traffic Agents Shift nuPlan Benchmarks},
  author = {Steffen Hagedorn and Luka Donkov and Aron Distelzweig and Alexandru P. Condurache},
  year   = {2025},
  eprint = {2510.14677},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2510.14677v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2510.14677.svg)](https://codeofpaper.com/paper/2510.14677)

Discussion