LiLoDriver: A Lifelong Learning Framework for Closed-Loop Motion Planning in Long-tail Autonomous Driving Scenarios
LiLoDriver is a lifelong learning framework for closed-loop motion planning in long-tail autonomous driving scenarios. It leverages Large Language Models (LLMs) for adaptive planner selection and memory-based knowledge retrieval, enabling continual scene understanding and strategy evolution during inference without the need for retraining.
Our method integrates four core modules:
- Environment and Perception: Fuses map and historical trajectory data.
- Scene Encoder: Extracts scene embeddings via a multi-modal MLP-LSTM-Transformer stack.
- Memory Bank: Maintains long-tail clusters and associated few-shot planner experiences.
- LLM Reasoning and Planner Selection: Generates task-specific prompts and selects behavior planners in real-time.
LiLoDriver is the first framework to introduce lifelong learning and retrieval-augmented planning into closed-loop autonomous driving at scale.
- ✅ Closed-loop motion planning with long-tail generalization
- ✅ Online planner adaptation without model retraining
- ✅ Memory-augmented scenario clustering and few-shot planner retrieval
- ✅ LLM-based reasoning for scene-specific decision making
- ✅ Evaluated on the nuPlan real-world benchmark
git clone https://github.com/your-org/LiLoDriver.git
cd LiLoDriver
conda create -n lilodriver python=3.10
conda activate lilodriver
pip install -r requirements.txtWe recommend using CUDA 11.7+ and PyTorch 2.0+ for GPU-accelerated training and inference.
LiLoDriver/
├── assets/ # Diagrams and figures
├── configs/ # Config files for model and experiments
├── data/ # Dataset loaders and preprocessing scripts
├── memory/ # Memory bank and planner retrieval logic
├── models/ # Scene encoder and planner network modules
├── planners/ # Rule-based and learned behavior planners
├── prompts/ # Prompt engineering for LLM calls
├── utils/ # Common utilities
├── main.py # Entry point for training and evaluation
└── README.mdWe evaluate LiLoDriver on the nuPlan benchmark, which provides large-scale real-world driving data with support for closed-loop simulation.
To use nuPlan:
# Install nuPlan devkit
pip install nuplan-devkit
# Set up simulation environment
python setup_nuplan.py --download_data --prepare_mapsTo run closed-loop simulation:
python main.py --config configs/lilodriver_nuplan.yaml --eval_onlyKey evaluation metrics:
- Success Rate (SR)
- Collision Rate (CR)
- Comfort Index (CI)
- Long-tail Scenario Completion (LTSC)
LiLoDriver outperforms existing rule-based and learning-based planners across rare and complex driving scenarios:
| Method | SR ↑ | CR ↓ | LTSC ↑ |
|---|---|---|---|
| IDM (rule) | 78.2 | 9.4 | 61.3 |
| PDM-Closed | 82.5 | 6.1 | 65.8 |
| PlanTF (learn) | 84.7 | 5.5 | 68.2 |
| LiLoDriver | 89.6 | 2.9 | 75.1 |
If you find this work helpful, please cite us:
@article{yao2025lilodriver,
title={LiloDriver: A Lifelong Learning Framework for Closed-loop Motion Planning in Long-tail Autonomous Driving Scenarios},
author={Yao, Huaiyuan and Li, Pengfei and Jin, Bu and Zheng, Yupeng and Liu, An and Mu, Lisen and Su, Qing and Zhang, Qian and Chen, Yilun and Li, Peng},
journal={arXiv preprint arXiv:2505.17209},
year={2025}
}This work builds upon nuPlan, LLaMA, and LangChain. We thank the open-source community for their contributions.
For questions or collaboration inquiries, please contact:
📧 [email protected]