# AlpaSim: A modular, lightweight, and data-driven research simulator for autonomous driving
AlpaSim Simulation Demo
## What is AlpaSim? AlpaSim is an open-source autonomous vehicle simulation platform designed specifically for research and development. It allows users to test end-to-end AV policies in a closed-loop setting by simulating realistic sensor data, vehicle dynamics, and traffic scenarios within a modular and extensible testbed. Suitable use cases include: - **Algorithm Validation**: Test new autonomous driving algorithms in realistic environments - **Safety Analysis**: Evaluate vehicle behavior in edge cases and challenging scenarios - **Performance Benchmarking/Regression Testing**: Compare different models and configurations - **Debugging**: Understand and debug complex autonomous driving behaviors ### **Sensor Fidelity** - Pluggable renderer service with default [NuRec](https://docs.nvidia.com/nurec/) support and [OmniDreams](https://github.com/nv-tlabs/omni-dreams) video-model rendering through [FlashDreams](https://github.com/NVIDIA/flashdreams) - High-fidelity camera feeds with configurable field-of-view, resolution, and frame rates - Stateful video-model rendering for stronger dynamic-object and non-rigid visual fidelity - Realistic sensor noise and environmental conditions ### **Research Hackability** - Python-based implementation built for rapid prototyping and experimentation - Modular grpc interface design allows researchers to swap out components with custom implementations - Extensive configuration options and debugging tools ### **Horizontal Scalability** - Microservices architecture enabling distributed computing - Scale individual components for optimal load balancing - Support for multi-node deployments To learn more about the design principles and architecture, check out the [system design docs](docs/DESIGN.md). ## Driving Policies AlpaSim currently supports the following driver policies: - [Alpamayo-R1](https://github.com/NVlabs/alpamayo) - NVIDIA Alpamayo, a VLA driving policy with chain-of-causation reasoning - [Alpamayo 1.5](https://github.com/NVlabs/alpamayo1.5) - Public Alpamayo 1.5 checkpoint support is also available - [VaVAM](https://github.com/valeoai/VideoActionModel) - an autoregressive video-action driving policy - [Transfuser](https://github.com/autonomousvision/lead?tab=readme-ov-file#beyond-carla-cross-benchmark-deployment) \- Latent TransFuser v6 ([LTFv6](<(https://huggingface.co/ln2697/tfv6_navsim)>)) policy developed for [NAVSIM](https://github.com/autonomousvision/navsim) (provisional) Stay tuned for additional model support. [Contributions](#contributing) from the community are appreciated. ## Support 📣 **Usage questions and discussion about AlpaSim**: please join us on the [Alpamayo NV Developer Forum](https://forums.developer.nvidia.com/c/autonomous-vehicles/alpamayo/766). 🐛 **Code-level bugs, documentation issues, and feature requests**: file a [GitHub issue](../../issues/new/choose) using the appropriate template (Bug report, Documentation request, or Feature request). The relevant NVIDIA responder is auto-assigned via the `assignees:` field on the template. 🚨 **Security vulnerabilities**: please use [NVIDIA's Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). Do not file security issues publicly here. ## Getting Started To run simulations locally (Docker Compose, single machine), see the [Tutorial](docs/TUTORIAL.md). The default tutorial path uses NuRec; for OmniDreams as the renderer backend, see the [Video Model Renderer guide](docs/VIDEO_MODEL.md). For cluster or SLURM deployment, see `src/tools/run-on-slurm`. ## Documentation & Resources - **[Onboarding Guide](docs/ONBOARDING.md)**: Initial setup and access instructions - **[Tutorial](docs/TUTORIAL.md)**: Step-by-step usage guide - **[Manual Driver](docs/MANUAL_DRIVER.md)**: Interactive keyboard control of the ego vehicle - **[Video Model Renderer](docs/VIDEO_MODEL.md)**: Running OmniDreams through FlashDreams as the AlpaSim renderer backend - **[Operations Guide](docs/OPERATIONS.md)**: Performance tuning, configuration, and troubleshooting - **[Telemetry Guide](docs/TELEMETRY.md)**: Prometheus metrics, persistence, and central discovery - **[Data Pipeline](docs/DATA_PIPELINE.md)**: ASL log format and reading logs - **[Design Documentation](docs/DESIGN.md)**: Technical architecture and design decisions - **[Plugin System](docs/PLUGIN_SYSTEM.md)**: Extending AlpaSim with custom models, configs, and tools - **[API Reference](src/grpc/)**: gRPC API documentation - **[Changelog](CHANGELOG.md)**: Major updates and migration notes - **[Contributing](CONTRIBUTING.md)**: Code style, coordinate conventions, and PR process - **[Developer Quick Reference](AGENTS.md)**: Build commands, testing, and CI workflow - **[Test Suites & Scenes](data/scenes/README.md)**: Available scene datasets ### **Sample Data** - **Hugging Face Dataset**: [PhysicalAI-Autonomous-Vehicles-NuRec 26.01](https://huggingface.co/datasets/nvidia/PhysicalAI-Autonomous-Vehicles-NuRec/tree/26.01/sample_set/26.01_release) is recommended for new runs. See [Test Suites & Scenes](data/scenes/README.md) for release selection and legacy dataset commands. - **Sample Artifacts**: Included in the repository via Git LFS ## Contributing We welcome contributions from the research community! Please see our [Contributing Guide](CONTRIBUTING.md) for details on: - Code style and conventions - Testing requirements - Pull request process - Development setup ## License This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details. ## Citation If you use this software, please cite it as follows: ``` @software{alpasim_2025, author = { NVIDIA and Yulong Cao and Riccardo de Lutio and Sanja Fidler and Guillermo Garcia Cobo and Zan Gojcic and Maximilian Igl and Boris Ivanovic and Peter Karkus and Janick Martinez Esturo and Marco Pavone and Aaron Smith and Ellie Tanimura and Michal Tyszkiewicz and Michael Watson and Qi Wu and Le Zhang }, title = {AlpaSim: A Modular, Lightweight, and Data-Driven Research Simulator for Autonomous Driving}, year = {2025}, month = {October}, url = {https://github.com/NVlabs/alpasim}, } ``` ## Project Contributors: Contributors in each topic in alphabetical order **Project Lead:** Maximilian Igl **Tech Leads:** Michal Tyszkiewicz, Michael Watson **Architecture Design & Networking:** Michal Tyszkiewicz **Open Sourcing:** Guillermo Garcia Cobo, Maximilian Igl, Peter Karkus, Ellie Tanimura, Michael Watson **Infrastructure & Wizard:** Maximilian Igl, Aaron Smith, Michal Tyszkiewicz, Michael Watson, Qi Wu (SLURM deployment), Le Zhang (Data management) **Runtime:** Maximilian Igl, Aaron Smith, Ellie Tanimura, Michal Tyszkiewicz, Michael Watson **CICD:** Maximilian Igl, Aaron Smith **Data Pipeline:** Riccardo de Lutio, Janick Martinez, Le Zhang **Product Manager:** Matt Cragun **Testing & debugging:** Guillermo Garcia Cobo, Peter Karkus, Ellie Tanimura **Service Modules:** - Driver integration: Maximilian Igl, Peter Karkus, Michal Tyszkiewicz - Evaluation: Yulong Cao, Maximilian Igl - Controller: Michael Watson - Physics: Riccardo de Lutio - Trafficsim: Maximilian Igl, Boris Ivanovic **Senior Mgmt:** Sanja Fidler, Zan Gojcic, Boris Ivanovic, Marco Pavone **Acknowledgements for additional contributions:** Fabian Barajas, Kashyap Chitta, Ankit Gupta, Laura Leal-Taixe, Nicole Yang
Built for researchers, by researchers
Accelerating autonomous vehicle development through realistic simulation