GitPedia

Diffusion Planner

[ICLR 2025 Oral] The official implementation of "Diffusion-Based Planning for Autonomous Driving with Flexible Guidance"

From ZhengYinan-AIRĀ·Updated June 22, 2026Ā·View on GitHubĀ·

Diffusion-Based Planning for Autonomous Driving with Flexible Guidance The project is written primarily in Python, first published in 2024. It has gained significant community traction with 1,006 stars and 156 forks on GitHub. Key topics include: autonomous-driving, diffusion-models, imitation-learning, motion-planning, pytorch.

<div align="center"> <img src="./assets/img/diffusion_planner.png" width=100% style="vertical-align: bottom;"> <h3>Diffusion-Based Planning for Autonomous Driving with Flexible Guidance</h3>

Yinan Zheng*, Ruiming Liang*, Kexin Zheng*, Jinliang Zheng, Liyuan Mao, Jianxiong Li, Weihao Gu, Rui Ai, Shengbo Eben Li, Xianyuan Zhan, Jingjing Liu

[Arxiv] [Project Page]

International Conference on Learning Representation (ICLR), 2025

🌟 Oral Presentation (Notable-top-2%)

</div>

The official implementation of Diffusion Planner, which represents a pioneering effort in fully harnessing the power of diffusion models for high-performance motion planning, without overly relying on refinement. Checkout our latest work Flow Planner (NeurIPS 2025), a learning-based framework with advanced interactive behavior modeling. Also checkout Hyper Diffusion Planner, where we unleash the potential of diffusion models for real vehicle deployment. When properly designed and trained, diffusion models can serve as effective and scalable solutions for complex real-world autonomous driving tasks.

<div style="display: flex; justify-content: center; align-items: center; gap: 2%;"> <img src="./assets/gif/near_ped.gif" width="32%" alt="Video 1"> <img src="./assets/gif/unprotect_turn.gif" width="32%" alt="Video 2"> <img src="./assets/gif/multiple_vehicle.gif" width="32%" alt="Video 3"> </div>

Table of Contents

Methods

Diffusion Planner leverages the expressive and flexible diffusion model to enhance autonomous planning:

  • DiT-based architecture focusing on the fusion of noised future vehicle trajectories and conditional information
  • Joint modeling of key participants' statuses, unifying motion prediction and closed-loop planning as future trajectory generation
  • Fast inference during diffusion sampling, achieving around 20Hz for real-time performance
<image src="assets/img/architecture.png" width=100%>

Closed-loop Performance on nuPlan

Learning-based Methods

MethodsVal14 (NR)Val14 (R)Test14-hard (NR)Test14-hard (R)Test14 (NR)Test14 (R)
PDM-Open*53.5354.2433.5135.8352.8157.23
UrbanDriver68.5764.1150.4049.9551.8367.15
GameFormer w/o refine.13.328.697.086.6911.369.31
PlanTF84.7276.9569.7061.6185.6279.58
PLUTO w/o refine.*88.8978.1170.0359.7489.9078.62
Diffusion-es w/o LLM50.00-----
STR2-CPKS-800M w/o refine.*65.16-52.57-68.74-
Diffusion Planner (ours)89.8782.8075.9969.2289.1982.93

*: Using pre-searched reference lines or additional proposals as model inputs provides prior knowledge.


Rule-based / Hybrid Methods

MethodsVal14 (NR)Val14 (R)Test14-hard (NR)Test14-hard (R)Test14 (NR)Test14 (R)
Expert (Log-replay)93.5380.3285.9668.8094.0375.86
IDM75.6077.3356.1562.2670.3974.42
PDM-Closed92.8492.1265.0875.1990.0591.63
PDM-Hybrid92.7792.1165.9976.0790.1091.28
GameFormer79.9479.7868.7067.0583.8882.05
PLUTO92.8876.8880.0876.8892.2390.29
Diffusion-es92.00-----
STR2-CPKS-800M93.9192.5177.5482.02--
Diffusion Planner w/ refine (ours)94.2692.9078.8782.0094.8091.75

Qualitative Results

<image src="assets/img/quality.png" width=100%>

Future trajectory generation visualization. A frame from a challenging narrow road turning scenario in the closed-loop test, including the future planning of the ego vehicle (PlanTF and PLUTO w/o refine. showing multiple candidate trajectories), predictions for neighboring vehicles, and the ground truth ego trajectory.

Getting Started

  • Setup the nuPlan dataset following the offiical-doc
  • Setup conda environment
conda create -n diffusion_planner python=3.9
conda activate diffusion_planner

# install nuplan-devkit
git clone https://github.com/motional/nuplan-devkit.git && cd nuplan-devkit
pip install -e .
pip install -r requirements.txt

# setup diffusion_planner
cd ..
git clone https://github.com/ZhengYinan-AIR/Diffusion-Planner.git && cd Diffusion-Planner
pip install -e .
pip install -r requirements_torch.txt

Closed-loop Evaluation

  • Download the model checkpoint from Huggingface repository. Download, two files under checkpoints directory.
bash
mkdir -p checkpoints wget -P ./checkpoints https://huggingface.co/ZhengYinan2001/Diffusion-Planner/resolve/main/args.json wget -P ./checkpoints https://huggingface.co/ZhengYinan2001/Diffusion-Planner/resolve/main/model.pth
  • Run the simulation
  1. Set up configuration in sim_diffusion_planner_runner.sh.
  2. Run
bash
bash sim_diffusion_planner_runner.sh
  • Visualize the results
  1. Set up configuration in run_nuboard.ipynb.
  2. Launch Jupyter Notebook or JupyterLab to execute run_nuboard.ipynb.

Classifer Guidance Demo

  1. Set up configuration in sim_diffusion_planner_runner.sh.
  2. Run
bash
bash sim_guidance_demo.sh

Further detail see Classifier Guidance Doc

Training

  • Preprocess the training data
bash
chmod +x data_process.sh ./data_process.sh
  • Run the training code
bash
chmod +x torch_run.sh ./torch_run.sh

To Do List

The code is under cleaning and will be released gradually.

  • e2e & real world vehicle (Hyper Diffusion Planner)
  • delivery vehicle dataset (government approval in progress)
  • guidance tutorial
  • data preprocess
  • training code
  • diffusion planner & checkpoint
  • initial repo & paper

Bibtex

If you find our code and paper can help, please cite our paper as:

@inproceedings{
zheng2025diffusionbased,
title={Diffusion-Based Planning for Autonomous Driving with Flexible Guidance},
author={Yinan Zheng and Ruiming Liang and Kexin ZHENG and Jinliang Zheng and Liyuan Mao and Jianxiong Li and Weihao Gu and Rui Ai and Shengbo Eben Li and Xianyuan Zhan and Jingjing Liu},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025},
url={https://openreview.net/forum?id=wM2sfVgMDH}
}

Acknowledgement

Diffusion Planner is greatly inspired by the following outstanding contributions to the open-source community: nuplan-devkit, GameFormer-Planner, tuplan_garage, planTF, pluto, StateTransformer, DiT, dpm-solver

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from ZhengYinan-AIR/Diffusion-Planner via the GitHub API.Last fetched: 6/22/2026