Merge branch 'dev'

This commit is contained in:
bernatx 2023-11-10 12:25:48 +01:00
commit d7b45c1e15
823 changed files with 50636 additions and 3019 deletions

3
.gitignore vendored
View File

@ -7,6 +7,9 @@ Util/Build
Install
Plugins
!Unreal/CarlaUE4/Plugins
Unreal/CarlaUE4/Plugins/Streetmap
Unreal/CarlaUE4/Plugins/HoudiniEngine
/ExportedMaps
/Import/*

21
.readthedocs.yaml Normal file
View File

@ -0,0 +1,21 @@
# Read the Docs configuration file for MkDocs projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.7"
mkdocs:
configuration: mkdocs.yml
# Optionally declare the Python requirements required to build your docs
python:
install:
- requirements: Docs/requirements.txt

View File

@ -1,14 +0,0 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
version: 2
mkdocs:
configuration: mkdocs.yml
formats: all
python:
version: 3.7
install:
- requirements: Docs/requirements.txt

View File

@ -1,3 +1,31 @@
## CARLA 0.9.15
* Added Digital Twins feature version 0.1. Now you can create your own map based on OpenStreetMaps
* Added compatibility with SymReady Assets, using NVIDIA Omniverse
* Added new maps: Town13 (is a large map) and Town15
* The spectator will be used to load tiles and actor in Large Maps when no other actors with the rolename 'ego_vehicle' or 'hero' are present. Added the `spectator_as_ego` to the `carla.WorldSettings()` to allow users to disable this behavior.
* Add keyword arguments for `carla.TrafficManager` Python API functions
* Added build support for VS2022 and Ninja for LibCarla and osm2odr on Windows
* Added empty actor
* Restored gamma value to 2.2 instead of 2.4
* CarlaExporter tool now exports the box collider and convex collider of the object if it has one, otherwise the mesh
* Pedestrians with AI or in replayer are now faster around 10x. They have collisions disabled until they hit a vehicle.
* Added API function to avoid replaying the spectator
* `Client.set_replayer_ignore_spectator(bool)`
* `start_replaying.py` using flag `--move-spectator`
* Surface non-unity build mode by passing ARGS=--no-unity to make; allows IWYU-type errors to be unmasked and fixed.
* Added maps, vehicles, pedestrians and props catalogues to the documentation
* Collisions detected by the CollisionSensor no longer generate more than one event per frame.
* Added API function to load a map only if it is different from the current one.
* Fixed a bug in the TrafficManager causing vehicles that reached an ending lane to have abnormal behavior while lane changing.
* Fixed bug causing the TM's unstuck logic to incorrectly remove the vehicles in some situations.
* Fixed the extra data in Directx textures, so we need to copy row by row on Windows to remove extra bytes on images
* Fixed vertices of big meshes (more than 65k vertices) in CarlaExporter
* Fixed sensors to check for the stream to be ready (race condition)
* Fixed bug causing the `FPixelReader::SavePixelsToDisk(PixelData, FilePath)` function to crash due to pixel array not set correctly.
* Fixed segfaults in Python API due to incorrect GIL locking under Python 3.10.
* Fixed the import script, where could use any other TilesInfo.txt if the destination folder has many
## CARLA 0.9.14
* Fixed tutorial for adding a sensor to CARLA.
@ -29,6 +57,7 @@
* Python agents now accept a carla.Map and GlobalRoutePlanner instances as inputs, avoiding the need to recompute them.
* Python agents now have a function to lane change.
* Python agents now detect vehicle in adjacent lanes if invaded due to the offset.
* Python agents now have the offset exposed.
* Fixed bug causing the python agents to sometimes not detect a blocking actor if there were severral actors around it.
* Improved Python agents performance for large maps.
* Fix a bug at `Map.get_topology()`, causing lanes with no successors to not be part of it.

87
Docs/adv_digital_twin.md Normal file
View File

@ -0,0 +1,87 @@
!!! note
The __Digital Twin Tool__ is currently an __experimental feature__ and is not considered *production ready* at this stage. Some parts of maps may be undecorated or untextured. Hence it should only be used for experimental research projects.
# Digital Twin Tool
![digital_twin_pipeline](img/pipeline.jpg)
- [__Downloading and preparing OSM map data__](#downloading-and-preparing-osm-map-data)
- [__OpenStreetMap browser__](#openstreetmap-browser)
- [__Procedural environment generation__](#procedural-environment-generation)
- [Road decoration](#overview)
- [Buildings](#alsm)
- [__Generate the map__](#generate-the-map)
- [__Save the map__](#save-the-map)
The __Digital Twin Tool__ enables procedural generation of unique 3D environments based on road networks derived from the [OpenStreetMap](https://www.openstreetmap.org) (OSM) service. Through the Digital Twin Tool interface in CARLA's Unreal Engine editor a user can select a region of map from OSM and download the road network as the basis for a new CARLA map. The tool then fills the spaces between the roads with procedurally generated 3D buildings that adjust to the layout of the road, creating a realistic 3D road environment with high variability.
## Building the OSM renderer
If you are using Linux, you have the option of using the OSM renderer in the CARLA interface to navigate a large OSM map region that you have downloaded. You first need to build the OSM renderer. Run `make osmrenderer` inside the CARLA root directory. You may need to upgrade your version of CMake to v3.2 or above in order for this to work. This will create two folders in your build directory called `libosmcout-source` and `libosmcout-build`. Windows users do not have the option of using the OSM renderer and must use directly a URL.
## Downloading and preparing OSM map data
![osm_website](img/osm_export.png)
In a web-browser, go to the [OpenStreetMap website](https:/www.openstreetmap.org) and choose an area of the map which you would like to use. Define your region and then export the data as an `.osm` file, or you can use a URL, as explained later. Alternatively, you could use other tools based on the OpenStreetMap service such as [GeoFabrik](https://download.geofabrik.de/), which allows specific map regions such as states or territories to be extracted from the OSM data.
There are two ways to use the OSM data. Using a URL or downloading an OSM file:
### Using a URL
In the [OpenStreetMap website](https:/www.openstreetmap.org) website, navigate to an area of interest, then press `Export`, you may also want to use the `Manually select a different area` option. Then, right click on `Overpass API` and select `Copy link` from the context menu. You must ensure that the file will be no bigger than 1 Gb. Take this link and paste it into the URL field of the interface.
### Downloading an OSM file and navigating in the interface
This option is only available to Linux users. You may download a larger region of map, for example an entire state or territory, then use the OSM interface in CARLA to navigate the map using the arrow and zoom buttons. Download your desired region of OSM data as a `.osm` file, then place this file in the `{CARLA_ROOT}/Build/libosmcout-source/maps/` folder. Open a terminal inside this folder and run the following command:
```sh
cd {CARLA_ROOT}/Build/libosmcout-source/maps/
./build.sh <path_to_osm_file>
```
## OpenStreetMap browser
To open the OSM browser, open the content browser and navigate to `CarlaToolsContent/OnroadMapGenerator`. Right click on *UW_OnRoadMainWidget* and select *Launch Editor Utility Widget* from the context menu. This will open the tool's interface.
![osm_interface_open](img/digital_twins_widget.png)
The interface enables browsing of a region of OSM map that has been downloaded from the OSM database and baked. First, you should enter the directory location where you stored the processed OSM data in the previous step in the *Select OSM Database* field in the interface. If you are using a URL directly, paste it into the `OSM URL` field, you will not be able to use the navigator in this case.
![osm_interface](img/digital_twins_interface.png)
Use the directional arrows and the zoom icons to navigate the map and find a part of the road network you want to turn into a CARLA map. The square region you see in the preview will be the extent of your map. Enter an appropriate name in the `File Name` field and then press *generate* to start the procedural generation process. The map generation process may take several minutes, or more if you are using a large region.
## Procedural environment generation
### Road decoration
The tool extracts the road network from the OSM data as the basis of the map. The road surface is decorated with realistic surface irregularities, road markings and textures.
![road_markings](img/road_surface.jpg)
### Buildings
The empty spaces between the roads are populated with buildings or open areas that will adjust their shape and dimensions to fill the space between the roads.
![procedural_buildings](img/procedural_building_generation.jpg)
The procedural generation tool extracts the building footprints and height information from the OSM data to generate virtual buildings with similar dimensions. Detailed cladding is applied to simulate windows, doors and balconies. Different decoration styles are applied depending upon the dimensions of the building, with the tallest buildings having an office style, smaller buildings have a commercial or residential style applied according to the area of the building footprint.
![procedural_cities](img/digital_twins_vegetation.jpg)
Vegetation is also added to the pavements in the next step step for additional detail.
![residential_building_style](img/digital_twins_buildings.jpg)
*Digital Twin Tool building styles*
The buildings are in a variety of styles that are randomly distributed throughout the city, the architectural style of an area is chosen based on the characteristic dimensions of the buildings extracted from the OSM data.
## Generate the map
The generation step will take around 10 minutes for a 2x2 km<sup>2</sup> region, larger regions will take longer. Once the generation process has finished, you can examine the map in 3D in the Unreal Engine editor.
## Save the map
If you are satisfied with the generated map then you can press *Save Map* button to save the map. __This step will take a significant amount of time__, it may take over an hour and could take several. You should prepare to leave your computer running for several hours while this step is completed. Once this step is completed, the map will be available through the Unreal Engine editor or through the CARLA API, the same as any other map.

View File

@ -0,0 +1,153 @@
!!! note
The __Procedural Building Tool__ is currently an __experimental feature__ and is not considered *production ready* at this stage. Hence it should only be used for experimental research projects.
# Procedural Building Tool
The __Procedural Building Tool__ facilitates the generation of virtual 3D buildings for which the dimensions and decoration styles can be modulated to create a near infinite array of variations through a simple interface. The footprint dimensions and height in stories can be chosen through the interface. Then users can select a variety of styles for the building lobby, the body and the top floor or penthouse. A variety of facia element styles can be chosen for features such as corners windows and balconies from the CARLA asset library.
- [__Opening the tool__](#opening-the-procedural-building-tool)
- [__Base parameters__](#base-parameters)
- [__Mesh parameters__](#mesh-parameters)
- [__Mesh elements__](#mesh-elements)
- [Sockets](#sockets)
- [__Facade materials__](#facade-materials)
- [__Cooking__](#cooking)
## Opening the Procedural Building Tool
Firstly, you need to add a procedural building actor to the scene. Navigate to `Content>Carla>Blueprints>LevelDesign` and drag the *BP_ProceduralBuilding* blueprint into your map. Move the asset to the position where you wish to visualize the building. Choose a place where you have space so you can see the result clearly. Then to open the tool, launch the Procedural Building tool by right clicking on the *WD_ProceduralBuilding* widget and selecting *Run editor utility widget* from the context menu. This will open the tool's interface.
![open_pb_tool](img/open_pb_tool.png)
!!! note
You must complete this step before opening the tool, an instance of the *BP_ProceduralBuilding* blueprint must exist in the map before the tool can function. You must also ensure that the *BP_ProceduralBuilding* entity is selected in the *World outliner* before proceeding.
## Base parameters
![base_parameters](img/pb_base_parameters.png)
In the base parameters section you select the fundamental properties of your building, such as the footprint and the height in floors.
!!! note
Until you have selected mesh pieces in the [mesh parameters](#mesh-parameters) section, you will not see any changes in the Unreal Engine viewport when you adjust the base parameters
The available parameters are as follows:
- __Seed__: sets the random seed for the procedural generation, this enables variations on the building with the same settings.
- __Num floors__: sets the number of stories or floors the building will have, and henceforth defines the height of the building.
- __Length X/Y__: defines the size of the footprint of the building in the X and Y dimensions. These are unitless, the number denotes the number repeating sections, each section is a column of windows.
- __Create automatically__: if this option is selected, the building will automatically update in the viewport so you can see the effect of your adjustments.
- __Corners__: allows corner pieces to be added to the building, you can choose these pieces in the Mesh Parameters section.
- __Walls__: replace the middle pieces of the left/right/front/back of the building with alternate pieces that can be selected using the [Mesh parameters](#mesh-parameters) menu.
- __Doors__: array allowing the placement of a door in the lobby level. The door is placed at the chosen index position.
## Mesh parameters
![mesh_parameters](img/pb_mesh_parameters.png)
In the Mesh Parameters tab in the interface, we choose the mesh pieces that will be used to clad the exterior of the building. There are 5 categories of mesh pieces for different parts of the building:
- __Lobby__: mesh pieces to decorate the lobby of the building.
- __Midsection__: mesh pieces to decorate the midsection of the building, every floor between the lobby and the top floor.
- __Penthouse__: mesh pieces to decorate the penthouse level.
- __Doors__: mesh pieces to add doors to the lobby
- __Walls__: mesh pieces to decorate the walls of the building
In each category you will find numerous options for mesh pieces. Click on one or more such that they turn red, these will be added to the respective section of your building. If you choose more than one, the tool will randomly alternate between the choices. As you select the mesh pieces for each section of your building, if you have *Create automatically* selected in the base parameters section, you will see the building taking shape in the editor viewport.
![building_parts](img/pb_building_parts.png)
## Mesh elements
![mesh_elements](img/pb_mesh_elements.png)
In this section you can select the more detailed elements of the building such as windows, columns, plant pots, air conditioning units and antennas. Each type of decoration has slightly different properties.
There are numerous types of decoration for details of the building:
- __Vertical/Horizontal window meshes__: these mesh pieces define the style of the window frames in the building. Vertical window meshes will occupy the window spaces that are taller than their width, while horizontal window meshes will occupy the window spaces that are wider than their height. If you select multiple options, they will alternate.
- __Column meshes__: these simulate brickwork column details that span the height of the building
- __Top/Bottom window details__: these meshes decorate the top of the windows with lintels and sunshades and the bottom of the windows with window sills and plant boxes.
- __Window columns__: brickwork columns that separate windows
- __Curtain meshes__: curtains and blinds to go inside the windows
- __Pot meshes__: plant pots that are added to window sills and plant boxes at specified socket points
- __Air conditioner meshes__: air conditioning units that are added to the windows at specified socket points
- __Pipe meshes__: pipes that descend the building vertically mimicking drainage pipes for the roof
- __Wire meshes__: wires that descend the building vertically mimicking TV aerial extensions and lightning grounding wires
- __Antenna meshes__: TV antennas that protrude from the windows
![mesh_variations](img/pb_detail_variations.webp)
The parameters work as follows:
__Common parameters__:
* __Percentage__: controls the amount pieces that will be placed on the building, 100% means all available spaces will be occupied
* __Offset__: spacial offset of the piece from the body of the building
__Blinds and curtains__:
* __Min/Max size__: selects the min/max length of the blinds or curtains with random variation between the values. 1.0 is fully shut, 0.0 is fully open.
__Pipes and wires__:
* __Index__: defines the face of the building where the pipe will be placed
* __Offset side/front__: adds a spatial offset to the piece from the center of the face of the building
!!! note
You may find in some cases that when you choose detail mesh pieces such as plant pots, antennas and air conditioning units, you don't see any change in the building. This is most likely because the pieces you are using don't have the appropriate sockets needed to add the pieces you chose. Refer to the [sockets section](#sockets) to learn how to use sockets
### Sockets
![socket_details](img/pb_detail_section.png)
Sockets are anchor points which define where to place detail meshes on another mesh piece. To add sockets to the mesh pieces in the procedural building, with the procedural building selected, go to the *details panel*, normally on the right hand side of the UE editor interface. In there, you will find the *Meshes* and *Detail meshes* panels. Open the relevant section to open the mesh piece where you wish to place the socket.
![mesh_details](img/pb_mesh_details.png)
Find the mesh on which you want to place a socket and double click the icon to open it in the editor. Click *create socket* to add a socket and name it using the following convention:
* Air conditioning unit: aa_*
* Antennas: ant_*
* Plant pots: pot_*
Replace the asterisk with an index, depending upon how many sockets you have, i.e. aa_0, aa_2, aa_3...
![socket_details](img/pb_add_socket.png)
When you click *Create socket* the socket will be instantiated in the editor with a 3D handle. Drag the socket to the desired position on the mesh, this is where your detail piece will appear attached to the unit.
## Facade materials
![facade_materials](img/pb_facade_materials.png)
In the facade materials tab, you can browse and preview the material that you want to decorate the walls of your building.
![facade_changes](img/pb_facade_changes.webp)
## Cooking
In the cooking tab, you initiate the combination of all the mesh pieces and materials you've selected into a single static mesh with associated materials and textures. An LOD texture of the building will also be created for the LOD. Specify a folder name in the interface where the assets for your new building will be saved.
Once you have cooked your building, you will then be able to place instances of the building in the map just like any other CARLA assets.

View File

@ -40,9 +40,7 @@ CARLA requires many different kinds of software to run. Some are built during th
sudo apt-get update &&
sudo apt-get install wget software-properties-common &&
sudo add-apt-repository ppa:ubuntu-toolchain-r/test &&
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - &&
sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" &&
sudo apt-get update
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add
```
!!! Warning
@ -53,6 +51,7 @@ To avoid compatibility issues between Unreal Engine and the CARLA dependencies,
__Ubuntu 20.04__.
```sh
sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main"
sudo apt-get update
sudo apt-get install build-essential clang-10 lld-10 g++-7 cmake ninja-build libvulkan1 python python-dev python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-10/bin/clang++ 180 &&
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-10/bin/clang 180
@ -61,13 +60,30 @@ sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-10/bin/cla
__Ubuntu 18.04__.
```sh
sudo apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main"
sudo apt-get update
sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-8/bin/clang++ 180 &&
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-8/bin/clang 180
```
__Previous Ubuntu versions__.
__Ubuntu 16.04__.
```sh
sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" &&
sudo apt-get update
sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng16-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-8/bin/clang++ 180 &&
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-8/bin/clang 180
```
__Previous Ubuntu versions__.
We strongly advise using Ubuntu 18.04 or later to build CARLA. However, you may attempt to build CARLA on older versions of Ubuntu with the following commands:
```sh
sudo apt-add-repository "deb http://apt.llvm.org/<code_name>/ llvm-toolchain-<code_name>-8 main" &&
sudo apt-get update
sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng16-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-8/bin/clang++ 180 &&
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-8/bin/clang 180

View File

@ -69,9 +69,25 @@ Releases are listed in __Development__ in the CARLA repository. There is also a
</p>
<p>
<a href="http://carla-releases.s3.amazonaws.com/Linux/Dev/CARLA_Latest.tar.gz" target="_blank" class="btn btn-neutral" title="Go to the nightly CARLA build">
<span class="icon fa-cloud-download"></span> Get the nightly build</a>
<a href="http://carla-releases.s3.amazonaws.com/Linux/Dev/CARLA_Latest.tar.gz" target="_blank" class="btn btn-neutral" title="Go to the linux nightly CARLA build">
<span class="icon fa-cloud-download"></span> Get the linux nightly build</a>
</p>
<p>
<a href="http://carla-releases.s3.amazonaws.com/Linux/Dev/AdditionalMaps_Latest.tar.gz" target="_blank" class="btn btn-neutral" title="Go to the linux nightly AdditionalMaps build">
<span class="icon fa-cloud-download"></span> Get the linux nightly build additional maps</a>
</p>
<p>
<a href="http://carla-releases.s3.amazonaws.com/Windows/Dev/CARLA_Latest.zip" target="_blank" class="btn btn-neutral" title="Go to the windows nightly CARLA build">
<span class="icon fa-cloud-download"></span> Get the windows nightly build</a>
</p>
<p>
<a href="http://carla-releases.s3.amazonaws.com/Windows/Dev/AdditionalMaps_Latest.zip" target="_blank" class="btn btn-neutral" title="Go to the windows nightly AdditionalMaps build">
<span class="icon fa-cloud-download"></span> Get the windows nightly build additional maps</a>
</p>
</div>
---

View File

@ -81,6 +81,9 @@ Get the 2019 version of Visual Studio from [here](https://developerinsider.co/do
!!! Important
Other Visual Studio versions may cause conflict. Even if these have been uninstalled, some registers may persist. To completely clean Visual Studio from the computer, go to `Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\layout` and run `.\InstallCleanup.exe -full`
!!! Note
It is also possible to use Visual Studio 2022 using the above steps and substituting the Windows 8.1 SDK for the Windows 11/10 SDK. To override the default Visual Studio 2019 Generator in CMake, specify GENERATOR="Visual Studio 17 2022" when using the makefile commands (see [table](build_windows.md#other-make-commands)). You may specify any generator that works with the build commands as specific in the build scripts, for a full list run `cmake -G` (Ninja has been tested to work for building LibCarla so far).
##### Unreal Engine
Starting with version 0.9.12, CARLA uses a modified fork of Unreal Engine 4.26. This fork contains patches specific to CARLA.

49
Docs/catalogue.md Normal file
View File

@ -0,0 +1,49 @@
# CARLA catalogue
The CARLA simulator provides a vast library of 3D assets to populate your autonomous agent's virtual environment. The 3D asset library provides numerous pre-built maps to choose from, a diverse array of vehicle models for traffic simulation along with models of pedestrians and other structures or obstacles that can be dynamically added to your simulation during runtime. This catalogue documents all of the 3D assets available to use in your simulations.
* [__Vehicles catalogue__](catalogue_vehicles.md)
* [__Pedestrians catalogue__](catalogue_pedestrians.md)
* [__Props catalogue__](catalogue_props.md)
## Maps
The CARLA simulator provides 10 pre-built maps to choose from, providing a diverse array of environments for training and testing your autonomous agents.
![maps_montage](../img/catalogue/maps/maps_montage.webp)
| Town | Summary |
| -----------| ------ |
| [__Town01__](map_town01.md) | A small, simple town with a river and several bridges.|
| [__Town02__](map_town02.md) | A small simple town with a mixture of residential and commercial buildings.|
| [__Town03__](map_town03.md) | A larger, urban map with a roundabout and large junctions.|
| [__Town04__](map_town04.md) | A small town embedded in the mountains with a special "figure of 8" *infinite* highway.|
| [__Town05__](map_town05.md) | Squared-grid town with cross junctions and a bridge. It has multiple lanes per direction. Useful to perform lane changes. |
| [__Town06__](map_town06.md) | Long many lane highways with many highway entrances and exits. It also has a [**Michigan left**](<https://en.wikipedia.org/wiki/Michigan_left>). |
| [__Town07__](map_town07.md) | A rural environment with narrow roads, corn, barns and hardly any traffic lights. |
| **Town08** | Secret "unseen" town used for the [Leaderboard](https://leaderboard.carla.org/) challenge |
| **Town09** | Secret "unseen" town used for the [Leaderboard](https://leaderboard.carla.org/) challenge |
| [__Town10__](map_town10.md) | A downtown urban environment with skyscrapers, residential buildings and an ocean promenade.|
| [__Town11__](map_town11.md) | A Large Map that is undecorated. Serves as a proof of concept for the Large Maps feature. |
| [__Town12__](map_town12.md) | A Large Map with numerous different regions, including high-rise, residential and rural environments.|
| [__Town13__](map_town13.md) | A Large Map similar in scale to Town 12, but with distinct features.|
| [__Town15__](map_town15.md) | A map based on the road layout of the Autonomous University of Barcelona. |
## Vehicles
CARLA provides a diverse array of vehicles, with high fidelity models of real world cars, trucks and bikes, for replicating traffic in your simulations. Browse and choose the vehicles you like in the [__vehicle catalogue__](catalogue_vehicles.md).
![vehicles_overview](../img/catalogue/vehicles/vehicle_montage.webp)
## Pedestrians
CARLA's asset library includes a variety of pedestrians to simulate foot traffic in the 3D environments surrounding your agent. Browse and choose the pedestrians you want in the [__pedestrian catalogue__](catalogue_pedestrians.md).
![pedestrian_overview](../img/catalogue/pedestrians/pedestrians_overview.webp)
## Props
CARLA's props model the various structures and items you might find on or near roads, such as kiosks, statues, benches, boxes, bins, debris or trash. The props can be placed anywhere in your simulation dynamically during runtime. Browse and choose your props in the [__props catalogue__](catalogue_props.md).
![props_overview](../img/catalogue/props/props_overview.webp)

View File

@ -0,0 +1,471 @@
# Pedestrian catalogue
## Adults
* __Adult pedestrian - 1__
* [__Variant 1__](#adult-pedestrian-1-variant-1)
* [__Variant 2__](#adult-pedestrian-1-variant-2)
* [__Variant 3__](#adult-pedestrian-1-variant-3)
* [__Variant 4__](#adult-pedestrian-1-variant-4)
* [__Variant 5__](#adult-pedestrian-1-variant-5)
* [__Variant 6__](#adult-pedestrian-1-variant-6)
* __Adult pedestrian - 2__
* [__Variant 1__](#adult-pedestrian-2-variant-1)
* [__Variant 2__](#adult-pedestrian-2-variant-2)
* [__Variant 3__](#adult-pedestrian-2-variant-3)
* [__Variant 4__](#adult-pedestrian-2-variant-4)
* __Adult pedestrian - 3__
* [__Variant 1__](#adult-pedestrian-3-variant-1)
* [__Variant 2__](#adult-pedestrian-3-variant-2)
* __Adult pedestrian - 4__
* [__Variant 1__](#adult-pedestrian-4-variant-1)
* [__Variant 2__](#adult-pedestrian-4-variant-2)
* __Adult pedestrian - 5__
* [__Variant 1__](#adult-pedestrian-5-variant-1)
* [__Variant 2__](#adult-pedestrian-5-variant-2)
* __Adult pedestrian - 6__
* [__Variant 1__](#adult-pedestrian-6-variant-1)
* [__Variant 2__](#adult-pedestrian-6-variant-2)
* __Adult pedestrian - 7__
* [__Variant 1__](#adult-pedestrian-7-variant-1)
* [__Variant 2__](#adult-pedestrian-7-variant-2)
* __Adult pedestrian - 8__
* [__Variant 1__](#adult-pedestrian-8-variant-1)
* [__Variant 2__](#adult-pedestrian-8-variant-2)
* __Adult pedestrian - 9__
* [__Variant 1__](#adult-pedestrian-9-variant-1)
* [__Variant 2__](#adult-pedestrian-9-variant-2)
* [__Variant 3__](#adult-pedestrian-9-variant-3)
* __Adult pedestrian - 10__
* [__Variant 1__](#adult-pedestrian-10-variant-1)
* [__Variant 2__](#adult-pedestrian-10-variant-2)
* [__Variant 3__](#adult-pedestrian-10-variant-3)
* [__Variant 4__](#adult-pedestrian-10-variant-4)
* __Adult pedestrian - 11__
* [__Variant 1__](#adult-pedestrian-11-variant-1)
* [__Variant 2__](#adult-pedestrian-11-variant-2)
* __Adult pedestrian - 12__
* [__Variant 1__](#adult-pedestrian-12-variant-1)
* [__Variant 2__](#adult-pedestrian-12-variant-2)
* [__Variant 3__](#adult-pedestrian-12-variant-3)
* __Adult pedestrian - 13__
* [__Variant 1__](#adult-pedestrian-13-variant-1)
* __Adult pedestrian - 14__
* [__Variant 1__](#adult-pedestrian-14-variant-1)
* [__Variant 2__](#adult-pedestrian-14-variant-2)
* [__Variant 3__](#adult-pedestrian-14-variant-3)
* __Adult pedestrian - 15__
* [__Variant 1__](#adult-pedestrian-15-variant-1)
* [__Variant 2__](#adult-pedestrian-15-variant-2)
## Children
* __Child pedestrian - 1__
* [__Variant 1__](#child-pedestrian-1-variant-1)
* [__Variant 2__](#child-pedestrian-1-variant-2)
* [__Variant 3__](#child-pedestrian-1-variant-3)
* __Child pedestrian - 2__
* [__Variant 1__](#child-pedestrian-2-variant-1)
* [__Variant 2__](#child-pedestrian-2-variant-2)
* [__Variant 3__](#child-pedestrian-2-variant-3)
* __Child pedestrian - 3__
* [__Variant 1__](#child-pedestrian-3-variant-1)
* __Child pedestrian - 4__
* [__Variant 1__](#child-pedestrian-4-variant-1)
## Police
* [__Police - 1__](#police-1)
* [__Police - 2__](#police-2)
---
## Adults
---
#### Adult pedestrian 1 - variant 1
![pedestrian_0001](../img/catalogue/pedestrians/pedestrian_0001.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0001<span>
#### Adult pedestrian 1 - variant 2
![pedestrian_0005](../img/catalogue/pedestrians/pedestrian_0005.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0005<span>
#### Adult pedestrian 1 - variant 3
![pedestrian_0006](../img/catalogue/pedestrians/pedestrian_0006.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0006<span>
#### Adult pedestrian 1 - variant 4
![pedestrian_0007](../img/catalogue/pedestrians/pedestrian_0007.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0007<span>
#### Adult pedestrian 1 - variant 5
![pedestrian_0008](../img/catalogue/pedestrians/pedestrian_0008.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0008<span>
---
#### Adult pedestrian 2 - variant 1
![pedestrian_0004](../img/catalogue/pedestrians/pedestrian_0004.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0004<span>
#### Adult pedestrian 2 - variant 2
![pedestrian_0003](../img/catalogue/pedestrians/pedestrian_0003.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0003<span>
#### Adult pedestrian 2 - variant 3
![pedestrian_0002](../img/catalogue/pedestrians/pedestrian_0002.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0002<span>
---
#### Adult pedestrian 3 - variant 1
![pedestrian_0015](../img/catalogue/pedestrians/pedestrian_0015.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0015<span>
#### Adult pedestrian 3 - variant 2
![pedestrian_0019](../img/catalogue/pedestrians/pedestrian_0019.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0019<span>
---
#### Adult pedestrian 4 - variant 1
![pedestrian_0016](../img/catalogue/pedestrians/pedestrian_0016.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0016<span>
#### Adult pedestrian 4 - variant 2
![pedestrian_0017](../img/catalogue/pedestrians/pedestrian_0017.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0017<span>
---
#### Adult pedestrian 5 - variant 1
![pedestrian_0026](../img/catalogue/pedestrians/pedestrian_0026.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0026<span>
#### Adult pedestrian 5 - variant 2
![pedestrian_0018](../img/catalogue/pedestrians/pedestrian_0018.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0018<span>
---
#### Adult pedestrian 6 - variant 1
![pedestrian_0021](../img/catalogue/pedestrians/pedestrian_0021.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0021<span>
#### Adult pedestrian 6 - variant 2
![pedestrian_0020](../img/catalogue/pedestrians/pedestrian_0020.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0020<span>
---
#### Adult pedestrian 7 - variant 1
![pedestrian_0023](../img/catalogue/pedestrians/pedestrian_0023.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0023<span>
#### Adult pedestrian 7 - variant 2
![pedestrian_0022](../img/catalogue/pedestrians/pedestrian_0022.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0022<span>
---
#### Adult pedestrian 8 - variant 1
![pedestrian_0024](../img/catalogue/pedestrians/pedestrian_0024.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0024<span>
#### Adult pedestrian 8 - variant 2
![pedestrian_0025](../img/catalogue/pedestrians/pedestrian_0025.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0025<span>
---
#### Adult pedestrian 9 - variant 1
![pedestrian_0027](../img/catalogue/pedestrians/pedestrian_0027.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0027<span>
#### Adult pedestrian 9 - variant 2
![pedestrian_0029](../img/catalogue/pedestrians/pedestrian_0029.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0029<span>
#### Adult pedestrian 9 - variant 3
![pedestrian_0028](../img/catalogue/pedestrians/pedestrian_0028.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0028<span>
---
#### Adult pedestrian 10 - variant 1
![pedestrian_0041](../img/catalogue/pedestrians/pedestrian_0041.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0041<span>
#### Adult pedestrian 10 - variant 2
![pedestrian_0040](../img/catalogue/pedestrians/pedestrian_0040.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0040<span>
#### Adult pedestrian 10 - variant 3
![pedestrian_0033](../img/catalogue/pedestrians/pedestrian_0033.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0033<span>
#### Adult pedestrian 10 - variant 4
![pedestrian_0031](../img/catalogue/pedestrians/pedestrian_0031.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0031<span>
---
#### Adult pedestrian 11 - variant 1
![pedestrian_0034](../img/catalogue/pedestrians/pedestrian_0034.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0034<span>
#### Adult pedestrian 11 - variant 2
![pedestrian_0038](../img/catalogue/pedestrians/pedestrian_0038.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0038<span>
---
#### Adult pedestrian 12 - variant 1
![pedestrian_0035](../img/catalogue/pedestrians/pedestrian_0035.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0035<span>
#### Adult pedestrian 12 - variant 2
![pedestrian_0036](../img/catalogue/pedestrians/pedestrian_0036.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0036<span>
#### Adult pedestrian 12 - variant 3
![pedestrian_0037](../img/catalogue/pedestrians/pedestrian_0037.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0037<span>
---
#### Adult pedestrian 13 - variant 1
![pedestrian_0039](../img/catalogue/pedestrians/pedestrian_0039.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0039<span>
---
#### Adult pedestrian 14 - variant 1
![pedestrian_0042](../img/catalogue/pedestrians/pedestrian_0042.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0042<span>
#### Adult pedestrian 14 - variant 2
![pedestrian_0043](../img/catalogue/pedestrians/pedestrian_0043.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0043<span>
#### Adult pedestrian 14 - variant 3
![pedestrian_0044](../img/catalogue/pedestrians/pedestrian_0044.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0044<span>
---
#### Adult pedestrian 15 - variant 1
![pedestrian_0047](../img/catalogue/pedestrians/pedestrian_0047.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0047<span>
#### Adult pedestrian 15 - variant 2
![pedestrian_0046](../img/catalogue/pedestrians/pedestrian_0046.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0046<span>
---
## Children
---
#### Child pedestrian 1 - variant 1
![pedestrian_0011](../img/catalogue/pedestrians/pedestrian_0011.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0011<span>
#### Child pedestrian 1 - variant 2
![pedestrian_0010](../img/catalogue/pedestrians/pedestrian_0010.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0010<span>
#### Child pedestrian 1 - variant 3
![pedestrian_0009](../img/catalogue/pedestrians/pedestrian_0009.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0009<span>
---
#### Child pedestrian 2 - variant 1
![pedestrian_0014](../img/catalogue/pedestrians/pedestrian_0014.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0014<span>
#### Child pedestrian 2 - variant 2
![pedestrian_0013](../img/catalogue/pedestrians/pedestrian_0013.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0013<span>
#### Child pedestrian 2 - variant 3
![pedestrian_0012](../img/catalogue/pedestrians/pedestrian_0012.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0012<span>
---
#### Child pedestrian 3 - variant 1
![pedestrian_0048](../img/catalogue/pedestrians/pedestrian_0048.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0048<span>
---
#### Child pedestrian 4 - variant 1
![pedestrian_0049](../img/catalogue/pedestrians/pedestrian_0049.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0049<span>
---
## Police
---
#### Police 1
![pedestrian_0030](../img/catalogue/pedestrians/pedestrian_0030.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0030<span>
---
#### Police 2
![pedestrian_0032](../img/catalogue/pedestrians/pedestrian_0032.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">walker.pedestrian.0032<span>

824
Docs/catalogue_props.md Normal file
View File

@ -0,0 +1,824 @@
# Props catalogue
## __Containers__
* __Barrels__
* [__Barrel__](#barrel)
* __Bins__
* [__Bin__](#bin)
* [__Cloth container__](#cloth-container)
* [__Garbage container__](#garbage-container)
* [__Glass container__](#glass-container)
* __Boxes__
* [__Box 01__](#box-01)
* [__Box 02__](#box-02)
* [__Box 03__](#box-03)
* [__Creased box 01__](#creased-box-01)
* [__Creased box 02__](#creased-box-02)
* [__Creased box 03__](#creased-box-03)
## __Garbage__
* __Bags__
* [__Trash bag__](#trash-bag)
* __Garbage__
* [__Cola can__](#cola-can)
* [__Garbage 01__](#garbage-01)
* [__Garbage 02__](#garbage-02)
* [__Garbage 03__](#garbage-03)
* [__Garbage 04__](#garbage-04)
* [__Garbage 05__](#garbage-05)
* [__Garbage 06__](#garbage-06)
* __Platforms__
* [__Garbage platform 01__](#garbage-platform-01)
* __Trash cans__
* [__Trash can 01__](#trash-can-01)
* [__Trash can 02__](#trash-can-02)
* [__Trash can 03__](#trash-can-03)
* [__Trash can 04__](#trash-can-04)
* [__Trash can 05__](#trash-can-05)
## __Park / garden__
* __Furniture__
* [__Bench 03__](#bench-03)
* [__Garden lamp__](#garden-lamp)
* [__Pergola__](#pergola)
* [__Plastic chair__](#plastic-chair)
* [__Plastic table__](#plastic-table)
* [__Slide__](#slide)
* [__Swing__](#swing)
* [__Swingcouch__](#swingcouch)
* [__Table__](#table)
* [__Trampoline__](#trampoline)
* __Misc__
* [__Barbeque__](#barbeque)
* [__Clothesline__](#clothesline)
* [__Doghouse__](#doghouse)
* [__Gnome__](#gnome)
* [__Wateringcan__](#wateringcan)
* __Other__
* [__Haybale__](#haybale)
* [__Haybale alternate__](#haybale-alternate)
* __Plantpots__
* [__Plantpot 01__](#plantpot-01)
* [__Plantpot 02__](#plantpot-02)
* [__Plantpot 03__](#plantpot-03)
* [__Plantpot 04__](#plantpot-04)
* [__Plantpot 05__](#plantpot-05)
* [__Plantpot 06__](#plantpot-06)
* [__Plantpot 07__](#plantpot-07)
* [__Plantpot 08__](#plantpot-08)
## __Personal__
* __Bags__
* [__Plastic bag__](#plastic-bag)
* [__Shopping bag__](#shopping-bag)
* __Carts__
* [__Shopping cart__](#shopping-cart)
* [__Shopping trolley__](#shopping-trolley)
* __Cases__
* [__Briefcase__](#briefcase)
* [__Guitarcase__](#guitarcase)
* [__Travel case__](#travel-case)
* __Clothing__
* [__Bike helmet__](#bike-helmet)
* [__Motor helmet__](#motor-helmet)
* __Personal effects__
* [__Mobile__](#mobile)
* [__Purse__](#purse)
## __Road__
* __Barriers__
* [__Street barrier__](#street-barrier)
* __Cones__
* [__Construction cone__](#construction-cone)
* [__Traffic cone 01__](#traffic-cone-01)
* [__Traffic cone 02__](#traffic-cone-02)
* __Construction__
* [__Iron plank__](#iron-plank)
* [__Warning construction__](#warning-construction)
* __Debris__
* [__Brokentile 01__](#brokentile-01)
* [__Brokentile 02__](#brokentile-02)
* [__Brokentile 03__](#brokentile-03)
* [__Brokentile 04__](#brokentile-04)
* [__Dirt / debris 01__](#dirt-/-debris-01)
* [__Dirt / debris 02__](#dirt-/-debris-02)
* [__Dirt / debris 03__](#dirt-/-debris-03)
* __Signs__
* [__Traffic warning__](#traffic-warning)
* [__Warning accident__](#warning-accident)
## __Sidewalk__
* __Barriers__
* [__Chain barrier__](#chain-barrier)
* [__Chain barrier end__](#chain-barrier-end)
* __Benches__
* [__Bench 01__](#bench-01)
* [__Bench 02__](#bench-02)
* __Commercial__
* [__Foodcart__](#foodcart)
* [__Kiosk 01__](#kiosk-01)
* __Monouments__
* [__Fountain__](#fountain)
* __Monuments__
* [__Map table__](#map-table)
* __Signs__
* [__Advertisement__](#advertisement)
* [__Street sign__](#street-sign)
* [__Street sign 01__](#street-sign-01)
* [__Street sign 04__](#street-sign-04)
* __Transport__
* [__Bus stop__](#bus-stop)
* [__Bus stopl alternate__](#bus-stopl-alternate)
* __Utilities__
* [__ATM__](#atm)
* [__Mailbox__](#mailbox)
* [__Street fountain__](#street-fountain)
* [__Vending machine__](#vending-machine)
## __Utility__
* __Calibration__
* [__Calibrator__](#calibrator)
---
## __Containers__
### Barrel
![static_prop_barrel](../img/catalogue/props/static_prop_barrel.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.barrel<span>
### Bin
![static_prop_bin](../img/catalogue/props/static_prop_bin.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.bin<span>
### Cloth container
![static_prop_clothcontainer](../img/catalogue/props/static_prop_clothcontainer.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.clothcontainer<span>
### Garbage container
![static_prop_container](../img/catalogue/props/static_prop_container.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.container<span>
### Glass container
![static_prop_glasscontainer](../img/catalogue/props/static_prop_glasscontainer.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.glasscontainer<span>
### Box 01
![static_prop_box01](../img/catalogue/props/static_prop_box01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.box01<span>
### Box 02
![static_prop_box02](../img/catalogue/props/static_prop_box02.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.box02<span>
### Box 03
![static_prop_box03](../img/catalogue/props/static_prop_box03.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.box03<span>
### Creased box 01
![static_prop_creasedbox01](../img/catalogue/props/static_prop_creasedbox01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.creasedbox01<span>
### Creased box 02
![static_prop_creasedbox02](../img/catalogue/props/static_prop_creasedbox02.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.creasedbox02<span>
### Creased box 03
![static_prop_creasedbox03](../img/catalogue/props/static_prop_creasedbox03.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.creasedbox03<span>
---
## __Garbage__
### Trash bag
![static_prop_trashbag](../img/catalogue/props/static_prop_trashbag.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.trashbag<span>
### Cola can
![static_prop_colacan](../img/catalogue/props/static_prop_colacan.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.colacan<span>
### Garbage 01
![static_prop_garbage01](../img/catalogue/props/static_prop_garbage01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.garbage01<span>
### Garbage 02
![static_prop_garbage02](../img/catalogue/props/static_prop_garbage02.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.garbage02<span>
### Garbage 03
![static_prop_garbage03](../img/catalogue/props/static_prop_garbage03.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.garbage03<span>
### Garbage 04
![static_prop_garbage04](../img/catalogue/props/static_prop_garbage04.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.garbage04<span>
### Garbage 05
![static_prop_garbage05](../img/catalogue/props/static_prop_garbage05.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.garbage05<span>
### Garbage 06
![static_prop_garbage06](../img/catalogue/props/static_prop_garbage06.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.garbage06<span>
### Garbage platform 01
![static_prop_platformgarbage01](../img/catalogue/props/static_prop_platformgarbage01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.platformgarbage01<span>
### Trash can 01
![static_prop_trashcan01](../img/catalogue/props/static_prop_trashcan01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.trashcan01<span>
### Trash can 02
![static_prop_trashcan02](../img/catalogue/props/static_prop_trashcan02.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.trashcan02<span>
### Trash can 03
![static_prop_trashcan03](../img/catalogue/props/static_prop_trashcan03.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.trashcan03<span>
### Trash can 04
![static_prop_trashcan04](../img/catalogue/props/static_prop_trashcan04.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.trashcan04<span>
### Trash can 05
![static_prop_trashcan05](../img/catalogue/props/static_prop_trashcan05.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.trashcan05<span>
---
## __Park / garden__
### Bench 03
![static_prop_bench03](../img/catalogue/props/static_prop_bench03.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.bench03<span>
### Garden lamp
![static_prop_gardenlamp](../img/catalogue/props/static_prop_gardenlamp.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.gardenlamp<span>
### Pergola
![static_prop_pergola](../img/catalogue/props/static_prop_pergola.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.pergola<span>
### Plastic chair
![static_prop_plasticchair](../img/catalogue/props/static_prop_plasticchair.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plasticchair<span>
### Plastic table
![static_prop_plastictable](../img/catalogue/props/static_prop_plastictable.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plastictable<span>
### Slide
![static_prop_slide](../img/catalogue/props/static_prop_slide.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.slide<span>
### Swing
![static_prop_swing](../img/catalogue/props/static_prop_swing.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.swing<span>
### Swingcouch
![static_prop_swingcouch](../img/catalogue/props/static_prop_swingcouch.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.swingcouch<span>
### Table
![static_prop_table](../img/catalogue/props/static_prop_table.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.table<span>
### Trampoline
![static_prop_trampoline](../img/catalogue/props/static_prop_trampoline.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.trampoline<span>
### Barbeque
![static_prop_barbeque](../img/catalogue/props/static_prop_barbeque.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.barbeque<span>
### Clothesline
![static_prop_clothesline](../img/catalogue/props/static_prop_clothesline.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.clothesline<span>
### Doghouse
![static_prop_doghouse](../img/catalogue/props/static_prop_doghouse.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.doghouse<span>
### Gnome
![static_prop_gnome](../img/catalogue/props/static_prop_gnome.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.gnome<span>
### Wateringcan
![static_prop_wateringcan](../img/catalogue/props/static_prop_wateringcan.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.wateringcan<span>
### Haybale
![static_prop_haybale](../img/catalogue/props/static_prop_haybale.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.haybale<span>
### Haybale alternate
![static_prop_haybalelb](../img/catalogue/props/static_prop_haybalelb.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.haybalelb<span>
### Plantpot 01
![static_prop_plantpot01](../img/catalogue/props/static_prop_plantpot01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plantpot01<span>
### Plantpot 02
![static_prop_plantpot02](../img/catalogue/props/static_prop_plantpot02.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plantpot02<span>
### Plantpot 03
![static_prop_plantpot03](../img/catalogue/props/static_prop_plantpot03.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plantpot03<span>
### Plantpot 04
![static_prop_plantpot04](../img/catalogue/props/static_prop_plantpot04.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plantpot04<span>
### Plantpot 05
![static_prop_plantpot05](../img/catalogue/props/static_prop_plantpot05.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plantpot05<span>
### Plantpot 06
![static_prop_plantpot06](../img/catalogue/props/static_prop_plantpot06.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plantpot06<span>
### Plantpot 07
![static_prop_plantpot07](../img/catalogue/props/static_prop_plantpot07.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plantpot07<span>
### Plantpot 08
![static_prop_plantpot08](../img/catalogue/props/static_prop_plantpot08.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plantpot08<span>
---
## __Personal__
### Plastic bag
![static_prop_plasticbag](../img/catalogue/props/static_prop_plasticbag.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.plasticbag<span>
### Shopping bag
![static_prop_shoppingbag](../img/catalogue/props/static_prop_shoppingbag.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.shoppingbag<span>
### Shopping cart
![static_prop_shoppingcart](../img/catalogue/props/static_prop_shoppingcart.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.shoppingcart<span>
### Shopping trolley
![static_prop_shoppingtrolley](../img/catalogue/props/static_prop_shoppingtrolley.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.shoppingtrolley<span>
### Briefcase
![static_prop_briefcase](../img/catalogue/props/static_prop_briefcase.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.briefcase<span>
### Guitarcase
![static_prop_guitarcase](../img/catalogue/props/static_prop_guitarcase.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.guitarcase<span>
### Travel case
![static_prop_travelcase](../img/catalogue/props/static_prop_travelcase.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.travelcase<span>
### Bike helmet
![static_prop_bike helmet](../img/catalogue/props/static_prop_bike helmet.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.bike helmet<span>
### Motor helmet
![static_prop_motorhelmet](../img/catalogue/props/static_prop_motorhelmet.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.motorhelmet<span>
### Mobile
![static_prop_mobile](../img/catalogue/props/static_prop_mobile.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.mobile<span>
### Purse
![static_prop_purse](../img/catalogue/props/static_prop_purse.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.purse<span>
---
## __Road__
### Street barrier
![static_prop_streetbarrier](../img/catalogue/props/static_prop_streetbarrier.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.streetbarrier<span>
### Construction cone
![static_prop_constructioncone](../img/catalogue/props/static_prop_constructioncone.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.constructioncone<span>
### Traffic cone 01
![static_prop_trafficcone01](../img/catalogue/props/static_prop_trafficcone01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.trafficcone01<span>
### Traffic cone 02
![static_prop_trafficcone02](../img/catalogue/props/static_prop_trafficcone02.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.trafficcone02<span>
### Iron plank
![static_prop_ironplank](../img/catalogue/props/static_prop_ironplank.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.ironplank<span>
### Warning construction
![static_prop_warningconstruction](../img/catalogue/props/static_prop_warningconstruction.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.warningconstruction<span>
### Brokentile 01
![static_prop_brokentile01](../img/catalogue/props/static_prop_brokentile01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.brokentile01<span>
### Brokentile 02
![static_prop_brokentile02](../img/catalogue/props/static_prop_brokentile02.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.brokentile02<span>
### Brokentile 03
![static_prop_brokentile03](../img/catalogue/props/static_prop_brokentile03.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.brokentile03<span>
### Brokentile 04
![static_prop_brokentile04](../img/catalogue/props/static_prop_brokentile04.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.brokentile04<span>
### Dirt / debris 01
![static_prop_dirtdebris01](../img/catalogue/props/static_prop_dirtdebris01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.dirtdebris01<span>
### Dirt / debris 02
![static_prop_dirtdebris02](../img/catalogue/props/static_prop_dirtdebris02.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.dirtdebris02<span>
### Dirt / debris 03
![static_prop_dirtdebris03](../img/catalogue/props/static_prop_dirtdebris03.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.dirtdebris03<span>
### Traffic warning
![static_prop_trafficwarning](../img/catalogue/props/static_prop_trafficwarning.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.trafficwarning<span>
### Warning accident
![static_prop_warningaccident](../img/catalogue/props/static_prop_warningaccident.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.warningaccident<span>
---
## __Sidewalk__
### Chain barrier
![static_prop_chainbarrier](../img/catalogue/props/static_prop_chainbarrier.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.chainbarrier<span>
### Chain barrier end
![static_prop_chainbarrierend](../img/catalogue/props/static_prop_chainbarrierend.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.chainbarrierend<span>
### Bench 01
![static_prop_bench01](../img/catalogue/props/static_prop_bench01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.bench01<span>
### Bench 02
![static_prop_bench02](../img/catalogue/props/static_prop_bench02.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.bench02<span>
### Foodcart
![static_prop_foodcart](../img/catalogue/props/static_prop_foodcart.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.foodcart<span>
### Kiosk 01
![static_prop_kiosk_01](../img/catalogue/props/static_prop_kiosk_01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.kiosk_01<span>
### Fountain
![static_prop_fountain](../img/catalogue/props/static_prop_fountain.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.fountain<span>
### Map table
![static_prop_maptable](../img/catalogue/props/static_prop_maptable.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.maptable<span>
### Advertisement
![static_prop_advertisement](../img/catalogue/props/static_prop_advertisement.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.advertisement<span>
### Street sign
![static_prop_streetsign](../img/catalogue/props/static_prop_streetsign.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.streetsign<span>
### Street sign 01
![static_prop_streetsign01](../img/catalogue/props/static_prop_streetsign01.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.streetsign01<span>
### Street sign 04
![static_prop_streetsign04](../img/catalogue/props/static_prop_streetsign04.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.streetsign04<span>
### Bus stop
![static_prop_busstop](../img/catalogue/props/static_prop_busstop.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.busstop<span>
### Bus stopl alternate
![static_prop_busstoplb](../img/catalogue/props/static_prop_busstoplb.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.busstoplb<span>
### ATM
![static_prop_atm](../img/catalogue/props/static_prop_atm.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.atm<span>
### Mailbox
![static_prop_mailbox](../img/catalogue/props/static_prop_mailbox.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.mailbox<span>
### Street fountain
![static_prop_streetfountain](../img/catalogue/props/static_prop_streetfountain.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.streetfountain<span>
### Vending machine
![static_prop_vendingmachine](../img/catalogue/props/static_prop_vendingmachine.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.vendingmachine<span>
---
## __Utility__
### Calibrator
![static_prop_calibrator](../img/catalogue/props/static_prop_calibrator.webp)
* __Blueprint ID__: <span style="color:#00a6ed;">static.prop.calibrator<span>
---

873
Docs/catalogue_vehicles.md Normal file
View File

@ -0,0 +1,873 @@
<!---
The images in this document were captured using the following settings in CARLA:
Town: Town 10
Vehicle location: Transform(Location(x=-46.885479, y=20.083447, z=-0.002633), Rotation(pitch=-0.000034, yaw=141.974243, roll=0.000000))
Camera location, small vehicles: Transform(Location(x=-47.696186, y=24.049326, z=1.471929), Rotation(pitch=-10.843717, yaw=-77.215683, roll=0.000139))
Camera location, standard vehicles: Transform(Location(x=-48.672256, y=24.830288, z=1.722733), Rotation(pitch=-13.396630, yaw=-75.692039, roll=0.000119))
Camera location, large vehicles: Transform(Location(x=-49.470921, y=27.835310, z=2.931721), Rotation(pitch=-13.396630, yaw=-75.691978, roll=0.000119))
The weather settings are:
weather.sun_altitude_angle = 50
weather.sun_azimuth_angle = 260
weather.wetness = 10
weather.precipitation = 10
weather.scattering_intensity = 5
weather.mie_scattering_scale = 0.5
weather.rayleigh_scattering_scale = 0.1
Camera settings:
camera_bp = bp_lib.find('sensor.camera.rgb')
camera_bp.set_attribute('image_size_x', '1920')
camera_bp.set_attribute('image_size_y', '1080')
camera_bp.set_attribute('fstop', '6.0')
Vehicle settings:
control = vehicle.get_control()
control.steer = -0.25
vehicle.apply_control(control)
--->
# Vehicle catalogue
## Generation 2
* __Car__
* [__Dodge__ - Charger 2020](#dodge-charger-2020)
* [__Dodge__ - Police Charger 2020](#dodge-police-charger-2020)
* [__Ford__ - Crown (taxi)](#ford-crown-taxi)
* [__Lincoln__ - MKZ 2020](#lincoln-mkz-2020)
* [__Mercedes__ - Coupe 2020](#mercedes-coupe-2020)
* [__Mini__ - Cooper S 2021](#mini-cooper-s-2021)
* [__Nissan__ - Patrol 2021](#nissan-patrol-2021)
* __Truck__
* [__CARLA Motors__ - European HGV (cab-over-engine type)](#carla-motors-european-hgv-cab-over-engine-type)
* [__CARLA Motors__ - Firetruck](#carla-motors-firetruck)
* [__Tesla__ - Cybertruck](#tesla-cybertruck)
* __Van__
* [__Ford__ - Ambulance](#ford-ambulance)
* [__Mercedes__ - Sprinter](#mercedes-sprinter)
* [__Volkswagen__ - T2 2021](#volkswagen-t2-2021)
* __Bus__
* [__Mitsubishi__ - Fusorosa](#mitsubishi-fusorosa)
## Generation 1
* __Car__
* [__Audi__ - A2](#audi-a2)
* [__Audi__ - E-Tron](#audi-e-tron)
* [__Audi__ - TT](#audi-tt)
* [__BMW__ - Gran Tourer](#bmw-gran-tourer)
* [__Chevrolet__ - Impala](#chevrolet-impala)
* [__Citroen__ - C3](#citroen-c3)
* [__Dodge__ - Police Charger](#dodge-police-charger)
* [__Ford__ - Mustang](#ford-mustang)
* [__Jeep__ - Wrangler Rubicon](#jeep-wrangler-rubicon)
* [__Lincoln__ - MKZ 2017](#lincoln-mkz-2017)
* [__Mercedes__ - Coupe](#mercedes-coupe)
* [__Micro__ - Microlino](#micro-microlino)
* [__Mini__ - Cooper S](#mini-cooper-s)
* [__Nissan__ - Micra](#nissan-micra)
* [__Nissan__ - Patrol](#nissan-patrol)
* [__Seat__ - Leon](#seat-leon)
* [__Tesla__ - Model 3](#tesla-model-3)
* [__Toyota__ - Prius](#toyota-prius)
* __Truck__
* [__CARLA Motors__ - CarlaCola](#carla-motors-carlacola)
* __Van__
* [__Volkswagen__ - T2](#volkswagen-t2)
* __Motorcycle__
* [__Harley Davidson__ - Low Rider](#harley-davidson-low-rider)
* [__Kawasaki__ - Ninja](#kawasaki-ninja)
* [__Vespa__ - ZX 125](#vespa-zx-125)
* [__Yamaha__ - YZF](#yamaha-yzf)
* __Bicycle__
* [__BH__ - Crossbike](#bh-crossbike)
* [__Diamondback__ - Century](#diamondback-century)
* [__Gazelle__ - Omafiets](#gazelle-omafiets)
---
## Inspect the vehicles in the simulator
To examine a vehicle from the catalog, use the following code, retrieve the blueprint ID from the vehicle's details below and paste it into the line `bp_lib.find('blueprint.id.goes_here')`:
```py
client = carla.Client('localhost', 2000)
world = client.get_world()
bp_lib = world.get_blueprint_library()
spectator = world.get_spectator()
# Set up the vehicle transform
vehicle_loc = carla.Location(x=-46.9, y=20.0, z=0.2)
vehicle_rot = carla.Rotation(pitch=0.0, yaw=142.0, roll=0.0)
vehicle_trans = carla.Transform(vehicle_loc,vehicle_rot)
# Paste the blueprint ID here:
vehicle_bp = bp_lib.find('vehicle.lincoln.mkz_2020')
# Set up the view transform
camera_loc = carla.Location(x=-48.7, y=24.8, z=1.7)
camera_rot = carla.Rotation(pitch=-13.4, yaw=-75.7, roll=0.0)
camera_trans = carla.Transform(camera_loc,camera_rot)
# Spawn the vehicle
vehicle = world.spawn_actor(vehicle_bp, vehicle_trans)
# Move the spectator
spectator.set_transform(camera_trans)
```
Don't forget to destroy the vehicle before you try and spawn another to avoid a collision:
```py
vehicle.destroy()
```
---
## Cars
### Audi - A2
![audi_a2](../img/catalogue/vehicles/audi_a2.webp)
* __Manufacturer__: Audi
* __Model__: A2
* __Class__: Compact
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.audi.a2<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Audi - E-Tron
![audi_etron](../img/catalogue/vehicles/audi_etron.webp)
* __Manufacturer__: Audi
* __Model__: E-Tron
* __Class__: SUV
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.audi.etron<span>
* __Base type__: car
* __Special type__: electric
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Audi - TT
![audi_tt](../img/catalogue/vehicles/audi_tt.webp)
* __Manufacturer__: Audi
* __Model__: TT
* __Class__: Standard
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.audi.tt<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### BMW - Gran Tourer
![bmw_grandtourer](../img/catalogue/vehicles/bmw_grandtourer.webp)
* __Manufacturer__: BMW
* __Model__: Gran Tourer
* __Class__: Compact
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.bmw.grandtourer<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Chevrolet - Impala
![chevrolet_impala](../img/catalogue/vehicles/chevrolet_impala.webp)
* __Manufacturer__: Chevrolet
* __Model__: Impala
* __Class__: Standard
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.chevrolet.impala<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Citroen - C3
![citroen_c3](../img/catalogue/vehicles/citroen_c3.webp)
* __Manufacturer__: Citroen
* __Model__: C3
* __Class__: Compact
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.citroen.c3<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Dodge - Charger 2020
![dodge_charger_2020](../img/catalogue/vehicles/dodge_charger_2020.webp)
* __Manufacturer__: Dodge
* __Model__: Charger 2020
* __Class__: Standard
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.dodge.charger_2020<span>
* __Base type__: car
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
### Dodge - Police Charger
![dodge_charger_police](../img/catalogue/vehicles/dodge_charger_police.webp)
* __Manufacturer__: Dodge
* __Model__: Police Charger
* __Class__: Standard
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.dodge.charger_police<span>
* __Base type__: car
* __Special type__: emergency
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Dodge - Police Charger 2020
![dodge_charger_police_2020](../img/catalogue/vehicles/dodge_charger_police_2020.webp)
* __Manufacturer__: Dodge
* __Model__: Police Charger 2020
* __Class__: Standard
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.dodge.charger_police_2020<span>
* __Base type__: car
* __Special type__: emergency
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
### Ford - Crown (taxi)
![ford_crown](../img/catalogue/vehicles/ford_crown.webp)
* __Manufacturer__: Ford
* __Model__: Crown (taxi)
* __Class__: Standard
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.ford.crown<span>
* __Base type__: car
* __Special type__: taxi
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
### Ford - Mustang
![ford_mustang](../img/catalogue/vehicles/ford_mustang.webp)
* __Manufacturer__: Ford
* __Model__: Mustang
* __Class__: Standard
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.ford.mustang<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Jeep - Wrangler Rubicon
![jeep_wrangler_rubicon](../img/catalogue/vehicles/jeep_wrangler_rubicon.webp)
* __Manufacturer__: Jeep
* __Model__: Wrangler Rubicon
* __Class__: Compact
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.jeep.wrangler_rubicon<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Lincoln - MKZ 2017
![lincoln_mkz_2017](../img/catalogue/vehicles/lincoln_mkz_2017.webp)
* __Manufacturer__: Lincoln
* __Model__: MKZ 2017
* __Class__: Standard
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.lincoln.mkz_2017<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Lincoln - MKZ 2020
![lincoln_mkz_2020](../img/catalogue/vehicles/lincoln_mkz_2020.webp)
* __Manufacturer__: Lincoln
* __Model__: MKZ 2020
* __Class__: Standard
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.lincoln.mkz_2020<span>
* __Base type__: car
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
### Mercedes - Coupe
![mercedes_coupe](../img/catalogue/vehicles/mercedes_coupe.webp)
* __Manufacturer__: Mercedes
* __Model__: Coupe
* __Class__: Standard
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.mercedes.coupe<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Mercedes - Coupe 2020
![mercedes_coupe_2020](../img/catalogue/vehicles/mercedes_coupe_2020.webp)
* __Manufacturer__: Mercedes
* __Model__: Coupe 2020
* __Class__: Standard
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.mercedes.coupe_2020<span>
* __Base type__: car
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
### Micro - Microlino
![micro_microlino](../img/catalogue/vehicles/micro_microlino.webp)
* __Manufacturer__: Micro
* __Model__: Microlino
* __Class__: Micro
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.micro.microlino<span>
* __Base type__: car
* __Special type__: electric
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Mini - Cooper S
![mini_cooper_s](../img/catalogue/vehicles/mini_cooper_s.webp)
* __Manufacturer__: Mini
* __Model__: Cooper S
* __Class__: Compact
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.mini.cooper_s<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Mini - Cooper S 2021
![mini_cooper_s_2021](../img/catalogue/vehicles/mini_cooper_s_2021.webp)
* __Manufacturer__: Mini
* __Model__: Cooper S 2021
* __Class__: Standard
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.mini.cooper_s_2021<span>
* __Base type__: car
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
### Nissan - Micra
![nissan_micra](../img/catalogue/vehicles/nissan_micra.webp)
* __Manufacturer__: Nissan
* __Model__: Micra
* __Class__: Compact
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.nissan.micra<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Nissan - Patrol
![nissan_patrol](../img/catalogue/vehicles/nissan_patrol.webp)
* __Manufacturer__: Nissan
* __Model__: Patrol
* __Class__: SUV
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.nissan.patrol<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Nissan - Patrol 2021
![nissan_patrol_2021](../img/catalogue/vehicles/nissan_patrol_2021.webp)
* __Manufacturer__: Nissan
* __Model__: Patrol 2021
* __Class__: SUV
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.nissan.patrol_2021<span>
* __Base type__: car
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
### Seat - Leon
![seat_leon](../img/catalogue/vehicles/seat_leon.webp)
* __Manufacturer__: Seat
* __Model__: Leon
* __Class__: Compact
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.seat.leon<span>
* __Base type__: car
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Tesla - Model 3
![tesla_model3](../img/catalogue/vehicles/tesla_model3.webp)
* __Manufacturer__: Tesla
* __Model__: Model 3
* __Class__: Standard
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.tesla.model3<span>
* __Base type__: car
* __Special type__: electric
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Toyota - Prius
![toyota_prius](../img/catalogue/vehicles/toyota_prius.webp)
* __Manufacturer__: Toyota
* __Model__: Prius
* __Class__: Compact
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.toyota.prius<span>
* __Base type__: car
* __Special type__: electric
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
---
## Trucks
### CARLA Motors - CarlaCola
![carlamotors_carlacola](../img/catalogue/vehicles/carlamotors_carlacola.webp)
* __Manufacturer__: CARLA Motors
* __Model__: CarlaCola
* __Class__: Truck
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.carlamotors.carlacola<span>
* __Base type__: truck
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### CARLA Motors - European HGV (cab-over-engine type)
![carlamotors_european_hgv](../img/catalogue/vehicles/carlamotors_european_hgv.webp)
* __Manufacturer__: CARLA Motors
* __Model__: European HGV (cab-over-engine type)
* __Class__: Truck
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.carlamotors.european_hgv<span>
* __Base type__: truck
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### CARLA Motors - Firetruck
![carlamotors_firetruck](../img/catalogue/vehicles/carlamotors_firetruck.webp)
* __Manufacturer__: CARLA Motors
* __Model__: Firetruck
* __Class__: Truck
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.carlamotors.firetruck<span>
* __Base type__: truck
* __Special type__: emergency
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
### Tesla - Cybertruck
![tesla_cybertruck](../img/catalogue/vehicles/tesla_cybertruck.webp)
* __Manufacturer__: Tesla
* __Model__: Cybertruck
* __Class__: Truck
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.tesla.cybertruck<span>
* __Base type__: truck
* __Special type__: electric
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
---
## Vans
### Ford - Ambulance
![ford_ambulance](../img/catalogue/vehicles/ford_ambulance.webp)
* __Manufacturer__: Ford
* __Model__: Ambulance
* __Class__: Van
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.ford.ambulance<span>
* __Base type__: van
* __Special type__: emergency
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
### Mercedes - Sprinter
![mercedes_sprinter](../img/catalogue/vehicles/mercedes_sprinter.webp)
* __Manufacturer__: Mercedes
* __Model__: Sprinter
* __Class__: Van
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.mercedes.sprinter<span>
* __Base type__: van
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
### Volkswagen - T2
![volkswagen_t2](../img/catalogue/vehicles/volkswagen_t2.webp)
* __Manufacturer__: Volkswagen
* __Model__: T2
* __Class__: Standard
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.volkswagen.t2<span>
* __Base type__: van
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Volkswagen - T2 2021
![volkswagen_t2_2021](../img/catalogue/vehicles/volkswagen_t2_2021.webp)
* __Manufacturer__: Volkswagen
* __Model__: T2 2021
* __Class__: Van
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.volkswagen.t2_2021<span>
* __Base type__: van
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#99c635;">True<span>
---
## Buses
### Mitsubishi - Fusorosa
![mitsubishi_fusorosa](../img/catalogue/vehicles/mitsubishi_fusorosa.webp)
* __Manufacturer__: Mitsubishi
* __Model__: Fusorosa
* __Class__: Bus
* __Generation__: 2
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.mitsubishi.fusorosa<span>
* __Base type__: bus
* __Has lights__: <span style="color:#99c635;">True<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
---
## Motorcycles
### Harley Davidson - Low Rider
![harley-davidson_low_rider](../img/catalogue/vehicles/harley-davidson_low_rider.webp)
* __Manufacturer__: Harley Davidson
* __Model__: Low Rider
* __Class__: Motorcycle
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.harley-davidson.low_rider<span>
* __Base type__: motorcycle
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Kawasaki - Ninja
![kawasaki_ninja](../img/catalogue/vehicles/kawasaki_ninja.webp)
* __Manufacturer__: Kawasaki
* __Model__: Ninja
* __Class__: Motorcycle
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.kawasaki.ninja<span>
* __Base type__: motorcycle
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Vespa - ZX 125
![vespa_zx125](../img/catalogue/vehicles/vespa_zx125.webp)
* __Manufacturer__: Vespa
* __Model__: ZX 125
* __Class__: Motorcycle
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.vespa.zx125<span>
* __Base type__: motorcycle
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Yamaha - YZF
![yamaha_yzf](../img/catalogue/vehicles/yamaha_yzf.webp)
* __Manufacturer__: Yamaha
* __Model__: YZF
* __Class__: Motorcycle
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.yamaha.yzf<span>
* __Base type__: motorcycle
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
---
## Bicycles
### BH - Crossbike
![bh_crossbike](../img/catalogue/vehicles/bh_crossbike.webp)
* __Manufacturer__: BH
* __Model__: Crossbike
* __Class__: Bicycle
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.bh.crossbike<span>
* __Base type__: bicycle
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Diamondback - Century
![diamondback_century](../img/catalogue/vehicles/diamondback_century.webp)
* __Manufacturer__: Diamondback
* __Model__: Century
* __Class__: Bicycle
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.diamondback.century<span>
* __Base type__: bicycle
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
### Gazelle - Omafiets
![gazelle_omafiets](../img/catalogue/vehicles/gazelle_omafiets.webp)
* __Manufacturer__: Gazelle
* __Model__: Omafiets
* __Class__: Bicycle
* __Generation__: 1
* __Blueprint ID__: <span style="color:#00a6ed;">vehicle.gazelle.omafiets<span>
* __Base type__: bicycle
* __Has lights__: <span style="color:#f16c6c;">False<span>
* __Has opening doors__: <span style="color:#f16c6c;">False<span>
---

View File

@ -0,0 +1,245 @@
# Creating Large Maps for CARLA
Large Maps (like Towns 11 and 12) operate in a different way to standard maps (like Town 10) in CARLA. The map is divided up into tiles, which are subdivisions of the map, that are normally set to be about 1 to 2 km in size. The tiles divide up the map such that only the parts of the map that are needed are loaded into graphics memory for efficient rendering. The unneeded tiles remain dormant and ready to be loaded when they are required. Normally the tiles next to the tile in the location of the ego vehicle are loaded, but more tiles can be loaded if necessary. This behavior can be modified in the settings when CARLA is launched.
# Create a Large Map in RoadRunner
RoadRunner is the recommended software to create Large Maps to be imported into CARLA. This guide outlines how to use RoadRunner for creating Large Maps and how to import and handle the Large Map in the Unreal Engine editor.
- [__Build a Large Map in RoadRunner__](#build-a-large-map-in-roadrunner)
- [__Export a Large Map in RoadRunner__](#export-a-large-map-in-roadrunner)
- [__Import a Large Map into CARLA__](#import-a-large-map-into-carla)
- [Files and folders](#files-and-folders)
- [Create the JSON description (Optional)](#create-the-json-description-optional)
- [Making the import](#making-the-import)
- [__Handling a Large Map in the Unreal Editor__](#handling-a-large-map-in-the-unreal-editor)
- [__Package a Large Map__](#package-a-large-map)
---
## Build a Large Map in RoadRunner
The specifics of how to build a complex map in RoadRunner go beyond the scope of this guide, however, there are video tutorials available in the [RoadRunner documentation][rr_tutorials]. On the face of it, building a Large Map in RoadRunner is largely the same as building a standard map, just bigger in scale. The differences are largely in how the map is exported.
![roadrunner_draw](img/tuto_content_authoring_maps/large_map_roadrunner.png)
Here we have created a Large Map of about 1.2 km in size. This will be broken up into tiles when we export it, we will choose a tile size of 700m, so the map should split up into around 4 tiles.
If you are building a Large Map with elevation, the recommended largest size of the map is 20x20 km<sup>2</sup>. Maps larger than this may cause RoadRunner to crash on export.
[rr_tutorials]: https://www.mathworks.com/support/search.html?fq=asset_type_name:video%20category:roadrunner/index&page=1&s_tid=CRUX_topnav
---
## Export a Large Map in RoadRunner
Below is a basic guideline to export your custom Large Map from RoadRunner.
[exportlink]: https://www.mathworks.com/help/roadrunner/ug/Exporting-to-CARLA.html
Make sure the full map is selected for export by clicking on the [_World settings tool_](https://www.mathworks.com/help/roadrunner/ref/worldsettingstool.html) and dragging the edges of the blue boundary box to encompass the full area you would like to export. when it's ready, click on _Apply World Changes_.
![roadrunner_workspace](img/tuto_content_authoring_maps/roadrunner_workspace.png)
It is helpful to use the scene export preview tool to understand how your map will be divided up into tiles for export. Adjust the *Tile Size* parameters in the *Tiling Options* menu to find a suitable tile size for your map, press *Refresh Scene* to see the impact of your adjustments.
![roadrunner_scene_preview](img/tuto_content_authoring_maps/rr_scene_export_preview.png)
!!! Note
__Tile size__: The size of the tiles you use is a judgement call needed to ensure that the map will work efficiently when used in CARLA. If your map will be dense in 3D assets like buildings and vegetation, you may benefit from a smaller tile size to prevent the loading of unnecessary assets. This may, however, increase the complexity of the work needed to build your map. The maximum tile size supported by the CARLA engine is 2 km, we recommend tiles of around 1 km in size.
When you are ready to export:
__1.__ Export the `.fbx` geometry files:
- In the main toolbar, select `File` -> `Export` -> `Firebox (.fbx)`
__2.__ In the window that pops up:
>- Check the following options:
- _Split by Segmentation_: Divides the mesh by semantic segmentation and improves pedestrian navigation.
- _Power of Two Texture Dimensions_: Improves performance.
- _Embed Textures_: Ensures textures are embedded in the mesh.
- _Export to Tiles_: Choose the size of the tiles. The maximum size that can be used by CARLA is 2000 x 2000.
- _Export Individual Tiles_: Generates the individual tiles needed for streaming Large Maps in CARLA.
>>>>>>![export_large_map_fbx](img/tuto_content_authoring_maps/rr_export.png)
__3.__ Export the `.xodr` OpenDrive map file:
- In the main toolbar, select `File` -> `Export` -> `OpendDRIVE (.xodr)`
In the folder you chose for export, you will now have several new files, one `.xodr` file and several `.fbx` files:
![export_large_map_fbx](img/tuto_content_authoring_maps/large_map_export.png)
!!! Warning
Make sure that the `.xodr` and the `.fbx` files have the same name root.
Now you've created your Large Map in Roadrunner, you are ready to import it into CARLA. The files that RoadRunner has created should be shifted to the `Import` directory inside the root of the directory you are using to build CARLA.
---
# Import a Large Map into CARLA
Large Maps generated in RoadRunner can be imported into the source build of CARLA and packaged for distribution and usage in a CARLA standalone package. The process is very similar to that of standard maps with the addition of specific nomenclature for tiles and batch importing.
## Files and folders
All files to be imported should be placed in the `Import` folder of the root CARLA directory. These files should include:
- The mesh of the map in multiple `.fbx` files representing different tiles of the map.
- The OpenDRIVE definition in a single `.xodr` file.
!!! Warning
You cannot import Large Maps and standard maps at the same time.
The naming convention of map tiles is very important. Each map tile should be named according to the following convention:
```
<mapName>_Tile_<x-coordinate>_<y-coordinate>.fbx
```
RoadRunner should conform to this naming convention by default, but it's worth double checking before you prepare to import into CARLA, because problems caused at this stage can be tedious to fix later on. The tiles in the final map will be arranged like in the following diagram:
>>>>>><img src="../img/tuto_content_authoring_maps/large_map_tiles.png" width="70%">
A resulting `Import` folder with a package containing a Large Map made of four tiles should have a structure similar to the one below:
```sh
Import
└── Package01
├── Package01.json
├── LargeMap_Tile_0_0.fbx
├── LargeMap_Tile_0_1.fbx
├── LargeMap_Tile_1_0.fbx
├── LargeMap_Tile_1_1.fbx
└── LargeMap.xodr
```
!!! Note
The `package.json` file is not strictly necessary. If there is no `package.json` file created, the automated import process will create one. Find out more about to structure your own `package.json` in the next section.
---
## Create the JSON description (Optional)
The `.json` description is created automatically during the import process, but there is also the option to create one manually. An existing `.json` description will override any values passed as arguments in the import process.
The `.json` file should be created in the root folder of the package. The file name will be the package distribution name. The content of the file describes a JSON array of __maps__ and __props__ with basic information for each one.
__Maps__ need the following parameters:
- __name:__ Name of the map. This must be the same as the `.fbx` and `.xodr` files.
- __xodr:__ Path to the `.xodr` file.
- __use_carla_materials:__ If __True__, the map will use CARLA materials. Otherwise, it will use RoadRunner materials.
- __tile_size:__ The size of the tiles. Default value is 2000 (2kmx2km).
- __tiles:__ A list of the `.fbx` tile files that make up the entire map.
__Props__ are not part of this tutorial. Please see [this](tuto_A_add_props.md) tutorial for how to add new props.
The resulting `.json` file should resemble the following:
```json
{
"maps": [
{
"name": "LargeMap",
"xodr": "./LargeMap.xodr",
"use_carla_materials": true,
"tile_size": 700,
"tiles": [
"./LargeMap_Tile_0_0.fbx",
"./LargeMap_Tile_0_1.fbx",
"./LargeMap_Tile_1_0.fbx",
"./LargeMap_Tile_1_1.fbx"
]
}
],
"props": []
}
```
</details>
<br>
---
## Making the import
When all files have been placed in the `Import` folder, run the following command in the root CARLA folder:
```sh
make import
```
Depending on your system, Unreal Engine may consume too much memory to be able to import all files at once. You can choose to import the files in batches of MB by running the command:
```sh
make import ARGS="--batch-size=200"
```
Two more flags exist for the `make import` command:
- `--package=<package_name>` specifies the name of the package. By default, this is set to `map_package`. Two packages cannot have the same name, so using the default value will lead to errors on a subsequent ingestion. __It is highly recommended to change the name of the package__. Use this flag by running the command:
```sh
make import ARGS="--package=<package_name>"
```
- `--no-carla-materials` specifies that you do not want to use the default CARLA materials (road textures etc). You will use the RoadRunner materials instead. This flag is __only required if you are not__ providing your own [`.json` file](tuto_M_manual_map_package.md). Any value in the `.json` file will override this flag. Use this flag by running the command:
```sh
make import ARGS="--no-carla-materials"
```
All files will be imported and prepared to be used in the Unreal Editor. The map package will be created in `Unreal/CarlaUE4/Content`. A base map tile, `<mapName>`, will be created as a streaming level for all the tiles. The base tile will contain the sky, weather, and Large Map actors and will be ready for use in a simulation.
!!! Note
It is currently not recommended to use the customization tools provided for standard maps in the Unreal Editor, e.g., road painter, procedural buildings, etc.
---
## Handling a Large Map in the Unreal Editor
Now that you have imported your new map, you will find the map in the content browser inside a folder that will be named `map_package` by default. The folder will have an alternative name if you used the `"--package=<package_name>"` argument with the import command. Inside this folder, open the `Maps` folder and open the folder inside this one. Inside you will find several *level* files that are coloured orange.
![export_large_map_fbx](img/tuto_content_authoring_maps/tiles_content_browser.png)
There will be one level file one for the whole map and one level file for each tile you exported from RoadRunner. To add assets to the map like buildings and vegetation, double click on the level file for the tile that you want to work on (e.g. in this example `LargeMap_Tile_0_0`) in order to load it in the editor. The tiles don't have any lighting settings by default, so you may need to change the view mode from `Lit` to `Unlit` to be able to see your tile once you have loaded it. Now you can follow the [same procedure as for standard maps](tuto_content_authoring_maps.md#importing-assets-and-adding-them-to-the-map) to add details to your map, make sure to save the modifications you make to the tile you are working on, then load the next tile and repeat the procedure. You cannot work on the entire map in one go, so loading (by double clicking) the level file for the entire map (the file that is not followed by the suffix `_Tile_X_Y`) will not be useful for decorating the map.
![export_large_map_fbx](img/tuto_content_authoring_maps/large_map_unreal.png)
---
## Loading the whole map and running the simulation
If you would like to load the map and start the simulation for experimentation you should load the level file for the whole map. Double click on the level file with the root map name (the file that is not followed by the suffix `_Tile_X_Y`) and wait for it to load. Loading can sometimes take a few seconds or even minutes for very large maps. Once it has loaded click on the *play* option in the Unreal Editor toolbar. The simulation will now start with your new Large Map.
!!! note
If you are running the simulation from the Unreal Engine editor for the first time it is recommended to first load each of the tiles (by double clicking on them) one by one until you have loaded all of them, prior to starting the simulation. This performs certain operations *in the background* like baking the Mesh Distance Fields and shaders for the tile. If you don't load the tiles one by one at first, these operations may be performed at runtime and this could lead to hangs or crashes in Unreal Engine.
## Package a Large Map
To package your Large Map so it can be used in the CARLA standalone package follow the same procedure as for standard maps - run the following command:
```sh
make package ARGS="--packages=<mapPackage>"
```
This will create a standalone package compressed in a `.tar.gz` file. The files will be saved in the `Dist` folder on Linux, and `/Build/UE4Carla/` on Windows. They can then be distributed and packaged to use in standalone CARLA packages.
---
If you have any questions about the Large Map import and packaging process, then you can ask in the [forum](https://github.com/carla-simulator/carla/discussions).
<div class="build-buttons">
<p>
<a href="https://github.com/carla-simulator/carla/discussions" target="_blank" class="btn btn-neutral" title="Go to the CARLA forum">
CARLA forum</a>
</p>
</div>

View File

@ -166,7 +166,7 @@ camera.listen(lambda image: image.save_to_disk('output/%06d.png' % image.frame))
```
* Sensors have blueprints too. Setting attributes is crucial.
* Most of the sensors will be attached to a vehicle to gather information on its surroundings.
* Sensors __listen__ to data. When data is received, they call a function described with a __[Lambda expression](https://docs.python.org/3/reference/expressions.html)__ <small>(6.13 in the link provided)</small>.
* Sensors __listen__ to data. When data is received, they call a function described with a __[Lambda expression](https://docs.python.org/3/reference/expressions.html)__ <small>(6.14 in the link provided)</small>.
### Spectator

View File

@ -244,14 +244,18 @@ Non-layered maps are shown in the table below (click the town name to see an ove
| Town | Summary |
| -----------| ------ |
| **[Town01](img/Town01.jpg)** | A basic town layout consisting of "T junctions".|
| **[Town02](img/Town02.jpg)** | Similar to **Town01**, but smaller.|
| **[Town03](img/Town03.jpg)** | The most complex town, with a 5-lane junction, a roundabout, unevenness, a tunnel, and more.|
| **[Town04](img/Town04.jpg)** | An infinite loop with a highway and a small town.|
| **[Town05](img/Town05.jpg)** | Squared-grid town with cross junctions and a bridge. It has multiple lanes per direction. Useful to perform lane changes. |
| **[Town06](img/Town06.jpg)** | Long highways with many highway entrances and exits. It also has a [**Michigan left**](<https://en.wikipedia.org/wiki/Michigan_left>). |
| **[Town07](img/Town07.jpg)** | A rural environment with narrow roads, barns and hardly any traffic lights. |
| **[Town10](img/Town10.jpg)** | A city environment with different environments such as an avenue or promenade, and more realistic textures.|
| [__Town01__](map_town01.md) | A small, simple town with a river and several bridges.|
| [__Town02__](map_town02.md) | A small simple town with a mixture of residential and commercial buildings.|
| [__Town03__](map_town03.md) | A larger, urban map with a roundabout and large junctions.|
| [__Town04__](map_town04.md) | A small town embedded in the mountains with a special "figure of 8" *infinite* highway.|
| [__Town05__](map_town05.md) | Squared-grid town with cross junctions and a bridge. It has multiple lanes per direction. Useful to perform lane changes. |
| [__Town06__](map_town06.md) | Long many lane highways with many highway entrances and exits. It also has a [**Michigan left**](<https://en.wikipedia.org/wiki/Michigan_left>). |
| [__Town07__](map_town07.md) | A rural environment with narrow roads, corn, barns and hardly any traffic lights. |
| **Town08** | Secret "unseen" town used for the [Leaderboard](https://leaderboard.carla.org/) challenge |
| **Town09** | Secret "unseen" town used for the [Leaderboard](https://leaderboard.carla.org/) challenge |
| [__Town10__](map_town10.md) | A downtown urban environment with skyscrapers, residential buildings and an ocean promenade.|
| [__Town11__](map_town11.md) | A Large Map that is undecorated. Serves as a proof of concept for the Large Maps feature. |
| [__Town12__](map_town12.md) | A Large Map with numerous different regions, including high-rise, residential and rural environments.|
### Layered maps

View File

@ -2,7 +2,7 @@
### Latest Release
- [CARLA 0.9.14](https://github.com/carla-simulator/carla/releases/tag/0.9.14/) - [Documentation](https://carla.readthedocs.io/en/0.9.14/)
- [CARLA 0.9.15](https://github.com/carla-simulator/carla/releases/tag/0.9.15/) - [Documentation](https://carla.readthedocs.io/en/0.9.15/)
### Nightly build
@ -11,12 +11,15 @@
> next release, but also some experimental changes. Use at your own risk!
- [CARLA Nightly Build (Linux)](https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/Dev/CARLA_Latest.tar.gz)
- [AdditionalMaps Nightly Build (Linux)](https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/Dev/AdditionalMaps_Latest.tar.gz)
- [CARLA Nightly Build (Windows)](https://carla-releases.s3.eu-west-3.amazonaws.com/Windows/Dev/CARLA_Latest.zip)
- [AdditionalMaps Nightly Build (Windows)](https://carla-releases.s3.eu-west-3.amazonaws.com/Windows/Dev/AdditionalMaps_Latest.zip)
### Versions 0.9.x
> Here are the previous versions of CARLA with links to the specific documentation for each version:
- [CARLA 0.9.14](https://github.com/carla-simulator/carla/releases/tag/0.9.14/) - [Documentation](https://carla.readthedocs.io/en/0.9.14/)
- [CARLA 0.9.13](https://github.com/carla-simulator/carla/releases/tag/0.9.13/) - [Documentation](https://carla.readthedocs.io/en/0.9.13/)
- [CARLA 0.9.12](https://github.com/carla-simulator/carla/releases/tag/0.9.12/) - [Documentation](https://carla.readthedocs.io/en/0.9.12/)
- [CARLA 0.9.11](https://github.com/carla-simulator/carla/releases/tag/0.9.11/) - [Documentation](https://carla.readthedocs.io/en/0.9.11/)

19
Docs/ecosys_ros.md Normal file
View File

@ -0,0 +1,19 @@
# ROS
![ros_carla](../img/ros_carla.png)
The [__Robotic Operating System (ROS)__](https://www.ros.org/) is a set of software libraries for robotic and autonomous driving applications. CARLA can be directly connected to ROS through its ROS interfaces, control signals can be sent to CARLA actors and sensor data can be accessed through ROS topics.
There are two options for connecting CARLA and ROS.
- __CARLA native interface__: a ROS interface build directly into the CARLA server
- __ROS Bridge__: a separate library for transfering signals between ROS and CARLA
## CARLA native ROS interface
This is the recommended interface, since it offers the best performance with the lowest latency. At the moment the native interface only supports ROS 2. If you are using ROS 1, you must use the ROS Bridge.
## CARLA ROS Bridge
The [__CARLA ROS Bridge__](https://carla.readthedocs.io/projects/ros-bridge/en/latest/) is a library for connecting ROS to CARLA, it is compatible with both ROS 1 and ROS 2. Since the CARLA ROS Bridge is a separate package, there is additional latency compared to the native interface. The ROS Bridge is still provide to support ROS 1 and legacy implementations with ROS 2.

View File

@ -13,7 +13,7 @@ Below, you will find in depth documentation on the many extensive features of CA
## Traffic Simulation
[__ Traffic Simulation Overview__](ts_traffic_simulation_overview.md) — An overview of the different options available to populate your scenes with traffic.
[__Traffic Simulation Overview__](ts_traffic_simulation_overview.md) — An overview of the different options available to populate your scenes with traffic.
[__Traffic Manager__](adv_traffic_manager.md) — Simulate urban traffic by setting vehicles to autopilot mode.
## References
@ -23,17 +23,18 @@ Below, you will find in depth documentation on the many extensive features of CA
## Custom Maps
[__Digital Twin Tool__](adv_digital_twin.md) — A procedural map generation tool that uses OpenStreetMap data
[__Overview of custom maps in CARLA__](tuto_M_custom_map_overview.md) — An overview of the process and options involved in adding a custom, standard sized map.
[__Create a map in RoadRunner__](tuto_M_generate_map.md) — How to generate a customs, standard sized map in RoadRunner.
[__ Import map in CARLA package__](tuto_M_add_map_package.md) How to import a map in a CARLA package.
[__Import map in CARLA package__](tuto_M_add_map_package.md) How to import a map in a CARLA package.
[__Import map in CARLA source build__](tuto_M_add_map_source.md) — How to import a map in CARLA built from source.
[__Alternative ways to import maps__](tuto_M_add_map_alternative.md) — Alternative methods to import maps.
[__ Manually prepare map package__](tuto_M_manual_map_package.md) — How to prepare a map for manual import.
[__Manually prepare map package__](tuto_M_manual_map_package.md) — How to prepare a map for manual import.
[__Customizing maps: Layered maps__](tuto_M_custom_layers.md) — How to create sub-layers in your custom map.
[__ Customizing maps: Traffic lights and signs__](tuto_M_custom_add_tl.md) — How to add traffic lights and signs to your custom map.
[__ Customizing maps: Road painter__](tuto_M_custom_road_painter.md) — How to use the road painter tool to change the appearance of the road.
[__Customizing maps: Traffic lights and signs__](tuto_M_custom_add_tl.md) — How to add traffic lights and signs to your custom map.
[__Customizing maps: Road painter__](tuto_M_custom_road_painter.md) — How to use the road painter tool to change the appearance of the road.
[__Customizing Maps: Procedural Buildings__](tuto_M_custom_buildings.md) — Populate your custom map with buildings.
[__ Customizing maps: Weather and landscape__](tuto_M_custom_weather_landscape.md) — Create the weather profile for your custom map and populate the landscape.
[__Customizing maps: Weather and landscape__](tuto_M_custom_weather_landscape.md) — Create the weather profile for your custom map and populate the landscape.
[__Generate pedestrian navigation__](tuto_M_generate_pedestrian_navigation.md) — Obtain the information needed for walkers to move around.
## Large Maps

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 966 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 914 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Some files were not shown because too many files have changed in this diff Show More