V-Max is a plug-and-play extension of the Waymax simulator for autonomous driving research. It provides a learning-based motion planning framework for benchmarking, training, and evaluation of path planners from bird-eye view to control.
This framework integrates simulation pipelines, observation wrappers, and realistic metrics, making it easy to experiment with RL/IL algorithms, custom networks, and new features.
- Reinforcement Learning (SAC, PPO) and Imitation Learning (BC) algorithms
- Rule-based policies (IDM, PDM)
- Advanced network architectures (MTR, Wayformer, ...)
- Comprehensive metrics and evaluations
- ScenarioMax: Unified datasets format with nuPlan, nuScenes and WOMD, with SDC paths support
The V-Max codebase is organized for modularity and extensibility:
vmax/
├── agents/
│ ├── learning/ # Reinforcement & imitation learning algorithms
│ ├── networks/ # Neural network architectures (MTR, Wayformer, etc.)
│ └── rule_based/ # Rule-based policies (IDM, PDM)
├── simulator/
│ ├── features/ # Feature extraction modules
│ ├── metrics/ # Evaluation metrics
│ ├── overrides/ # Waymax extensions and customizations
│ ├── visualization/ # Visualization tools and utilities
│ └── wrappers/ # Observation and environment wrappers
└── scripts/
- agents/: All agent logic, including learning-based and rule-based policies.
- simulator/: Simulation engine, feature extraction, metrics, and visualization.
- scripts/: Entry points for training and evaluation.
ScenarioMax is a core feature of V-Max that enhances our data with SDC paths. These paths are crucial for calculating targets, rewards, and various metrics during simulation.
Key objectives:
- Enrich Data: By incorporating SDC paths, ScenarioMax helps improve the precision of target computations, reward evaluations, and metric calculations.
- Unified Dataset: It consolidates data from different autonomous driving (AD) datasets into a single, standardized format, similar to the approaches found in ScenarioNet.
For those who prefer to run V-Max without the complete ScenarioMax integration, a lightweight wrapper is available. This wrapper generates one single SDC path at every scenario reset. Keep in mind that while this approach simplifies testing, it increases computational overhead and may not always produce an SDC path that perfectly matches the ground truth.
Datasets processed via ScenarioMax with SDC paths are available on HuggingFace:
- Mini datasets (~1,000 scenarios for nuPlan and WOMD)
- Full datasets
-
Clone the Repository
git clone https://github.com/valeoai/v-max cd v-max
-
Create a Virtual Environment & Install Dependencies
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt pip install -e .
Train any RL/IL algorithm and network encoder implemented in V-Max:
python vmax/scripts/training/train.py total_timesteps=$num_env_steps path_dataset="" algorithm=$alg_type network/encoder=$encoder_type
- See
docs/training.md
for detailed training, feature selection, reward metrics, and configuration options.
V-Max is built upon the innovative ideas and contributions of several outstanding open-source projects:
- Brax – RL pipeline philosophy
- Waymax – Simulation foundation
- ScenarioNet – Unified data strategies
We are grateful to these communities for advancing autonomous driving research.