carla/README.md

149 lines
8.0 KiB
Markdown
Raw Normal View History

CARLA Simulator
===============
2017-03-30 01:05:26 +08:00
2018-02-08 03:14:59 +08:00
[![Documentation](https://readthedocs.org/projects/carla/badge/?version=latest)](http://carla.readthedocs.io)
2018-12-12 09:54:31 +08:00
2018-05-14 21:34:32 +08:00
[![carla.org](Docs/img/btn/web.png)](http://carla.org)
2018-07-30 20:10:23 +08:00
[![download](Docs/img/btn/download.png)](https://github.com/carla-simulator/carla/blob/master/Docs/download.md)
2018-05-14 21:34:32 +08:00
[![documentation](Docs/img/btn/docs.png)](http://carla.readthedocs.io)
[![forum](Docs/img/btn/forum.png)](https://github.com/carla-simulator/carla/discussions)
[![discord](Docs/img/btn/chat.png)](https://discord.gg/8kqACuC)
2018-05-14 21:34:32 +08:00
2020-06-12 16:16:35 +08:00
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
2017-11-11 00:54:06 +08:00
environmental conditions.
2017-10-31 00:56:39 +08:00
2023-11-21 22:50:24 +08:00
[![CARLA Video](Docs/img/0_9_15_thumbnail.webp)](https://www.youtube.com/watch?v=q4V9GYjA1pE )
2017-10-31 00:56:39 +08:00
2024-07-10 20:58:12 +08:00
>[!NOTE]
>This is the development branch `ue4-dev` for the **Unreal Engine 4.26 version of CARLA**. This branch exists in parallel with the Unreal Engine 5.3 version of CARLA, in the `ue5-dev` branch. Please be sure that this version of CARLA is suitable for your needs as there are significant differences between the UE 4.26 and UE 5.3 versions of CARLA.
2023-11-21 23:42:19 +08:00
### Download CARLA
2023-04-14 14:41:52 +08:00
Linux:
Dev (#8185) * added cpp client build docs (#7942) * fixed IMU units (#7960) * Update README.md with new TinyURL links (#7988) * Added inverse transform (#7999) Co-authored-by: glopezdiest <glopez@cvc.uab.cat> * Aaron/fixwheelchair (#8001) * Fix OSM2ODR build * Updated fix wheelchair default value * Docs/unit updates (#8007) * fixed IMU units * updated autitwheel version * Add a `*.pyi` file for auto-completion & hints. To enable auto-completion and hints in code editors such as VScode, create a `*.pyi` file. This feature is compatible with `python 3.9` and later versions. * Fixes and missing Iterators * Fixed Actor.parent Can be None or an Actor * Fixed missing return types * Updated changelog needs merge with dev version * Added DSVEventArray iterator * Added missing type for Labelled Point * Fixed spelling misstakes * Removed wrong unit indication * Added missing -> World to load_world * Added missing return value to reload_world * FIX: __init__ methods do not return * FIX: added ApplyTransform, fixed ApplyTorque * Filled in missing information and types. * ActorList.filter actually returns ActorList * Fixed CityObjectLabels * Disambiguated get_waypoint signature Syntax fix (squased) * Added undocumented variables FutureActor laod_world_if_different * Corrected Sensor.is_listening Was changed to a function in 0.9.15. More info see: https://github.com/carla-simulator/carla/pull/7439 * Added type hints for `values` attribute on enums * Fix intendation shadowing methods * Fix missing @property * Formatted some docstring to be shorter * Added stubs for HUD drawing Functions from #7168 * Corrected and more precise type-hints - fixed carla.Waypoint.next_until_lane_end * Improved get_waypoint disambiguation correctly added two overload function * Fix spelling mistakes * Better usage of Enum if typing.Self is availiable Using Self will not report an override / incompatible error. * Fix: Enum values were tuples. Added Flag or Int to Enums * Fixes for wrong stubs - OpendriveGenerationParameter had no init - missing @property - wrong signatures * Added self parameter to property signatures * Various fixes - wrong signatures - wrong names * Added setters for VehicleControl * Improved get_waypoints and Literal type hints * Corrected [try_]spawn_actor keyword name * Added Transform.inverse_transform and corrected signature parameter is called in_point not in_vector * Improved Callable and callbacks signature * Corrections and additions more setters missing, wrong types corrected spelling * Fixed Vector arithmetic * added digital twins video (#8090) * navigation information is now loaded when changing maps * Porting the changes done to UE5 to fix the recording leak to UE4 The slowdown is considerably more noticeable here since the engine runs much smoother. This makes evident that this is a stopgap measure, and should be looked into further down the line. * Fixed typo in CityScapes palette (#8137) * Correcting makefile typo to avoid override warning for target "downloadplugins" (#8167) The downloadplugins target is already defined below (line 162). --------- Co-authored-by: MattRoweEAIF <125647690+MattRoweEAIF@users.noreply.github.com> Co-authored-by: glopezdiest <58212725+glopezdiest@users.noreply.github.com> Co-authored-by: glopezdiest <glopez@cvc.uab.cat> Co-authored-by: Minokori <73998474+Minokori@users.noreply.github.com> Co-authored-by: Daniel <github.blurry@9ox.net> Co-authored-by: AreopagX <49414432+AreopagX@users.noreply.github.com> Co-authored-by: Jorge Virgos <jorgevirgos.dev@gmail.com> Co-authored-by: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> Co-authored-by: Ylmdrin <150919430+Ylmdrin@users.noreply.github.com>
2024-09-25 14:37:39 +08:00
* [**Get CARLA overnight build**](https://tiny.carla.org/carla-latest-linux)
* [**Get AdditionalMaps overnight build**](https://tiny.carla.org/additional-maps-latest-linux)
2023-04-14 14:41:52 +08:00
Windows:
Dev (#8185) * added cpp client build docs (#7942) * fixed IMU units (#7960) * Update README.md with new TinyURL links (#7988) * Added inverse transform (#7999) Co-authored-by: glopezdiest <glopez@cvc.uab.cat> * Aaron/fixwheelchair (#8001) * Fix OSM2ODR build * Updated fix wheelchair default value * Docs/unit updates (#8007) * fixed IMU units * updated autitwheel version * Add a `*.pyi` file for auto-completion & hints. To enable auto-completion and hints in code editors such as VScode, create a `*.pyi` file. This feature is compatible with `python 3.9` and later versions. * Fixes and missing Iterators * Fixed Actor.parent Can be None or an Actor * Fixed missing return types * Updated changelog needs merge with dev version * Added DSVEventArray iterator * Added missing type for Labelled Point * Fixed spelling misstakes * Removed wrong unit indication * Added missing -> World to load_world * Added missing return value to reload_world * FIX: __init__ methods do not return * FIX: added ApplyTransform, fixed ApplyTorque * Filled in missing information and types. * ActorList.filter actually returns ActorList * Fixed CityObjectLabels * Disambiguated get_waypoint signature Syntax fix (squased) * Added undocumented variables FutureActor laod_world_if_different * Corrected Sensor.is_listening Was changed to a function in 0.9.15. More info see: https://github.com/carla-simulator/carla/pull/7439 * Added type hints for `values` attribute on enums * Fix intendation shadowing methods * Fix missing @property * Formatted some docstring to be shorter * Added stubs for HUD drawing Functions from #7168 * Corrected and more precise type-hints - fixed carla.Waypoint.next_until_lane_end * Improved get_waypoint disambiguation correctly added two overload function * Fix spelling mistakes * Better usage of Enum if typing.Self is availiable Using Self will not report an override / incompatible error. * Fix: Enum values were tuples. Added Flag or Int to Enums * Fixes for wrong stubs - OpendriveGenerationParameter had no init - missing @property - wrong signatures * Added self parameter to property signatures * Various fixes - wrong signatures - wrong names * Added setters for VehicleControl * Improved get_waypoints and Literal type hints * Corrected [try_]spawn_actor keyword name * Added Transform.inverse_transform and corrected signature parameter is called in_point not in_vector * Improved Callable and callbacks signature * Corrections and additions more setters missing, wrong types corrected spelling * Fixed Vector arithmetic * added digital twins video (#8090) * navigation information is now loaded when changing maps * Porting the changes done to UE5 to fix the recording leak to UE4 The slowdown is considerably more noticeable here since the engine runs much smoother. This makes evident that this is a stopgap measure, and should be looked into further down the line. * Fixed typo in CityScapes palette (#8137) * Correcting makefile typo to avoid override warning for target "downloadplugins" (#8167) The downloadplugins target is already defined below (line 162). --------- Co-authored-by: MattRoweEAIF <125647690+MattRoweEAIF@users.noreply.github.com> Co-authored-by: glopezdiest <58212725+glopezdiest@users.noreply.github.com> Co-authored-by: glopezdiest <glopez@cvc.uab.cat> Co-authored-by: Minokori <73998474+Minokori@users.noreply.github.com> Co-authored-by: Daniel <github.blurry@9ox.net> Co-authored-by: AreopagX <49414432+AreopagX@users.noreply.github.com> Co-authored-by: Jorge Virgos <jorgevirgos.dev@gmail.com> Co-authored-by: Sergio Paniego Blanco <sergiopaniegoblanco@gmail.com> Co-authored-by: Ylmdrin <150919430+Ylmdrin@users.noreply.github.com>
2024-09-25 14:37:39 +08:00
* [**Get CARLA overnight build**](https://tiny.carla.org/carla-latest-windows)
* [**Get AdditionalMaps overnight build**](https://tiny.carla.org/additional-maps-latest-windows)
2018-12-12 09:54:31 +08:00
2024-07-10 20:58:12 +08:00
>[!WARNING]
>The CARLA package downloads are now provided using the BackBlaze CDN. The Amazon Web Service download links have been discontinued. Please ensure you update any relevant information in repositories using the CARLA simulator package versions.
### Recommended system
* Intel i7 gen 9th - 11th / Intel i9 gen 9th - 11th / AMD ryzen 7 / AMD ryzen 9
* +32 GB RAM memory
2023-11-21 22:50:24 +08:00
* NVIDIA RTX 3070 / NVIDIA RTX 3080 / NVIDIA RTX 4090
2023-11-16 21:47:08 +08:00
* Ubuntu 20.04
2023-11-21 23:38:08 +08:00
## Documentation
2023-11-21 23:42:19 +08:00
The [CARLA documentation](https://carla.readthedocs.io/en/latest/) is hosted on ReadTheDocs. Please see the following key links:
2023-11-21 23:38:08 +08:00
- [Building on Linux](https://carla.readthedocs.io/en/latest/build_linux/)
- [Building on Windows](https://carla.readthedocs.io/en/latest/build_windows/)
- [First steps](https://carla.readthedocs.io/en/latest/tuto_first_steps/)
- [CARLA asset catalogue](https://carla.readthedocs.io/en/latest/catalogue/)
- [Python API reference](https://carla.readthedocs.io/en/latest/python_api/)
- [Blueprint library](https://carla.readthedocs.io/en/latest/bp_library/)
2018-12-12 09:54:31 +08:00
## CARLA Ecosystem
2023-11-21 23:10:24 +08:00
Repositories associated with the CARLA simulation platform:
2018-12-12 09:54:31 +08:00
* [**CARLA Autonomous Driving leaderboard**](https://leaderboard.carla.org/): Automatic platform to validate Autonomous Driving stacks
2018-12-12 09:54:31 +08:00
* [**Scenario_Runner**](https://github.com/carla-simulator/scenario_runner): Engine to execute traffic scenarios in CARLA 0.9.X
* [**ROS-bridge**](https://github.com/carla-simulator/ros-bridge): Interface to connect CARLA 0.9.X to ROS
* [**Driving-benchmarks**](https://github.com/carla-simulator/driving-benchmarks): Benchmark tools for Autonomous Driving tasks
2019-03-20 20:20:35 +08:00
* [**Conditional Imitation-Learning**](https://github.com/felipecode/coiltraine): Training and testing Conditional Imitation Learning models in CARLA
2019-02-01 02:07:59 +08:00
* [**AutoWare AV stack**](https://github.com/carla-simulator/carla-autoware): Bridge to connect AutoWare AV stack to CARLA
2018-12-12 09:54:31 +08:00
* [**Reinforcement-Learning**](https://github.com/carla-simulator/reinforcement-learning): Code for running Conditional Reinforcement Learning models in CARLA
2024-03-11 18:49:51 +08:00
* [**RoadRunner**](https://www.mathworks.com/products/roadrunner.html): MATLAB GUI based application to create road networks in the ASAM OpenDRIVE format
2019-03-02 05:18:59 +08:00
* [**Map Editor**](https://github.com/carla-simulator/carla-map-editor): Standalone GUI application to enhance RoadRunner maps with traffic lights and traffic signs information
2018-12-12 09:54:31 +08:00
2023-11-16 21:47:08 +08:00
**Like what you see? Star us on GitHub to support the project!**
2017-10-31 00:56:39 +08:00
Paper
-----
If you use CARLA, please cite our CoRL17 paper.
_CARLA: An Open Urban Driving Simulator_<br>Alexey Dosovitskiy, German Ros,
Felipe Codevilla, Antonio Lopez, Vladlen Koltun; PMLR 78:1-16
[[PDF](http://proceedings.mlr.press/v78/dosovitskiy17a/dosovitskiy17a.pdf)]
2018-10-11 16:46:08 +08:00
[[talk](https://www.youtube.com/watch?v=xfyK03MEZ9Q&feature=youtu.be&t=2h44m30s)]
2017-10-31 00:56:39 +08:00
```
@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}
}
```
2018-01-19 23:10:27 +08:00
Building CARLA
--------------
2023-11-21 22:50:24 +08:00
Clone this repository locally from GitHub:
2023-11-21 21:20:25 +08:00
```sh
git clone https://github.com/carla-simulator/carla.git .
```
Also, clone the [CARLA fork of the Unreal Engine](https://github.com/CarlaUnreal/UnrealEngine) into an appropriate location:
```sh
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git .
```
2023-11-21 23:10:24 +08:00
Once you have cloned the repositories, follow the instructions for [building in Linux][buildlinuxlink] or [building in Windows][buildwindowslink].
2018-01-19 23:10:27 +08:00
2020-03-13 22:17:56 +08:00
[buildlinuxlink]: https://carla.readthedocs.io/en/latest/build_linux/
[buildwindowslink]: https://carla.readthedocs.io/en/latest/build_windows/
2018-01-19 23:10:27 +08:00
2018-01-15 21:55:26 +08:00
Contributing
------------
Please take a look at our [Contribution guidelines][contriblink].
2020-03-13 22:17:56 +08:00
[contriblink]: https://carla.readthedocs.io/en/latest/cont_contribution_guidelines/
2018-01-15 21:55:26 +08:00
2018-01-18 00:33:17 +08:00
F.A.Q.
------
If you run into problems, check our
2020-03-13 22:27:25 +08:00
[FAQ](https://carla.readthedocs.io/en/latest/build_faq/).
2018-01-18 00:33:17 +08:00
2021-03-11 18:18:42 +08:00
Licenses
2017-10-31 00:56:39 +08:00
-------
2021-04-07 23:46:14 +08:00
#### CARLA licenses
2021-03-11 18:18:42 +08:00
2017-10-31 00:56:39 +08:00
CARLA specific code is distributed under MIT License.
CARLA specific assets are distributed under CC-BY License.
2021-04-07 23:46:14 +08:00
#### CARLA Dependency and Integration licenses
2021-03-11 18:18:42 +08:00
2021-04-07 23:46:14 +08:00
The ad-rss-lib library compiled and linked by the [RSS Integration build variant](Docs/adv_rss.md) introduces [LGPL-2.1-only License](https://opensource.org/licenses/LGPL-2.1).
2021-03-11 18:18:42 +08:00
Unreal Engine 4 follows its [own license terms](https://www.unrealengine.com/en-US/faq).
2021-04-07 23:46:14 +08:00
CARLA uses three dependencies as part of the SUMO integration:
- [PROJ](https://proj.org/), a generic coordinate transformation software which uses the [X/MIT open source license](https://proj.org/about.html#license).
- [SQLite](https://www.sqlite.org), part of the PROJ dependencies, which is [in the public domain](https://www.sqlite.org/purchase/license).
- [Xerces-C](https://xerces.apache.org/xerces-c/), a validating XML parser, which is made available under the [Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
2021-03-09 00:38:41 +08:00
2021-04-07 23:46:14 +08:00
CARLA uses one dependency as part of the Chrono integration:
- [Eigen](https://eigen.tuxfamily.org/index.php?title=Main_Page), a C++ template library for linear algebra which uses the [MPL2 license](https://www.mozilla.org/en-US/MPL/2.0/).
2021-03-09 04:35:31 +08:00
2021-04-07 23:46:14 +08:00
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](https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-0)
2021-03-09 04:35:31 +08:00
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."