![]() While creating the new carla ros bridge some extensions became necessary within CARLA: The parent property of an actor via python interface is not yet filled. Therefore, the parent_id of Actors has to be transferred from the CARLA server via rpc interface. In addition, actor attributes are published via python interface. Changes in detail: carla/rpc/Actor.h: - add parent_id field to the Actor class for rpc transport TheNewCarlaServer.cpp: - fill the parent_id field with the appropriate value client/ActorList: - added GetActor() function to get an actor by id client/ActorVariant: - added actor_list optional parameter to Get() and MakeActor() function which allows to query for the parent actor in case the actor_list is available client/ActorAttribute: - solved problem of independent rpc::ActorAttribute* classes by introduction of ActorAttributeValueAccess class, to be able to reuse most of the functions for both ActorAttribueValues and ActorAttributes ActorBlueprintFunctionLibrary: - extended actor attributes by attribute 'role_name' having {autopilot, scenario, ego_vehicle} as recommended values for vehicles or {front,back,...} for sensors to be able to distiguish the different actors in a meaningful way when transferring to ROS topic names - extended vehicle attributes by not-modifiable attribute 'object_type' to be defined at blueprint creation time to provide ground truth object classification type PythonAPI: - libcarla: provide the actor attributes within python as dictionary - make use of role_name attribute to provide information required for ROS bridge to distinguish ego vehicle from others |
||
---|---|---|
.github | ||
Deprecated/PythonClient | ||
Docs | ||
LibCarla | ||
PythonAPI | ||
Unreal/CarlaUE4 | ||
Util | ||
carla_ros_bridge | ||
.gitattributes | ||
.gitignore | ||
.pep8 | ||
.travis.yml | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
Doxyfile | ||
Jenkinsfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
Update.sh | ||
mkdocs.yml |
README.md
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 urban 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.
Roadmap
We are continuously working on improving CARLA, and we appreciate contributions from the community. Our most immediate goals are:
- Releasing the methods evaluated in the CARLA paper
- Adding a Lidar sensor
- Allowing for flexible and user-friendly import and editing of maps
- Allowing the users to control non-player characters (and therefore set up user-specified scenarios)
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 latest fixes and features, for the latest stable code may be
best to switch to the stable
branch.
Then follow the instruction at How to build on Linux or How to build on Windows.
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.
License
CARLA specific code is distributed under MIT License.
CARLA specific assets are distributed under CC-BY License.
Note that UE4 itself follows its own license terms.