Skip to main content


MetaDrive: an Open-source Driving Simulator for AI and Autonomy Research

build Documentation GitHub license GitHub contributors Downloads


MetaDrive is a driving simulator with the following key features:

  • Compositional: It supports generating infinite scenes with various road maps and traffic settings for the research of generalizable RL.
  • Lightweight: It is easy to install and run. It can run up to +1000 FPS on a standard PC.
  • Realistic: Accurate physics simulation and multiple sensory input including Lidar, RGB images, top-down semantic map and first-person view images.

🛠 Quick Start

Install MetaDrive via:

git clone https://github.com/metadriverse/metadrive.git
cd metadrive
pip install -e .

Note that the program is tested on both Linux and Windows. Some control and display issues in MacOS wait to be solved

You can verify the installation of MetaDrive via running the testing script:

# Go to a folder where no sub-folder calls metadrive
python -m metadrive.examples.profile_metadrive

Note that please do not run the above command in a folder that has a sub-folder called ./metadrive.

🚕 Examples

We provide examples to demonstrate features and basic usages of MetaDrive after the local installation. There is an .ipynb example which can be directly opened in Colab. Open In Colab

Also, you can try examples in the documentation directly in Colab! See more details in Documentations.

Single Agent Environment

Run the following command to launch a simple driving scenario with auto-drive mode on. Press W, A, S, D to drive the vehicle manually.

python -m metadrive.examples.drive_in_single_agent_env

Run the following command to launch a safe driving scenario, which includes more complex obstacles and cost to be yielded.

python -m metadrive.examples.drive_in_safe_metadrive_env

Multi-Agent Environment

You can also launch an instance of Multi-Agent scenario as follows

python -m metadrive.examples.drive_in_multi_agent_env --env roundabout

--env accepts following parmeters: roundabout (default), intersection, tollgate, bottleneck, parkinglot, pgmap. Adding --top_down can launch top-down pygame renderer.

Real Environment

Running the following script enables driving in a scenario constructed from nuScenes dataset or Waymo dataset.

python -m metadrive.examples.drive_in_real_env

The default real-world dataset is nuScenes. Use --waymo to visualize Waymo scenarios. Traffic vehicles can not response to surrounding vchicles if directly replaying them. Add argument --reactive_traffic to use an IDM policy control them and make them reactive. Press key r for loading a new scenario, and b or q for switching perspective.

Basic Usage

To build the RL environment in python script, you can simply code in the Farama Gymnasium format as:

from metadrive.envs.metadrive_env import MetaDriveEnv

env = MetaDriveEnv(config={"use_render": True})
obs, info = env.reset()
for i in range(1000):
    obs, reward, terminated, truncated, info = env.step(env.action_space.sample())
    if terminated or truncated:
        env.reset()
env.close()

🏫 Documentations

Please find more details in: https://metadrive-simulator.readthedocs.io

Running Examples in Doc

The documentation is built with .ipynb so every example can run locally or with colab. For Colab running, on the Colab interface, click “GitHub,” enter the URL of MetaDrive: https://github.com/metadriverse/metadrive, and hit the search icon. After running examples, you are expected to get the same output and visualization results as the documentation!

For example, hitting the following icon opens the source .ipynb file of the documentation section: Environments.

Open In Colab

📎 References

If you use MetaDrive in your own work, please cite:

@article{li2022metadrive,
  title={Metadrive: Composing diverse driving scenarios for generalizable reinforcement learning},
  author={Li, Quanyi and Peng, Zhenghao and Feng, Lan and Zhang, Qihang and Xue, Zhenghai and Zhou, Bolei},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  year={2022}
}

🎉 Relevant Projects

Learning to Simulate Self-driven Particles System with Coordinated Policy Optimization
Zhenghao Peng, Quanyi Li, Chunxiao Liu, Bolei Zhou
NeurIPS 2021
[Paper] [Code] [Webpage] [Poster] [Talk] [Results&Models]

Safe Driving via Expert Guided Policy Optimization
Zhenghao Peng*, Quanyi Li*, Chunxiao Liu, Bolei Zhou
Conference on Robot Learning (CoRL) 2021
[Paper] [Code] [Webpage] [Poster]

Efficient Learning of Safe Driving Policy via Human-AI Copilot Optimization
Quanyi Li*, Zhenghao Peng*, Bolei Zhou
ICLR 2022
[Paper] [Code] [Webpage] [Poster] [Talk]

Human-AI Shared Control via Policy Dissection
Quanyi Li, Zhenghao Peng, Haibin Wu, Lan Feng, Bolei Zhou
NeurIPS 2022
[Paper] [Code] [Webpage]

And more:

  • Yang, Yujie, Yuxuan Jiang, Yichen Liu, Jianyu Chen, and Shengbo Eben Li. "Model-Free Safe Reinforcement Learning through Neural Barrier Certificate." IEEE Robotics and Automation Letters (2023).

  • Feng, Lan, Quanyi Li, Zhenghao Peng, Shuhan Tan, and Bolei Zhou. "TrafficGen: Learning to Generate Diverse and Realistic Traffic Scenarios." (ICRA 2023)

  • Zhenghai Xue, Zhenghao Peng, Quanyi Li, Zhihan Liu, Bolei Zhou. "Guarded Policy Optimization with Imperfect Online Demonstrations." (ICLR 2023)

Acknowledgement

The simulator can not be built without the help from Panda3D community and the following open-sourced projects:

Metadata

Release files for metadrive-simulator 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for metadrive-simulator 0.4.3
File Size Uploaded
metadrive-simulator-0.4.3.tar.gz 54.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for metadrive-simulator 0.4.3
File Interpreter ABI Platform
metadrive_simulator-0.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 109.4 MB

Release files / metadrive-simulator-0.4.3.tar.gz

Download URL metadrive-simulator-0.4.3.tar.gz
Size 54.3 MB
Tags Source
SHA-256 checksum
How to use checksums
41c9ddbb27b9f6db08f967d8c7be7c1b262c712903b11cfae4382dab2d4d22cb
BLAKE2b-256 checksum
How to use checksums
48550bd8a4919db96f40fb3b016cc1f6a6a2243b7c25b6da1118bac3efeda41a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

Release files / metadrive_simulator-0.4.3-py3-none-any.whl

Download URL metadrive_simulator-0.4.3-py3-none-any.whl
Size 55.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c6f8a42baac939a0af53a8e1cd9d48ec2bf0051917e7c19083e156a6506493d9
BLAKE2b-256 checksum
How to use checksums
1a9b6c9e143728f071a560d1deba10d19bf4512d8951e6d15c7328c4d63dc631
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.4.3 This release

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page