MOJITO is an end-to-end autonomous driving framework built upon DiffusionDrive. It introduces hierarchical three-modal fusion across vision, LiDAR, and trajectory/action representations, enabling unified perception and planning for end-to-end autonomous driving.
MOJITO/
├── MOJITO/ # Main codebase: NAVSIM agent, training, and evaluation
├── Diffusion-Planner/ # Diffusion-based trajectory planning module
├── nuplan-devkit/ # nuPlan development toolkit
├── weights/ # Pre-trained weights and MOJITO checkpoints
├── scripts/ # Environment installation scripts
├── setup_env.sh # Environment configuration script
└── README.md
Please refer to docs/environment.md for the complete dependency list, installation instructions, and solutions to common issues.
conda create -n mojito python=3.9 -y
conda activate mojito
cd /path/to/MOJITO
bash scripts/install_env.shBefore running training or evaluation, load the environment configuration:
cd /path/to/MOJITO
source setup_env.shsetup_env.sh configures the dataset paths, experiment directories, and training cache locations.
To use custom paths, export the corresponding environment variables before sourcing the script:
export OPENSCENE_DATA_ROOT=/your/dataset
export NAVSIM_EXP_ROOT=/your/exp
export MOJITO_CACHE_PATH=/your/training_cache
source setup_env.shThe training split requires additional preprocessing.
The evaluation dataset preparation follows the same procedure as DiffusionDrive, including:
- NAVSIM / OpenScene datasets
- nuPlan maps
- NAVSIM logs
- Sensor blobs, including camera images and LiDAR point clouds
A typical dataset directory is organized as follows:
/path/to/MOJITO/MOJITO/dataset/
├── maps/
│ ├── sg-one-north
│ ├── us-ma-boston
│ └── ...
├── navsim_logs/
│ ├── trainval/
│ ├── test/
│ └── exp/
├── sensor_blobs/
│ ├── trainval/ # Camera images and LiDAR point clouds
│ └── test/
├── navhard_two_stage/ # NAVSIM-v2 navhard split
├── private_test_hard_two_stage/
├── warmup_two_stage/
└── dataset/
The official MOJITO checkpoints are available on:
🤗 Hugging Face: mumucc1/MOJITO
Install the Hugging Face Hub command-line tool if needed:
pip install -U huggingface_hubDownload the released checkpoints:
cd /path/to/MOJITO
mkdir -p weights/checkpoints
hf download mumucc1/MOJITO \
--local-dir weights/checkpointsYou can also download the checkpoint manually from the Hugging Face repository.
After downloading, ensure that the default evaluation checkpoint is located at:
weights/checkpoints/mojito.ckpt
The pre-trained backbone weights should be placed under:
weights/pretrained/
The expected directory structure is:
weights/
├── pretrained/
│ └── ...
└── checkpoints/
└── mojito.ckpt
To train MOJITO:
cd /path/to/MOJITO
source setup_env.sh
bash MOJITO/scripts/training/run_diffusiondrive_training.shThe training pipeline automatically uses the preprocessing cache specified by:
MOJITO_CACHE_PATH
If the preprocessing cache does not exist, build it first:
cd /path/to/MOJITO
source setup_env.sh
python MOJITO/navsim/planning/script/run_dataset_caching.py \
agent=diffusiondrive_agent \
experiment_name=training_mojito_agent \
train_test_split=navtrainIf the metric cache does not exist, build it following the same procedure as DiffusionDrive:
cd /path/to/MOJITO
source setup_env.sh
python MOJITO/navsim/planning/script/run_metric_caching.py \
train_test_split=navtest \
cache.cache_path="${NAVSIM_EXP_ROOT}/metric_cache"cd /path/to/MOJITO
source setup_env.sh
bash MOJITO/scripts/evaluation/run_diffusiondrive.shThe default evaluation checkpoint is:
weights/checkpoints/mojito_navsim.ckpt
Make sure the checkpoint has been downloaded from Hugging Face before running the evaluation.
- MOJITO source code
- Environment setup and training scripts
- Official MOJITO evaluation checkpoints on Hugging Face
MOJITO is built upon and benefits from the following excellent open-source projects:
- DiffusionDrive (CVPR 2025 Highlight)
- Diffusion-Planner (ICLR 2025)
- NAVSIM
- nuPlan Devkit
We sincerely thank the authors for their valuable contributions to the autonomous driving community.
If you find MOJITO useful for your research, please consider citing:
@misc{cheng2026mojitomodaljointlearning,
title = {MOJITO: Modal Joint Learning for Unified End-to-End Autonomous Driving},
author = {Zhijing Cheng and Xuancheng Zhang and Donglin Di and Lei Fan and Baorui Ma and Hao Li and Xun Yang},
year = {2026},
eprint = {2607.23511},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2607.23511}
}