A driving school where the students are algorithms and the cars crash in simulation
Huawei's open-source simulator trains autonomous vehicles through multi-agent reinforcement learning without denting real fenders.

What it does SMARTS is a Python simulation platform for training autonomous driving agents via multi-agent reinforcement learning. It emphasizes realistic, diverse interactions between multiple vehicles — think traffic negotiation, merges, and the chaos of human drivers, but rendered in code. It ships as part of Huawei Noah’s Ark Lab’s broader XingTian RL suite and is installable via PyPI.
The interesting bit The “School” in the acronym is doing real work here: SMARTS is explicitly designed as a training environment where agents learn by interacting with each other, not just solo lane-keeping. The project has a published CoRL 2020 paper backing it, which is rarer than you’d think for open-source simulators.
Key highlights
- Multi-agent RL focus: agents learn from social, competitive driving scenarios
- Published research backing (CoRL 2020, arXiv:2010.09776)
- Part of Huawei’s XingTian RL platform ecosystem
- MIT licensed, PyPI-installable (
pip install smarts) - CI-tested on Linux with formatting enforcement (Black)
- ReadTheDocs documentation with base examples and RL model tutorials
Caveats
- The README is lean on technical architecture details — no mention of rendering backend, physics engine, or supported sensors
- 1,124 stars suggests modest community traction for a 2020 project; unclear how active development is beyond CI maintenance
- No explicit performance benchmarks or hardware requirements listed
Verdict Worth a look if you’re doing multi-agent RL research in autonomous driving and need a battle-tested academic foundation. Probably not your first stop if you want a production-grade simulator with extensive sensor models or a bustling plugin ecosystem.