Skip to content

NVlabs/nuplan-devkit

 
 

Repository files navigation

nuPlan

The world's first benchmark for autonomous vehicle planning.


WebsiteDownloadCitation
ChangelogStructureSetup
TutorialDocumentationCompetition

python license Documentation Status




Planning challenges

The nuPlan Planning Competition is live!

The challenge will be presented as part of the New Advances On Autonomous Driving workshop at CVPR 2023

The nuPlan Dataset v1.1 has been released. Please download the latest dataset from the nuPlan page.


Changelog

  • February 15th 2023
    • v1.1 Devkit: The official nuPlan Challenge Release. Optimized training caching, simulation improvements, shapely 2.0 update.
  • Oct 13th 2022
    • v1.1 Dataset: Full nuPlan dataset - improved route plan, traffic light status, mission goal and more!
    • v1.0 Devkit: Update to nuplan-v1.1 dataset, metrics improvements, route plan fixes, documentation, IDMPlanner
  • Sep 09 2022
    • v0.6 Devkit: Smart agents optimizations, nuBoard improvements, metrics improvements, submission pipeline deployment and documentation.
  • Aug 26 2022
    • v0.5 Devkit: New map features, simulation improvements, open-loop detections with smart agents, iLQR tracker, metrics improvements and documentation.
  • Aug 05 2022
    • v0.4 Devkit: Database optimization, PYGEOS warning suppression, metrics improvements, scenario filter for training.
  • Jul 15 2022
    • v0.3 Devkit: Updates to the devit including but not limited to: nuBoard update, reduce RAM usage during caching and training, new map APIs, simulation and metrics runtime improvements.
  • Jun 10 2022
    • v1.0 Dataset: Full nuPlan dataset release with over 1,300 hours of driving data (15,000+ logs) across 4 cities (Las Vegas, Pittsburgh, Boston, Singapore).
    • v0.2 Devkit: Multiple devkit updates with improvements across the whole framework (planning models, training, simulation, metrics, dashboard, tutorials and more).
  • Dec 19 2021
    • v0.2 Dataset: Fixed bugs in the teaser nuPlan dataset.
  • Dec 10 2021
    • v0.1 Dataset: Initial teaser nuPlan dataset release with over 200 hours of driving data (350+ logs) across Las Vegas.
    • v0.1 Devkit: Initial nuPlan devkit release.

Devkit and dataset setup

Please refer to the installation page for detailed instructions on how to setup the devkit.

Please refer to the dataset page for detailed instructions on how to download and setup the dataset.


Getting started

For those interested in participating in the nuPlan Planning Competition, please refer to the competition landing page.

Please follow these steps to make yourself familiar with the nuPlan dataset:

  • Familiarize yourself with the main features of nuPlan and the dataset description.

  • Setup the devkit and dataset as described above.

  • Walk through the tutorials in this folder or run them yourself using jupyter notebook ~/nuplan-devkit/tutorials/<filename>.ipynb and replacing <filename> with the tutorial's name. The following tutorials are available:

    • nuplan_framework.ipynb: Main tutorial for anyone who wants to dive right into ML planning. It describes how to 1) train an ML planner, 2) simulate it, 3) measure the performance and 4) visualize the results.
    • nuplan_scenario_visualization.ipynb: Tutorial for visualizing various scenario types contained within the nuPlan dataset (e.g. unprotected turns, lane changes, interactions with pedestrians and more).
    • nuplan_planner_tutorial.ipynb: Tutorial with instructions on how to develop and simulate a planner from scratch within the nuPlan framework.
    • nuplan_advanced_model_training.ipynb: This notebook will cover the details involved in training a planning model in the NuPlan framework. This notebook is a more detailed deep dive into the NuPlan architecture, and covers the extensibility points that can be used to build customized models in the NuPlan framework.
  • Familiarize yourself with the nuPlan CLI, which gets installed by installing the devkit using pip (editable and not) by running:

    nuplan_cli --help
    nuplan_cli COMMAND --help
    
  • Read the nuPlan paper to understand the details behind the dataset.


Performance tuning guide

Training configurations are important to ensure your expected system performance, for example preprocessing cost, training speed, and numerical stability. If you encounter problems related to aforementioned aspects, please refer to performance tuning guide to find potential solutions.


Devkit structure

Our code is organized in these directories:

nuplan_devkit
├── ci              - Continuous integration code - not relevant for average users.
├── docs            - Readmes and other documentation of the repo and dataset.
├── nuplan          - The main source folder.
│   ├── common      - Code shared by "database" and "planning".
│   ├── database    - The core devkit used to load and render nuPlan dataset and maps.
│   ├── planning    - The stand-alone planning framework for simulation, training and evaluation.
│   ├── submission  - The submission engine used for the planning challenge.
│   └── cli         - Command line interface tools for the nuPlan database.
└── tutorials       - Interactive tutorials, see "Getting started".

Citation

Please use the following citation when referencing nuPlan:

@INPROCEEDINGS{nuplan, 
  title={NuPlan: A closed-loop ML-based planning benchmark for autonomous vehicles},
  author={H. Caesar, J. Kabzan, K. Tan et al.,},
  booktitle={CVPR ADP3 workshop},
  year=2021
}

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.3%
  • Starlark 6.8%
  • Jupyter Notebook 1.8%
  • HTML 0.5%
  • CSS 0.3%
  • Shell 0.1%
  • Other 0.2%