This is the official repository of
PlanScope: Learning to Plan Within Decision Scope Does Matter
Ren Xin, Jie Cheng, Hongji Liu and Jun Ma
Based on PLUTO, we study the integrating method of long and short-term decision making, and the Time Dependent Normalization achieves the most significant improvement to 91.32% in the nuPlan Val4 CLS-NR score.
w/o post-processing | Model Name | Val14 CLS-NR Score | Val14 CLS-R Score | | ---- | ---- | ---- | | PLUTO | 89.04 | 80.01 | | STR2-CPKS-800M| 65.16 | - | | Diffusion Planner | 89.87 | 82.80 | | PlanScope (ours) | 91.32 | 80.96 |
Setup the nuPlan dataset following the official-doc
conda create -n planscope python=3.9
conda activate planscope
# install nuplan-devkit
git clone https://github.com/motional/nuplan-devkit.git && cd nuplan-devkit
pip install -e .
pip install -r ./requirements.txt
# setup planscope
cd ..
git clone https://github.com/Rex-sys-hk/PlanScope && cd planscope
sh ./script/setup_env.sh
Preprocess the dataset to accelerate training. It is recommended to run a small sanity check to make sure everything is correctly setup.
python run_training.py \
py_func=cache +training=train_pluto \
scenario_builder=nuplan_mini \
cache.cache_path=/nuplan/exp/sanity_check \
cache.cleanup_cache=true \
scenario_filter=training_scenarios_tiny \
worker=sequential
Then preprocess the whole nuPlan training set (this will take some time). You may need to change cache.cache_path to suit your condition
export PYTHONPATH=$PYTHONPATH:$(pwd)
python run_training.py \
py_func=cache +training=train_pluto \
scenario_builder=nuplan \
cache.cache_path=/nuplan/exp/cache_pluto_1M \
cache.cleanup_cache=true \
scenario_filter=training_scenarios_1M \
worker.threads_per_node=40
sh train_scope.sh
Copy your chekpoint path to sim_scope.sh or sim_pluto.sh and replace the value of CKPT_N to run the evaluation.
| Model | Download | Download |
|---|---|---|
| Pluto-aux-nocil-m6-baseline | OneDrive | HuggingFace |
| PlanScope-Ih10-DWT | OneDrive | HuggingFace |
| PlanScope-Mh10-DWH | OneDrive | HuggingFace |
| PlanScope-Mh20-DWT | OneDrive | HuggingFace |
| --- | ||
| PlanScope-Th20 | OneDrive | HuggingFace |
| PlanScope-timedecay | OneDrive | HuggingFace |
| PlanScope-timenorm | OneDrive | HuggingFace |
| --- | ||
| Pluto-1M-aux-cil-m12-original | OneDrive | HuggingFace |
| PlanScope-timenorm-cil-m12 | OneDrive | HuggingFace |
Run simulation for a random scenario in the nuPlan-mini split
sh ./sim_scope.sh
The code is under cleaning and will be released gradually.
If you find this repo useful, please consider giving us a star 🌟 and citing our related paper.
@misc{planscope,
title={{PlanScope:} Learning to Plan Within Decision Scope Does Matter},
author={Ren Xin and Jie Cheng and Jun Ma},
year={2024},
eprint={2411.00476},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2411.00476},
}
$ claude mcp add PlanScope \
-- python -m otcore.mcp_server <graph>