Home

Awesome

<p align="center"> <img alt="tuPlangarage" src="assets/tuplan_garage.png" width="500"> <h1 align="center">A Framework for Vehicle Motion Planning Research</h1> <h3 align="center"><a href="https://arxiv.org/abs/2306.07962">Paper</a> | <a href="https://danieldauner.github.io/assets/pdf/Dauner2023CORL_supplementary.pdf">Supplementary</a> | <a href="https://danieldauner.github.io/assets/pdf/Dauner2023CORL_poster.pdf">Poster</a> | <a href="#videos">Videos</a> </h3> </p> <br/>

Parting with Misconceptions about Learning-based Vehicle Motion Planning <br> Daniel Dauner<sup>1,2</sup>, Marcel Hallgarten<sup>1,3</sup>, Andreas Geiger<sup>1,2</sup>, and Kashyap Chitta<sup>1,2</sup> <br> <sup>1</sup> University of Tübingen, <sup>2</sup> Tübingen AI Center, <sup>3</sup> Robert Bosch GmbH <br> <br> Conference on Robot Learning (CoRL), 2023 <br> Winner, 2023 nuPlan Challenge

This repo is intended to serve as a starting point for vehicle motion planning research on nuPlan. We provide a publicly accessible configuration for validation, comprehensive set of baselines, and pre-trained planning models.

<br/>

https://github.com/autonomousvision/tuplan_garage/assets/22528226/f91e9ce2-ae3d-4f1e-933e-d48ee5762497

News

<br/>

Overview

<br/>

Videos

Here are four videos for talks and visualizations of our method:

<br/>

Contributing

If you consider contributing to tuPlan Garage, make sure to check out our <a href="CONTRIBUTING.md">Contribution Guidelines</a>

Method

We decompose the process of determining a safe and comfortable trajectory into two sub-tasks: (1) planning the short-term motion, and (2) accurately forecasting the long-term ego trajectory. While the former primarily impacts closed-loop performance, the latter is essential for the open-loop task. Our method employs a rule-based predictive planner to generate a trajectory proposal, and a learned ego-forecasting module that refines the trajectory with a particular emphasis on long-term forecasting.

<div align="center"> <img src="./assets/framework.png" /> </div>

Results

Planning results on the proposed Val14 benchmark. Please refer to the paper for more details.

MethodRepresentationCLS-R ↑CLS-NR ↑OLS ↑Time (ms) ↓
Urban Driver*Polygon50538264
GC-PGPGraph555983100
PlanCNNRaster72736443
IDMCenterline77763827
PDM-OpenCenterline5450867
PDM-ClosedCenterline92934291
PDM-HybridCenterline92938496
Log ReplayGT8094100-

*Open-loop reimplementation of Urban Driver

To Do

Getting started

1. Installation

To install tuPlan Garage, please follow these steps:

git clone https://github.com/autonomousvision/tuplan_garage.git && cd tuplan_garage
conda activate nuplan
pip install -e .
NUPLAN_DEVKIT_ROOT="$HOME/nuplan-devkit/"

2. Training

When running a training, you have to add the hydra.searchpath for the tuplan_garage correctly. Note: since hydra does not yet support appending to lists (see here), you have to add the original searchpaths in the override. Training scripts can be run with the scripts found in /scripts/training/. Before training from an already existing cache, please check this issue. You can find our trained models here.

3. Evaluation

Same as for the training, when running an evaluation, you have to add the hydra.searchpath for the tuplan_garage correctly. The example below runs an evaluation of the pdm_closed_planner on the val14_split, both of which are part of the tuplan_garage

python $NUPLAN_DEVKIT_ROOT/nuplan/planning/script/run_simulation.py \
+simulation=closed_loop_nonreactive_agents \
planner=pdm_closed_planner \
scenario_filter=val14_split \
scenario_builder=nuplan \
hydra.searchpath="[pkg://tuplan_garage.planning.script.config.common, pkg://tuplan_garage.planning.script.config.simulation, pkg://nuplan.planning.script.config.common, pkg://nuplan.planning.script.experiments]"

You can find exemplary shells scripts in /scripts/simulation/

Contact

If you have any questions or suggestions, please feel free to open an issue or contact us (daniel.dauner@uni-tuebingen.de).

Citation

If you find tuPlan Garage useful, please consider giving us a star 🌟 and citing our paper with the following BibTeX entry.

@InProceedings{Dauner2023CORL,
  title={Parting with Misconceptions about Learning-based Vehicle Motion Planning},
  author={Dauner, Daniel and Hallgarten, Marcel and Geiger, Andreas and Chitta, Kashyap},
  booktitle={Conference on Robot Learning (CoRL)},
  year={2023}
}

Disclaimer

tuPlan Garage includes code from Motional's nuplan-devkit. We are not affiliated with Motional, and the repository is not published, maintained or otherwise related to Motional.

Other resources <a name="otherresources"></a>

<a href="https://twitter.com/AutoVisionGroup" target="_blank"> <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/Awesome Vision Group?style=social&color=brightgreen&logo=twitter" /> </a> <a href="https://twitter.com/kashyap7x" target="_blank"> <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/Kashyap Chitta?style=social&color=brightgreen&logo=twitter" /> </a> <a href="https://twitter.com/DanielDauner" target="_blank"> <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/Daniel Dauner?style=social&color=brightgreen&logo=twitter" /> </a> <a href="https://twitter.com/MHallgarten0797" target="_blank"> <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/Marcel Hallgarten?style=social&color=brightgreen&logo=twitter" /> </a> <p align="right">(<a href="#top">back to top</a>)</p>