Skip to content

valeoai/V-Max

Repository files navigation

Demo

V-Max

Python version Paper

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.

Expert RL Policy
Expert Scene 1 Agent Scene 1
Expert Scene 2 Agent Scene 2

Key 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

Framework Structure

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

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.

Download

Datasets processed via ScenarioMax with SDC paths are available on HuggingFace:

Get Started

Installation

  1. Clone the Repository

    git clone https://github.com/valeoai/v-max
    cd v-max
  2. Create a Virtual Environment & Install Dependencies

    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    pip install -e .

Quickstart

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.

Documentation

Authors

Acknowledgements

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.

About

Plug-and-play extension of the Waymax simulator.

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages