diff --git a/.gitignore b/.gitignore index d922129e037..7ceb7149d91 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,9 @@ Util/Build Install Plugins !Unreal/CarlaUE4/Plugins +Unreal/CarlaUE4/Plugins/Streetmap +Unreal/CarlaUE4/Plugins/HoudiniEngine + /ExportedMaps /Import/* diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000000..80889f7e4cf --- /dev/null +++ b/.readthedocs.yaml @@ -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 diff --git a/.readthedocs.yml b/.readthedocs.yml deleted file mode 100644 index a9958cf3c8b..00000000000 --- a/.readthedocs.yml +++ /dev/null @@ -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 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cf98743022..8e25a3c610c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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. diff --git a/Docs/adv_digital_twin.md b/Docs/adv_digital_twin.md new file mode 100644 index 00000000000..d46177face0 --- /dev/null +++ b/Docs/adv_digital_twin.md @@ -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 +``` + +## 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 km2 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. + diff --git a/Docs/adv_procedural_building_tool.md b/Docs/adv_procedural_building_tool.md new file mode 100644 index 00000000000..e3c85b9476f --- /dev/null +++ b/Docs/adv_procedural_building_tool.md @@ -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. + + + + + + + + + + + + diff --git a/Docs/build_linux.md b/Docs/build_linux.md index 11bb6bde370..611f0cd2daa 100644 --- a/Docs/build_linux.md +++ b/Docs/build_linux.md @@ -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 ``` + +__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// llvm-toolchain--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 diff --git a/Docs/build_update.md b/Docs/build_update.md index ff6f93c29fb..eb543293483 100644 --- a/Docs/build_update.md +++ b/Docs/build_update.md @@ -69,9 +69,25 @@ Releases are listed in __Development__ in the CARLA repository. There is also a

- - Get the nightly build + + Get the linux nightly build

+ +

+ + Get the linux nightly build additional maps +

+ +

+ + Get the windows nightly build +

+ +

+ + Get the windows nightly build additional maps +

+ --- diff --git a/Docs/build_windows.md b/Docs/build_windows.md index 9db8a341203..627e1982cfb 100644 --- a/Docs/build_windows.md +++ b/Docs/build_windows.md @@ -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. diff --git a/Docs/catalogue.md b/Docs/catalogue.md new file mode 100644 index 00000000000..7e97d493ea3 --- /dev/null +++ b/Docs/catalogue.md @@ -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**](). | +| [__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) + diff --git a/Docs/catalogue_pedestrians.md b/Docs/catalogue_pedestrians.md new file mode 100644 index 00000000000..64a3c6e0683 --- /dev/null +++ b/Docs/catalogue_pedestrians.md @@ -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__: walker.pedestrian.0001 + +#### Adult pedestrian 1 - variant 2 + +![pedestrian_0005](../img/catalogue/pedestrians/pedestrian_0005.webp) + + +* __Blueprint ID__: walker.pedestrian.0005 + +#### Adult pedestrian 1 - variant 3 + +![pedestrian_0006](../img/catalogue/pedestrians/pedestrian_0006.webp) + + +* __Blueprint ID__: walker.pedestrian.0006 + +#### Adult pedestrian 1 - variant 4 + +![pedestrian_0007](../img/catalogue/pedestrians/pedestrian_0007.webp) + + +* __Blueprint ID__: walker.pedestrian.0007 + +#### Adult pedestrian 1 - variant 5 + +![pedestrian_0008](../img/catalogue/pedestrians/pedestrian_0008.webp) + + +* __Blueprint ID__: walker.pedestrian.0008 + +--- + +#### Adult pedestrian 2 - variant 1 + +![pedestrian_0004](../img/catalogue/pedestrians/pedestrian_0004.webp) + + +* __Blueprint ID__: walker.pedestrian.0004 + +#### Adult pedestrian 2 - variant 2 + +![pedestrian_0003](../img/catalogue/pedestrians/pedestrian_0003.webp) + + +* __Blueprint ID__: walker.pedestrian.0003 + +#### Adult pedestrian 2 - variant 3 + +![pedestrian_0002](../img/catalogue/pedestrians/pedestrian_0002.webp) + + +* __Blueprint ID__: walker.pedestrian.0002 + +--- + +#### Adult pedestrian 3 - variant 1 + +![pedestrian_0015](../img/catalogue/pedestrians/pedestrian_0015.webp) + + +* __Blueprint ID__: walker.pedestrian.0015 + +#### Adult pedestrian 3 - variant 2 + +![pedestrian_0019](../img/catalogue/pedestrians/pedestrian_0019.webp) + + +* __Blueprint ID__: walker.pedestrian.0019 + +--- + +#### Adult pedestrian 4 - variant 1 + +![pedestrian_0016](../img/catalogue/pedestrians/pedestrian_0016.webp) + + +* __Blueprint ID__: walker.pedestrian.0016 + +#### Adult pedestrian 4 - variant 2 + +![pedestrian_0017](../img/catalogue/pedestrians/pedestrian_0017.webp) + + +* __Blueprint ID__: walker.pedestrian.0017 + +--- + +#### Adult pedestrian 5 - variant 1 + +![pedestrian_0026](../img/catalogue/pedestrians/pedestrian_0026.webp) + + +* __Blueprint ID__: walker.pedestrian.0026 + +#### Adult pedestrian 5 - variant 2 + +![pedestrian_0018](../img/catalogue/pedestrians/pedestrian_0018.webp) + + +* __Blueprint ID__: walker.pedestrian.0018 + +--- + +#### Adult pedestrian 6 - variant 1 + +![pedestrian_0021](../img/catalogue/pedestrians/pedestrian_0021.webp) + + +* __Blueprint ID__: walker.pedestrian.0021 + +#### Adult pedestrian 6 - variant 2 + +![pedestrian_0020](../img/catalogue/pedestrians/pedestrian_0020.webp) + + +* __Blueprint ID__: walker.pedestrian.0020 + +--- + +#### Adult pedestrian 7 - variant 1 + +![pedestrian_0023](../img/catalogue/pedestrians/pedestrian_0023.webp) + + +* __Blueprint ID__: walker.pedestrian.0023 + +#### Adult pedestrian 7 - variant 2 + +![pedestrian_0022](../img/catalogue/pedestrians/pedestrian_0022.webp) + + +* __Blueprint ID__: walker.pedestrian.0022 + +--- + +#### Adult pedestrian 8 - variant 1 + +![pedestrian_0024](../img/catalogue/pedestrians/pedestrian_0024.webp) + + +* __Blueprint ID__: walker.pedestrian.0024 + +#### Adult pedestrian 8 - variant 2 + +![pedestrian_0025](../img/catalogue/pedestrians/pedestrian_0025.webp) + + +* __Blueprint ID__: walker.pedestrian.0025 + +--- + +#### Adult pedestrian 9 - variant 1 + +![pedestrian_0027](../img/catalogue/pedestrians/pedestrian_0027.webp) + + +* __Blueprint ID__: walker.pedestrian.0027 + +#### Adult pedestrian 9 - variant 2 + +![pedestrian_0029](../img/catalogue/pedestrians/pedestrian_0029.webp) + + +* __Blueprint ID__: walker.pedestrian.0029 + +#### Adult pedestrian 9 - variant 3 + +![pedestrian_0028](../img/catalogue/pedestrians/pedestrian_0028.webp) + + +* __Blueprint ID__: walker.pedestrian.0028 + +--- + +#### Adult pedestrian 10 - variant 1 + +![pedestrian_0041](../img/catalogue/pedestrians/pedestrian_0041.webp) + + +* __Blueprint ID__: walker.pedestrian.0041 + +#### Adult pedestrian 10 - variant 2 + +![pedestrian_0040](../img/catalogue/pedestrians/pedestrian_0040.webp) + + +* __Blueprint ID__: walker.pedestrian.0040 + +#### Adult pedestrian 10 - variant 3 + +![pedestrian_0033](../img/catalogue/pedestrians/pedestrian_0033.webp) + + +* __Blueprint ID__: walker.pedestrian.0033 + +#### Adult pedestrian 10 - variant 4 + +![pedestrian_0031](../img/catalogue/pedestrians/pedestrian_0031.webp) + + +* __Blueprint ID__: walker.pedestrian.0031 + +--- + +#### Adult pedestrian 11 - variant 1 + +![pedestrian_0034](../img/catalogue/pedestrians/pedestrian_0034.webp) + + +* __Blueprint ID__: walker.pedestrian.0034 + +#### Adult pedestrian 11 - variant 2 + +![pedestrian_0038](../img/catalogue/pedestrians/pedestrian_0038.webp) + + +* __Blueprint ID__: walker.pedestrian.0038 + +--- + +#### Adult pedestrian 12 - variant 1 + +![pedestrian_0035](../img/catalogue/pedestrians/pedestrian_0035.webp) + + +* __Blueprint ID__: walker.pedestrian.0035 + +#### Adult pedestrian 12 - variant 2 + +![pedestrian_0036](../img/catalogue/pedestrians/pedestrian_0036.webp) + + +* __Blueprint ID__: walker.pedestrian.0036 + +#### Adult pedestrian 12 - variant 3 + +![pedestrian_0037](../img/catalogue/pedestrians/pedestrian_0037.webp) + + +* __Blueprint ID__: walker.pedestrian.0037 + +--- + +#### Adult pedestrian 13 - variant 1 + +![pedestrian_0039](../img/catalogue/pedestrians/pedestrian_0039.webp) + + +* __Blueprint ID__: walker.pedestrian.0039 + +--- + +#### Adult pedestrian 14 - variant 1 + +![pedestrian_0042](../img/catalogue/pedestrians/pedestrian_0042.webp) + + +* __Blueprint ID__: walker.pedestrian.0042 + +#### Adult pedestrian 14 - variant 2 + +![pedestrian_0043](../img/catalogue/pedestrians/pedestrian_0043.webp) + + +* __Blueprint ID__: walker.pedestrian.0043 + +#### Adult pedestrian 14 - variant 3 + +![pedestrian_0044](../img/catalogue/pedestrians/pedestrian_0044.webp) + + +* __Blueprint ID__: walker.pedestrian.0044 + +--- + +#### Adult pedestrian 15 - variant 1 + +![pedestrian_0047](../img/catalogue/pedestrians/pedestrian_0047.webp) + + +* __Blueprint ID__: walker.pedestrian.0047 + +#### Adult pedestrian 15 - variant 2 + +![pedestrian_0046](../img/catalogue/pedestrians/pedestrian_0046.webp) + + +* __Blueprint ID__: walker.pedestrian.0046 + +--- + +## Children + +--- + +#### Child pedestrian 1 - variant 1 + +![pedestrian_0011](../img/catalogue/pedestrians/pedestrian_0011.webp) + + +* __Blueprint ID__: walker.pedestrian.0011 + +#### Child pedestrian 1 - variant 2 + +![pedestrian_0010](../img/catalogue/pedestrians/pedestrian_0010.webp) + + +* __Blueprint ID__: walker.pedestrian.0010 + +#### Child pedestrian 1 - variant 3 + +![pedestrian_0009](../img/catalogue/pedestrians/pedestrian_0009.webp) + + +* __Blueprint ID__: walker.pedestrian.0009 + +--- + +#### Child pedestrian 2 - variant 1 + +![pedestrian_0014](../img/catalogue/pedestrians/pedestrian_0014.webp) + + +* __Blueprint ID__: walker.pedestrian.0014 + +#### Child pedestrian 2 - variant 2 + +![pedestrian_0013](../img/catalogue/pedestrians/pedestrian_0013.webp) + + +* __Blueprint ID__: walker.pedestrian.0013 + +#### Child pedestrian 2 - variant 3 + +![pedestrian_0012](../img/catalogue/pedestrians/pedestrian_0012.webp) + + +* __Blueprint ID__: walker.pedestrian.0012 + +--- + +#### Child pedestrian 3 - variant 1 + +![pedestrian_0048](../img/catalogue/pedestrians/pedestrian_0048.webp) + + +* __Blueprint ID__: walker.pedestrian.0048 + +--- + +#### Child pedestrian 4 - variant 1 + +![pedestrian_0049](../img/catalogue/pedestrians/pedestrian_0049.webp) + + +* __Blueprint ID__: walker.pedestrian.0049 + +--- + +## Police + +--- + +#### Police 1 + +![pedestrian_0030](../img/catalogue/pedestrians/pedestrian_0030.webp) + + +* __Blueprint ID__: walker.pedestrian.0030 + +--- + +#### Police 2 + +![pedestrian_0032](../img/catalogue/pedestrians/pedestrian_0032.webp) + + +* __Blueprint ID__: walker.pedestrian.0032 + diff --git a/Docs/catalogue_props.md b/Docs/catalogue_props.md new file mode 100644 index 00000000000..a0cd620ad5b --- /dev/null +++ b/Docs/catalogue_props.md @@ -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__: static.prop.barrel + +### Bin + +![static_prop_bin](../img/catalogue/props/static_prop_bin.webp) + + +* __Blueprint ID__: static.prop.bin + +### Cloth container + +![static_prop_clothcontainer](../img/catalogue/props/static_prop_clothcontainer.webp) + + +* __Blueprint ID__: static.prop.clothcontainer + +### Garbage container + +![static_prop_container](../img/catalogue/props/static_prop_container.webp) + + +* __Blueprint ID__: static.prop.container + +### Glass container + +![static_prop_glasscontainer](../img/catalogue/props/static_prop_glasscontainer.webp) + + +* __Blueprint ID__: static.prop.glasscontainer + +### Box 01 + +![static_prop_box01](../img/catalogue/props/static_prop_box01.webp) + + +* __Blueprint ID__: static.prop.box01 + +### Box 02 + +![static_prop_box02](../img/catalogue/props/static_prop_box02.webp) + + +* __Blueprint ID__: static.prop.box02 + +### Box 03 + +![static_prop_box03](../img/catalogue/props/static_prop_box03.webp) + + +* __Blueprint ID__: static.prop.box03 + +### Creased box 01 + +![static_prop_creasedbox01](../img/catalogue/props/static_prop_creasedbox01.webp) + + +* __Blueprint ID__: static.prop.creasedbox01 + +### Creased box 02 + +![static_prop_creasedbox02](../img/catalogue/props/static_prop_creasedbox02.webp) + + +* __Blueprint ID__: static.prop.creasedbox02 + +### Creased box 03 + +![static_prop_creasedbox03](../img/catalogue/props/static_prop_creasedbox03.webp) + + +* __Blueprint ID__: static.prop.creasedbox03 + +--- + +## __Garbage__ +### Trash bag + +![static_prop_trashbag](../img/catalogue/props/static_prop_trashbag.webp) + + +* __Blueprint ID__: static.prop.trashbag + +### Cola can + +![static_prop_colacan](../img/catalogue/props/static_prop_colacan.webp) + + +* __Blueprint ID__: static.prop.colacan + +### Garbage 01 + +![static_prop_garbage01](../img/catalogue/props/static_prop_garbage01.webp) + + +* __Blueprint ID__: static.prop.garbage01 + +### Garbage 02 + +![static_prop_garbage02](../img/catalogue/props/static_prop_garbage02.webp) + + +* __Blueprint ID__: static.prop.garbage02 + +### Garbage 03 + +![static_prop_garbage03](../img/catalogue/props/static_prop_garbage03.webp) + + +* __Blueprint ID__: static.prop.garbage03 + +### Garbage 04 + +![static_prop_garbage04](../img/catalogue/props/static_prop_garbage04.webp) + + +* __Blueprint ID__: static.prop.garbage04 + +### Garbage 05 + +![static_prop_garbage05](../img/catalogue/props/static_prop_garbage05.webp) + + +* __Blueprint ID__: static.prop.garbage05 + +### Garbage 06 + +![static_prop_garbage06](../img/catalogue/props/static_prop_garbage06.webp) + + +* __Blueprint ID__: static.prop.garbage06 + +### Garbage platform 01 + +![static_prop_platformgarbage01](../img/catalogue/props/static_prop_platformgarbage01.webp) + + +* __Blueprint ID__: static.prop.platformgarbage01 + +### Trash can 01 + +![static_prop_trashcan01](../img/catalogue/props/static_prop_trashcan01.webp) + + +* __Blueprint ID__: static.prop.trashcan01 + +### Trash can 02 + +![static_prop_trashcan02](../img/catalogue/props/static_prop_trashcan02.webp) + + +* __Blueprint ID__: static.prop.trashcan02 + +### Trash can 03 + +![static_prop_trashcan03](../img/catalogue/props/static_prop_trashcan03.webp) + + +* __Blueprint ID__: static.prop.trashcan03 + +### Trash can 04 + +![static_prop_trashcan04](../img/catalogue/props/static_prop_trashcan04.webp) + + +* __Blueprint ID__: static.prop.trashcan04 + +### Trash can 05 + +![static_prop_trashcan05](../img/catalogue/props/static_prop_trashcan05.webp) + + +* __Blueprint ID__: static.prop.trashcan05 + +--- + +## __Park / garden__ +### Bench 03 + +![static_prop_bench03](../img/catalogue/props/static_prop_bench03.webp) + + +* __Blueprint ID__: static.prop.bench03 + +### Garden lamp + +![static_prop_gardenlamp](../img/catalogue/props/static_prop_gardenlamp.webp) + + +* __Blueprint ID__: static.prop.gardenlamp + +### Pergola + +![static_prop_pergola](../img/catalogue/props/static_prop_pergola.webp) + + +* __Blueprint ID__: static.prop.pergola + +### Plastic chair + +![static_prop_plasticchair](../img/catalogue/props/static_prop_plasticchair.webp) + + +* __Blueprint ID__: static.prop.plasticchair + +### Plastic table + +![static_prop_plastictable](../img/catalogue/props/static_prop_plastictable.webp) + + +* __Blueprint ID__: static.prop.plastictable + +### Slide + +![static_prop_slide](../img/catalogue/props/static_prop_slide.webp) + + +* __Blueprint ID__: static.prop.slide + +### Swing + +![static_prop_swing](../img/catalogue/props/static_prop_swing.webp) + + +* __Blueprint ID__: static.prop.swing + +### Swingcouch + +![static_prop_swingcouch](../img/catalogue/props/static_prop_swingcouch.webp) + + +* __Blueprint ID__: static.prop.swingcouch + +### Table + +![static_prop_table](../img/catalogue/props/static_prop_table.webp) + + +* __Blueprint ID__: static.prop.table + +### Trampoline + +![static_prop_trampoline](../img/catalogue/props/static_prop_trampoline.webp) + + +* __Blueprint ID__: static.prop.trampoline + +### Barbeque + +![static_prop_barbeque](../img/catalogue/props/static_prop_barbeque.webp) + + +* __Blueprint ID__: static.prop.barbeque + +### Clothesline + +![static_prop_clothesline](../img/catalogue/props/static_prop_clothesline.webp) + + +* __Blueprint ID__: static.prop.clothesline + +### Doghouse + +![static_prop_doghouse](../img/catalogue/props/static_prop_doghouse.webp) + + +* __Blueprint ID__: static.prop.doghouse + +### Gnome + +![static_prop_gnome](../img/catalogue/props/static_prop_gnome.webp) + + +* __Blueprint ID__: static.prop.gnome + +### Wateringcan + +![static_prop_wateringcan](../img/catalogue/props/static_prop_wateringcan.webp) + + +* __Blueprint ID__: static.prop.wateringcan + +### Haybale + +![static_prop_haybale](../img/catalogue/props/static_prop_haybale.webp) + + +* __Blueprint ID__: static.prop.haybale + +### Haybale alternate + +![static_prop_haybalelb](../img/catalogue/props/static_prop_haybalelb.webp) + + +* __Blueprint ID__: static.prop.haybalelb + +### Plantpot 01 + +![static_prop_plantpot01](../img/catalogue/props/static_prop_plantpot01.webp) + + +* __Blueprint ID__: static.prop.plantpot01 + +### Plantpot 02 + +![static_prop_plantpot02](../img/catalogue/props/static_prop_plantpot02.webp) + + +* __Blueprint ID__: static.prop.plantpot02 + +### Plantpot 03 + +![static_prop_plantpot03](../img/catalogue/props/static_prop_plantpot03.webp) + + +* __Blueprint ID__: static.prop.plantpot03 + +### Plantpot 04 + +![static_prop_plantpot04](../img/catalogue/props/static_prop_plantpot04.webp) + + +* __Blueprint ID__: static.prop.plantpot04 + +### Plantpot 05 + +![static_prop_plantpot05](../img/catalogue/props/static_prop_plantpot05.webp) + + +* __Blueprint ID__: static.prop.plantpot05 + +### Plantpot 06 + +![static_prop_plantpot06](../img/catalogue/props/static_prop_plantpot06.webp) + + +* __Blueprint ID__: static.prop.plantpot06 + +### Plantpot 07 + +![static_prop_plantpot07](../img/catalogue/props/static_prop_plantpot07.webp) + + +* __Blueprint ID__: static.prop.plantpot07 + +### Plantpot 08 + +![static_prop_plantpot08](../img/catalogue/props/static_prop_plantpot08.webp) + + +* __Blueprint ID__: static.prop.plantpot08 + +--- + +## __Personal__ +### Plastic bag + +![static_prop_plasticbag](../img/catalogue/props/static_prop_plasticbag.webp) + + +* __Blueprint ID__: static.prop.plasticbag + +### Shopping bag + +![static_prop_shoppingbag](../img/catalogue/props/static_prop_shoppingbag.webp) + + +* __Blueprint ID__: static.prop.shoppingbag + +### Shopping cart + +![static_prop_shoppingcart](../img/catalogue/props/static_prop_shoppingcart.webp) + + +* __Blueprint ID__: static.prop.shoppingcart + +### Shopping trolley + +![static_prop_shoppingtrolley](../img/catalogue/props/static_prop_shoppingtrolley.webp) + + +* __Blueprint ID__: static.prop.shoppingtrolley + +### Briefcase + +![static_prop_briefcase](../img/catalogue/props/static_prop_briefcase.webp) + + +* __Blueprint ID__: static.prop.briefcase + +### Guitarcase + +![static_prop_guitarcase](../img/catalogue/props/static_prop_guitarcase.webp) + + +* __Blueprint ID__: static.prop.guitarcase + +### Travel case + +![static_prop_travelcase](../img/catalogue/props/static_prop_travelcase.webp) + + +* __Blueprint ID__: static.prop.travelcase + +### Bike helmet + +![static_prop_bike helmet](../img/catalogue/props/static_prop_bike helmet.webp) + + +* __Blueprint ID__: static.prop.bike helmet + +### Motor helmet + +![static_prop_motorhelmet](../img/catalogue/props/static_prop_motorhelmet.webp) + + +* __Blueprint ID__: static.prop.motorhelmet + +### Mobile + +![static_prop_mobile](../img/catalogue/props/static_prop_mobile.webp) + + +* __Blueprint ID__: static.prop.mobile + +### Purse + +![static_prop_purse](../img/catalogue/props/static_prop_purse.webp) + + +* __Blueprint ID__: static.prop.purse + +--- + +## __Road__ +### Street barrier + +![static_prop_streetbarrier](../img/catalogue/props/static_prop_streetbarrier.webp) + + +* __Blueprint ID__: static.prop.streetbarrier + +### Construction cone + +![static_prop_constructioncone](../img/catalogue/props/static_prop_constructioncone.webp) + + +* __Blueprint ID__: static.prop.constructioncone + +### Traffic cone 01 + +![static_prop_trafficcone01](../img/catalogue/props/static_prop_trafficcone01.webp) + + +* __Blueprint ID__: static.prop.trafficcone01 + +### Traffic cone 02 + +![static_prop_trafficcone02](../img/catalogue/props/static_prop_trafficcone02.webp) + + +* __Blueprint ID__: static.prop.trafficcone02 + +### Iron plank + +![static_prop_ironplank](../img/catalogue/props/static_prop_ironplank.webp) + + +* __Blueprint ID__: static.prop.ironplank + +### Warning construction + +![static_prop_warningconstruction](../img/catalogue/props/static_prop_warningconstruction.webp) + + +* __Blueprint ID__: static.prop.warningconstruction + +### Brokentile 01 + +![static_prop_brokentile01](../img/catalogue/props/static_prop_brokentile01.webp) + + +* __Blueprint ID__: static.prop.brokentile01 + +### Brokentile 02 + +![static_prop_brokentile02](../img/catalogue/props/static_prop_brokentile02.webp) + + +* __Blueprint ID__: static.prop.brokentile02 + +### Brokentile 03 + +![static_prop_brokentile03](../img/catalogue/props/static_prop_brokentile03.webp) + + +* __Blueprint ID__: static.prop.brokentile03 + +### Brokentile 04 + +![static_prop_brokentile04](../img/catalogue/props/static_prop_brokentile04.webp) + + +* __Blueprint ID__: static.prop.brokentile04 + +### Dirt / debris 01 + +![static_prop_dirtdebris01](../img/catalogue/props/static_prop_dirtdebris01.webp) + + +* __Blueprint ID__: static.prop.dirtdebris01 + +### Dirt / debris 02 + +![static_prop_dirtdebris02](../img/catalogue/props/static_prop_dirtdebris02.webp) + + +* __Blueprint ID__: static.prop.dirtdebris02 + +### Dirt / debris 03 + +![static_prop_dirtdebris03](../img/catalogue/props/static_prop_dirtdebris03.webp) + + +* __Blueprint ID__: static.prop.dirtdebris03 + +### Traffic warning + +![static_prop_trafficwarning](../img/catalogue/props/static_prop_trafficwarning.webp) + + +* __Blueprint ID__: static.prop.trafficwarning + +### Warning accident + +![static_prop_warningaccident](../img/catalogue/props/static_prop_warningaccident.webp) + + +* __Blueprint ID__: static.prop.warningaccident + +--- + +## __Sidewalk__ +### Chain barrier + +![static_prop_chainbarrier](../img/catalogue/props/static_prop_chainbarrier.webp) + + +* __Blueprint ID__: static.prop.chainbarrier + +### Chain barrier end + +![static_prop_chainbarrierend](../img/catalogue/props/static_prop_chainbarrierend.webp) + + +* __Blueprint ID__: static.prop.chainbarrierend + +### Bench 01 + +![static_prop_bench01](../img/catalogue/props/static_prop_bench01.webp) + + +* __Blueprint ID__: static.prop.bench01 + +### Bench 02 + +![static_prop_bench02](../img/catalogue/props/static_prop_bench02.webp) + + +* __Blueprint ID__: static.prop.bench02 + +### Foodcart + +![static_prop_foodcart](../img/catalogue/props/static_prop_foodcart.webp) + + +* __Blueprint ID__: static.prop.foodcart + +### Kiosk 01 + +![static_prop_kiosk_01](../img/catalogue/props/static_prop_kiosk_01.webp) + + +* __Blueprint ID__: static.prop.kiosk_01 + +### Fountain + +![static_prop_fountain](../img/catalogue/props/static_prop_fountain.webp) + + +* __Blueprint ID__: static.prop.fountain + +### Map table + +![static_prop_maptable](../img/catalogue/props/static_prop_maptable.webp) + + +* __Blueprint ID__: static.prop.maptable + +### Advertisement + +![static_prop_advertisement](../img/catalogue/props/static_prop_advertisement.webp) + + +* __Blueprint ID__: static.prop.advertisement + +### Street sign + +![static_prop_streetsign](../img/catalogue/props/static_prop_streetsign.webp) + + +* __Blueprint ID__: static.prop.streetsign + +### Street sign 01 + +![static_prop_streetsign01](../img/catalogue/props/static_prop_streetsign01.webp) + + +* __Blueprint ID__: static.prop.streetsign01 + +### Street sign 04 + +![static_prop_streetsign04](../img/catalogue/props/static_prop_streetsign04.webp) + + +* __Blueprint ID__: static.prop.streetsign04 + +### Bus stop + +![static_prop_busstop](../img/catalogue/props/static_prop_busstop.webp) + + +* __Blueprint ID__: static.prop.busstop + +### Bus stopl alternate + +![static_prop_busstoplb](../img/catalogue/props/static_prop_busstoplb.webp) + + +* __Blueprint ID__: static.prop.busstoplb + +### ATM + +![static_prop_atm](../img/catalogue/props/static_prop_atm.webp) + + +* __Blueprint ID__: static.prop.atm + +### Mailbox + +![static_prop_mailbox](../img/catalogue/props/static_prop_mailbox.webp) + + +* __Blueprint ID__: static.prop.mailbox + +### Street fountain + +![static_prop_streetfountain](../img/catalogue/props/static_prop_streetfountain.webp) + + +* __Blueprint ID__: static.prop.streetfountain + +### Vending machine + +![static_prop_vendingmachine](../img/catalogue/props/static_prop_vendingmachine.webp) + + +* __Blueprint ID__: static.prop.vendingmachine + +--- + +## __Utility__ +### Calibrator + +![static_prop_calibrator](../img/catalogue/props/static_prop_calibrator.webp) + + +* __Blueprint ID__: static.prop.calibrator + +--- + diff --git a/Docs/catalogue_vehicles.md b/Docs/catalogue_vehicles.md new file mode 100644 index 00000000000..e173e32a58d --- /dev/null +++ b/Docs/catalogue_vehicles.md @@ -0,0 +1,873 @@ + + +# 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__: vehicle.audi.a2 + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Audi - E-Tron + +![audi_etron](../img/catalogue/vehicles/audi_etron.webp) + + +* __Manufacturer__: Audi +* __Model__: E-Tron +* __Class__: SUV +* __Generation__: 1 +* __Blueprint ID__: vehicle.audi.etron + +* __Base type__: car + +* __Special type__: electric + +* __Has lights__: False + +* __Has opening doors__: False + +### Audi - TT + +![audi_tt](../img/catalogue/vehicles/audi_tt.webp) + + +* __Manufacturer__: Audi +* __Model__: TT +* __Class__: Standard +* __Generation__: 1 +* __Blueprint ID__: vehicle.audi.tt + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### BMW - Gran Tourer + +![bmw_grandtourer](../img/catalogue/vehicles/bmw_grandtourer.webp) + + +* __Manufacturer__: BMW +* __Model__: Gran Tourer +* __Class__: Compact +* __Generation__: 1 +* __Blueprint ID__: vehicle.bmw.grandtourer + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Chevrolet - Impala + +![chevrolet_impala](../img/catalogue/vehicles/chevrolet_impala.webp) + + +* __Manufacturer__: Chevrolet +* __Model__: Impala +* __Class__: Standard +* __Generation__: 1 +* __Blueprint ID__: vehicle.chevrolet.impala + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Citroen - C3 + +![citroen_c3](../img/catalogue/vehicles/citroen_c3.webp) + + +* __Manufacturer__: Citroen +* __Model__: C3 +* __Class__: Compact +* __Generation__: 1 +* __Blueprint ID__: vehicle.citroen.c3 + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Dodge - Charger 2020 + +![dodge_charger_2020](../img/catalogue/vehicles/dodge_charger_2020.webp) + + +* __Manufacturer__: Dodge +* __Model__: Charger 2020 +* __Class__: Standard +* __Generation__: 2 +* __Blueprint ID__: vehicle.dodge.charger_2020 + +* __Base type__: car + +* __Has lights__: True + +* __Has opening doors__: True + +### Dodge - Police Charger + +![dodge_charger_police](../img/catalogue/vehicles/dodge_charger_police.webp) + + +* __Manufacturer__: Dodge +* __Model__: Police Charger +* __Class__: Standard +* __Generation__: 1 +* __Blueprint ID__: vehicle.dodge.charger_police + +* __Base type__: car + +* __Special type__: emergency + +* __Has lights__: False + +* __Has opening doors__: False + +### 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__: vehicle.dodge.charger_police_2020 + +* __Base type__: car + +* __Special type__: emergency + +* __Has lights__: True + +* __Has opening doors__: True + +### Ford - Crown (taxi) + +![ford_crown](../img/catalogue/vehicles/ford_crown.webp) + + +* __Manufacturer__: Ford +* __Model__: Crown (taxi) +* __Class__: Standard +* __Generation__: 2 +* __Blueprint ID__: vehicle.ford.crown + +* __Base type__: car + +* __Special type__: taxi + +* __Has lights__: True + +* __Has opening doors__: True + +### Ford - Mustang + +![ford_mustang](../img/catalogue/vehicles/ford_mustang.webp) + + +* __Manufacturer__: Ford +* __Model__: Mustang +* __Class__: Standard +* __Generation__: 1 +* __Blueprint ID__: vehicle.ford.mustang + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Jeep - Wrangler Rubicon + +![jeep_wrangler_rubicon](../img/catalogue/vehicles/jeep_wrangler_rubicon.webp) + + +* __Manufacturer__: Jeep +* __Model__: Wrangler Rubicon +* __Class__: Compact +* __Generation__: 1 +* __Blueprint ID__: vehicle.jeep.wrangler_rubicon + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Lincoln - MKZ 2017 + +![lincoln_mkz_2017](../img/catalogue/vehicles/lincoln_mkz_2017.webp) + + +* __Manufacturer__: Lincoln +* __Model__: MKZ 2017 +* __Class__: Standard +* __Generation__: 1 +* __Blueprint ID__: vehicle.lincoln.mkz_2017 + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Lincoln - MKZ 2020 + +![lincoln_mkz_2020](../img/catalogue/vehicles/lincoln_mkz_2020.webp) + + +* __Manufacturer__: Lincoln +* __Model__: MKZ 2020 +* __Class__: Standard +* __Generation__: 2 +* __Blueprint ID__: vehicle.lincoln.mkz_2020 + +* __Base type__: car + +* __Has lights__: True + +* __Has opening doors__: True + +### Mercedes - Coupe + +![mercedes_coupe](../img/catalogue/vehicles/mercedes_coupe.webp) + + +* __Manufacturer__: Mercedes +* __Model__: Coupe +* __Class__: Standard +* __Generation__: 1 +* __Blueprint ID__: vehicle.mercedes.coupe + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Mercedes - Coupe 2020 + +![mercedes_coupe_2020](../img/catalogue/vehicles/mercedes_coupe_2020.webp) + + +* __Manufacturer__: Mercedes +* __Model__: Coupe 2020 +* __Class__: Standard +* __Generation__: 2 +* __Blueprint ID__: vehicle.mercedes.coupe_2020 + +* __Base type__: car + +* __Has lights__: True + +* __Has opening doors__: True + +### Micro - Microlino + +![micro_microlino](../img/catalogue/vehicles/micro_microlino.webp) + + +* __Manufacturer__: Micro +* __Model__: Microlino +* __Class__: Micro +* __Generation__: 1 +* __Blueprint ID__: vehicle.micro.microlino + +* __Base type__: car + +* __Special type__: electric + +* __Has lights__: False + +* __Has opening doors__: False + +### Mini - Cooper S + +![mini_cooper_s](../img/catalogue/vehicles/mini_cooper_s.webp) + + +* __Manufacturer__: Mini +* __Model__: Cooper S +* __Class__: Compact +* __Generation__: 1 +* __Blueprint ID__: vehicle.mini.cooper_s + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### 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__: vehicle.mini.cooper_s_2021 + +* __Base type__: car + +* __Has lights__: True + +* __Has opening doors__: True + +### Nissan - Micra + +![nissan_micra](../img/catalogue/vehicles/nissan_micra.webp) + + +* __Manufacturer__: Nissan +* __Model__: Micra +* __Class__: Compact +* __Generation__: 1 +* __Blueprint ID__: vehicle.nissan.micra + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Nissan - Patrol + +![nissan_patrol](../img/catalogue/vehicles/nissan_patrol.webp) + + +* __Manufacturer__: Nissan +* __Model__: Patrol +* __Class__: SUV +* __Generation__: 1 +* __Blueprint ID__: vehicle.nissan.patrol + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Nissan - Patrol 2021 + +![nissan_patrol_2021](../img/catalogue/vehicles/nissan_patrol_2021.webp) + + +* __Manufacturer__: Nissan +* __Model__: Patrol 2021 +* __Class__: SUV +* __Generation__: 2 +* __Blueprint ID__: vehicle.nissan.patrol_2021 + +* __Base type__: car + +* __Has lights__: True + +* __Has opening doors__: True + +### Seat - Leon + +![seat_leon](../img/catalogue/vehicles/seat_leon.webp) + + +* __Manufacturer__: Seat +* __Model__: Leon +* __Class__: Compact +* __Generation__: 1 +* __Blueprint ID__: vehicle.seat.leon + +* __Base type__: car + +* __Has lights__: False + +* __Has opening doors__: False + +### Tesla - Model 3 + +![tesla_model3](../img/catalogue/vehicles/tesla_model3.webp) + + +* __Manufacturer__: Tesla +* __Model__: Model 3 +* __Class__: Standard +* __Generation__: 1 +* __Blueprint ID__: vehicle.tesla.model3 + +* __Base type__: car + +* __Special type__: electric + +* __Has lights__: False + +* __Has opening doors__: False + +### Toyota - Prius + +![toyota_prius](../img/catalogue/vehicles/toyota_prius.webp) + + +* __Manufacturer__: Toyota +* __Model__: Prius +* __Class__: Compact +* __Generation__: 1 +* __Blueprint ID__: vehicle.toyota.prius + +* __Base type__: car + +* __Special type__: electric + +* __Has lights__: False + +* __Has opening doors__: False + +--- + +## Trucks +### CARLA Motors - CarlaCola + +![carlamotors_carlacola](../img/catalogue/vehicles/carlamotors_carlacola.webp) + + +* __Manufacturer__: CARLA Motors +* __Model__: CarlaCola +* __Class__: Truck +* __Generation__: 1 +* __Blueprint ID__: vehicle.carlamotors.carlacola + +* __Base type__: truck + +* __Has lights__: False + +* __Has opening doors__: False + +### 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__: vehicle.carlamotors.european_hgv + +* __Base type__: truck + +* __Has lights__: False + +* __Has opening doors__: False + +### CARLA Motors - Firetruck + +![carlamotors_firetruck](../img/catalogue/vehicles/carlamotors_firetruck.webp) + + +* __Manufacturer__: CARLA Motors +* __Model__: Firetruck +* __Class__: Truck +* __Generation__: 2 +* __Blueprint ID__: vehicle.carlamotors.firetruck + +* __Base type__: truck + +* __Special type__: emergency + +* __Has lights__: True + +* __Has opening doors__: True + +### Tesla - Cybertruck + +![tesla_cybertruck](../img/catalogue/vehicles/tesla_cybertruck.webp) + + +* __Manufacturer__: Tesla +* __Model__: Cybertruck +* __Class__: Truck +* __Generation__: 2 +* __Blueprint ID__: vehicle.tesla.cybertruck + +* __Base type__: truck + +* __Special type__: electric + +* __Has lights__: False + +* __Has opening doors__: False + +--- + +## Vans +### Ford - Ambulance + +![ford_ambulance](../img/catalogue/vehicles/ford_ambulance.webp) + + +* __Manufacturer__: Ford +* __Model__: Ambulance +* __Class__: Van +* __Generation__: 2 +* __Blueprint ID__: vehicle.ford.ambulance + +* __Base type__: van + +* __Special type__: emergency + +* __Has lights__: True + +* __Has opening doors__: True + +### Mercedes - Sprinter + +![mercedes_sprinter](../img/catalogue/vehicles/mercedes_sprinter.webp) + + +* __Manufacturer__: Mercedes +* __Model__: Sprinter +* __Class__: Van +* __Generation__: 2 +* __Blueprint ID__: vehicle.mercedes.sprinter + +* __Base type__: van + +* __Has lights__: True + +* __Has opening doors__: True + +### Volkswagen - T2 + +![volkswagen_t2](../img/catalogue/vehicles/volkswagen_t2.webp) + + +* __Manufacturer__: Volkswagen +* __Model__: T2 +* __Class__: Standard +* __Generation__: 1 +* __Blueprint ID__: vehicle.volkswagen.t2 + +* __Base type__: van + +* __Has lights__: False + +* __Has opening doors__: False + +### Volkswagen - T2 2021 + +![volkswagen_t2_2021](../img/catalogue/vehicles/volkswagen_t2_2021.webp) + + +* __Manufacturer__: Volkswagen +* __Model__: T2 2021 +* __Class__: Van +* __Generation__: 2 +* __Blueprint ID__: vehicle.volkswagen.t2_2021 + +* __Base type__: van + +* __Has lights__: True + +* __Has opening doors__: True + +--- + +## Buses +### Mitsubishi - Fusorosa + +![mitsubishi_fusorosa](../img/catalogue/vehicles/mitsubishi_fusorosa.webp) + + +* __Manufacturer__: Mitsubishi +* __Model__: Fusorosa +* __Class__: Bus +* __Generation__: 2 +* __Blueprint ID__: vehicle.mitsubishi.fusorosa + +* __Base type__: bus + +* __Has lights__: True + +* __Has opening doors__: False + +--- + +## 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__: vehicle.harley-davidson.low_rider + +* __Base type__: motorcycle + +* __Has lights__: False + +* __Has opening doors__: False + +### Kawasaki - Ninja + +![kawasaki_ninja](../img/catalogue/vehicles/kawasaki_ninja.webp) + + +* __Manufacturer__: Kawasaki +* __Model__: Ninja +* __Class__: Motorcycle +* __Generation__: 1 +* __Blueprint ID__: vehicle.kawasaki.ninja + +* __Base type__: motorcycle + +* __Has lights__: False + +* __Has opening doors__: False + +### Vespa - ZX 125 + +![vespa_zx125](../img/catalogue/vehicles/vespa_zx125.webp) + + +* __Manufacturer__: Vespa +* __Model__: ZX 125 +* __Class__: Motorcycle +* __Generation__: 1 +* __Blueprint ID__: vehicle.vespa.zx125 + +* __Base type__: motorcycle + +* __Has lights__: False + +* __Has opening doors__: False + +### Yamaha - YZF + +![yamaha_yzf](../img/catalogue/vehicles/yamaha_yzf.webp) + + +* __Manufacturer__: Yamaha +* __Model__: YZF +* __Class__: Motorcycle +* __Generation__: 1 +* __Blueprint ID__: vehicle.yamaha.yzf + +* __Base type__: motorcycle + +* __Has lights__: False + +* __Has opening doors__: False + +--- + +## Bicycles +### BH - Crossbike + +![bh_crossbike](../img/catalogue/vehicles/bh_crossbike.webp) + + +* __Manufacturer__: BH +* __Model__: Crossbike +* __Class__: Bicycle +* __Generation__: 1 +* __Blueprint ID__: vehicle.bh.crossbike + +* __Base type__: bicycle + +* __Has lights__: False + +* __Has opening doors__: False + +### Diamondback - Century + +![diamondback_century](../img/catalogue/vehicles/diamondback_century.webp) + + +* __Manufacturer__: Diamondback +* __Model__: Century +* __Class__: Bicycle +* __Generation__: 1 +* __Blueprint ID__: vehicle.diamondback.century + +* __Base type__: bicycle + +* __Has lights__: False + +* __Has opening doors__: False + +### Gazelle - Omafiets + +![gazelle_omafiets](../img/catalogue/vehicles/gazelle_omafiets.webp) + + +* __Manufacturer__: Gazelle +* __Model__: Omafiets +* __Class__: Bicycle +* __Generation__: 1 +* __Blueprint ID__: vehicle.gazelle.omafiets + +* __Base type__: bicycle + +* __Has lights__: False + +* __Has opening doors__: False + +--- + diff --git a/Docs/content_authoring_large_maps.md b/Docs/content_authoring_large_maps.md new file mode 100644 index 00000000000..d54d1cf6bde --- /dev/null +++ b/Docs/content_authoring_large_maps.md @@ -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 km2. 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: + +``` +_Tile__.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: + +>>>>>> + +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": [] +} +``` + +
+ +--- + +## 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=` 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=" +``` + +- `--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, ``, 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="` 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=" +``` + +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). + + + + diff --git a/Docs/core_actors.md b/Docs/core_actors.md index de78e7a8d25..b08653aeadf 100644 --- a/Docs/core_actors.md +++ b/Docs/core_actors.md @@ -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)__ (6.13 in the link provided). +* 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)__ (6.14 in the link provided). ### Spectator diff --git a/Docs/core_map.md b/Docs/core_map.md index 277fbf128c7..d15b6c9d5c3 100644 --- a/Docs/core_map.md +++ b/Docs/core_map.md @@ -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**](). | -| **[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**](). | +| [__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 diff --git a/Docs/download.md b/Docs/download.md index 79ecc54c698..28583453bea 100644 --- a/Docs/download.md +++ b/Docs/download.md @@ -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 @@ -10,13 +10,16 @@ > branch. It contains the very latest fixes and features that will be part of the > 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) -- [CARLA Nightly Build (Windows)](https://carla-releases.s3.eu-west-3.amazonaws.com/Windows/Dev/CARLA_Latest.zip) +- [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/) diff --git a/Docs/ecosys_ros.md b/Docs/ecosys_ros.md new file mode 100644 index 00000000000..2f56e869345 --- /dev/null +++ b/Docs/ecosys_ros.md @@ -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. + diff --git a/Docs/ext_docs.md b/Docs/ext_docs.md index 1e5403c9812..b89188e1034 100644 --- a/Docs/ext_docs.md +++ b/Docs/ext_docs.md @@ -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 diff --git a/Docs/img/catalogue/maps/maps_montage.webp b/Docs/img/catalogue/maps/maps_montage.webp new file mode 100644 index 00000000000..8268df9cb7f Binary files /dev/null and b/Docs/img/catalogue/maps/maps_montage.webp differ diff --git a/Docs/img/catalogue/maps/town01/town01_bridge.webp b/Docs/img/catalogue/maps/town01/town01_bridge.webp new file mode 100644 index 00000000000..07a68d124ea Binary files /dev/null and b/Docs/img/catalogue/maps/town01/town01_bridge.webp differ diff --git a/Docs/img/catalogue/maps/town01/town01_commercial_buildings.webp b/Docs/img/catalogue/maps/town01/town01_commercial_buildings.webp new file mode 100644 index 00000000000..55c0d2c86e9 Binary files /dev/null and b/Docs/img/catalogue/maps/town01/town01_commercial_buildings.webp differ diff --git a/Docs/img/catalogue/maps/town01/town01_panorama.webp b/Docs/img/catalogue/maps/town01/town01_panorama.webp new file mode 100644 index 00000000000..015b98098e2 Binary files /dev/null and b/Docs/img/catalogue/maps/town01/town01_panorama.webp differ diff --git a/Docs/img/catalogue/maps/town01/town01_residential_buildings.webp b/Docs/img/catalogue/maps/town01/town01_residential_buildings.webp new file mode 100644 index 00000000000..a879a4c8385 Binary files /dev/null and b/Docs/img/catalogue/maps/town01/town01_residential_buildings.webp differ diff --git a/Docs/img/catalogue/maps/town01/town01aerial.webp b/Docs/img/catalogue/maps/town01/town01aerial.webp new file mode 100644 index 00000000000..17f3892898e Binary files /dev/null and b/Docs/img/catalogue/maps/town01/town01aerial.webp differ diff --git a/Docs/img/catalogue/maps/town02/town02_apartments.webp b/Docs/img/catalogue/maps/town02/town02_apartments.webp new file mode 100644 index 00000000000..27193dc4a0b Binary files /dev/null and b/Docs/img/catalogue/maps/town02/town02_apartments.webp differ diff --git a/Docs/img/catalogue/maps/town02/town02_gas.webp b/Docs/img/catalogue/maps/town02/town02_gas.webp new file mode 100644 index 00000000000..95adc0e4e91 Binary files /dev/null and b/Docs/img/catalogue/maps/town02/town02_gas.webp differ diff --git a/Docs/img/catalogue/maps/town02/town02_highstreet.webp b/Docs/img/catalogue/maps/town02/town02_highstreet.webp new file mode 100644 index 00000000000..1af09e18132 Binary files /dev/null and b/Docs/img/catalogue/maps/town02/town02_highstreet.webp differ diff --git a/Docs/img/catalogue/maps/town02/town02_panorama.webp b/Docs/img/catalogue/maps/town02/town02_panorama.webp new file mode 100644 index 00000000000..65e309fa87c Binary files /dev/null and b/Docs/img/catalogue/maps/town02/town02_panorama.webp differ diff --git a/Docs/img/catalogue/maps/town02/town02_tree_road.webp b/Docs/img/catalogue/maps/town02/town02_tree_road.webp new file mode 100644 index 00000000000..da1ff4583a1 Binary files /dev/null and b/Docs/img/catalogue/maps/town02/town02_tree_road.webp differ diff --git a/Docs/img/catalogue/maps/town02/town02aerial.webp b/Docs/img/catalogue/maps/town02/town02aerial.webp new file mode 100644 index 00000000000..343172f6eb5 Binary files /dev/null and b/Docs/img/catalogue/maps/town02/town02aerial.webp differ diff --git a/Docs/img/catalogue/maps/town03/town03_buildings.webp b/Docs/img/catalogue/maps/town03/town03_buildings.webp new file mode 100644 index 00000000000..a792480102d Binary files /dev/null and b/Docs/img/catalogue/maps/town03/town03_buildings.webp differ diff --git a/Docs/img/catalogue/maps/town03/town03_junction.webp b/Docs/img/catalogue/maps/town03/town03_junction.webp new file mode 100644 index 00000000000..2f5cdb71715 Binary files /dev/null and b/Docs/img/catalogue/maps/town03/town03_junction.webp differ diff --git a/Docs/img/catalogue/maps/town03/town03_metro.webp b/Docs/img/catalogue/maps/town03/town03_metro.webp new file mode 100644 index 00000000000..f579e8ba56c Binary files /dev/null and b/Docs/img/catalogue/maps/town03/town03_metro.webp differ diff --git a/Docs/img/catalogue/maps/town03/town03_panorama.webp b/Docs/img/catalogue/maps/town03/town03_panorama.webp new file mode 100644 index 00000000000..e6bbcabcf16 Binary files /dev/null and b/Docs/img/catalogue/maps/town03/town03_panorama.webp differ diff --git a/Docs/img/catalogue/maps/town03/town03_roundabout.webp b/Docs/img/catalogue/maps/town03/town03_roundabout.webp new file mode 100644 index 00000000000..4adee35bd21 Binary files /dev/null and b/Docs/img/catalogue/maps/town03/town03_roundabout.webp differ diff --git a/Docs/img/catalogue/maps/town03/town03_underpass.webp b/Docs/img/catalogue/maps/town03/town03_underpass.webp new file mode 100644 index 00000000000..44fe46524fd Binary files /dev/null and b/Docs/img/catalogue/maps/town03/town03_underpass.webp differ diff --git a/Docs/img/catalogue/maps/town03/town03aerial.webp b/Docs/img/catalogue/maps/town03/town03aerial.webp new file mode 100644 index 00000000000..7abdc133b23 Binary files /dev/null and b/Docs/img/catalogue/maps/town03/town03aerial.webp differ diff --git a/Docs/img/catalogue/maps/town04/town04_arcade.webp b/Docs/img/catalogue/maps/town04/town04_arcade.webp new file mode 100644 index 00000000000..4f267fa96c4 Binary files /dev/null and b/Docs/img/catalogue/maps/town04/town04_arcade.webp differ diff --git a/Docs/img/catalogue/maps/town04/town04_gas.webp b/Docs/img/catalogue/maps/town04/town04_gas.webp new file mode 100644 index 00000000000..c095269e81a Binary files /dev/null and b/Docs/img/catalogue/maps/town04/town04_gas.webp differ diff --git a/Docs/img/catalogue/maps/town04/town04_overhead.webp b/Docs/img/catalogue/maps/town04/town04_overhead.webp new file mode 100644 index 00000000000..ed83be1d33d Binary files /dev/null and b/Docs/img/catalogue/maps/town04/town04_overhead.webp differ diff --git a/Docs/img/catalogue/maps/town04/town04_overpass.webp b/Docs/img/catalogue/maps/town04/town04_overpass.webp new file mode 100644 index 00000000000..d97aa3aac8b Binary files /dev/null and b/Docs/img/catalogue/maps/town04/town04_overpass.webp differ diff --git a/Docs/img/catalogue/maps/town04/town04_streets.webp b/Docs/img/catalogue/maps/town04/town04_streets.webp new file mode 100644 index 00000000000..2cfc2d7132b Binary files /dev/null and b/Docs/img/catalogue/maps/town04/town04_streets.webp differ diff --git a/Docs/img/catalogue/maps/town04/town04aerial.webp b/Docs/img/catalogue/maps/town04/town04aerial.webp new file mode 100644 index 00000000000..e190a396e9e Binary files /dev/null and b/Docs/img/catalogue/maps/town04/town04aerial.webp differ diff --git a/Docs/img/catalogue/maps/town05/town05_carpark.webp b/Docs/img/catalogue/maps/town05/town05_carpark.webp new file mode 100644 index 00000000000..6c621f86b3e Binary files /dev/null and b/Docs/img/catalogue/maps/town05/town05_carpark.webp differ diff --git a/Docs/img/catalogue/maps/town05/town05_offices.webp b/Docs/img/catalogue/maps/town05/town05_offices.webp new file mode 100644 index 00000000000..51d37ca85a2 Binary files /dev/null and b/Docs/img/catalogue/maps/town05/town05_offices.webp differ diff --git a/Docs/img/catalogue/maps/town05/town05_panorama.webp b/Docs/img/catalogue/maps/town05/town05_panorama.webp new file mode 100644 index 00000000000..f85a70e7637 Binary files /dev/null and b/Docs/img/catalogue/maps/town05/town05_panorama.webp differ diff --git a/Docs/img/catalogue/maps/town05/town05_roads.webp b/Docs/img/catalogue/maps/town05/town05_roads.webp new file mode 100644 index 00000000000..a62d1f9aa69 Binary files /dev/null and b/Docs/img/catalogue/maps/town05/town05_roads.webp differ diff --git a/Docs/img/catalogue/maps/town05/town05_under_buildings.webp b/Docs/img/catalogue/maps/town05/town05_under_buildings.webp new file mode 100644 index 00000000000..83003eac7cd Binary files /dev/null and b/Docs/img/catalogue/maps/town05/town05_under_buildings.webp differ diff --git a/Docs/img/catalogue/maps/town05/town05_under_construction.webp b/Docs/img/catalogue/maps/town05/town05_under_construction.webp new file mode 100644 index 00000000000..e4059d00848 Binary files /dev/null and b/Docs/img/catalogue/maps/town05/town05_under_construction.webp differ diff --git a/Docs/img/catalogue/maps/town05/town05aerial.webp b/Docs/img/catalogue/maps/town05/town05aerial.webp new file mode 100644 index 00000000000..9cee5a8a0e4 Binary files /dev/null and b/Docs/img/catalogue/maps/town05/town05aerial.webp differ diff --git a/Docs/img/catalogue/maps/town06/town06_junctions.webp b/Docs/img/catalogue/maps/town06/town06_junctions.webp new file mode 100644 index 00000000000..ec1ecbdbb80 Binary files /dev/null and b/Docs/img/catalogue/maps/town06/town06_junctions.webp differ diff --git a/Docs/img/catalogue/maps/town06/town06_roads.webp b/Docs/img/catalogue/maps/town06/town06_roads.webp new file mode 100644 index 00000000000..8a504946d2e Binary files /dev/null and b/Docs/img/catalogue/maps/town06/town06_roads.webp differ diff --git a/Docs/img/catalogue/maps/town06/town06_slideshow.webp b/Docs/img/catalogue/maps/town06/town06_slideshow.webp new file mode 100644 index 00000000000..14ac467e9d9 Binary files /dev/null and b/Docs/img/catalogue/maps/town06/town06_slideshow.webp differ diff --git a/Docs/img/catalogue/maps/town06/town06aerial.webp b/Docs/img/catalogue/maps/town06/town06aerial.webp new file mode 100644 index 00000000000..333a45c237c Binary files /dev/null and b/Docs/img/catalogue/maps/town06/town06aerial.webp differ diff --git a/Docs/img/catalogue/maps/town07/town07_corn.webp b/Docs/img/catalogue/maps/town07/town07_corn.webp new file mode 100644 index 00000000000..2ca63792b9c Binary files /dev/null and b/Docs/img/catalogue/maps/town07/town07_corn.webp differ diff --git a/Docs/img/catalogue/maps/town07/town07_residential.webp b/Docs/img/catalogue/maps/town07/town07_residential.webp new file mode 100644 index 00000000000..d56017e91f2 Binary files /dev/null and b/Docs/img/catalogue/maps/town07/town07_residential.webp differ diff --git a/Docs/img/catalogue/maps/town07/town07_slideshow.webp b/Docs/img/catalogue/maps/town07/town07_slideshow.webp new file mode 100644 index 00000000000..54588a23abb Binary files /dev/null and b/Docs/img/catalogue/maps/town07/town07_slideshow.webp differ diff --git a/Docs/img/catalogue/maps/town07/town07_water.webp b/Docs/img/catalogue/maps/town07/town07_water.webp new file mode 100644 index 00000000000..f6422c20f25 Binary files /dev/null and b/Docs/img/catalogue/maps/town07/town07_water.webp differ diff --git a/Docs/img/catalogue/maps/town07/town07_windmill_silo.webp b/Docs/img/catalogue/maps/town07/town07_windmill_silo.webp new file mode 100644 index 00000000000..cc871ad6f71 Binary files /dev/null and b/Docs/img/catalogue/maps/town07/town07_windmill_silo.webp differ diff --git a/Docs/img/catalogue/maps/town07/town07aerial.webp b/Docs/img/catalogue/maps/town07/town07aerial.webp new file mode 100644 index 00000000000..3f9d59abb0d Binary files /dev/null and b/Docs/img/catalogue/maps/town07/town07aerial.webp differ diff --git a/Docs/img/catalogue/maps/town10/boulevard.webp b/Docs/img/catalogue/maps/town10/boulevard.webp new file mode 100644 index 00000000000..61a32bb9c2e Binary files /dev/null and b/Docs/img/catalogue/maps/town10/boulevard.webp differ diff --git a/Docs/img/catalogue/maps/town10/museum.webp b/Docs/img/catalogue/maps/town10/museum.webp new file mode 100644 index 00000000000..a3fbc45eca5 Binary files /dev/null and b/Docs/img/catalogue/maps/town10/museum.webp differ diff --git a/Docs/img/catalogue/maps/town10/promenade.webp b/Docs/img/catalogue/maps/town10/promenade.webp new file mode 100644 index 00000000000..1717cc6fcf7 Binary files /dev/null and b/Docs/img/catalogue/maps/town10/promenade.webp differ diff --git a/Docs/img/catalogue/maps/town10/skyscrapers.webp b/Docs/img/catalogue/maps/town10/skyscrapers.webp new file mode 100644 index 00000000000..c64e7d17a00 Binary files /dev/null and b/Docs/img/catalogue/maps/town10/skyscrapers.webp differ diff --git a/Docs/img/catalogue/maps/town10/skyscrapers1.webp b/Docs/img/catalogue/maps/town10/skyscrapers1.webp new file mode 100644 index 00000000000..95653fe71ef Binary files /dev/null and b/Docs/img/catalogue/maps/town10/skyscrapers1.webp differ diff --git a/Docs/img/catalogue/maps/town10/town10.webp b/Docs/img/catalogue/maps/town10/town10.webp new file mode 100644 index 00000000000..c1f681515d9 Binary files /dev/null and b/Docs/img/catalogue/maps/town10/town10.webp differ diff --git a/Docs/img/catalogue/maps/town10/town10aerial.webp b/Docs/img/catalogue/maps/town10/town10aerial.webp new file mode 100644 index 00000000000..7f355b0cf48 Binary files /dev/null and b/Docs/img/catalogue/maps/town10/town10aerial.webp differ diff --git a/Docs/img/catalogue/maps/town10/yellow_box.webp b/Docs/img/catalogue/maps/town10/yellow_box.webp new file mode 100644 index 00000000000..3bc864f4f2e Binary files /dev/null and b/Docs/img/catalogue/maps/town10/yellow_box.webp differ diff --git a/Docs/img/catalogue/maps/town11/town11.webp b/Docs/img/catalogue/maps/town11/town11.webp new file mode 100644 index 00000000000..54411cf6ef2 Binary files /dev/null and b/Docs/img/catalogue/maps/town11/town11.webp differ diff --git a/Docs/img/catalogue/maps/town12/community.webp b/Docs/img/catalogue/maps/town12/community.webp new file mode 100644 index 00000000000..3c03e2a6dbe Binary files /dev/null and b/Docs/img/catalogue/maps/town12/community.webp differ diff --git a/Docs/img/catalogue/maps/town12/hi_dens_res.webp b/Docs/img/catalogue/maps/town12/hi_dens_res.webp new file mode 100644 index 00000000000..8726fb20dba Binary files /dev/null and b/Docs/img/catalogue/maps/town12/hi_dens_res.webp differ diff --git a/Docs/img/catalogue/maps/town12/high_rise.webp b/Docs/img/catalogue/maps/town12/high_rise.webp new file mode 100644 index 00000000000..0be70875246 Binary files /dev/null and b/Docs/img/catalogue/maps/town12/high_rise.webp differ diff --git a/Docs/img/catalogue/maps/town12/highway.webp b/Docs/img/catalogue/maps/town12/highway.webp new file mode 100644 index 00000000000..8cabd8af20a Binary files /dev/null and b/Docs/img/catalogue/maps/town12/highway.webp differ diff --git a/Docs/img/catalogue/maps/town12/low_dens_res.webp b/Docs/img/catalogue/maps/town12/low_dens_res.webp new file mode 100644 index 00000000000..b9638030c3b Binary files /dev/null and b/Docs/img/catalogue/maps/town12/low_dens_res.webp differ diff --git a/Docs/img/catalogue/maps/town12/parks.webp b/Docs/img/catalogue/maps/town12/parks.webp new file mode 100644 index 00000000000..47f6d778956 Binary files /dev/null and b/Docs/img/catalogue/maps/town12/parks.webp differ diff --git a/Docs/img/catalogue/maps/town12/rural.webp b/Docs/img/catalogue/maps/town12/rural.webp new file mode 100644 index 00000000000..ad56ab65922 Binary files /dev/null and b/Docs/img/catalogue/maps/town12/rural.webp differ diff --git a/Docs/img/catalogue/maps/town12/town12.webp b/Docs/img/catalogue/maps/town12/town12.webp new file mode 100644 index 00000000000..3c5391102ff Binary files /dev/null and b/Docs/img/catalogue/maps/town12/town12.webp differ diff --git a/Docs/img/catalogue/maps/town12/town12roadrunner.webp b/Docs/img/catalogue/maps/town12/town12roadrunner.webp new file mode 100644 index 00000000000..838f231f71b Binary files /dev/null and b/Docs/img/catalogue/maps/town12/town12roadrunner.webp differ diff --git a/Docs/img/catalogue/maps/town12/water.webp b/Docs/img/catalogue/maps/town12/water.webp new file mode 100644 index 00000000000..8211a446c09 Binary files /dev/null and b/Docs/img/catalogue/maps/town12/water.webp differ diff --git a/Docs/img/catalogue/maps/town13/community.webp b/Docs/img/catalogue/maps/town13/community.webp new file mode 100644 index 00000000000..c49ee2945fb Binary files /dev/null and b/Docs/img/catalogue/maps/town13/community.webp differ diff --git a/Docs/img/catalogue/maps/town13/high_dens_res.webp b/Docs/img/catalogue/maps/town13/high_dens_res.webp new file mode 100644 index 00000000000..814939eb2fa Binary files /dev/null and b/Docs/img/catalogue/maps/town13/high_dens_res.webp differ diff --git a/Docs/img/catalogue/maps/town13/high_rise.webp b/Docs/img/catalogue/maps/town13/high_rise.webp new file mode 100644 index 00000000000..6bbcb66dabe Binary files /dev/null and b/Docs/img/catalogue/maps/town13/high_rise.webp differ diff --git a/Docs/img/catalogue/maps/town13/highway.webp b/Docs/img/catalogue/maps/town13/highway.webp new file mode 100644 index 00000000000..7c777cf6722 Binary files /dev/null and b/Docs/img/catalogue/maps/town13/highway.webp differ diff --git a/Docs/img/catalogue/maps/town13/low_dens_res.webp b/Docs/img/catalogue/maps/town13/low_dens_res.webp new file mode 100644 index 00000000000..db61f008323 Binary files /dev/null and b/Docs/img/catalogue/maps/town13/low_dens_res.webp differ diff --git a/Docs/img/catalogue/maps/town13/parks.webp b/Docs/img/catalogue/maps/town13/parks.webp new file mode 100644 index 00000000000..1c599a66f9c Binary files /dev/null and b/Docs/img/catalogue/maps/town13/parks.webp differ diff --git a/Docs/img/catalogue/maps/town13/rural.webp b/Docs/img/catalogue/maps/town13/rural.webp new file mode 100644 index 00000000000..852d10dcec0 Binary files /dev/null and b/Docs/img/catalogue/maps/town13/rural.webp differ diff --git a/Docs/img/catalogue/maps/town13/town13montage.webp b/Docs/img/catalogue/maps/town13/town13montage.webp new file mode 100644 index 00000000000..97abaeb36a7 Binary files /dev/null and b/Docs/img/catalogue/maps/town13/town13montage.webp differ diff --git a/Docs/img/catalogue/maps/town13/town13roadrunner.webp b/Docs/img/catalogue/maps/town13/town13roadrunner.webp new file mode 100644 index 00000000000..e1830c42b19 Binary files /dev/null and b/Docs/img/catalogue/maps/town13/town13roadrunner.webp differ diff --git a/Docs/img/catalogue/maps/town13/water.webp b/Docs/img/catalogue/maps/town13/water.webp new file mode 100644 index 00000000000..2e01d2ebf70 Binary files /dev/null and b/Docs/img/catalogue/maps/town13/water.webp differ diff --git a/Docs/img/catalogue/maps/town15/cvc.png b/Docs/img/catalogue/maps/town15/cvc.png new file mode 100644 index 00000000000..1e99882e9ff Binary files /dev/null and b/Docs/img/catalogue/maps/town15/cvc.png differ diff --git a/Docs/img/catalogue/maps/town15/library.png b/Docs/img/catalogue/maps/town15/library.png new file mode 100644 index 00000000000..e494659fff3 Binary files /dev/null and b/Docs/img/catalogue/maps/town15/library.png differ diff --git a/Docs/img/catalogue/maps/town15/town15montage.webp b/Docs/img/catalogue/maps/town15/town15montage.webp new file mode 100644 index 00000000000..d314122a052 Binary files /dev/null and b/Docs/img/catalogue/maps/town15/town15montage.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0001.webp b/Docs/img/catalogue/pedestrians/pedestrian_0001.webp new file mode 100644 index 00000000000..b14cd02265d Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0001.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0002.webp b/Docs/img/catalogue/pedestrians/pedestrian_0002.webp new file mode 100644 index 00000000000..61f7289f7a8 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0002.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0003.webp b/Docs/img/catalogue/pedestrians/pedestrian_0003.webp new file mode 100644 index 00000000000..09f7fbc7a06 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0003.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0004.webp b/Docs/img/catalogue/pedestrians/pedestrian_0004.webp new file mode 100644 index 00000000000..d4efee87fba Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0004.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0005.webp b/Docs/img/catalogue/pedestrians/pedestrian_0005.webp new file mode 100644 index 00000000000..7a261dc766d Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0005.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0006.webp b/Docs/img/catalogue/pedestrians/pedestrian_0006.webp new file mode 100644 index 00000000000..6eb29083cc5 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0006.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0007.webp b/Docs/img/catalogue/pedestrians/pedestrian_0007.webp new file mode 100644 index 00000000000..ce4565beb22 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0007.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0008.webp b/Docs/img/catalogue/pedestrians/pedestrian_0008.webp new file mode 100644 index 00000000000..33338faae44 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0008.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0009.webp b/Docs/img/catalogue/pedestrians/pedestrian_0009.webp new file mode 100644 index 00000000000..deda31575d0 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0009.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0010.webp b/Docs/img/catalogue/pedestrians/pedestrian_0010.webp new file mode 100644 index 00000000000..12c617b20a9 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0010.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0011.webp b/Docs/img/catalogue/pedestrians/pedestrian_0011.webp new file mode 100644 index 00000000000..0c3a748483a Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0011.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0012.webp b/Docs/img/catalogue/pedestrians/pedestrian_0012.webp new file mode 100644 index 00000000000..5afd2f5472a Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0012.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0013.webp b/Docs/img/catalogue/pedestrians/pedestrian_0013.webp new file mode 100644 index 00000000000..265f2b5a4cc Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0013.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0014.webp b/Docs/img/catalogue/pedestrians/pedestrian_0014.webp new file mode 100644 index 00000000000..5fa9d3d582b Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0014.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0015.webp b/Docs/img/catalogue/pedestrians/pedestrian_0015.webp new file mode 100644 index 00000000000..2038c5f77e2 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0015.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0016.webp b/Docs/img/catalogue/pedestrians/pedestrian_0016.webp new file mode 100644 index 00000000000..c4ca7462a2f Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0016.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0017.webp b/Docs/img/catalogue/pedestrians/pedestrian_0017.webp new file mode 100644 index 00000000000..fb07af4b745 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0017.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0018.webp b/Docs/img/catalogue/pedestrians/pedestrian_0018.webp new file mode 100644 index 00000000000..5d9550e171f Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0018.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0019.webp b/Docs/img/catalogue/pedestrians/pedestrian_0019.webp new file mode 100644 index 00000000000..6f2a8b6e309 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0019.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0020.webp b/Docs/img/catalogue/pedestrians/pedestrian_0020.webp new file mode 100644 index 00000000000..e60fac6b0da Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0020.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0021.webp b/Docs/img/catalogue/pedestrians/pedestrian_0021.webp new file mode 100644 index 00000000000..2d448a79d79 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0021.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0022.webp b/Docs/img/catalogue/pedestrians/pedestrian_0022.webp new file mode 100644 index 00000000000..9bddf962aaf Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0022.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0023.webp b/Docs/img/catalogue/pedestrians/pedestrian_0023.webp new file mode 100644 index 00000000000..4498fdf6b78 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0023.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0024.webp b/Docs/img/catalogue/pedestrians/pedestrian_0024.webp new file mode 100644 index 00000000000..00ad532927f Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0024.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0025.webp b/Docs/img/catalogue/pedestrians/pedestrian_0025.webp new file mode 100644 index 00000000000..77613138499 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0025.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0026.webp b/Docs/img/catalogue/pedestrians/pedestrian_0026.webp new file mode 100644 index 00000000000..c339db06718 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0026.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0027.webp b/Docs/img/catalogue/pedestrians/pedestrian_0027.webp new file mode 100644 index 00000000000..fe44889d9ed Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0027.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0028.webp b/Docs/img/catalogue/pedestrians/pedestrian_0028.webp new file mode 100644 index 00000000000..9f68de5d22d Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0028.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0029.webp b/Docs/img/catalogue/pedestrians/pedestrian_0029.webp new file mode 100644 index 00000000000..f7362077dcb Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0029.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0030.webp b/Docs/img/catalogue/pedestrians/pedestrian_0030.webp new file mode 100644 index 00000000000..97e8cced022 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0030.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0031.webp b/Docs/img/catalogue/pedestrians/pedestrian_0031.webp new file mode 100644 index 00000000000..f5091f2a21a Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0031.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0032.webp b/Docs/img/catalogue/pedestrians/pedestrian_0032.webp new file mode 100644 index 00000000000..63c0589af1f Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0032.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0033.webp b/Docs/img/catalogue/pedestrians/pedestrian_0033.webp new file mode 100644 index 00000000000..477d3e5dbed Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0033.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0034.webp b/Docs/img/catalogue/pedestrians/pedestrian_0034.webp new file mode 100644 index 00000000000..71be01bf353 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0034.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0035.webp b/Docs/img/catalogue/pedestrians/pedestrian_0035.webp new file mode 100644 index 00000000000..5f34006c9f4 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0035.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0036.webp b/Docs/img/catalogue/pedestrians/pedestrian_0036.webp new file mode 100644 index 00000000000..916fd850897 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0036.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0037.webp b/Docs/img/catalogue/pedestrians/pedestrian_0037.webp new file mode 100644 index 00000000000..e2fb6683213 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0037.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0038.webp b/Docs/img/catalogue/pedestrians/pedestrian_0038.webp new file mode 100644 index 00000000000..3c410d8eecc Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0038.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0039.webp b/Docs/img/catalogue/pedestrians/pedestrian_0039.webp new file mode 100644 index 00000000000..3b4ae905759 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0039.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0040.webp b/Docs/img/catalogue/pedestrians/pedestrian_0040.webp new file mode 100644 index 00000000000..c428188c3ca Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0040.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0041.webp b/Docs/img/catalogue/pedestrians/pedestrian_0041.webp new file mode 100644 index 00000000000..eaeed555fce Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0041.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0042.webp b/Docs/img/catalogue/pedestrians/pedestrian_0042.webp new file mode 100644 index 00000000000..00c2a5316a5 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0042.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0043.webp b/Docs/img/catalogue/pedestrians/pedestrian_0043.webp new file mode 100644 index 00000000000..120b84f1420 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0043.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0044.webp b/Docs/img/catalogue/pedestrians/pedestrian_0044.webp new file mode 100644 index 00000000000..93f685e850f Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0044.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0045.webp b/Docs/img/catalogue/pedestrians/pedestrian_0045.webp new file mode 100644 index 00000000000..2a4248c2ab0 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0045.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0046.webp b/Docs/img/catalogue/pedestrians/pedestrian_0046.webp new file mode 100644 index 00000000000..0b492b68680 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0046.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0047.webp b/Docs/img/catalogue/pedestrians/pedestrian_0047.webp new file mode 100644 index 00000000000..d71077c22b9 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0047.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0048.webp b/Docs/img/catalogue/pedestrians/pedestrian_0048.webp new file mode 100644 index 00000000000..589312ab451 Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0048.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrian_0049.webp b/Docs/img/catalogue/pedestrians/pedestrian_0049.webp new file mode 100644 index 00000000000..55345120b7a Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrian_0049.webp differ diff --git a/Docs/img/catalogue/pedestrians/pedestrians_overview.webp b/Docs/img/catalogue/pedestrians/pedestrians_overview.webp new file mode 100644 index 00000000000..ce98abb8fea Binary files /dev/null and b/Docs/img/catalogue/pedestrians/pedestrians_overview.webp differ diff --git a/Docs/img/catalogue/props/props_overview.webp b/Docs/img/catalogue/props/props_overview.webp new file mode 100644 index 00000000000..6aef61f09b0 Binary files /dev/null and b/Docs/img/catalogue/props/props_overview.webp differ diff --git a/Docs/img/catalogue/props/static_prop_advertisement.webp b/Docs/img/catalogue/props/static_prop_advertisement.webp new file mode 100644 index 00000000000..05f699c6113 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_advertisement.webp differ diff --git a/Docs/img/catalogue/props/static_prop_atm.webp b/Docs/img/catalogue/props/static_prop_atm.webp new file mode 100644 index 00000000000..5fb3a73d7c4 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_atm.webp differ diff --git a/Docs/img/catalogue/props/static_prop_barbeque.webp b/Docs/img/catalogue/props/static_prop_barbeque.webp new file mode 100644 index 00000000000..9cb98a4c44a Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_barbeque.webp differ diff --git a/Docs/img/catalogue/props/static_prop_barrel.webp b/Docs/img/catalogue/props/static_prop_barrel.webp new file mode 100644 index 00000000000..6b0e5b56846 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_barrel.webp differ diff --git a/Docs/img/catalogue/props/static_prop_bench01.webp b/Docs/img/catalogue/props/static_prop_bench01.webp new file mode 100644 index 00000000000..f4e8f99e61a Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_bench01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_bench02.webp b/Docs/img/catalogue/props/static_prop_bench02.webp new file mode 100644 index 00000000000..865bbe5924e Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_bench02.webp differ diff --git a/Docs/img/catalogue/props/static_prop_bench03.webp b/Docs/img/catalogue/props/static_prop_bench03.webp new file mode 100644 index 00000000000..c59720005fc Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_bench03.webp differ diff --git a/Docs/img/catalogue/props/static_prop_bike helmet.webp b/Docs/img/catalogue/props/static_prop_bike helmet.webp new file mode 100644 index 00000000000..242f7395b2b Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_bike helmet.webp differ diff --git a/Docs/img/catalogue/props/static_prop_bin.webp b/Docs/img/catalogue/props/static_prop_bin.webp new file mode 100644 index 00000000000..7ef4429c010 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_bin.webp differ diff --git a/Docs/img/catalogue/props/static_prop_box01.webp b/Docs/img/catalogue/props/static_prop_box01.webp new file mode 100644 index 00000000000..484db38ad23 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_box01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_box02.webp b/Docs/img/catalogue/props/static_prop_box02.webp new file mode 100644 index 00000000000..ee0f12cf05a Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_box02.webp differ diff --git a/Docs/img/catalogue/props/static_prop_box03.webp b/Docs/img/catalogue/props/static_prop_box03.webp new file mode 100644 index 00000000000..6f2eb5e0788 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_box03.webp differ diff --git a/Docs/img/catalogue/props/static_prop_briefcase.webp b/Docs/img/catalogue/props/static_prop_briefcase.webp new file mode 100644 index 00000000000..33a44fb501b Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_briefcase.webp differ diff --git a/Docs/img/catalogue/props/static_prop_brokentile01.webp b/Docs/img/catalogue/props/static_prop_brokentile01.webp new file mode 100644 index 00000000000..f97f0931ffa Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_brokentile01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_brokentile02.webp b/Docs/img/catalogue/props/static_prop_brokentile02.webp new file mode 100644 index 00000000000..383046c8c05 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_brokentile02.webp differ diff --git a/Docs/img/catalogue/props/static_prop_brokentile03.webp b/Docs/img/catalogue/props/static_prop_brokentile03.webp new file mode 100644 index 00000000000..c836c55020e Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_brokentile03.webp differ diff --git a/Docs/img/catalogue/props/static_prop_brokentile04.webp b/Docs/img/catalogue/props/static_prop_brokentile04.webp new file mode 100644 index 00000000000..a4a2a0ade56 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_brokentile04.webp differ diff --git a/Docs/img/catalogue/props/static_prop_busstop.webp b/Docs/img/catalogue/props/static_prop_busstop.webp new file mode 100644 index 00000000000..aabf119edbf Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_busstop.webp differ diff --git a/Docs/img/catalogue/props/static_prop_busstoplb.webp b/Docs/img/catalogue/props/static_prop_busstoplb.webp new file mode 100644 index 00000000000..1bc1f10835c Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_busstoplb.webp differ diff --git a/Docs/img/catalogue/props/static_prop_calibrator.webp b/Docs/img/catalogue/props/static_prop_calibrator.webp new file mode 100644 index 00000000000..173469337f7 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_calibrator.webp differ diff --git a/Docs/img/catalogue/props/static_prop_chainbarrier.webp b/Docs/img/catalogue/props/static_prop_chainbarrier.webp new file mode 100644 index 00000000000..590b0386034 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_chainbarrier.webp differ diff --git a/Docs/img/catalogue/props/static_prop_chainbarrierend.webp b/Docs/img/catalogue/props/static_prop_chainbarrierend.webp new file mode 100644 index 00000000000..1fd3437e732 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_chainbarrierend.webp differ diff --git a/Docs/img/catalogue/props/static_prop_clothcontainer.webp b/Docs/img/catalogue/props/static_prop_clothcontainer.webp new file mode 100644 index 00000000000..e6a084bb969 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_clothcontainer.webp differ diff --git a/Docs/img/catalogue/props/static_prop_clothesline.webp b/Docs/img/catalogue/props/static_prop_clothesline.webp new file mode 100644 index 00000000000..a9eca1784cd Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_clothesline.webp differ diff --git a/Docs/img/catalogue/props/static_prop_colacan.webp b/Docs/img/catalogue/props/static_prop_colacan.webp new file mode 100644 index 00000000000..65aed703104 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_colacan.webp differ diff --git a/Docs/img/catalogue/props/static_prop_constructioncone.webp b/Docs/img/catalogue/props/static_prop_constructioncone.webp new file mode 100644 index 00000000000..1759be6d0f6 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_constructioncone.webp differ diff --git a/Docs/img/catalogue/props/static_prop_container.webp b/Docs/img/catalogue/props/static_prop_container.webp new file mode 100644 index 00000000000..4c2f0752150 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_container.webp differ diff --git a/Docs/img/catalogue/props/static_prop_creasedbox01.webp b/Docs/img/catalogue/props/static_prop_creasedbox01.webp new file mode 100644 index 00000000000..2549d84ddbe Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_creasedbox01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_creasedbox02.webp b/Docs/img/catalogue/props/static_prop_creasedbox02.webp new file mode 100644 index 00000000000..733de8bef2a Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_creasedbox02.webp differ diff --git a/Docs/img/catalogue/props/static_prop_creasedbox03.webp b/Docs/img/catalogue/props/static_prop_creasedbox03.webp new file mode 100644 index 00000000000..94ab502f609 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_creasedbox03.webp differ diff --git a/Docs/img/catalogue/props/static_prop_dirtdebris01.webp b/Docs/img/catalogue/props/static_prop_dirtdebris01.webp new file mode 100644 index 00000000000..ed30f74c768 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_dirtdebris01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_dirtdebris02.webp b/Docs/img/catalogue/props/static_prop_dirtdebris02.webp new file mode 100644 index 00000000000..007e451e664 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_dirtdebris02.webp differ diff --git a/Docs/img/catalogue/props/static_prop_dirtdebris03.webp b/Docs/img/catalogue/props/static_prop_dirtdebris03.webp new file mode 100644 index 00000000000..73204584aa1 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_dirtdebris03.webp differ diff --git a/Docs/img/catalogue/props/static_prop_doghouse.webp b/Docs/img/catalogue/props/static_prop_doghouse.webp new file mode 100644 index 00000000000..7d045221f8b Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_doghouse.webp differ diff --git a/Docs/img/catalogue/props/static_prop_foodcart.webp b/Docs/img/catalogue/props/static_prop_foodcart.webp new file mode 100644 index 00000000000..27a8337d424 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_foodcart.webp differ diff --git a/Docs/img/catalogue/props/static_prop_fountain.webp b/Docs/img/catalogue/props/static_prop_fountain.webp new file mode 100644 index 00000000000..56e800982c3 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_fountain.webp differ diff --git a/Docs/img/catalogue/props/static_prop_garbage01.webp b/Docs/img/catalogue/props/static_prop_garbage01.webp new file mode 100644 index 00000000000..fd3da6f839b Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_garbage01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_garbage02.webp b/Docs/img/catalogue/props/static_prop_garbage02.webp new file mode 100644 index 00000000000..1489d2e1b0e Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_garbage02.webp differ diff --git a/Docs/img/catalogue/props/static_prop_garbage03.webp b/Docs/img/catalogue/props/static_prop_garbage03.webp new file mode 100644 index 00000000000..d3bbdbbc83b Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_garbage03.webp differ diff --git a/Docs/img/catalogue/props/static_prop_garbage04.webp b/Docs/img/catalogue/props/static_prop_garbage04.webp new file mode 100644 index 00000000000..00dcd4d4f05 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_garbage04.webp differ diff --git a/Docs/img/catalogue/props/static_prop_garbage05.webp b/Docs/img/catalogue/props/static_prop_garbage05.webp new file mode 100644 index 00000000000..5dc2b13f53c Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_garbage05.webp differ diff --git a/Docs/img/catalogue/props/static_prop_garbage06.webp b/Docs/img/catalogue/props/static_prop_garbage06.webp new file mode 100644 index 00000000000..14a2b657ea5 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_garbage06.webp differ diff --git a/Docs/img/catalogue/props/static_prop_gardenlamp.webp b/Docs/img/catalogue/props/static_prop_gardenlamp.webp new file mode 100644 index 00000000000..b055591f7e3 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_gardenlamp.webp differ diff --git a/Docs/img/catalogue/props/static_prop_glasscontainer.webp b/Docs/img/catalogue/props/static_prop_glasscontainer.webp new file mode 100644 index 00000000000..2732b66c30e Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_glasscontainer.webp differ diff --git a/Docs/img/catalogue/props/static_prop_gnome.webp b/Docs/img/catalogue/props/static_prop_gnome.webp new file mode 100644 index 00000000000..489d41afd8c Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_gnome.webp differ diff --git a/Docs/img/catalogue/props/static_prop_guitarcase.webp b/Docs/img/catalogue/props/static_prop_guitarcase.webp new file mode 100644 index 00000000000..bf42c4da05a Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_guitarcase.webp differ diff --git a/Docs/img/catalogue/props/static_prop_haybale.webp b/Docs/img/catalogue/props/static_prop_haybale.webp new file mode 100644 index 00000000000..b6acea48cdf Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_haybale.webp differ diff --git a/Docs/img/catalogue/props/static_prop_haybalelb.webp b/Docs/img/catalogue/props/static_prop_haybalelb.webp new file mode 100644 index 00000000000..b877b81bb58 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_haybalelb.webp differ diff --git a/Docs/img/catalogue/props/static_prop_ironplank.webp b/Docs/img/catalogue/props/static_prop_ironplank.webp new file mode 100644 index 00000000000..ed7eca4ed75 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_ironplank.webp differ diff --git a/Docs/img/catalogue/props/static_prop_kiosk_01.webp b/Docs/img/catalogue/props/static_prop_kiosk_01.webp new file mode 100644 index 00000000000..5097b382750 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_kiosk_01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_mailbox.webp b/Docs/img/catalogue/props/static_prop_mailbox.webp new file mode 100644 index 00000000000..42534fb19f7 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_mailbox.webp differ diff --git a/Docs/img/catalogue/props/static_prop_maptable.webp b/Docs/img/catalogue/props/static_prop_maptable.webp new file mode 100644 index 00000000000..32a2f6f9a94 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_maptable.webp differ diff --git a/Docs/img/catalogue/props/static_prop_mobile.webp b/Docs/img/catalogue/props/static_prop_mobile.webp new file mode 100644 index 00000000000..df91e79470e Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_mobile.webp differ diff --git a/Docs/img/catalogue/props/static_prop_motorhelmet.webp b/Docs/img/catalogue/props/static_prop_motorhelmet.webp new file mode 100644 index 00000000000..a06f5383bc6 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_motorhelmet.webp differ diff --git a/Docs/img/catalogue/props/static_prop_pergola.webp b/Docs/img/catalogue/props/static_prop_pergola.webp new file mode 100644 index 00000000000..83690a485e8 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_pergola.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plantpot01.webp b/Docs/img/catalogue/props/static_prop_plantpot01.webp new file mode 100644 index 00000000000..e7f1c791e1b Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plantpot01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plantpot02.webp b/Docs/img/catalogue/props/static_prop_plantpot02.webp new file mode 100644 index 00000000000..e5e86d24ff3 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plantpot02.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plantpot03.webp b/Docs/img/catalogue/props/static_prop_plantpot03.webp new file mode 100644 index 00000000000..baeae39f669 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plantpot03.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plantpot04.webp b/Docs/img/catalogue/props/static_prop_plantpot04.webp new file mode 100644 index 00000000000..0962c78ca2d Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plantpot04.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plantpot05.webp b/Docs/img/catalogue/props/static_prop_plantpot05.webp new file mode 100644 index 00000000000..422783d9255 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plantpot05.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plantpot06.webp b/Docs/img/catalogue/props/static_prop_plantpot06.webp new file mode 100644 index 00000000000..5a2cef71345 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plantpot06.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plantpot07.webp b/Docs/img/catalogue/props/static_prop_plantpot07.webp new file mode 100644 index 00000000000..099a139b32e Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plantpot07.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plantpot08.webp b/Docs/img/catalogue/props/static_prop_plantpot08.webp new file mode 100644 index 00000000000..d28c2b631f4 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plantpot08.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plasticbag.webp b/Docs/img/catalogue/props/static_prop_plasticbag.webp new file mode 100644 index 00000000000..cde614eff84 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plasticbag.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plasticchair.webp b/Docs/img/catalogue/props/static_prop_plasticchair.webp new file mode 100644 index 00000000000..34190c9e1e1 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plasticchair.webp differ diff --git a/Docs/img/catalogue/props/static_prop_plastictable.webp b/Docs/img/catalogue/props/static_prop_plastictable.webp new file mode 100644 index 00000000000..fb8f4a6d2b7 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_plastictable.webp differ diff --git a/Docs/img/catalogue/props/static_prop_platformgarbage01.webp b/Docs/img/catalogue/props/static_prop_platformgarbage01.webp new file mode 100644 index 00000000000..4d04c77957a Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_platformgarbage01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_purse.webp b/Docs/img/catalogue/props/static_prop_purse.webp new file mode 100644 index 00000000000..c1402b70c42 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_purse.webp differ diff --git a/Docs/img/catalogue/props/static_prop_shoppingbag.webp b/Docs/img/catalogue/props/static_prop_shoppingbag.webp new file mode 100644 index 00000000000..b9a4113bdab Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_shoppingbag.webp differ diff --git a/Docs/img/catalogue/props/static_prop_shoppingcart.webp b/Docs/img/catalogue/props/static_prop_shoppingcart.webp new file mode 100644 index 00000000000..c48bf193462 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_shoppingcart.webp differ diff --git a/Docs/img/catalogue/props/static_prop_shoppingtrolley.webp b/Docs/img/catalogue/props/static_prop_shoppingtrolley.webp new file mode 100644 index 00000000000..4d228be54d5 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_shoppingtrolley.webp differ diff --git a/Docs/img/catalogue/props/static_prop_slide.webp b/Docs/img/catalogue/props/static_prop_slide.webp new file mode 100644 index 00000000000..4ddd2133c23 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_slide.webp differ diff --git a/Docs/img/catalogue/props/static_prop_streetbarrier.webp b/Docs/img/catalogue/props/static_prop_streetbarrier.webp new file mode 100644 index 00000000000..2b77c62554f Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_streetbarrier.webp differ diff --git a/Docs/img/catalogue/props/static_prop_streetfountain.webp b/Docs/img/catalogue/props/static_prop_streetfountain.webp new file mode 100644 index 00000000000..49c513d0368 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_streetfountain.webp differ diff --git a/Docs/img/catalogue/props/static_prop_streetsign.webp b/Docs/img/catalogue/props/static_prop_streetsign.webp new file mode 100644 index 00000000000..9f4a5f22cfb Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_streetsign.webp differ diff --git a/Docs/img/catalogue/props/static_prop_streetsign01.webp b/Docs/img/catalogue/props/static_prop_streetsign01.webp new file mode 100644 index 00000000000..fde8b245264 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_streetsign01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_streetsign04.webp b/Docs/img/catalogue/props/static_prop_streetsign04.webp new file mode 100644 index 00000000000..34e615c8145 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_streetsign04.webp differ diff --git a/Docs/img/catalogue/props/static_prop_swing.webp b/Docs/img/catalogue/props/static_prop_swing.webp new file mode 100644 index 00000000000..114ab4cf66e Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_swing.webp differ diff --git a/Docs/img/catalogue/props/static_prop_swingcouch.webp b/Docs/img/catalogue/props/static_prop_swingcouch.webp new file mode 100644 index 00000000000..70c21475393 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_swingcouch.webp differ diff --git a/Docs/img/catalogue/props/static_prop_table.webp b/Docs/img/catalogue/props/static_prop_table.webp new file mode 100644 index 00000000000..5609d2e6297 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_table.webp differ diff --git a/Docs/img/catalogue/props/static_prop_trafficcone01.webp b/Docs/img/catalogue/props/static_prop_trafficcone01.webp new file mode 100644 index 00000000000..a6eddcfd4db Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_trafficcone01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_trafficcone02.webp b/Docs/img/catalogue/props/static_prop_trafficcone02.webp new file mode 100644 index 00000000000..f55699348be Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_trafficcone02.webp differ diff --git a/Docs/img/catalogue/props/static_prop_trafficwarning.webp b/Docs/img/catalogue/props/static_prop_trafficwarning.webp new file mode 100644 index 00000000000..d8de6f16275 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_trafficwarning.webp differ diff --git a/Docs/img/catalogue/props/static_prop_trampoline.webp b/Docs/img/catalogue/props/static_prop_trampoline.webp new file mode 100644 index 00000000000..77425fc466f Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_trampoline.webp differ diff --git a/Docs/img/catalogue/props/static_prop_trashbag.webp b/Docs/img/catalogue/props/static_prop_trashbag.webp new file mode 100644 index 00000000000..ae7aaf714e6 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_trashbag.webp differ diff --git a/Docs/img/catalogue/props/static_prop_trashcan01.webp b/Docs/img/catalogue/props/static_prop_trashcan01.webp new file mode 100644 index 00000000000..2d6e3e2fd9a Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_trashcan01.webp differ diff --git a/Docs/img/catalogue/props/static_prop_trashcan02.webp b/Docs/img/catalogue/props/static_prop_trashcan02.webp new file mode 100644 index 00000000000..ae43b274f8d Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_trashcan02.webp differ diff --git a/Docs/img/catalogue/props/static_prop_trashcan03.webp b/Docs/img/catalogue/props/static_prop_trashcan03.webp new file mode 100644 index 00000000000..48015e70963 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_trashcan03.webp differ diff --git a/Docs/img/catalogue/props/static_prop_trashcan04.webp b/Docs/img/catalogue/props/static_prop_trashcan04.webp new file mode 100644 index 00000000000..fac4283bcb1 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_trashcan04.webp differ diff --git a/Docs/img/catalogue/props/static_prop_trashcan05.webp b/Docs/img/catalogue/props/static_prop_trashcan05.webp new file mode 100644 index 00000000000..0e6eba9d8d1 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_trashcan05.webp differ diff --git a/Docs/img/catalogue/props/static_prop_travelcase.webp b/Docs/img/catalogue/props/static_prop_travelcase.webp new file mode 100644 index 00000000000..55b4fe64338 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_travelcase.webp differ diff --git a/Docs/img/catalogue/props/static_prop_vendingmachine.webp b/Docs/img/catalogue/props/static_prop_vendingmachine.webp new file mode 100644 index 00000000000..aee5433e9e2 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_vendingmachine.webp differ diff --git a/Docs/img/catalogue/props/static_prop_warningaccident.webp b/Docs/img/catalogue/props/static_prop_warningaccident.webp new file mode 100644 index 00000000000..fd6d6aab04d Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_warningaccident.webp differ diff --git a/Docs/img/catalogue/props/static_prop_warningconstruction.webp b/Docs/img/catalogue/props/static_prop_warningconstruction.webp new file mode 100644 index 00000000000..c6f1e39acea Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_warningconstruction.webp differ diff --git a/Docs/img/catalogue/props/static_prop_wateringcan.webp b/Docs/img/catalogue/props/static_prop_wateringcan.webp new file mode 100644 index 00000000000..1952b73b3f2 Binary files /dev/null and b/Docs/img/catalogue/props/static_prop_wateringcan.webp differ diff --git a/Docs/img/catalogue/vehicles/audi_a2.webp b/Docs/img/catalogue/vehicles/audi_a2.webp new file mode 100644 index 00000000000..e1cd241c6a5 Binary files /dev/null and b/Docs/img/catalogue/vehicles/audi_a2.webp differ diff --git a/Docs/img/catalogue/vehicles/audi_etron.webp b/Docs/img/catalogue/vehicles/audi_etron.webp new file mode 100644 index 00000000000..c1a9ba6adf4 Binary files /dev/null and b/Docs/img/catalogue/vehicles/audi_etron.webp differ diff --git a/Docs/img/catalogue/vehicles/audi_tt.webp b/Docs/img/catalogue/vehicles/audi_tt.webp new file mode 100644 index 00000000000..c55e95fbf56 Binary files /dev/null and b/Docs/img/catalogue/vehicles/audi_tt.webp differ diff --git a/Docs/img/catalogue/vehicles/bh_crossbike.webp b/Docs/img/catalogue/vehicles/bh_crossbike.webp new file mode 100644 index 00000000000..c871b839d6e Binary files /dev/null and b/Docs/img/catalogue/vehicles/bh_crossbike.webp differ diff --git a/Docs/img/catalogue/vehicles/bmw_grandtourer.webp b/Docs/img/catalogue/vehicles/bmw_grandtourer.webp new file mode 100644 index 00000000000..26f4a955f8d Binary files /dev/null and b/Docs/img/catalogue/vehicles/bmw_grandtourer.webp differ diff --git a/Docs/img/catalogue/vehicles/carlamotors_carlacola.webp b/Docs/img/catalogue/vehicles/carlamotors_carlacola.webp new file mode 100644 index 00000000000..016d8206d32 Binary files /dev/null and b/Docs/img/catalogue/vehicles/carlamotors_carlacola.webp differ diff --git a/Docs/img/catalogue/vehicles/carlamotors_european_hgv.webp b/Docs/img/catalogue/vehicles/carlamotors_european_hgv.webp new file mode 100644 index 00000000000..15c6a76d4f3 Binary files /dev/null and b/Docs/img/catalogue/vehicles/carlamotors_european_hgv.webp differ diff --git a/Docs/img/catalogue/vehicles/carlamotors_firetruck.webp b/Docs/img/catalogue/vehicles/carlamotors_firetruck.webp new file mode 100644 index 00000000000..3fb422494fa Binary files /dev/null and b/Docs/img/catalogue/vehicles/carlamotors_firetruck.webp differ diff --git a/Docs/img/catalogue/vehicles/chevrolet_impala.webp b/Docs/img/catalogue/vehicles/chevrolet_impala.webp new file mode 100644 index 00000000000..dcc1c350fbf Binary files /dev/null and b/Docs/img/catalogue/vehicles/chevrolet_impala.webp differ diff --git a/Docs/img/catalogue/vehicles/citroen_c3.webp b/Docs/img/catalogue/vehicles/citroen_c3.webp new file mode 100644 index 00000000000..eea24434986 Binary files /dev/null and b/Docs/img/catalogue/vehicles/citroen_c3.webp differ diff --git a/Docs/img/catalogue/vehicles/diamondback_century.webp b/Docs/img/catalogue/vehicles/diamondback_century.webp new file mode 100644 index 00000000000..6845b544ba8 Binary files /dev/null and b/Docs/img/catalogue/vehicles/diamondback_century.webp differ diff --git a/Docs/img/catalogue/vehicles/dodge_charger_2020.webp b/Docs/img/catalogue/vehicles/dodge_charger_2020.webp new file mode 100644 index 00000000000..26248a89fe4 Binary files /dev/null and b/Docs/img/catalogue/vehicles/dodge_charger_2020.webp differ diff --git a/Docs/img/catalogue/vehicles/dodge_charger_police.webp b/Docs/img/catalogue/vehicles/dodge_charger_police.webp new file mode 100644 index 00000000000..e2719de4cb8 Binary files /dev/null and b/Docs/img/catalogue/vehicles/dodge_charger_police.webp differ diff --git a/Docs/img/catalogue/vehicles/dodge_charger_police_2020.webp b/Docs/img/catalogue/vehicles/dodge_charger_police_2020.webp new file mode 100644 index 00000000000..ab7365cd1d9 Binary files /dev/null and b/Docs/img/catalogue/vehicles/dodge_charger_police_2020.webp differ diff --git a/Docs/img/catalogue/vehicles/ford_ambulance.webp b/Docs/img/catalogue/vehicles/ford_ambulance.webp new file mode 100644 index 00000000000..5591251171a Binary files /dev/null and b/Docs/img/catalogue/vehicles/ford_ambulance.webp differ diff --git a/Docs/img/catalogue/vehicles/ford_crown.webp b/Docs/img/catalogue/vehicles/ford_crown.webp new file mode 100644 index 00000000000..b077a1224a1 Binary files /dev/null and b/Docs/img/catalogue/vehicles/ford_crown.webp differ diff --git a/Docs/img/catalogue/vehicles/ford_mustang.webp b/Docs/img/catalogue/vehicles/ford_mustang.webp new file mode 100644 index 00000000000..4e40a0000ed Binary files /dev/null and b/Docs/img/catalogue/vehicles/ford_mustang.webp differ diff --git a/Docs/img/catalogue/vehicles/gazelle_omafiets.webp b/Docs/img/catalogue/vehicles/gazelle_omafiets.webp new file mode 100644 index 00000000000..b8f8f6e77bb Binary files /dev/null and b/Docs/img/catalogue/vehicles/gazelle_omafiets.webp differ diff --git a/Docs/img/catalogue/vehicles/harley-davidson_low_rider.webp b/Docs/img/catalogue/vehicles/harley-davidson_low_rider.webp new file mode 100644 index 00000000000..7d0dd520df6 Binary files /dev/null and b/Docs/img/catalogue/vehicles/harley-davidson_low_rider.webp differ diff --git a/Docs/img/catalogue/vehicles/jeep_wrangler_rubicon.webp b/Docs/img/catalogue/vehicles/jeep_wrangler_rubicon.webp new file mode 100644 index 00000000000..d7632693007 Binary files /dev/null and b/Docs/img/catalogue/vehicles/jeep_wrangler_rubicon.webp differ diff --git a/Docs/img/catalogue/vehicles/kawasaki_ninja.webp b/Docs/img/catalogue/vehicles/kawasaki_ninja.webp new file mode 100644 index 00000000000..6fe79f27f43 Binary files /dev/null and b/Docs/img/catalogue/vehicles/kawasaki_ninja.webp differ diff --git a/Docs/img/catalogue/vehicles/lincoln_mkz_2017.webp b/Docs/img/catalogue/vehicles/lincoln_mkz_2017.webp new file mode 100644 index 00000000000..7dc3aeff6d9 Binary files /dev/null and b/Docs/img/catalogue/vehicles/lincoln_mkz_2017.webp differ diff --git a/Docs/img/catalogue/vehicles/lincoln_mkz_2020.webp b/Docs/img/catalogue/vehicles/lincoln_mkz_2020.webp new file mode 100644 index 00000000000..f431bd48c10 Binary files /dev/null and b/Docs/img/catalogue/vehicles/lincoln_mkz_2020.webp differ diff --git a/Docs/img/catalogue/vehicles/mercedes_coupe.webp b/Docs/img/catalogue/vehicles/mercedes_coupe.webp new file mode 100644 index 00000000000..468fbaca228 Binary files /dev/null and b/Docs/img/catalogue/vehicles/mercedes_coupe.webp differ diff --git a/Docs/img/catalogue/vehicles/mercedes_coupe_2020.webp b/Docs/img/catalogue/vehicles/mercedes_coupe_2020.webp new file mode 100644 index 00000000000..15e3a5c1efc Binary files /dev/null and b/Docs/img/catalogue/vehicles/mercedes_coupe_2020.webp differ diff --git a/Docs/img/catalogue/vehicles/mercedes_sprinter.webp b/Docs/img/catalogue/vehicles/mercedes_sprinter.webp new file mode 100644 index 00000000000..dec9690ade4 Binary files /dev/null and b/Docs/img/catalogue/vehicles/mercedes_sprinter.webp differ diff --git a/Docs/img/catalogue/vehicles/micro_microlino.webp b/Docs/img/catalogue/vehicles/micro_microlino.webp new file mode 100644 index 00000000000..b0356df2479 Binary files /dev/null and b/Docs/img/catalogue/vehicles/micro_microlino.webp differ diff --git a/Docs/img/catalogue/vehicles/mini_cooper_s.webp b/Docs/img/catalogue/vehicles/mini_cooper_s.webp new file mode 100644 index 00000000000..97dbe5b8b52 Binary files /dev/null and b/Docs/img/catalogue/vehicles/mini_cooper_s.webp differ diff --git a/Docs/img/catalogue/vehicles/mini_cooper_s_2021.webp b/Docs/img/catalogue/vehicles/mini_cooper_s_2021.webp new file mode 100644 index 00000000000..df6b4e2e18a Binary files /dev/null and b/Docs/img/catalogue/vehicles/mini_cooper_s_2021.webp differ diff --git a/Docs/img/catalogue/vehicles/mitsubishi_fusorosa.webp b/Docs/img/catalogue/vehicles/mitsubishi_fusorosa.webp new file mode 100644 index 00000000000..18fb191f4b5 Binary files /dev/null and b/Docs/img/catalogue/vehicles/mitsubishi_fusorosa.webp differ diff --git a/Docs/img/catalogue/vehicles/nissan_micra.webp b/Docs/img/catalogue/vehicles/nissan_micra.webp new file mode 100644 index 00000000000..6b30a541a9b Binary files /dev/null and b/Docs/img/catalogue/vehicles/nissan_micra.webp differ diff --git a/Docs/img/catalogue/vehicles/nissan_patrol.webp b/Docs/img/catalogue/vehicles/nissan_patrol.webp new file mode 100644 index 00000000000..895a7d89c1c Binary files /dev/null and b/Docs/img/catalogue/vehicles/nissan_patrol.webp differ diff --git a/Docs/img/catalogue/vehicles/nissan_patrol_2021.webp b/Docs/img/catalogue/vehicles/nissan_patrol_2021.webp new file mode 100644 index 00000000000..66b41cc4934 Binary files /dev/null and b/Docs/img/catalogue/vehicles/nissan_patrol_2021.webp differ diff --git a/Docs/img/catalogue/vehicles/seat_leon.webp b/Docs/img/catalogue/vehicles/seat_leon.webp new file mode 100644 index 00000000000..fc90fb10f6d Binary files /dev/null and b/Docs/img/catalogue/vehicles/seat_leon.webp differ diff --git a/Docs/img/catalogue/vehicles/tesla_cybertruck.webp b/Docs/img/catalogue/vehicles/tesla_cybertruck.webp new file mode 100644 index 00000000000..40870b63371 Binary files /dev/null and b/Docs/img/catalogue/vehicles/tesla_cybertruck.webp differ diff --git a/Docs/img/catalogue/vehicles/tesla_model3.webp b/Docs/img/catalogue/vehicles/tesla_model3.webp new file mode 100644 index 00000000000..2d873d9f52c Binary files /dev/null and b/Docs/img/catalogue/vehicles/tesla_model3.webp differ diff --git a/Docs/img/catalogue/vehicles/toyota_prius.webp b/Docs/img/catalogue/vehicles/toyota_prius.webp new file mode 100644 index 00000000000..1126835ba8b Binary files /dev/null and b/Docs/img/catalogue/vehicles/toyota_prius.webp differ diff --git a/Docs/img/catalogue/vehicles/vehicle_montage.webp b/Docs/img/catalogue/vehicles/vehicle_montage.webp new file mode 100644 index 00000000000..1bc0e229748 Binary files /dev/null and b/Docs/img/catalogue/vehicles/vehicle_montage.webp differ diff --git a/Docs/img/catalogue/vehicles/vehicles_overview.webp b/Docs/img/catalogue/vehicles/vehicles_overview.webp new file mode 100644 index 00000000000..006efd7c0ad Binary files /dev/null and b/Docs/img/catalogue/vehicles/vehicles_overview.webp differ diff --git a/Docs/img/catalogue/vehicles/vespa_zx125.webp b/Docs/img/catalogue/vehicles/vespa_zx125.webp new file mode 100644 index 00000000000..d736c25a642 Binary files /dev/null and b/Docs/img/catalogue/vehicles/vespa_zx125.webp differ diff --git a/Docs/img/catalogue/vehicles/volkswagen_t2.webp b/Docs/img/catalogue/vehicles/volkswagen_t2.webp new file mode 100644 index 00000000000..c64a4d086c8 Binary files /dev/null and b/Docs/img/catalogue/vehicles/volkswagen_t2.webp differ diff --git a/Docs/img/catalogue/vehicles/volkswagen_t2_2021.webp b/Docs/img/catalogue/vehicles/volkswagen_t2_2021.webp new file mode 100644 index 00000000000..bf471d64f88 Binary files /dev/null and b/Docs/img/catalogue/vehicles/volkswagen_t2_2021.webp differ diff --git a/Docs/img/catalogue/vehicles/yamaha_yzf.webp b/Docs/img/catalogue/vehicles/yamaha_yzf.webp new file mode 100644 index 00000000000..729dd462160 Binary files /dev/null and b/Docs/img/catalogue/vehicles/yamaha_yzf.webp differ diff --git a/Docs/img/digital_twin_residential.png b/Docs/img/digital_twin_residential.png new file mode 100644 index 00000000000..7605d27eeb2 Binary files /dev/null and b/Docs/img/digital_twin_residential.png differ diff --git a/Docs/img/digital_twin_tool.png b/Docs/img/digital_twin_tool.png new file mode 100644 index 00000000000..1b28d2958be Binary files /dev/null and b/Docs/img/digital_twin_tool.png differ diff --git a/Docs/img/digital_twins_buildings.jpg b/Docs/img/digital_twins_buildings.jpg new file mode 100644 index 00000000000..6ca56336348 Binary files /dev/null and b/Docs/img/digital_twins_buildings.jpg differ diff --git a/Docs/img/digital_twins_interface.png b/Docs/img/digital_twins_interface.png new file mode 100644 index 00000000000..4a5cb8bc1e0 Binary files /dev/null and b/Docs/img/digital_twins_interface.png differ diff --git a/Docs/img/digital_twins_vegetation.jpg b/Docs/img/digital_twins_vegetation.jpg new file mode 100644 index 00000000000..946c390a59b Binary files /dev/null and b/Docs/img/digital_twins_vegetation.jpg differ diff --git a/Docs/img/digital_twins_widget.png b/Docs/img/digital_twins_widget.png new file mode 100644 index 00000000000..49d0ebbb62d Binary files /dev/null and b/Docs/img/digital_twins_widget.png differ diff --git a/Docs/img/open_digital_twin_tool.png b/Docs/img/open_digital_twin_tool.png new file mode 100644 index 00000000000..517b77c75fb Binary files /dev/null and b/Docs/img/open_digital_twin_tool.png differ diff --git a/Docs/img/open_pb_tool.png b/Docs/img/open_pb_tool.png new file mode 100644 index 00000000000..8f34ba492f9 Binary files /dev/null and b/Docs/img/open_pb_tool.png differ diff --git a/Docs/img/osm_export.png b/Docs/img/osm_export.png new file mode 100644 index 00000000000..a6ed858e4e9 Binary files /dev/null and b/Docs/img/osm_export.png differ diff --git a/Docs/img/pb_add_socket.png b/Docs/img/pb_add_socket.png new file mode 100644 index 00000000000..4e6f641a709 Binary files /dev/null and b/Docs/img/pb_add_socket.png differ diff --git a/Docs/img/pb_base_parameters.png b/Docs/img/pb_base_parameters.png new file mode 100644 index 00000000000..26cc1ab896f Binary files /dev/null and b/Docs/img/pb_base_parameters.png differ diff --git a/Docs/img/pb_building_parts.png b/Docs/img/pb_building_parts.png new file mode 100644 index 00000000000..41307775b5d Binary files /dev/null and b/Docs/img/pb_building_parts.png differ diff --git a/Docs/img/pb_detail_section.png b/Docs/img/pb_detail_section.png new file mode 100644 index 00000000000..28ad28f504c Binary files /dev/null and b/Docs/img/pb_detail_section.png differ diff --git a/Docs/img/pb_detail_variations.webp b/Docs/img/pb_detail_variations.webp new file mode 100644 index 00000000000..782167df820 Binary files /dev/null and b/Docs/img/pb_detail_variations.webp differ diff --git a/Docs/img/pb_facade_changes.webp b/Docs/img/pb_facade_changes.webp new file mode 100644 index 00000000000..8415651ce98 Binary files /dev/null and b/Docs/img/pb_facade_changes.webp differ diff --git a/Docs/img/pb_facade_materials.png b/Docs/img/pb_facade_materials.png new file mode 100644 index 00000000000..c28566238c6 Binary files /dev/null and b/Docs/img/pb_facade_materials.png differ diff --git a/Docs/img/pb_mesh_details.png b/Docs/img/pb_mesh_details.png new file mode 100644 index 00000000000..e3bf34bdfb2 Binary files /dev/null and b/Docs/img/pb_mesh_details.png differ diff --git a/Docs/img/pb_mesh_elements.png b/Docs/img/pb_mesh_elements.png new file mode 100644 index 00000000000..1165d23caa7 Binary files /dev/null and b/Docs/img/pb_mesh_elements.png differ diff --git a/Docs/img/pb_mesh_parameters.png b/Docs/img/pb_mesh_parameters.png new file mode 100644 index 00000000000..431347096e2 Binary files /dev/null and b/Docs/img/pb_mesh_parameters.png differ diff --git a/Docs/img/pipeline.jpg b/Docs/img/pipeline.jpg new file mode 100644 index 00000000000..a205a54855b Binary files /dev/null and b/Docs/img/pipeline.jpg differ diff --git a/Docs/img/procedural_building_generation.jpg b/Docs/img/procedural_building_generation.jpg new file mode 100644 index 00000000000..26d830b5a06 Binary files /dev/null and b/Docs/img/procedural_building_generation.jpg differ diff --git a/Docs/img/procedural_cities.png b/Docs/img/procedural_cities.png new file mode 100644 index 00000000000..30be87c6a25 Binary files /dev/null and b/Docs/img/procedural_cities.png differ diff --git a/Docs/img/road_surface.jpg b/Docs/img/road_surface.jpg new file mode 100644 index 00000000000..478ce0ce20e Binary files /dev/null and b/Docs/img/road_surface.jpg differ diff --git a/Docs/img/ros_carla.png b/Docs/img/ros_carla.png new file mode 100644 index 00000000000..db816dd2602 Binary files /dev/null and b/Docs/img/ros_carla.png differ diff --git a/Docs/img/tuto_content_authoring_maps/large_map_export.png b/Docs/img/tuto_content_authoring_maps/large_map_export.png new file mode 100644 index 00000000000..3eb19bd59c9 Binary files /dev/null and b/Docs/img/tuto_content_authoring_maps/large_map_export.png differ diff --git a/Docs/img/tuto_content_authoring_maps/large_map_roadrunner.png b/Docs/img/tuto_content_authoring_maps/large_map_roadrunner.png new file mode 100644 index 00000000000..0f8d6f98e7a Binary files /dev/null and b/Docs/img/tuto_content_authoring_maps/large_map_roadrunner.png differ diff --git a/Docs/img/tuto_content_authoring_maps/large_map_tiles.png b/Docs/img/tuto_content_authoring_maps/large_map_tiles.png new file mode 100644 index 00000000000..ac0893bdd00 Binary files /dev/null and b/Docs/img/tuto_content_authoring_maps/large_map_tiles.png differ diff --git a/Docs/img/tuto_content_authoring_maps/large_map_unreal.png b/Docs/img/tuto_content_authoring_maps/large_map_unreal.png new file mode 100644 index 00000000000..56ae478f757 Binary files /dev/null and b/Docs/img/tuto_content_authoring_maps/large_map_unreal.png differ diff --git a/Docs/img/tuto_content_authoring_maps/roadrunner_workspace.png b/Docs/img/tuto_content_authoring_maps/roadrunner_workspace.png new file mode 100644 index 00000000000..5bec49534d9 Binary files /dev/null and b/Docs/img/tuto_content_authoring_maps/roadrunner_workspace.png differ diff --git a/Docs/img/tuto_content_authoring_maps/rr_export.png b/Docs/img/tuto_content_authoring_maps/rr_export.png new file mode 100644 index 00000000000..f5fd3466dab Binary files /dev/null and b/Docs/img/tuto_content_authoring_maps/rr_export.png differ diff --git a/Docs/img/tuto_content_authoring_maps/rr_scene_export_preview.png b/Docs/img/tuto_content_authoring_maps/rr_scene_export_preview.png new file mode 100644 index 00000000000..b68acdf12c5 Binary files /dev/null and b/Docs/img/tuto_content_authoring_maps/rr_scene_export_preview.png differ diff --git a/Docs/img/tuto_content_authoring_maps/tiles_content_browser.png b/Docs/img/tuto_content_authoring_maps/tiles_content_browser.png new file mode 100644 index 00000000000..44089b79787 Binary files /dev/null and b/Docs/img/tuto_content_authoring_maps/tiles_content_browser.png differ diff --git a/Docs/map_town01.md b/Docs/map_town01.md new file mode 100644 index 00000000000..94f3de5d3e6 --- /dev/null +++ b/Docs/map_town01.md @@ -0,0 +1,26 @@ +# Town 1 + +![town_01_slideshow](../img/catalogue/maps/town01/town01_panorama.webp) + +Town 1 is a small town with numerous T-junctions and a variety of buildings, surrounded by coniferous trees and featuring several small bridges spanning across a river that divides the town into 2 halves. + +## Road network + +The road network presents several bridges crossing water and numerous simple T junctions. + +![town_01_aerial](../img/catalogue/maps/town01/town01aerial.webp) + +## Features + +The map features a small river with several crossings. + +![town_01_bridge](../img/catalogue/maps/town01/town01_bridge.webp) + + +There are numerous commercial style buildings. + +![town_01_buildings](../img/catalogue/maps/town01/town01_commercial_buildings.webp) + +There are also residential buildings. + +![town_01_residential](../img/catalogue/maps/town01/town01_residential_buildings.webp) \ No newline at end of file diff --git a/Docs/map_town02.md b/Docs/map_town02.md new file mode 100644 index 00000000000..f1cad0e478b --- /dev/null +++ b/Docs/map_town02.md @@ -0,0 +1,30 @@ +# Town 2 + +![town_02_slideshow](../img/catalogue/maps/town02/town02_panorama.webp) + +Town 2 is a small town with numerous T-junctions and a variety of buildings, there are patches of coniferous trees, a park and a residential and commercial area. + +## Road network + +The road network consists of numerous simple T junctions. + +![town_02_aerial](../img/catalogue/maps/town02/town02aerial.webp) + +## Features + +The map features a commercial area and high street. + +![town_02_highstreet](../img/catalogue/maps/town02/town02_highstreet.webp) + + +There are also residential apartment buildings and a church. + +![town_02_apartments](../img/catalogue/maps/town02/town02_apartments.webp) + +There is a gas station. + +![town_02_gas_station](../img/catalogue/maps/town02/town02_gas.webp) + +There are also tree-lined roads. + +![town_02_tree_lined_road](../img/catalogue/maps/town02/town02_tree_road.webp) \ No newline at end of file diff --git a/Docs/map_town03.md b/Docs/map_town03.md new file mode 100644 index 00000000000..e98a4f05fbf --- /dev/null +++ b/Docs/map_town03.md @@ -0,0 +1,33 @@ +# Town 3 + +![town_03_slideshow](../img/catalogue/maps/town03/town03_panorama.webp) + +Town 3 is a larger town with features of a downtown urban area. The map includes some interesting road network features such as a roundabout, underpasses and overpasses. The town also includes a raised metro track and a large building under construction. + +## Road network + +The road network features a central roundabout and a residential culdesac, along with numerous 4-way junctions and T-junctions. + +![town_03_aerial](../img/catalogue/maps/town03/town03aerial.webp) + +## Features + +The map features prominent central roundabout with a modernist monument and water. + +![town_03_roundabout](../img/catalogue/maps/town03/town03_roundabout.webp) + +There is a raised metro track surrounding the center. + +![town_03_metro](../img/catalogue/maps/town03/town03_metro.webp) + +There is also a gas station next to a large junction. + +![town_03_gas_station](../img/catalogue/maps/town03/town03_junction.webp) + +The road network features an underpass. + +![town_03_underpass](../img/catalogue/maps/town03/town03_underpass.webp) + +There are parks and a variety of commercial and residential buildings in varying styles. + +![town_03_overview](../img/catalogue/maps/town03/town03_buildings.webp) \ No newline at end of file diff --git a/Docs/map_town04.md b/Docs/map_town04.md new file mode 100644 index 00000000000..f6e211dc735 --- /dev/null +++ b/Docs/map_town04.md @@ -0,0 +1,29 @@ +# Town 4 + +![town_04_slideshow](../img/catalogue/maps/town04/town04_overhead.webp) + +Town 4 is a small town with a backdrop of snow-capped mountains and conifers. A multi-lane road circumnavigates the town in a "figure of 8". + +## Road network + +The road network consists of a small network of short streets and junctions nested in between commercial and residential buildings, with a "figure of 8" style ringroad circumnavigating the buildings and a nearby mountain. The cross of the figure of 8 presents an underpass/overpass and circular slip roads. + +![town_04_aerial](../img/catalogue/maps/town04/town04aerial.webp) + +The network also features an underpass and overpass with circular slip roads. + +![town_04_overpass](../img/catalogue/maps/town04/town04_overpass.webp) + +## Features + +There is a gas station set against the mountainous backdrop. + +![town_04_gas_station](../img/catalogue/maps/town04/town04_gas.webp) + +In the middle of the town is a pedestrian shopping arcade with outdoor seating. + +![town_04_arcade](../img/catalogue/maps/town04/town04_arcade.webp) + +There are various styles of residential and commercial buildings and streets including trees and billboards. + +![town_04_streets](../img/catalogue/maps/town04/town04_streets.webp) \ No newline at end of file diff --git a/Docs/map_town05.md b/Docs/map_town05.md new file mode 100644 index 00000000000..7e25bcd0f4b --- /dev/null +++ b/Docs/map_town05.md @@ -0,0 +1,33 @@ +# Town 5 + +![town_05_slideshow](../img/catalogue/maps/town05/town05_panorama.webp) + +Town 5 is an urban environment set into a backdrop of conifer-covered hills with a raised highway and large multilane roads and junctions. + +## Road network + +The roads consist of numerous dual-lane urban roads intersecting at numerous large junctions. + +![town_05_aerial](../img/catalogue/maps/town05/town05aerial.webp) + +Junctions on each side of the town allow access to a raised highway that serves as a ringroad. + +![town_05_roads](../img/catalogue/maps/town05/town05_roads.webp) + +## Features + +The town features numerous commercial buildings. + +![town_05_offices](../img/catalogue/maps/town05/town05_offices.webp) + +In the middle of the town there is also a building under construction. + +![town_05_construction](../img/catalogue/maps/town05/town05_under_construction.webp) + +There is a carpark occupying one city block. + +![town_05_carpark](../img/catalogue/maps/town05/town05_carpark.webp) + +The road extends beneath a commercial building in one location. + +![town_05_road_under_building](../img/catalogue/maps/town05/town05_under_buildings.webp) \ No newline at end of file diff --git a/Docs/map_town06.md b/Docs/map_town06.md new file mode 100644 index 00000000000..624d19ac0c4 --- /dev/null +++ b/Docs/map_town06.md @@ -0,0 +1,21 @@ +# Town 6 + +![town_06_slideshow](../img/catalogue/maps/town06/town06_slideshow.webp) + +Town 6 is a low density town set into a coniferous landscape exhibiting a multitude of large, 4-6 lane roads and special junctions like the [Michigan Left](https://en.wikipedia.org/wiki/Michigan_left). + +**Town 6 is part of the additional maps package that should be [downloaded with the CARLA package](https://github.com/carla-simulator/carla/releases). Move the downloaded ZIP file into the *Import* folder of the extracted CARLA package then run the *ImportAssets* script.** + +## Road network + +The road network exhibits 4 large parallel roads with 4 to 6 lanes, interconnected by several sliproads and junctions . + +![town_06_aerial](../img/catalogue/maps/town06/town06aerial.webp) + +Town 6's numerous sliproad junctions include the Michigan Left. + +![town_06_junctions](../img/catalogue/maps/town06/town06_junctions.webp) + +Numerous road scenarios are represented including 5 lane roads, culdesacs and designated turning lanes. + +![town_06_roads](../img/catalogue/maps/town06/town06_roads.webp) \ No newline at end of file diff --git a/Docs/map_town07.md b/Docs/map_town07.md new file mode 100644 index 00000000000..7b65215d3fb --- /dev/null +++ b/Docs/map_town07.md @@ -0,0 +1,31 @@ +# Town 7 + +![town_07_slideshow](../img/catalogue/maps/town07/town07_slideshow.webp) + +Town 7 imitates a quiet rural community, a green landscape filled with cornfields, barns, grain silos and windmills. + +**Town 7 is part of the additional maps package that should be [downloaded with the CARLA package](https://github.com/carla-simulator/carla/releases). Move the downloaded ZIP file into the *Import* folder of the extracted CARLA package then run the *ImportAssets* script.** + +## Road network + +The road network is small and contains a simple set of junctions and unmarked roads with a couple of residential parking streets. + +![town_07_aerial](../img/catalogue/maps/town07/town07aerial.webp) + +## Features + +The buildings include wooden barns and farm buildings. + +![town_07_buildings](../img/catalogue/maps/town07/town07_residential.webp) + +There are some structures expected only in rural farming environments like grain silos and windmills. + +![town_07_silos_windmill](../img/catalogue/maps/town07/town07_windmill_silo.webp) + +There is also a small body of water spanned by a short road bridge. + +![town_07_water](../img/catalogue/maps/town07/town07_water.webp) + +The some of the roads are lined by corn fields. + +![town_07_corn](../img/catalogue/maps/town07/town07_corn.webp) \ No newline at end of file diff --git a/Docs/map_town10.md b/Docs/map_town10.md new file mode 100644 index 00000000000..3b3a838cac6 --- /dev/null +++ b/Docs/map_town10.md @@ -0,0 +1,30 @@ +# Town 10 + +![town_10_slideshow](../img/catalogue/maps/town10/town10.webp) + +Town 10 presents mixture of features from inner-city environments with glossy skyscrapers and industrial buildings next to waterfront promenades, apartment blocks, hotels, public buildings and tree-lined boulevards. Town 10's road network hosts a number of different junction arrangements with a variety of lane markings, crossings and signal types to challenge your autonomous agent in negotiating with other traffic. + +## Road network + +The road network consists of a grid layout, including numerous different junctions including a 4-way yellow-box junction, dedicated turning lanes and central reservations. + +![town_10_aerial](../img/catalogue/maps/town10/town10aerial.webp) + +## Features + +The center of the town includes a tree-lined boulevard which is cast in shadows even at noon by the tree canopy. + +![town_10_boulevard](../img/catalogue/maps/town10/boulevard.webp) + +A grand museum dominates one side of the town center. + +![town_10_boulevard](../img/catalogue/maps/town10/museum.webp) + +An ocean promenade lines the other side of the town. + +![town_10_promenade](../img/catalogue/maps/town10/promenade.webp) + +The architecture includes numerous skyscrapers in varying styles, including glossy, reflective buildings and unusually shaped twisting and cylindrical towers. + +![town_10_skyscrapers](../img/catalogue/maps/town10/skyscrapers.webp) + diff --git a/Docs/map_town11.md b/Docs/map_town11.md new file mode 100644 index 00000000000..03faaca9729 --- /dev/null +++ b/Docs/map_town11.md @@ -0,0 +1,7 @@ +# Town 11 + +![town_11](../img/catalogue/maps/town11/town11.webp) + +Town 11 is a Large Map without decoration such as buildings, sidewalks or vegetation. The road network consists of sprawling single lane roads interspersed with small clusters of grided junctions. The landscape has some hills and elevations and has a grass-like texture. + +Town 11 principally serves as a proof of concept for the Large Map functionality introduced in CARLA 0.9.12 and was the first Large Map to be integrated into the CARLA simulator. You may find it helpful to look at Town 11's asset files in the Unreal Editor to understand how large maps are handled within the CARLA ecosystem. \ No newline at end of file diff --git a/Docs/map_town12.md b/Docs/map_town12.md new file mode 100644 index 00000000000..0ce5f04891f --- /dev/null +++ b/Docs/map_town12.md @@ -0,0 +1,226 @@ +# Town 12 + +![town_12](../img/catalogue/maps/town12/town12.webp) + +Town 12 is a Large Map with dimensions of 10x10 km2. It is divided into 36 tiles, most with dimensions of 2x2 km2 (some edge tiles are smaller). The road layout is partially inspired by the road layout of the city of [Amarillo in Texas, USA](https://www.google.com/maps/place/Amarillo,+TX,+USA/@35.2018863,-101.9450251,11z/data=!3m1!4b1!4m5!3m4!1s0x870148d4b245cf03:0xd0f3d11c6836d2af!8m2!3d35.2219971!4d-101.8312969). There are numerous contrasting regions to the city including urban, residential and rural areas, along with a large highway system surrounding the city with a ringroad. The architectural styles reflect those of many medium to large cities across North America. + +## Navigator + +The navigator interactive map can be used to browse the town and derive coordinates to use in the CARLA simulator. + +__Using the navigator__: + +* `left mouse button` - click and hold, drag left, right, up or down to move the map +* `scroll mouse wheel` - scroll down to zoom out, scroll up to zoom in on the location under the mouse pointer +* `double click` - double click on a point on the map to record the coordinates, you will find the coordinates in the text and the code block just below the map + +__Zone color reference__: + +*   [Skyscraper](#high-rise-downtown) +*   [High density residential](#high-density-residential) +*   [Community buildings](#community-buildings) +*   [Low density residential](#low-density-residential) +*   [Parks](#parks) +*   [Rural farmland](#rural-and-farmland) +*   [Water](#water) + + + +![town12_aerial](../img/catalogue/maps/town12/town12roadrunner.webp#map) + + +__CARLA coordinates__: + +* __X__: -- +* __Y__: -- + + +After double clicking on a point of interest, the navigator will display the corresponding CARLA coordinates and update them in the following code block. Copy and paste the code into a notebook or Python terminal to translate the spectator to the desired location. You will need first to [connect the client and set up the world object](tuto_first_steps.md#launching-carla-and-connecting-the-client): + +```py +# CARLA coordinates: X 0.0, Y 0.0 +spectator = world.get_spectator() +loc = carla.Location(0.0, 0.0, 500.0) +rot = carla.Rotation(pitch=-90, yaw=0.0, roll=0.0) +spectator.set_transform(carla.Transform(loc, rot)) +``` +## Town 12 zones + +#### High-rise downtown: + +Town 12's downtown area is a large span of high-rise skyscrapers arranged into blocks on a consistent grid of roads, resembling downtown areas in many large American and European cities. + +![high_rise](../img/catalogue/maps/town12/high_rise.webp) + +#### High density residential: + +The high density residential areas of Town 12 have many 2-10 storey apartment buildings with commercial properties like cafes and retail stores at street level. + +![high_dens_res](../img/catalogue/maps/town12/hi_dens_res.webp) + + +#### Community buildings: + +The community buildings are a set of 2-4 storey apartment buildings in a colorful bohemian style with cafes and boutiques on the ground floors, located next to the downtown area of the city. + +![community](../img/catalogue/maps/town12/community.webp) + +#### Low density residential: + +The low density residential regions of Town 12 reflect the classic suburbs of many American cities, with one and two story homes surrounded by fenced gardens and garages. + +![low_dens_res](../img/catalogue/maps/town12/low_dens_res.webp) + +#### Parks: + +The dense residential and downtown areas are broken up by small islands of green communal space, juxtaposing green foliage against urban architecture. + +![parks](../img/catalogue/maps/town12/parks.webp) + +#### Highways and intersections: + +Town 12 has an extensive highway system, including 3-4 lane highways interspersed with impressive roundabout junctions and intersections. + +![highway](../img/catalogue/maps/town12/highway.webp) + +#### Rural and farmland: + +Town 12 also has rural regions with characteristic farmland buildings like wooden barns and farmhouses, windmills, grain silos, corn fields, hay bails and rural fencing. These areas have unmarked country dirt roads and single lane interurban roads for inter-city traffic. + +![rural](../img/catalogue/maps/town12/rural.webp) + +#### Water: + +There are several bodies of water in town 12 including 2 large lakes and several ponds. With some large water features located next to the city, these can produce inverted reflections of the skyline, creating challenges for autonomous driving agents. + +![water](../img/catalogue/maps/town12/water.webp) + + + + diff --git a/Docs/map_town13.md b/Docs/map_town13.md new file mode 100644 index 00000000000..7a86e3e3c57 --- /dev/null +++ b/Docs/map_town13.md @@ -0,0 +1,228 @@ +# Town 13 + +![town_13](../img/catalogue/maps/town13/town13montage.webp) + +Town 13 is a Large Map with dimensions of 10x10 km2. It is divided into 36 tiles, most with dimensions of 2x2 km2 (some edge tiles are smaller). There are numerous contrasting regions to the city including urban, residential and rural areas, along with a large highway system surrounding the city with a ringroad. The architectural styles reflect those of many medium to large cities across North America. + +!!! note + Town 13 has been designed as an adjunct to Town 13, such that they can serve as a __train-test pair__. The towns share many common features, but also many differences in the styles of buildings, road textures, pavement textures and also vegetation. Using one of the pair to produce training data and then using the other for testing is ideal for exposing overfitting issues that might be arising while developing an AD stack. + +## Navigator + +The navigator interactive map can be used to browse the town and derive coordinates to use in the CARLA simulator. + +__Using the navigator__: + +* `left mouse button` - click and hold, drag left, right, up or down to move the map +* `scroll mouse wheel` - scroll down to zoom out, scroll up to zoom in on the location under the mouse pointer +* `double click` - double click on a point on the map to record the coordinates, you will find the coordinates in the text and the code block just below the map + +__Zone color reference__: + +*   [Skyscraper](#high-rise-downtown) +*   [High density residential](#high-density-residential) +*   [Community buildings](#community-buildings) +*   [Low density residential](#low-density-residential) +*   [Parks](#parks) +*   [Rural farmland](#rural-and-farmland) +*   [Water](#water) + + + +![town13_aerial](../img/catalogue/maps/town13/town13roadrunner.webp#map) + + +__CARLA coordinates__: + +* __X__: -- +* __Y__: -- + + +After double clicking on a point of interest, the navigator will display the corresponding CARLA coordinates and update them in the following code block. Copy and paste the code into a notebook or Python terminal to translate the spectator to the desired location. You will need first to [connect the client and set up the world object](tuto_first_steps.md#launching-carla-and-connecting-the-client): + +```py +# CARLA coordinates: X 0.0, Y 0.0 +spectator = world.get_spectator() +loc = carla.Location(0.0, 0.0, 300.0) +rot = carla.Rotation(pitch=-90, yaw=0.0, roll=0.0) +spectator.set_transform(carla.Transform(loc, rot)) +``` +## Town 13 zones + +#### High-rise downtown: + +Town 13's downtown area is a large span of high-rise skyscrapers arranged into blocks on a consistent grid of roads, resembling downtown areas in many large American and European cities. + +![high_rise](../img/catalogue/maps/town13/high_rise.webp) + +#### Community buildings: + +The community buildings are a set of 2-4 storey apartment buildings in a colorful bohemian style with businesses on the ground floors, located next to the downtown area of the city. + +![community](../img/catalogue/maps/town13/community.webp) + +#### High density residential: + +The high density residential areas of Town 13 have many 2-10 storey apartment buildings with commercial properties like cafes and retail stores at street level. Many of the residential blocks have balconies with sun shades similar to those in sunny southern European countries. + +![high_dens_res](../img/catalogue/maps/town13/high_dens_res.webp) + +#### Low density residential: + +The low density residential regions of Town 13 reflect the suburbs of many European cities, with one and two story homes surrounded by fenced gardens and garages. + +![low_dens_res](../img/catalogue/maps/town13/low_dens_res.webp) + +#### Parks: + +The dense residential and downtown areas are broken up by small islands of green communal space, juxtaposing green foliage against urban architecture. + +![parks](../img/catalogue/maps/town13/parks.webp) + +#### Highways and intersections: + +Town 13 has an extensive highway system, including 3-4 lane highways, large roundabouts and a causeway over a large body of water. + +![highway](../img/catalogue/maps/town13/highway.webp) + +#### Rural and farmland: + +Town 13 also has rural regions with characteristic farmland buildings like wooden barns and farmhouses, windmills, grain silos, corn fields, hay bails and rural fencing. These areas have unmarked country dirt roads and single lane interurban roads for inter-city traffic. + +![rural](../img/catalogue/maps/town13/rural.webp) + +#### Water: + +There are several bodies of water in town 13 including a large lake with a central island and several ponds in rural areas. + +![water](../img/catalogue/maps/town13/water.webp) + + + + diff --git a/Docs/map_town15.md b/Docs/map_town15.md new file mode 100644 index 00000000000..8dc70fe04bc --- /dev/null +++ b/Docs/map_town15.md @@ -0,0 +1,17 @@ +# Town 15 + +![town_15](../img/catalogue/maps/town15/town15montage.webp) + +Town 15 is a map based on the road layout of the Autonomous University of Barcelona (Universitat Autònoma de Barcelona). Some emblematic buildings from the modern campus are modelled in the map, including the humanities library, the medicine building and also the Computer Vision Center, the birthplace of CARLA. + +## Computer Vision Center + +The map includes the Computer Vision Center (CVC - Centre de Visió per Computador in Catalan) is a world reknowned research center for research in computer vision and is where the CARLA development team is based. + +![CVC](../img/catalogue/maps/town15/cvc.png) + +## Humanities Library + +Known as the Biblioteca d'Humanitats in Catalan, this building houses literature covering many disciplines for the students and researchers studying and working at the Autonomous University of Barcelona. + +![library](../img/catalogue/maps/town15/library.png) \ No newline at end of file diff --git a/Docs/python_api.md b/Docs/python_api.md index f628fbe073a..31d387b7176 100644 --- a/Docs/python_api.md +++ b/Docs/python_api.md @@ -1,6 +1,40 @@ #Python API reference This reference contains all the details the Python API. To consult a previous reference for a specific CARLA release, change the documentation version using the panel in the bottom right corner.
This will change the whole documentation to a previous state. Remember that the latest version is the `dev` branch and may show features not available in any packaged versions of CARLA.
+## carla.AckermannControllerSettings +Manages the settings of the Ackermann PID controller. + +### Instance Variables +- **speed_kp** (_float_) +Proportional term of the speed PID controller. +- **speed_ki** (_float_) +Integral term of the speed PID controller. +- **speed_kd** (_float_) +Derivative term of the speed PID controller. +- **accel_kp** (_float_) +Proportional term of the acceleration PID controller. +- **accel_ki** (_float_) +Integral term of the acceleration PID controller. +- **accel_kd** (_float_) +Derivative term of the acceleration PID controller. + +### Methods +- **\__init__**(**self**, **speed_kp**=0.15, **speed_ki**=0.0, **speed_kd**=0.25, **accel_kp**=0.01, **accel_ki**=0.0, **accel_kd**=0.01) + - **Parameters:** + - `speed_kp` (_float_) + - `speed_ki` (_float_) + - `speed_kd` (_float_) + - `accel_kp` (_float_) + - `accel_ki` (_float_) + - `accel_kd` (_float_) + +##### Dunder methods +- **\__eq__**(**self**, **other**=[carla.AckermannControllerSettings](#carla.AckermannControllerSettings)) +- **\__ne__**(**self**, **other**=[carla.AckermannControllerSettings](#carla.AckermannControllerSettings)) +- **\__str__**(**self**) + +--- + ## carla.Actor CARLA defines actors as anything that plays a role in the simulation or can be moved around. That includes: pedestrians, vehicles, sensors and traffic signs (considering traffic lights as part of these). Actors are spawned in the simulation by [carla.World](#carla.World) and they need for a [carla.ActorBlueprint](#carla.ActorBlueprint) to be created. These blueprints belong into a library provided by CARLA, find more about them [here](bp_library.md). @@ -9,14 +43,22 @@ CARLA defines actors as anything that plays a role in the simulation or can be m A dictionary containing the attributes of the blueprint this actor was based on. - **id** (_int_) Identifier for this actor. Unique during a given episode. +- **type_id** (_str_) +The identifier of the blueprint this actor was based on, e.g. `vehicle.ford.mustang`. - **is_alive** (_bool_) Returns whether this object was destroyed using this actor handle. +- **is_active** (_bool_) +Returns whether this actor is active (True) or not (False). +- **is_dormant** (_bool_) +Returns whether this actor is dormant (True) or not (False) - the opposite of is_active. - **parent** (_[carla.Actor](#carla.Actor)_) Actors may be attached to a parent actor that they will follow around. This is said actor. - **semantic_tags** (_list(int)_) A list of semantic tags provided by the blueprint listing components for this actor. E.g. a traffic light could be tagged with `Pole` and `TrafficLight`. These tags are used by the semantic segmentation sensor. Find more about this and other sensors [here](ref_sensors.md#semantic-segmentation-camera). -- **type_id** (_str_) -The identifier of the blueprint this actor was based on, e.g. `vehicle.ford.mustang`. +- **actor_state** (_[carla.ActorState](#carla.ActorState)_) +Returns the [carla.ActorState](#carla.ActorState), which can identify if the actor is Active, Dormant or Invalid. +- **bounding_box** (_[carla.BoundingBox](#carla.BoundingBox)_) +Bounding box containing the geometry of the actor. Its location and rotation are relative to the actor it is attached to. ### Methods - **add_angular_impulse**(**self**, **angular_impulse**) @@ -35,12 +77,6 @@ Applies an impulse at the center of mass of the actor. This method should be use Applies a torque at the center of mass of the actor. This method should be used for torques that are applied over a certain period of time. Use __add_angular_impulse()__ to apply a torque that only lasts an instant. - **Parameters:** - `torque` (_[carla.Vector3D](#carla.Vector3D) - degrees_) - Torque vector in global coordinates. -- **close_door**(**self**, **door_idx**) -Close the door door_idx if the vehicle has it. Use [carla.VehicleDoor.All](#carla.VehicleDoor.All) to close all available doors. - - **Parameters:** - - `door_idx` (_[carla.VehicleDoor](#carla.VehicleDoor)_) - door index. - - **Note:** _Only [carla.Vehicle](#carla.Vehicle) actors can use this method. -_ - **destroy**(**self**) Tells the simulator to destroy this actor and returns True if it was successful. It has no effect if it was already destroyed. - **Return:** _bool_ @@ -48,19 +84,6 @@ Tells the simulator to destroy this actor and returns True if it was succ _ - **disable_constant_velocity**(**self**) Disables any constant velocity previously set for a [carla.Vehicle](#carla.Vehicle) actor. -- **enable_chrono_physics**(**self**, **max_substeps**, **max_substep_delta_time**, **vehicle_json**, **powertrain_json**, **tire_json**, **base_json_path**) -Enables Chrono physics on a spawned vehicle. - - **Parameters:** - - `max_substeps` (_int_) - Max number of Chrono substeps. - - `max_substep_delta_time` (_int_) - Max size of substep. - - `vehicle_json` (_str_) - Path to vehicle json file relative to `base_json_path`. - - `powertrain_json` (_str_) - Path to powertrain json file relative to `base_json_path`. - - `tire_json` (_str_) - Path to tire json file relative to `base_json_path`. - - `base_json_path` (_str_) - Path to `chrono/data/vehicle` folder. E.g., `/home/user/carla/Build/chrono-install/share/chrono/data/vehicle/` (the final `/` character is required). - - **Note:** _Ensure that you have started the CARLA server with the `ARGS="--chrono"` flag. You will not be able to use Chrono physics without this flag set. -_ - - **Warning:** _Collisions are not supported. When a collision is detected, physics will revert to the default CARLA physics. -_ - **enable_constant_velocity**(**self**, **velocity**) Sets a vehicle's velocity vector to a constant value over time. The resulting velocity will be approximately the `velocity` being set, as with __set_target_velocity()__. - **Parameters:** @@ -69,16 +92,6 @@ Sets a vehicle's velocity vector to a constant value over time. The resulting ve _ - **Warning:** _Enabling a constant velocity for a vehicle managed by the [Traffic Manager](https://[carla.readthedocs.io](#carla.readthedocs.io)/en/latest/adv_traffic_manager/) may cause conflicts. This method overrides any changes in velocity by the TM. _ -- **open_door**(**self**, **door_idx**) -Open the door door_idx if the vehicle has it. Use [carla.VehicleDoor.All](#carla.VehicleDoor.All) to open all available doors. - - **Parameters:** - - `door_idx` (_[carla.VehicleDoor](#carla.VehicleDoor)_) - door index. - - **Note:** _Only [carla.Vehicle](#carla.Vehicle) actors can use this method. -_ -- **show_debug_telemetry**(**self**, **enabled**=True) -Enables or disables the telemetry on this vehicle. This shows information about the vehicles current state and forces applied to it in the spectator window. Only information for one vehicle can be shown so if you enable a second one, the previous will be automatically disabled. - - **Parameters:** - - `enabled` (_bool_) ##### Getters - **get_acceleration**(**self**) @@ -295,12 +308,25 @@ Returns the velocity vector registered for an actor in that tick. --- +## carla.ActorState +Class that defines the state of an actor. + +### Instance Variables +- **Invalid** +An actor is Invalid if a problem has occurred. +- **Active** +An actor is Active when it visualized and can affect other actors. +- **Dormant** +An actor is Dormant when it is not visualized and will not affect other actors through physics. For example, actors are dormant if they are on an unloaded tile in a large map. + +--- + ## carla.AttachmentType Class that defines attachment options between an actor and its parent. When spawning actors, these can be attached to another actor so their position changes accordingly. This is specially useful for sensors. The snipet in [carla.World.spawn_actor](#carla.World.spawn_actor) shows some sensors being attached to a car when spawned. Note that the attachment type is declared as an enum within the class. ### Instance Variables - **Rigid** -With this fixed attatchment the object follow its parent position strictly. This is the recommended attachment to retrieve precise data from the simulation. +With this fixed attachment the object follow its parent position strictly. This is the recommended attachment to retrieve precise data from the simulation. - **SpringArm** An attachment that expands or retracts the position of the actor, depending on its parent. This attachment is only recommended to record videos from the simulation where a smooth movement is needed. SpringArms are an Unreal Engine component so [check the UE docs](https://docs.unrealengine.com/en-US/Gameplay/HowTo/UsingCameras/SpringArmComponents/index.html) to learn more about them.
Warning: The SpringArm attachment presents weird behaviors when an actor is spawned with a relative translation in the Z-axis (e.g. child_location = Location(0,0,2)). - **SpringArmGhost** @@ -310,7 +336,7 @@ An attachment like the previous one but that does not make the collision test, a ## carla.BlueprintLibrary A class that contains the blueprints provided for actor spawning. Its main application is to return [carla.ActorBlueprint](#carla.ActorBlueprint) objects needed to spawn actors. Each blueprint has an identifier and attributes that may or may not be modifiable. The library is automatically created by the server and can be accessed through [carla.World](#carla.World). - + [Here](bp_library.md) is a reference containing every available blueprint and its specifics. ### Methods @@ -319,6 +345,12 @@ Filters a list of blueprints matching the `wildcard_pattern` against the id and - **Parameters:** - `wildcard_pattern` (_str_) - **Return:** _[carla.BlueprintLibrary](#carla.BlueprintLibrary)_ +- **filter_by_attribute**(**self**, **name**, **value**) +Filters a list of blueprints with a given attribute matching the `value` against every blueprint contained in this library and returns the result as a new one. Matching follows [fnmatch](https://docs.python.org/2/library/fnmatch.html) standard. + - **Parameters:** + - `name` (_str_) + - `value` (_str_) + - **Return:** _[carla.BlueprintLibrary](#carla.BlueprintLibrary)_ - **find**(**self**, **id**) Returns the blueprint corresponding to that identifier. - **Parameters:** @@ -548,12 +580,15 @@ Returns the world object currently active in the simulation. This world will be - **set_replayer_ignore_hero**(**self**, **ignore_hero**) - **Parameters:** - `ignore_hero` (_bool_) - Enables or disables playback of the hero vehicle during a playback of a recorded simulation. +- **set_replayer_ignore_spectator**(**self**, **ignore_spectator**) + - **Parameters:** + - `ignore_spectator` (_bool_) - Determines whether the recorded spectator movements will be replicated by the replayer. - **set_replayer_time_factor**(**self**, **time_factor**=1.0) When used, the time speed of the reenacted simulation is modified at will. It can be used several times while a playback is in curse. - **Parameters:** - `time_factor` (_float_) - 1.0 means normal time speed. Greater than 1.0 means fast motion (2.0 would be double speed) and lesser means slow motion (0.5 would be half speed). - **set_timeout**(**self**, **seconds**) -Sets the maxixum time a network call is allowed before blocking it and raising a timeout exceeded error. +Sets the maximum time a network call is allowed before blocking it and raising a timeout exceeded error. - **Parameters:** - `seconds` (_float - seconds_) - New timeout value. Default is 5 seconds. @@ -561,7 +596,7 @@ Sets the maxixum time a network call is allowed before blocking it and raising a ## carla.CollisionEvent Inherited from _[carla.SensorData](#carla.SensorData)_
-Class that defines a collision data for sensor.other.collision. The sensor creates one of this for every collision detected which may be many for one simulation step. Learn more about this [here](ref_sensors.md#collision-detector). +Class that defines a collision data for sensor.other.collision. The sensor creates one of these for every collision detected. Each collision sensor produces one collision event per collision per frame. Multiple collision events may be produced in a single frame by collisions with multiple other actors. Learn more about this [here](ref_sensors.md#collision-detector). ### Instance Variables - **actor** (_[carla.Actor](#carla.Actor)_) @@ -607,7 +642,7 @@ Class that defines conversion patterns that can be applied to a [carla.Image](#c ### Instance Variables - **CityScapesPalette** -Converts the image to a segmentated map using tags provided by the blueprint library. Used by the [semantic segmentation camera](ref_sensors.md#semantic-segmentation-camera). +Converts the image to a segmented map using tags provided by the blueprint library. Used by the [semantic segmentation camera](ref_sensors.md#semantic-segmentation-camera). - **Depth** Converts the image to a linear depth map. Used by the [depth camera](ref_sensors.md#depth-camera). - **LogarithmicDepth** @@ -923,6 +958,7 @@ Image height in pixels. - **width** (_int_) Image width in pixels. - **raw_data** (_bytes_) +Flattened array of pixel data, use reshape to create an image array. ### Methods - **convert**(**self**, **color_converter**) @@ -950,7 +986,7 @@ Class that embodies the intersections on the road described in the OpenDRIVE fil ### Instance Variables - **id** (_int_) -Identificator found in the OpenDRIVE file. +Identifier found in the OpenDRIVE file. - **bounding_box** (_[carla.BoundingBox](#carla.BoundingBox)_) Bounding box encapsulating the junction lanes. @@ -1003,9 +1039,9 @@ Height where the landmark is placed. - **country** (_str_) Country code where the landmark is defined (default to OpenDRIVE is Germany 2017). - **type** (_str_) -Type identificator of the landmark according to the country code. +Type identifier of the landmark according to the country code. - **sub_type** (_str_) -Subtype identificator of the landmark according to the country code. +Subtype identifier of the landmark according to the country code. - **value** (_float_) Value printed in the signal (e.g. speed limit, maximum weight, etc). - **unit** (_str_) @@ -1239,7 +1275,7 @@ Every type except for NONE. --- ## carla.LidarDetection -Data contained inside a [carla.LidarMeasurement](#carla.LidarMeasurement). Each of these represents one of the points in the cloud with its location and its asociated intensity. +Data contained inside a [carla.LidarMeasurement](#carla.LidarMeasurement). Each of these represents one of the points in the cloud with its location and its associated intensity. ### Instance Variables - **point** (_[carla.Location](#carla.Location) - meters_) @@ -1264,7 +1300,7 @@ Number of lasers shot. - **horizontal_angle** (_float - radians_) Horizontal angle the LIDAR is rotated at the time of the measurement. - **raw_data** (_bytes_) -Received list of 4D points. Each point consists of [x,y,z] coordiantes plus the intensity computed for that point. +Received list of 4D points. Each point consists of [x,y,z] coordinates plus the intensity computed for that point. ### Methods - **save_to_disk**(**self**, **path**) @@ -1544,6 +1580,10 @@ Constructor for this class. Though a map is automatically generated when initial - `name` (_str_) - Name of the current map. - `xodr_content` (_str_) - .xodr content in string format. - **Return:** _list([carla.Transform](#carla.Transform))_ +- **cook_in_memory_map**(**self**, **path**) +Generates a binary file from the CARLA map containing information used by the Traffic Manager. This method is only used during the import process for maps. + - **Parameters:** + - `path` (_str_) - Path to the intended location of the stored binary map file. - **generate_waypoints**(**self**, **distance**) Returns a list of waypoints with a certain distance between them for every lane and centered inside of it. Waypoints are not listed in any particular order. Remember that waypoints closer than 2cm within the same road, section and lane will have the same identificator. - **Parameters:** @@ -1698,6 +1738,7 @@ Image height in pixels. - **width** (_int_) Image width in pixels. - **raw_data** (_bytes_) +Flattened array of pixel data, use reshape to create an image array. ### Methods @@ -2486,6 +2527,8 @@ Adjust probability that in each timestep the actor will perform a right lane cha - **Parameters:** - `actor` (_[carla.Actor](#carla.Actor)_) - The actor that you wish to query. - `percentage` (_float_) - The probability of lane change in percentage units (between 0 and 100). +- **shut_down**(**self**) +Shuts down the traffic manager. - **update_vehicle_lights**(**self**, **actor**, **do_update**) Sets if the Traffic Manager is responsible of updating the vehicle lights, or not. Default is __False__. The traffic manager will not change the vehicle light status of a vehicle, unless its auto_update_status is st to __True__. @@ -2608,6 +2651,10 @@ Describes a rotation for an object according to Unreal Engine's axis system. Translates a 3D point from local to global coordinates using the current transformation as frame of reference. - **Parameters:** - `in_point` (_[carla.Location](#carla.Location)_) - Location in the space to which the transformation will be applied. +- **transform_vector**(**self**, **in_vector**) +Rotates a vector using the current transformation as frame of reference, without applying translation. Use this to transform, for example, a velocity. + - **Parameters:** + - `in_vector` (_[carla.Vector3D](#carla.Vector3D)_) - Vector to which the transformation will be applied. ##### Getters - **get_forward_vector**(**self**) @@ -2620,7 +2667,7 @@ Computes the 4-matrix representation of the inverse transformation. Computes the 4-matrix representation of the transformation. - **Return:** _list(list(float))_ - **get_right_vector**(**self**) -Computes a right vector using the rotatio of the object. +Computes a right vector using the rotation of the object. - **Return:** _[carla.Vector3D](#carla.Vector3D)_ - **get_up_vector**(**self**) Computes an up vector using the rotation of the object. @@ -2742,6 +2789,13 @@ Returns a vector with the same direction and unitary length. Computes the squared length of the vector. - **Return:** _float_ +##### Getters +- **get_vector_angle**(**self**, **vector**) +Computes the angle between a pair of 3D vectors in radians. + - **Parameters:** + - `vector` (_[carla.Vector3D](#carla.Vector3D)_) + - **Return:** _float_ + ##### Dunder methods - **\__abs__**(**self**) Returns a Vector3D with the absolute value of the components x, y and z. @@ -2764,13 +2818,22 @@ Returns the axis values for the vector parsed as string. ## carla.Vehicle Inherited from _[carla.Actor](#carla.Actor)_
-One of the most important group of actors in CARLA. These include any type of vehicle from cars to trucks, motorbikes, vans, bycicles and also official vehicles such as police cars. A wide set of these actors is provided in [carla.BlueprintLibrary](#carla.BlueprintLibrary) to facilitate differente requirements. Vehicles can be either manually controlled or set to an autopilot mode that will be conducted client-side by the traffic manager. +One of the most important groups of actors in CARLA. These include any type of vehicle from cars to trucks, motorbikes, vans, bycicles and also official vehicles such as police cars. A wide set of these actors is provided in [carla.BlueprintLibrary](#carla.BlueprintLibrary) to facilitate differente requirements. Vehicles can be either manually controlled or set to an autopilot mode that will be conducted client-side by the traffic manager. ### Instance Variables - **bounding_box** (_[carla.BoundingBox](#carla.BoundingBox)_) Bounding box containing the geometry of the vehicle. Its location and rotation are relative to the vehicle it is attached to. ### Methods +- **apply_ackermann_control**(**self**, **control**) +Applies an Ackermann control object on the next tick. + - **Parameters:** + - `control` (_[carla.VehicleAckermannControl](#carla.VehicleAckermannControl)_) +- **apply_ackermann_controller_settings**(**self**, **settings**) +Applies a new Ackermann control settings to this vehicle in the next tick. + - **Parameters:** + - `settings` (_[carla.AckermannControllerSettings](#carla.AckermannControllerSettings)_) + - **Warning:** _This method does call the simulator._ - **apply_control**(**self**, **control**) Applies a control object on the next tick, containing driving parameters such as throttle, steering or gear shifting. - **Parameters:** @@ -2779,19 +2842,48 @@ Applies a control object on the next tick, containing driving parameters such as Applies a physics control object in the next tick containing the parameters that define the vehicle as a corporeal body. E.g.: moment of inertia, mass, drag coefficient and many more. - **Parameters:** - `physics_control` (_[carla.VehiclePhysicsControl](#carla.VehiclePhysicsControl)_) +- **close_door**(**self**, **door_idx**) +Close the door `door_idx` if the vehicle has it. Use [carla.VehicleDoor.All](#carla.VehicleDoor.All) to close all available doors. + - **Parameters:** + - `door_idx` (_[carla.VehicleDoor](#carla.VehicleDoor)_) - door index. - **enable_carsim**(**self**, **simfile_path**) Enables the CarSim physics solver for this particular vehicle. In order for this function to work, there needs to be a valid license manager running on the server side. The control inputs are redirected to CarSim which will provide the position and orientation of the vehicle for every frame. - **Parameters:** - `simfile_path` (_str_) - Path to the `.simfile` file with the parameters of the simulation. +- **enable_chrono_physics**(**self**, **max_substeps**, **max_substep_delta_time**, **vehicle_json**, **powertrain_json**, **tire_json**, **base_json_path**) +Enables Chrono physics on a spawned vehicle. + - **Parameters:** + - `max_substeps` (_int_) - Max number of Chrono substeps. + - `max_substep_delta_time` (_int_) - Max size of substep. + - `vehicle_json` (_str_) - Path to vehicle json file relative to `base_json_path`. + - `powertrain_json` (_str_) - Path to powertrain json file relative to `base_json_path`. + - `tire_json` (_str_) - Path to tire json file relative to `base_json_path`. + - `base_json_path` (_str_) - Path to `chrono/data/vehicle` folder. E.g., `/home/user/carla/Build/chrono-install/share/chrono/data/vehicle/` (the final `/` character is required). + - **Note:** _Ensure that you have started the CARLA server with the `ARGS="--chrono"` flag. You will not be able to use Chrono physics without this flag set. +_ + - **Warning:** _Collisions are not supported. When a collision is detected, physics will revert to the default CARLA physics. +_ - **is_at_traffic_light**(**self**) Vehicles will be affected by a traffic light when the light is red and the vehicle is inside its bounding box. The client returns whether a traffic light is affecting this vehicle according to last tick (it does not call the simulator). - **Return:** _bool_ +- **open_door**(**self**, **door_idx**) +Open the door `door_idx` if the vehicle has it. Use [carla.VehicleDoor.All](#carla.VehicleDoor.All) to open all available doors. + - **Parameters:** + - `door_idx` (_[carla.VehicleDoor](#carla.VehicleDoor)_) - door index. +- **show_debug_telemetry**(**self**, **enabled**=True) +Enables or disables the telemetry on this vehicle. This shows information about the vehicles current state and forces applied to it in the spectator window. Only information for one vehicle can be shown so that, if you enable a second one, the previous will be automatically disabled. + - **Parameters:** + - `enabled` (_bool_) - **use_carsim_road**(**self**, **enabled**) Enables or disables the usage of CarSim vs terrain file specified in the `.simfile`. By default this option is disabled and CarSim uses unreal engine methods to process the geometry of the scene. - **Parameters:** - `enabled` (_bool_) ##### Getters +- **get_ackermann_controller_settings**(**self**) +Returns the last Ackermann control settings applied to this vehicle. + - **Return:** _[carla.AckermannControllerSettings](#carla.AckermannControllerSettings)_ + - **Warning:** _This method does call the simulator to retrieve the value._ - **get_control**(**self**) The client returns the control applied in the last tick. The method does not call the simulator. - **Return:** _[carla.VehicleControl](#carla.VehicleControl)_ @@ -2808,7 +2900,7 @@ The simulator returns the last physics control applied to this vehicle. - **Warning:** _This method does call the simulator to retrieve the value._ - **get_speed_limit**(**self**) The client returns the speed limit affecting this vehicle according to last tick (it does not call the simulator). The speed limit is updated when passing by a speed limit signal, so a vehicle might have none right after spawning. - - **Return:** _float - m/s_ + - **Return:** _float - km/h_ - **get_traffic_light**(**self**) Retrieves the traffic light actor affecting this vehicle (if any) according to last tick. The method does not call the simulator. - **Return:** _[carla.TrafficLight](#carla.TrafficLight)_ @@ -2847,6 +2939,37 @@ _ --- +## carla.VehicleAckermannControl +Manages the basic movement of a vehicle using Ackermann driving controls. + +### Instance Variables +- **steer** (_float_) +Desired steer (rad). Positive value is to the right. Default is 0.0. +- **steer_speed** (_float_) +Steering velocity (rad/s). Zero steering angle velocity means change the steering angle as quickly as possible. Default is 0.0. +- **speed** (_float_) +Desired speed (m/s). Default is 0.0. +- **acceleration** (_float_) +Desired acceleration (m/s2) Default is 0.0. +- **jerk** (_float_) +Desired jerk (m/s3). Default is 0.0. + +### Methods +- **\__init__**(**self**, **steer**=0.0, **steer_speed**=0.0, **speed**=0.0, **acceleration**=0.0, **jerk**=0.0) + - **Parameters:** + - `steer` (_float_) + - `steer_speed` (_float_) + - `speed` (_float_) + - `acceleration` (_float_) + - `jerk` (_float_) + +##### Dunder methods +- **\__eq__**(**self**, **other**=[carla.AckermannVehicleControl](#carla.AckermannVehicleControl)) +- **\__ne__**(**self**, **other**=[carla.AckermannVehicleControl](#carla.AckermannVehicleControl)) +- **\__str__**(**self**) + +--- + ## carla.VehicleControl Manages the basic movement of a vehicle using typical driving controls. @@ -3027,10 +3150,6 @@ Back wheel of a 2 wheeled vehicle. Inherited from _[carla.Actor](#carla.Actor)_
This class inherits from the [carla.Actor](#carla.Actor) and defines pedestrians in the simulation. Walkers are a special type of actor that can be controlled either by an AI ([carla.WalkerAIController](#carla.WalkerAIController)) or manually via script, using a series of [carla.WalkerControl](#carla.WalkerControl) to move these and their skeletons. -### Instance Variables -- **bounding_box** (_[carla.BoundingBox](#carla.BoundingBox)_) -Bounding box containing the geometry of the walker. Its location and rotation are relative to the walker it is attached to. - ### Methods - **apply_control**(**self**, **control**) On the next tick, the control will move the walker in a certain direction with a certain speed. Jumps can be commanded too. @@ -3174,19 +3293,21 @@ Waypoints in CARLA are described as 3D directed points. They have a [carla.Trans ### Instance Variables - **id** (_int_) -The identificator is generated using a hash combination of the road, section, lane and s values that correspond to said point in the OpenDRIVE geometry. The s precision is set to 2 centimeters, so 2 waypoints closer than 2 centimeters in the same road, section and lane, will have the same identificator. +The identifier is generated using a hash combination of the road, section, lane and s values that correspond to said point in the OpenDRIVE geometry. The s precision is set to 2 centimeters, so 2 waypoints closer than 2 centimeters in the same road, section and lane, will have the same identificator. - **transform** (_[carla.Transform](#carla.Transform)_) Position and orientation of the waypoint according to the current lane information. This data is computed the first time it is accessed. It is not created right away in order to ease computing costs when lots of waypoints are created but their specific transform is not needed. - **road_id** (_int_) OpenDRIVE road's id. - **section_id** (_int_) OpenDRIVE section's id, based on the order that they are originally defined. +- **is_junction** (_bool_) +True if the current Waypoint is on a junction as defined by OpenDRIVE. +- **junction_id** (_int_) +OpenDRIVE junction's id. For more information refer to OpenDRIVE [documentation](http://www.opendrive.org/docs/OpenDRIVEFormatSpecRev1.4H.pdf#page=20). - **lane_id** (_int_) OpenDRIVE lane's id, this value can be positive or negative which represents the direction of the current lane with respect to the road. For more information refer to OpenDRIVE [documentation](http://www.opendrive.org/docs/OpenDRIVEFormatSpecRev1.4H.pdf#page=20). - **s** (_float_) OpenDRIVE s value of the current position. -- **is_junction** (_bool_) -True if the current Waypoint is on a junction as defined by OpenDRIVE. - **lane_width** (_float_) Horizontal size of the road at current s. - **lane_change** (_[carla.LaneChange](#carla.LaneChange)_) @@ -3224,7 +3345,7 @@ Returns a list of waypoints from this to the start of the lane separated by a ce ##### Getters - **get_junction**(**self**) -If the waypoint belongs to a junction this method returns the asociated junction object. Otherwise returns null. +If the waypoint belongs to a junction this method returns the associated junction object. Otherwise returns null. - **Return:** _[carla.Junction](#carla.Junction)_ - **get_landmarks**(**self**, **distance**, **stop_at_junction**=False) Returns a list of landmarks in the road from the current waypoint until the specified distance. @@ -3434,7 +3555,7 @@ Freezes or unfreezes all traffic lights in the scene. Frozen traffic lights can - **Parameters:** - `frozen` (_bool_) - **ground_projection**(**self**, **location**, **search_distance**) -Projects the specified point downwards in the scene. The functions casts a ray from location in the direction (0,0,-1) (downwards) and returns a [carla.Labelled](#carla.Labelled) object with the first geometry this ray intersects (usually the ground). If no geometry is found in the search_distance range the function returns `None`. +Projects the specified point downwards in the scene. The functions casts a ray from location in the direction (0,0,-1) (downwards) and returns a [carla.LabelledPoint](#carla.LabelledPoint) object with the first geometry this ray intersects (usually the ground). If no geometry is found in the search_distance range the function returns `None`. - **Parameters:** - `location` (_[carla.Location](#carla.Location)_) - The point to be projected. - `search_distance` (_float_) - The maximum distance to perform the projection. @@ -3625,14 +3746,21 @@ Defines wether to use deterministic physics for pedestrian death animations or p Used for large maps only. Configures the maximum distance from the hero vehicle to stream tiled maps. Regions of the map within this range will be visible (and capable of simulating physics). Regions outside this region will not be loaded. - **actor_active_distance** (_float_) Used for large maps only. Configures the distance from the hero vehicle to convert actors to dormant. Actors within this range will be active, and actors outside will become dormant. +- **spectator_as_ego** (_bool_) +Used for large maps only. Defines the influence of the spectator on tile loading in Large Maps. By default, the spectator will provoke loading of neighboring tiles in the absence of an ego actor. This might be inconvenient for applications that immediately spawn an ego actor. ### Methods -- **\__init__**(**self**, **synchronous_mode**=False, **no_rendering_mode**=False, **fixed_delta_seconds**=0.0) +- **\__init__**(**self**, **synchronous_mode**=False, **no_rendering_mode**=False, **fixed_delta_seconds**=0.0, **max_culling_distance**=0.0, **deterministic_ragdolls**=False, **tile_stream_distance**=3000, **actor_active_distance**=2000, **spectator_as_ego**=True) Creates an object containing desired settings that could later be applied through [carla.World](#carla.World) and its method __apply_settings()__. - **Parameters:** - `synchronous_mode` (_bool_) - Set this to true to enable client-server synchrony. - `no_rendering_mode` (_bool_) - Set this to true to completely disable rendering in the simulation. - `fixed_delta_seconds` (_float - seconds_) - Set a fixed time-step in between frames. 0.0 means variable time-step and it is the default mode. + - `max_culling_distance` (_float - meters_) - Configure the max draw distance for each mesh of the level. + - `deterministic_ragdolls` (_bool_) - Defines wether to use deterministic physics or ragdoll simulation for pedestrian deaths. + - `tile_stream_distance` (_float - meters_) - Used for large maps only. Configures the maximum distance from the hero vehicle to stream tiled maps. + - `actor_active_distance` (_float - meters_) - Used for large maps only. Configures the distance from the hero vehicle to convert actors to dormant. + - `spectator_as_ego` (_bool_) - Used for large maps only. Defines the influence of the spectator on tile loading in Large Maps. ##### Dunder methods - **\__eq__**(**self**, **other**=[carla.WorldSettings](#carla.WorldSettings)) @@ -3652,7 +3780,7 @@ This snapshot comprises all the information for every actor on scene at a certai ### Instance Variables - **id** (_int_) -A value unique for every snapshot to differenciate them. +A value unique for every snapshot to differentiate them. - **frame** (_int_) Simulation frame in which the snapshot was taken. - **timestamp** (_[carla.Timestamp](#carla.Timestamp) - seconds_) @@ -3804,6 +3932,23 @@ Transformation to be applied. --- +## command.ApplyVehicleAckermannControl +Command adaptation of __apply_ackermann_control()__ in [carla.Vehicle](#carla.Vehicle). Applies a certain akermann control to a vehicle. + +### Instance Variables +- **actor_id** (_int_) +Vehicle actor affected by the command. +- **control** (_[carla.AckermannVehicleControl](#carla.AckermannVehicleControl)_) +Vehicle ackermann control to be applied. + +### Methods +- **\__init__**(**self**, **actor**, **control**) + - **Parameters:** + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. + - `control` (_[carla.AckermannVehicleControl](#carla.AckermannVehicleControl)_) + +--- + ## command.ApplyVehicleControl Command adaptation of __apply_control()__ in [carla.Vehicle](#carla.Vehicle). Applies a certain control to a vehicle. @@ -3827,14 +3972,14 @@ Command adaptation of __apply_physics_control()__ i ### Instance Variables - **actor_id** (_int_) Vehicle actor affected by the command. -- **control** (_[carla.VehiclePhysicsControl](#carla.VehiclePhysicsControl)_) +- **physics_control** (_[carla.VehiclePhysicsControl](#carla.VehiclePhysicsControl)_) Physics control to be applied. ### Methods -- **\__init__**(**self**, **actor**, **control**) +- **\__init__**(**self**, **actor**, **physics_control**) - **Parameters:** - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. - - `control` (_[carla.VehiclePhysicsControl](#carla.VehiclePhysicsControl)_) + - `physics_control` (_[carla.VehiclePhysicsControl](#carla.VehiclePhysicsControl)_) --- @@ -4043,110 +4188,117 @@ document.getElementById("snipets-container").innerHTML = null; } -