CARLA Simulator
CARLA is an open-source simulator for autonomous driving research. CARLA has been developed from the ground up to support development, training, and validation of autonomous driving systems. In addition to open-source code and protocols, CARLA provides open digital assets (urban layouts, buildings, vehicles) that were created for this purpose and can be used freely. The simulation platform supports flexible specification of sensor suites and environmental conditions.
If you want to benchmark your model in the same conditions as in our CoRLโ17 paper, check out Benchmarking.
Recommended system
- Intel i7 gen 9th - 11th / Intel i9 gen 9th - 11th / AMD ryzen 7 / AMD ryzen 9
- +16 GB RAM memory
- NVIDIA RTX 2070 / NVIDIA RTX 2080 / NVIDIA RTX 3070, NVIDIA RTX 3080
- Ubuntu 18.04
CARLA Ecosystem
Repositories associated to the CARLA simulation platform:
- CARLA Autonomous Driving leaderboard: Automatic platform to validate Autonomous Driving stacks
- Scenario_Runner: Engine to execute traffic scenarios in CARLA 0.9.X
- ROS-bridge: Interface to connect CARLA 0.9.X to ROS
- Driving-benchmarks: Benchmark tools for Autonomous Driving tasks
- Conditional Imitation-Learning: Training and testing Conditional Imitation Learning models in CARLA
- AutoWare AV stack: Bridge to connect AutoWare AV stack to CARLA
- Reinforcement-Learning: Code for running Conditional Reinforcement Learning models in CARLA
- Map Editor: Standalone GUI application to enhance RoadRunner maps with traffic lights and traffic signs information
Like what you see? Star us on GitHub to support the project!
Paper
If you use CARLA, please cite our CoRLโ17 paper.
CARLA: An Open Urban Driving Simulator
Alexey Dosovitskiy, German Ros,
Felipe Codevilla, Antonio Lopez, Vladlen Koltun; PMLR 78:1-16
[PDF]
[talk]
@inproceedings{Dosovitskiy17,
title = {{CARLA}: {An} Open Urban Driving Simulator},
author = {Alexey Dosovitskiy and German Ros and Felipe Codevilla and Antonio Lopez and Vladlen Koltun},
booktitle = {Proceedings of the 1st Annual Conference on Robot Learning},
pages = {1--16},
year = {2017}
}
Building CARLA
Use git clone
or download the project from this page. Note that the master branch contains the most recent release of CARLA with the latest fixes and features.
Then follow the instruction at How to build on Linux or How to build on Windows.
The Linux build needs for an UE patch to solve some visualization issues regarding Vulkan. Those already working with a Linux build should install the patch and make the UE build again using the following commands.
# Download and install the UE patch
cd ~/UnrealEngine_4.24
wget https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/UE_Patch/430667-13636743-patch.txt ~/430667-13636743-patch.txt
patch --strip=4 < ~/430667-13636743-patch.txt
# Build UE
./Setup.sh && ./GenerateProjectFiles.sh && make
Unfortunately we don't have official instructions to build on Mac yet, please check the progress at issue #150.
Contributing
Please take a look at our Contribution guidelines.
F.A.Q.
If you run into problems, check our FAQ.
CARLA Talks
The team creates some additional content for users, besides the docs. This is a great way to cover different subjects such as detailed explanations for a specific module, latest improvements in a feature, future work and much more.
CARLA Talks 2020 (May):
- General
- Modules
- Features
Licenses
CARLA licenses
CARLA specific code is distributed under MIT License.
CARLA specific assets are distributed under CC-BY License.
CARLA Dependency and Integration licenses
The ad-rss-lib library compiled and linked by the RSS Integration build variant introduces LGPL-2.1-only License.
Unreal Engine 4 follows its own license terms.
CARLA uses three dependencies as part of the SUMO integration:
- PROJ, a generic coordinate transformation software which uses the X/MIT open source license.
- SQLite, part of the PROJ dependencies, which is in the public domain.
- Xerces-C, a validating XML parser, which is made available under the Apache Software License, Version 2.0.
CARLA uses one dependency as part of the Chrono integration:
- Eigen, a C++ template library for linear algebra which uses the MPL2 license.
CARLA uses the Autodesk FBX SDK for converting FBX to OBJ in the import process of maps. This step is optional, and the SDK is located here
This software contains Autodeskยฎ FBXยฎ code developed by Autodesk, Inc. Copyright 2020 Autodesk, Inc. All rights, reserved. Such code is provided "as is" and Autodesk, Inc. disclaims any and all warranties, whether express or implied, including without limitation the implied warranties of merchantability, fitness for a particular purpose or non-infringement of third party rights. In no event shall Autodesk, Inc. be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of such code."