Skip to content
/ DualAD Public
forked from TUM-AVS/DualAD

DualAD: Dual-Layer Planning for Reasoning in Autonomous Driving

License

Notifications You must be signed in to change notification settings

flclain/DualAD

 
 

Repository files navigation

DualAD: Dual-Layer Planning for Autonomous Driving

DualAD Framework

🌍 Project Page • 🤓 Paper

[TL;DR] DualAD is an autonomous driving framework that integrates reasoning capabilities (large language models) with traditional planning modules (rule-based) to handle complex driving scenarios.

Installation

  • Download the nuPlan dataset as described HERE. The download link is here (You need to sign up first) and you just need to download the Mini Split in our case. Make sure you have a general filesystem hierarchy like this (nuplan is at the same level as DualAD's working directory)
    # echo ${HOME} to see what is it
    ${HOME}/nuplan
    ├── exp
    └── dataset
       ├── maps
       └── nuplan-v1.1
    ${HOME}/DualAD
  • Quick install to try DualAD using miniconda (This will take some time):
    git clone https://github.com/TUM-AVS/DualAD.git
    cd DualAD
    conda create -n dualad python=3.9
    conda activate dualad
    pip install -e .
    pip install -r requirements_torch.txt
    pip install -r requirements.txt
    # Set env variable
    . set_env.sh

Get LLM API (You can skip this to first run the code without LLM)

GLM-4-Flash (FREE) and GPT-4o (Need to pay). For example, the API keys look like below (if you have problem with getting the free one (GLM-4-Flash), feel free to contact [email protected])

# GLM-4-Flash
7e8138a27b2cd87c7691ac4a7XXXXXXXXXXXXXXXXXXXXXX
# GPT-4o
sk-proj-IDX3WOWAk28xifvCyXXXXXXXXXXXXXXXXXXXXXX

In LLM.yml, add your API keys and set use_llm to True. If you are using GPT-4o, then set use_open_ai to True.

Try DualAD

For DualAD (Lattice-IDM):

python ./nuplan/planning/script/run_simulation.py

Performance

DualAD demonstrates improved performance in challenging scenarios compared to other planners. Key metrics such as Closed-Loop Score (CLS) and Reactive Closed-Loop Score (R-CLS) showcase DualAD’s ability to outperform rule-based and learning-based models in terms of safety and decision quality.

Planner Hard-55 CLS Super-Hard-24 CLS
IDM 50.12 34.56
Lattice-IDM 52.36 39.76
DualAD (Lattice-IDM) 60.25 57.31

Credits

@article{wang2024dualad,
  title={DualAD: Dual-Layer Planning for Reasoning in Autonomous Driving},
  author={Wang, Dingrui and Kaufeld, Marc and Betz, Johannes},
  journal={arXiv preprint arXiv:2409.18053},
  year={2024}
}

Credits

About

DualAD: Dual-Layer Planning for Reasoning in Autonomous Driving

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 92.7%
  • Starlark 6.4%
  • Other 0.9%