sudo apt install python3-pip -y
sudo apt install python3-venv -y
python3 -m venv .venv
source ./.venv/bin/activate
# nuplan-devkit
git clone https://github.com/motional/nuplan-devkit.git && cd nuplan-devkit
pip install -e .
# Diffusion-Planner
cd diffusion_planner
python -m pip install pip==24.1
pip install -r requirements_nuplan-devkit_fixed.txt
pip install -r requirements.txt
pip install -e .
# check torch
python3 -c "import torch; print(torch.cuda.is_available())"
# install ros-humble
./ros_scripts/download_ros-humble.sh
# prepare autoware
./ros_scripts/prepare_autoware.sh
We assume the following directory structure:
driving_dataset$ tree . -L 2
.
├── bag
│ ├── 2024-07-18
│ │ ├── 10-05-28
│ │ ├── 10-05-51
│ │ ├── ...
│ │ ├── 16-10-07
│ │ └── 16-27-15
│ ├── 2024-12-11
│ ├── 2025-01-24
│ ├── 2025-02-04
│ ├── 2025-03-25
│ └── 2025-04-16
└── map
├── 2024-07-18
│ ├── lanelet2_map.osm
│ ├── pointcloud_map_metadata.yaml
│ ├── pointcloud_map.pcd
│ └── stop_points.csv
├── 2024-12-11
├── 2025-01-24
├── 2025-02-04
├── 2025-03-25
└── 2025-04-16
./ros_scripts/generate_all_data.sh
or use parse_rosbag_for_directory.py
directly.
python3 ./ros_scripts/parse_rosbag_for_directory.py <target_dir_list> --save_root <save_root> [--step <step>] [--limit <limit>]
This script search *.npz
files and create path_list.json
.
python3 ./diffusion_planner/util_scripts/create_train_set_path.py <root_dir_list>
Edit train_run.sh
and run
cd ./diffusion_planner
./train_run.sh