diff --git a/CHANGELOG.md b/CHANGELOG.md index eb8dde331a6..c9955179353 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ +## CARLA 0.9.13 + + * Added new **instance aware semantic segmentation** sensor `sensor.camera.instance_segmentation` + * Added new API classes: `MaterialParameter`, `TextureColor` and `TextureFloatColor` to encode texture data and field (normal map, diffuse, etc) + * Added new API functions: `apply_color_texture_to_object`, `apply_float_color_texture_to_object` and `apply_textures_to_object` to paint objects in **runtime** + * Added the option for users to set a **route** using RoadOption elements to a vehicle controlled by the Traffic Manager. + * **Cache** now has an extra folder with current version of CARLA (so different cache per version) + * Added **set_percentage_random_left_lanechange** and **set_percentage_random_right_lanechange**. + * Improved handling of **collisions** in Traffic Manager when driving at **very high speeds**. + * Added physical simulation to **vehicle doors**, capable of opening and closing + * Added **open/close doors** feature for vehicles. + * Added API functions to **3D vectors**: `squared_length`, `length`, `make_unit_vector`, `dot`, `dot_2d`, `distance`, `distance_2d`, `distance_squared`, `distance_squared_2d`, `get_vector_angle` + * Added API functions to **2D vectors**: `squared_length`, `length`, `make_unit_vector` + * Added a **seed** for better reproducibility of pedestrians + - New API function `set_pedestrians_seed` + - New parameter **--seedw** in generate_traffic.py script + * Added missing dependency `libomp5` to **Release.Dockerfile** + * Added API functions to interact with **pedestrian bones**: + - `get_bones / set_bones`: to get/set the bones of a pedestrian + - `blend_pose`: to blend a custom pose with current animation + - `show_pose / hide_pose`: to show or hide the custom pose + - `get_pose_from_animation`: to set the custom pose with the animation current frame + * Added a new script in **PythonAPI/examples/draw_skeleton.py** to draw the bones of a pedestrian from client side + * Improved **collision** detection of the Python agents + * Added the new **VehicleLightStage** to the Traffic Manager to dynamically update the vehicle lights. + * Added two new examples to **PythonAPI/util**: Conversion of OpenStreetMaps to OpenDRIVE maps `osm_to_xodr.py` and Extraction of map spawn points `extract_spawn_points.py` + * Fixed the **import of props** without any map + * Fixed **global route planner** crash when being used at maps without lane markings + * Fixed bug causing the server to **sigsegv** when a vehicle collides an environment object in recording mode. + * Fixed **RSSSensor**: made client side calculations threaded + * Fixed **keep_right_rule** parameter. + ## CARLA 0.9.12 * Changed the resolution of the cached map in Traffic Manager from 0.1 to 5 meters diff --git a/Docs/adv_synchrony_timestep.md b/Docs/adv_synchrony_timestep.md index ffb6e3becff..036f018c780 100644 --- a/Docs/adv_synchrony_timestep.md +++ b/Docs/adv_synchrony_timestep.md @@ -207,6 +207,65 @@ CARLA supports physics and collision determinism under specific circumstances: - __The world must be reloaded for each new repetition:__ Reload the world each time you want to reproduce a simulation. - __Commands should be batched instead of issued one at a time:__ Although rare, in a busy simulation or overloaded server, single issued commands can become lost. If commands are batched in a [`apply_batch_sync`](python_api.md/#carla.Client.apply_batch_sync) command, the command is guaranteed to be executed or return a failure response. +Here is an example of the steps mentioned above: + +```py +client = carla.Client(HOST, PORT) # connect to the server +client.set_timeout(10.0) +world = client.get_world() + +# Load the desired map +client.load_world("Town10HD_Opt") + +# Set synchronous mode settings +new_settings = world.get_settings() +new_settings.synchronous_mode = True +new_settings.fixed_delta_seconds = 0.05 +world.apply_settings(new_settings) + +client.reload_world(False) # reload map keeping the world settings + +# Set up the traffic manager +traffic_manager = client.get_trafficmanager(TM_PORT) +traffic_manager.set_synchronous_mode(True) +traffic_manager.set_random_device_seed(SEED) # define TM seed for determinism + +# Spawn your vehicles, pedestrians, etc. + +# Simulation loop +while True: + # Your code + world.tick() +``` + +And a particular example for the playback feature: + +```py +client = carla.Client(HOST, PORT) # connect to the server +client.set_timeout(10.0) +world = client.get_world() + +# Load the desired map +client.load_world("Town10HD_Opt") + +# Set synchronous mode settings +new_settings = world.get_settings() +new_settings.synchronous_mode = True +new_settings.fixed_delta_seconds = 0.05 +world.apply_settings(new_settings) + +client.reload_world(False) # reload map keeping the world settings + +client.replay_file(FILE_TO_PLAY, 0, 0, 0, False) +world.tick() # a tick is necessary for the server to process the replay_file command + +# Simulation loop +while True: + # Your code + world.tick() +``` + +Running these steps will ensure the same outcome for every simulation run. --- diff --git a/Docs/adv_traffic_manager.md b/Docs/adv_traffic_manager.md index df20ea38993..a5b93df50c0 100644 --- a/Docs/adv_traffic_manager.md +++ b/Docs/adv_traffic_manager.md @@ -76,6 +76,11 @@ The TM generates viable commands for all vehicles in the [vehicle registry](#veh >Vehicle movement is computed based on the defined path. A [PID controller](#pid-controller) determines how to reach the target waypoints. This is then translated into a CARLA command for application in the next step. +>__2.5 - [Vehicle Lights Stage](#stage-5-vehicle-lights-stage).__ + +> The vehicle lights switch on/off dynamically based on environmental factors (e.g. sunlight and the presence of fog or rain) and vehicle behavior (e.g. turning on direction indicators if the vehicle will turn left/right at the next junction, or turn on the stop lights if braking). + + __3. Apply the commands in the simulation.__ Commands generated in the previous step are collected into the [command array](#command-array) and sent to the CARLA server in a batch to be applied in the same frame. @@ -119,7 +124,7 @@ __Related .cpp files:__ `SimulationState.cpp`, `SimulationState.h`. ### Control loop -The control loop manages the calculations of the next command for all autopilot vehicles so they are performed synchronously. The control loop consists of four different [stages](#stages-of-the-control-loop); localization, collision, traffic light, and motion planner. +The control loop manages the calculations of the next command for all autopilot vehicles so they are performed synchronously. The control loop consists of five different [stages](#stages-of-the-control-loop); localization, collision, traffic light, motion planner and vehicle lights. The control loop: @@ -128,7 +133,7 @@ The control loop: - Divides calculations into a series of [stages](#stages-of-the-control-loop). - Creates synchronization barriers between stages to guarantee consistency. Calculations for all vehicles are finished before any of them move to the next stage, ensuring all vehicles are updated in the same frame. - Coordinates the transition between [stages](#stages-of-the-control-loop) so all calculations are done in sync. -- Sends the [command array](#command-array) to the server when the last stage ([Motion Planner Stage](#stage-4-motion-planner-stage)) finishes so there are no frame delays between the command calculations and the command application. +- Sends the [command array](#command-array) to the server when the last stages ([Motion Planner Stage](#stage-4-motion-planner-stage) and [Vehicle Lights Stage](#stage-5-vehicle-lights-stage)) finishes so there are no frame delays between the command calculations and the command application. __Related .cpp files:__ `TrafficManagerLocal.cpp`. @@ -228,6 +233,25 @@ The Motion Planner Stage: __Related .cpp files:__ `MotionPlannerStage.cpp`. + +##### Stage 5- Vehicle Lights Stage + +The Vehicle Lights Stage activates the lights based on the condition of the vehicle and the surrounding environment. + +The Vehicle Lights Stage: + +- Retrieves the planned waypoints for the vehicle, information about vehicle lights (eg. light state and the planned command to be applied) and the weather conditions. + +- Determines the new state of the vehicle lights: + - Turns on the blinkers if the vehicle is planning to turn left/right at the next junction. + - Turns on the stop lights if the applied command is asking the vehicle to brake. + - Turns on the low beams and the position lights from sunset to dawn, or under heavy rain. + - Turns on the fog lights under heavy fog conditions. + +- Update the vehicle lights state if it has changed. + +__Related .cpp files:__ `VehicleLightStage.cpp`. + --- ## Using the Traffic Manager @@ -315,6 +339,20 @@ for v in my_vehicles: tm.auto_lane_change(v,False) ``` +#### Delegating the Traffic Manager to automatically update vehicle lights + +By default, vehicle lights (brake, turn indicators, etc...) of the vehicles managed by the TM are never updated. It is possible to delegate the TM to update the vehicle lights of a given vehicle actor: + +```python +tm = client.get_trafficmanager(port) +for actor in my_vehicles: + tm.update_vehicle_lights(actor, True) +``` + +Vehicle lights management has to be specified on a per-vehicle basis, and there could be at any given time both vehicles with and without the automatic light management. + + + ### Stopping a Traffic Manager The TM is not an actor that needs to be destroyed; it will stop when the client that created it stops. This is automatically managed by the API, the user does not have to do anything. However, when shutting down a TM, the user must destroy the vehicles controlled by it, otherwise they will remain immobile on the map. The script `generate_traffic.py` does this automatically: diff --git a/Docs/bp_library.md b/Docs/bp_library.md index 2a33ec3920d..98010c4e329 100755 --- a/Docs/bp_library.md +++ b/Docs/bp_library.md @@ -16,892 +16,919 @@ Check out the [introduction to blueprints](core_actors.md). ### controller - **controller.ai.walker** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ ### sensor - **sensor.camera.depth** - **Attributes:** - - `fov` (_Float_)_ – Modifiable_ - - `image_size_x` (_Int_)_ – Modifiable_ - - `image_size_y` (_Int_)_ – Modifiable_ - - `lens_circle_falloff` (_Float_)_ – Modifiable_ - - `lens_circle_multiplier` (_Float_)_ – Modifiable_ - - `lens_k` (_Float_)_ – Modifiable_ - - `lens_kcube` (_Float_)_ – Modifiable_ - - `lens_x_size` (_Float_)_ – Modifiable_ - - `lens_y_size` (_Float_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ + - `fov` (_Float_) _- Modifiable_ + - `image_size_x` (_Int_) _- Modifiable_ + - `image_size_y` (_Int_) _- Modifiable_ + - `lens_circle_falloff` (_Float_) _- Modifiable_ + - `lens_circle_multiplier` (_Float_) _- Modifiable_ + - `lens_k` (_Float_) _- Modifiable_ + - `lens_kcube` (_Float_) _- Modifiable_ + - `lens_x_size` (_Float_) _- Modifiable_ + - `lens_y_size` (_Float_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ - **sensor.camera.dvs** - **Attributes:** - - `black_clip` (_Float_)_ – Modifiable_ - - `blade_count` (_Int_)_ – Modifiable_ - - `bloom_intensity` (_Float_)_ – Modifiable_ - - `blur_amount` (_Float_)_ – Modifiable_ - - `blur_radius` (_Float_)_ – Modifiable_ - - `calibration_constant` (_Float_)_ – Modifiable_ - - `chromatic_aberration_intensity` (_Float_)_ – Modifiable_ - - `chromatic_aberration_offset` (_Float_)_ – Modifiable_ - - `enable_postprocess_effects` (_Bool_)_ – Modifiable_ - - `exposure_compensation` (_Float_)_ – Modifiable_ - - `exposure_max_bright` (_Float_)_ – Modifiable_ - - `exposure_min_bright` (_Float_)_ – Modifiable_ - - `exposure_mode` (_String_)_ – Modifiable_ - - `exposure_speed_down` (_Float_)_ – Modifiable_ - - `exposure_speed_up` (_Float_)_ – Modifiable_ - - `focal_distance` (_Float_)_ – Modifiable_ - - `fov` (_Float_)_ – Modifiable_ - - `fstop` (_Float_)_ – Modifiable_ - - `gamma` (_Float_)_ – Modifiable_ - - `image_size_x` (_Int_)_ – Modifiable_ - - `image_size_y` (_Int_)_ – Modifiable_ - - `iso` (_Float_)_ – Modifiable_ - - `lens_circle_falloff` (_Float_)_ – Modifiable_ - - `lens_circle_multiplier` (_Float_)_ – Modifiable_ - - `lens_flare_intensity` (_Float_)_ – Modifiable_ - - `lens_k` (_Float_)_ – Modifiable_ - - `lens_kcube` (_Float_)_ – Modifiable_ - - `lens_x_size` (_Float_)_ – Modifiable_ - - `lens_y_size` (_Float_)_ – Modifiable_ - - `log_eps` (_Float_)_ – Modifiable_ - - `min_fstop` (_Float_)_ – Modifiable_ - - `motion_blur_intensity` (_Float_)_ – Modifiable_ - - `motion_blur_max_distortion` (_Float_)_ – Modifiable_ - - `motion_blur_min_object_screen_size` (_Float_)_ – Modifiable_ - - `negative_threshold` (_Float_)_ – Modifiable_ - - `positive_threshold` (_Float_)_ – Modifiable_ - - `refractory_period_ns` (_Int_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ - - `shoulder` (_Float_)_ – Modifiable_ - - `shutter_speed` (_Float_)_ – Modifiable_ - - `sigma_negative_threshold` (_Float_)_ – Modifiable_ - - `sigma_positive_threshold` (_Float_)_ – Modifiable_ - - `slope` (_Float_)_ – Modifiable_ - - `temp` (_Float_)_ – Modifiable_ - - `tint` (_Float_)_ – Modifiable_ - - `toe` (_Float_)_ – Modifiable_ - - `use_log` (_Bool_)_ – Modifiable_ - - `white_clip` (_Float_)_ – Modifiable_ + - `black_clip` (_Float_) _- Modifiable_ + - `blade_count` (_Int_) _- Modifiable_ + - `bloom_intensity` (_Float_) _- Modifiable_ + - `blur_amount` (_Float_) _- Modifiable_ + - `blur_radius` (_Float_) _- Modifiable_ + - `calibration_constant` (_Float_) _- Modifiable_ + - `chromatic_aberration_intensity` (_Float_) _- Modifiable_ + - `chromatic_aberration_offset` (_Float_) _- Modifiable_ + - `enable_postprocess_effects` (_Bool_) _- Modifiable_ + - `exposure_compensation` (_Float_) _- Modifiable_ + - `exposure_max_bright` (_Float_) _- Modifiable_ + - `exposure_min_bright` (_Float_) _- Modifiable_ + - `exposure_mode` (_String_) _- Modifiable_ + - `exposure_speed_down` (_Float_) _- Modifiable_ + - `exposure_speed_up` (_Float_) _- Modifiable_ + - `focal_distance` (_Float_) _- Modifiable_ + - `fov` (_Float_) _- Modifiable_ + - `fstop` (_Float_) _- Modifiable_ + - `gamma` (_Float_) _- Modifiable_ + - `image_size_x` (_Int_) _- Modifiable_ + - `image_size_y` (_Int_) _- Modifiable_ + - `iso` (_Float_) _- Modifiable_ + - `lens_circle_falloff` (_Float_) _- Modifiable_ + - `lens_circle_multiplier` (_Float_) _- Modifiable_ + - `lens_flare_intensity` (_Float_) _- Modifiable_ + - `lens_k` (_Float_) _- Modifiable_ + - `lens_kcube` (_Float_) _- Modifiable_ + - `lens_x_size` (_Float_) _- Modifiable_ + - `lens_y_size` (_Float_) _- Modifiable_ + - `log_eps` (_Float_) _- Modifiable_ + - `min_fstop` (_Float_) _- Modifiable_ + - `motion_blur_intensity` (_Float_) _- Modifiable_ + - `motion_blur_max_distortion` (_Float_) _- Modifiable_ + - `motion_blur_min_object_screen_size` (_Float_) _- Modifiable_ + - `negative_threshold` (_Float_) _- Modifiable_ + - `positive_threshold` (_Float_) _- Modifiable_ + - `refractory_period_ns` (_Int_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ + - `shoulder` (_Float_) _- Modifiable_ + - `shutter_speed` (_Float_) _- Modifiable_ + - `sigma_negative_threshold` (_Float_) _- Modifiable_ + - `sigma_positive_threshold` (_Float_) _- Modifiable_ + - `slope` (_Float_) _- Modifiable_ + - `temp` (_Float_) _- Modifiable_ + - `tint` (_Float_) _- Modifiable_ + - `toe` (_Float_) _- Modifiable_ + - `use_log` (_Bool_) _- Modifiable_ + - `white_clip` (_Float_) _- Modifiable_ - **sensor.camera.optical_flow** - **Attributes:** - - `fov` (_Float_)_ – Modifiable_ - - `image_size_x` (_Int_)_ – Modifiable_ - - `image_size_y` (_Int_)_ – Modifiable_ - - `lens_circle_falloff` (_Float_)_ – Modifiable_ - - `lens_circle_multiplier` (_Float_)_ – Modifiable_ - - `lens_k` (_Float_)_ – Modifiable_ - - `lens_kcube` (_Float_)_ – Modifiable_ - - `lens_x_size` (_Float_)_ – Modifiable_ - - `lens_y_size` (_Float_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ + - `fov` (_Float_) _- Modifiable_ + - `image_size_x` (_Int_) _- Modifiable_ + - `image_size_y` (_Int_) _- Modifiable_ + - `lens_circle_falloff` (_Float_) _- Modifiable_ + - `lens_circle_multiplier` (_Float_) _- Modifiable_ + - `lens_k` (_Float_) _- Modifiable_ + - `lens_kcube` (_Float_) _- Modifiable_ + - `lens_x_size` (_Float_) _- Modifiable_ + - `lens_y_size` (_Float_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ - **sensor.camera.rgb** - **Attributes:** - - `black_clip` (_Float_)_ – Modifiable_ - - `blade_count` (_Int_)_ – Modifiable_ - - `bloom_intensity` (_Float_)_ – Modifiable_ - - `blur_amount` (_Float_)_ – Modifiable_ - - `blur_radius` (_Float_)_ – Modifiable_ - - `calibration_constant` (_Float_)_ – Modifiable_ - - `chromatic_aberration_intensity` (_Float_)_ – Modifiable_ - - `chromatic_aberration_offset` (_Float_)_ – Modifiable_ - - `enable_postprocess_effects` (_Bool_)_ – Modifiable_ - - `exposure_compensation` (_Float_)_ – Modifiable_ - - `exposure_max_bright` (_Float_)_ – Modifiable_ - - `exposure_min_bright` (_Float_)_ – Modifiable_ - - `exposure_mode` (_String_)_ – Modifiable_ - - `exposure_speed_down` (_Float_)_ – Modifiable_ - - `exposure_speed_up` (_Float_)_ – Modifiable_ - - `focal_distance` (_Float_)_ – Modifiable_ - - `fov` (_Float_)_ – Modifiable_ - - `fstop` (_Float_)_ – Modifiable_ - - `gamma` (_Float_)_ – Modifiable_ - - `image_size_x` (_Int_)_ – Modifiable_ - - `image_size_y` (_Int_)_ – Modifiable_ - - `iso` (_Float_)_ – Modifiable_ - - `lens_circle_falloff` (_Float_)_ – Modifiable_ - - `lens_circle_multiplier` (_Float_)_ – Modifiable_ - - `lens_flare_intensity` (_Float_)_ – Modifiable_ - - `lens_k` (_Float_)_ – Modifiable_ - - `lens_kcube` (_Float_)_ – Modifiable_ - - `lens_x_size` (_Float_)_ – Modifiable_ - - `lens_y_size` (_Float_)_ – Modifiable_ - - `min_fstop` (_Float_)_ – Modifiable_ - - `motion_blur_intensity` (_Float_)_ – Modifiable_ - - `motion_blur_max_distortion` (_Float_)_ – Modifiable_ - - `motion_blur_min_object_screen_size` (_Float_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ - - `shoulder` (_Float_)_ – Modifiable_ - - `shutter_speed` (_Float_)_ – Modifiable_ - - `slope` (_Float_)_ – Modifiable_ - - `temp` (_Float_)_ – Modifiable_ - - `tint` (_Float_)_ – Modifiable_ - - `toe` (_Float_)_ – Modifiable_ - - `white_clip` (_Float_)_ – Modifiable_ + - `black_clip` (_Float_) _- Modifiable_ + - `blade_count` (_Int_) _- Modifiable_ + - `bloom_intensity` (_Float_) _- Modifiable_ + - `blur_amount` (_Float_) _- Modifiable_ + - `blur_radius` (_Float_) _- Modifiable_ + - `calibration_constant` (_Float_) _- Modifiable_ + - `chromatic_aberration_intensity` (_Float_) _- Modifiable_ + - `chromatic_aberration_offset` (_Float_) _- Modifiable_ + - `enable_postprocess_effects` (_Bool_) _- Modifiable_ + - `exposure_compensation` (_Float_) _- Modifiable_ + - `exposure_max_bright` (_Float_) _- Modifiable_ + - `exposure_min_bright` (_Float_) _- Modifiable_ + - `exposure_mode` (_String_) _- Modifiable_ + - `exposure_speed_down` (_Float_) _- Modifiable_ + - `exposure_speed_up` (_Float_) _- Modifiable_ + - `focal_distance` (_Float_) _- Modifiable_ + - `fov` (_Float_) _- Modifiable_ + - `fstop` (_Float_) _- Modifiable_ + - `gamma` (_Float_) _- Modifiable_ + - `image_size_x` (_Int_) _- Modifiable_ + - `image_size_y` (_Int_) _- Modifiable_ + - `iso` (_Float_) _- Modifiable_ + - `lens_circle_falloff` (_Float_) _- Modifiable_ + - `lens_circle_multiplier` (_Float_) _- Modifiable_ + - `lens_flare_intensity` (_Float_) _- Modifiable_ + - `lens_k` (_Float_) _- Modifiable_ + - `lens_kcube` (_Float_) _- Modifiable_ + - `lens_x_size` (_Float_) _- Modifiable_ + - `lens_y_size` (_Float_) _- Modifiable_ + - `min_fstop` (_Float_) _- Modifiable_ + - `motion_blur_intensity` (_Float_) _- Modifiable_ + - `motion_blur_max_distortion` (_Float_) _- Modifiable_ + - `motion_blur_min_object_screen_size` (_Float_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ + - `shoulder` (_Float_) _- Modifiable_ + - `shutter_speed` (_Float_) _- Modifiable_ + - `slope` (_Float_) _- Modifiable_ + - `temp` (_Float_) _- Modifiable_ + - `tint` (_Float_) _- Modifiable_ + - `toe` (_Float_) _- Modifiable_ + - `white_clip` (_Float_) _- Modifiable_ - **sensor.camera.semantic_segmentation** - **Attributes:** - - `fov` (_Float_)_ – Modifiable_ - - `image_size_x` (_Int_)_ – Modifiable_ - - `image_size_y` (_Int_)_ – Modifiable_ - - `lens_circle_falloff` (_Float_)_ – Modifiable_ - - `lens_circle_multiplier` (_Float_)_ – Modifiable_ - - `lens_k` (_Float_)_ – Modifiable_ - - `lens_kcube` (_Float_)_ – Modifiable_ - - `lens_x_size` (_Float_)_ – Modifiable_ - - `lens_y_size` (_Float_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ + - `fov` (_Float_) _- Modifiable_ + - `image_size_x` (_Int_) _- Modifiable_ + - `image_size_y` (_Int_) _- Modifiable_ + - `lens_circle_falloff` (_Float_) _- Modifiable_ + - `lens_circle_multiplier` (_Float_) _- Modifiable_ + - `lens_k` (_Float_) _- Modifiable_ + - `lens_kcube` (_Float_) _- Modifiable_ + - `lens_x_size` (_Float_) _- Modifiable_ + - `lens_y_size` (_Float_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ - **sensor.lidar.ray_cast** - **Attributes:** - - `atmosphere_attenuation_rate` (_Float_)_ – Modifiable_ - - `channels` (_Int_)_ – Modifiable_ - - `dropoff_general_rate` (_Float_)_ – Modifiable_ - - `dropoff_intensity_limit` (_Float_)_ – Modifiable_ - - `dropoff_zero_intensity` (_Float_)_ – Modifiable_ - - `horizontal_fov` (_Float_)_ – Modifiable_ - - `lower_fov` (_Float_)_ – Modifiable_ - - `noise_seed` (_Int_)_ – Modifiable_ - - `noise_stddev` (_Float_)_ – Modifiable_ - - `points_per_second` (_Int_)_ – Modifiable_ - - `range` (_Float_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `rotation_frequency` (_Float_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ - - `upper_fov` (_Float_)_ – Modifiable_ + - `atmosphere_attenuation_rate` (_Float_) _- Modifiable_ + - `channels` (_Int_) _- Modifiable_ + - `dropoff_general_rate` (_Float_) _- Modifiable_ + - `dropoff_intensity_limit` (_Float_) _- Modifiable_ + - `dropoff_zero_intensity` (_Float_) _- Modifiable_ + - `horizontal_fov` (_Float_) _- Modifiable_ + - `lower_fov` (_Float_) _- Modifiable_ + - `noise_seed` (_Int_) _- Modifiable_ + - `noise_stddev` (_Float_) _- Modifiable_ + - `points_per_second` (_Int_) _- Modifiable_ + - `range` (_Float_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `rotation_frequency` (_Float_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ + - `upper_fov` (_Float_) _- Modifiable_ - **sensor.lidar.ray_cast_semantic** - **Attributes:** - - `channels` (_Int_)_ – Modifiable_ - - `horizontal_fov` (_Float_)_ – Modifiable_ - - `lower_fov` (_Float_)_ – Modifiable_ - - `points_per_second` (_Int_)_ – Modifiable_ - - `range` (_Float_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `rotation_frequency` (_Float_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ - - `upper_fov` (_Float_)_ – Modifiable_ + - `channels` (_Int_) _- Modifiable_ + - `horizontal_fov` (_Float_) _- Modifiable_ + - `lower_fov` (_Float_) _- Modifiable_ + - `points_per_second` (_Int_) _- Modifiable_ + - `range` (_Float_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `rotation_frequency` (_Float_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ + - `upper_fov` (_Float_) _- Modifiable_ - **sensor.other.collision** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - **sensor.other.gnss** - **Attributes:** - - `noise_alt_bias` (_Float_)_ – Modifiable_ - - `noise_alt_stddev` (_Float_)_ – Modifiable_ - - `noise_lat_bias` (_Float_)_ – Modifiable_ - - `noise_lat_stddev` (_Float_)_ – Modifiable_ - - `noise_lon_bias` (_Float_)_ – Modifiable_ - - `noise_lon_stddev` (_Float_)_ – Modifiable_ - - `noise_seed` (_Int_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ + - `noise_alt_bias` (_Float_) _- Modifiable_ + - `noise_alt_stddev` (_Float_) _- Modifiable_ + - `noise_lat_bias` (_Float_) _- Modifiable_ + - `noise_lat_stddev` (_Float_) _- Modifiable_ + - `noise_lon_bias` (_Float_) _- Modifiable_ + - `noise_lon_stddev` (_Float_) _- Modifiable_ + - `noise_seed` (_Int_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ - **sensor.other.imu** - **Attributes:** - - `noise_accel_stddev_x` (_Float_)_ – Modifiable_ - - `noise_accel_stddev_y` (_Float_)_ – Modifiable_ - - `noise_accel_stddev_z` (_Float_)_ – Modifiable_ - - `noise_gyro_bias_x` (_Float_)_ – Modifiable_ - - `noise_gyro_bias_y` (_Float_)_ – Modifiable_ - - `noise_gyro_bias_z` (_Float_)_ – Modifiable_ - - `noise_gyro_stddev_x` (_Float_)_ – Modifiable_ - - `noise_gyro_stddev_y` (_Float_)_ – Modifiable_ - - `noise_gyro_stddev_z` (_Float_)_ – Modifiable_ - - `noise_seed` (_Int_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ + - `noise_accel_stddev_x` (_Float_) _- Modifiable_ + - `noise_accel_stddev_y` (_Float_) _- Modifiable_ + - `noise_accel_stddev_z` (_Float_) _- Modifiable_ + - `noise_gyro_bias_x` (_Float_) _- Modifiable_ + - `noise_gyro_bias_y` (_Float_) _- Modifiable_ + - `noise_gyro_bias_z` (_Float_) _- Modifiable_ + - `noise_gyro_stddev_x` (_Float_) _- Modifiable_ + - `noise_gyro_stddev_y` (_Float_) _- Modifiable_ + - `noise_gyro_stddev_z` (_Float_) _- Modifiable_ + - `noise_seed` (_Int_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ - **sensor.other.lane_invasion** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - **sensor.other.obstacle** - **Attributes:** - - `debug_linetrace` (_Bool_)_ – Modifiable_ - - `distance` (_Float_)_ – Modifiable_ - - `hit_radius` (_Float_)_ – Modifiable_ - - `only_dynamics` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ + - `debug_linetrace` (_Bool_) _- Modifiable_ + - `distance` (_Float_) _- Modifiable_ + - `hit_radius` (_Float_) _- Modifiable_ + - `only_dynamics` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ - **sensor.other.radar** - **Attributes:** - - `horizontal_fov` (_Float_)_ – Modifiable_ - - `noise_seed` (_Int_)_ – Modifiable_ - - `points_per_second` (_Int_)_ – Modifiable_ - - `range` (_Float_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `sensor_tick` (_Float_)_ – Modifiable_ - - `vertical_fov` (_Float_)_ – Modifiable_ + - `horizontal_fov` (_Float_) _- Modifiable_ + - `noise_seed` (_Int_) _- Modifiable_ + - `points_per_second` (_Int_) _- Modifiable_ + - `range` (_Float_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sensor_tick` (_Float_) _- Modifiable_ + - `vertical_fov` (_Float_) _- Modifiable_ - **sensor.other.rss** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ ### static - **static.prop.advertisement** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.atm** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.barbeque** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.barrel** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.bench01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.bench02** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.bench03** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.bike helmet** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.bin** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.box01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.box02** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.box03** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.briefcase** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.brokentile01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.brokentile02** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.brokentile03** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.brokentile04** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.busstop** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.calibrator** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.chainbarrier** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.chainbarrierend** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.clothcontainer** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.clothesline** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.colacan** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.constructioncone** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.container** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.creasedbox01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.creasedbox02** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.creasedbox03** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.dirtdebris01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.dirtdebris02** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.dirtdebris03** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.doghouse** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.fountain** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.garbage01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.garbage02** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.garbage03** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.garbage04** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.garbage05** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.garbage06** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.gardenlamp** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.glasscontainer** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.gnome** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.guitarcase** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.ironplank** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.kiosk_01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.mailbox** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.maptable** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.mesh** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - **static.prop.mobile** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.motorhelmet** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `size` (_String_) +- **static.prop.omri-0** + - **Attributes:** + - `role_name` (_String_) _- Modifiable_ + - `size` (_String_) +- **static.prop.omri-1** + - **Attributes:** + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.pergola** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plantpot01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plantpot02** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plantpot03** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plantpot04** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plantpot05** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plantpot06** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plantpot07** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plantpot08** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plasticbag** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plasticchair** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.plastictable** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.platformgarbage01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.purse** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.shoppingbag** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.shoppingcart** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.shoppingtrolley** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.slide** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.streetbarrier** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.streetfountain** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.streetsign** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.streetsign01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.streetsign04** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.swing** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.swingcouch** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.table** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.trafficcone01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.trafficcone02** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.trafficwarning** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.trampoline** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.trashbag** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.trashcan01** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.trashcan02** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.trashcan03** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.trashcan04** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.trashcan05** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.travelcase** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.vendingmachine** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.prop.wateringcan** - **Attributes:** - - `role_name` (_String_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ - `size` (_String_) - **static.trigger.friction** - **Attributes:** - - `extent_x` (_Float_)_ – Modifiable_ - - `extent_y` (_Float_)_ – Modifiable_ - - `extent_z` (_Float_)_ – Modifiable_ - - `friction` (_Float_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ + - `extent_x` (_Float_) _- Modifiable_ + - `extent_y` (_Float_) _- Modifiable_ + - `extent_z` (_Float_) _- Modifiable_ + - `friction` (_Float_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ ### vehicle - **vehicle.audi.a2** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.audi.etron** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.audi.tt** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.bh.crossbike** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ - - `driver_id` (_Int_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ + - `driver_id` (_Int_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.bmw.grandtourer** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.carlamotors.carlacola** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.carlamotors.firetruck** - **Attributes:** + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.chevrolet.impala** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.citroen.c3** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.diamondback.century** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ - - `driver_id` (_Int_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ + - `driver_id` (_Int_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.dodge.charger_2020** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.dodge.charger_police** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.dodge.charger_police_2020** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.ford.ambulance** - **Attributes:** + - `color` (_RGBColor_) _- Modifiable_ + - `generation` (_Int_) + - `number_of_wheels` (_Int_) + - `object_type` (_String_) + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ +- **vehicle.ford.crown** + - **Attributes:** + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.ford.mustang** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.gazelle.omafiets** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ - - `driver_id` (_Int_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ + - `driver_id` (_Int_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.harley-davidson.low_rider** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ - - `driver_id` (_Int_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ + - `driver_id` (_Int_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.jeep.wrangler_rubicon** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.kawasaki.ninja** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ - - `driver_id` (_Int_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ + - `driver_id` (_Int_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.lincoln.mkz_2017** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.lincoln.mkz_2020** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ - - `driver_id` (_Int_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ + - `driver_id` (_Int_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.mercedes.coupe** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.mercedes.coupe_2020** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.mercedes.sprinter** - **Attributes:** + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.micro.microlino** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.mini.cooper_s** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.mini.cooper_s_2021** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.nissan.micra** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.nissan.patrol** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.nissan.patrol_2021** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.seat.leon** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.tesla.cybertruck** - **Attributes:** - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.tesla.model3** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.toyota.prius** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.vespa.zx125** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ - - `driver_id` (_Int_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ + - `driver_id` (_Int_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.volkswagen.t2** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ + - `generation` (_Int_) + - `number_of_wheels` (_Int_) + - `object_type` (_String_) + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ +- **vehicle.volkswagen.t2_2021** + - **Attributes:** + - `color` (_RGBColor_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ - **vehicle.yamaha.yzf** - **Attributes:** - - `color` (_RGBColor_)_ – Modifiable_ - - `driver_id` (_Int_)_ – Modifiable_ + - `color` (_RGBColor_) _- Modifiable_ + - `driver_id` (_Int_) _- Modifiable_ - `generation` (_Int_) - `number_of_wheels` (_Int_) - `object_type` (_String_) - - `role_name` (_String_)_ – Modifiable_ - - `sticky_control` (_Bool_)_ – Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `sticky_control` (_Bool_) _- Modifiable_ ### walker - **walker.pedestrian.0001** @@ -909,326 +936,382 @@ Check out the [introduction to blueprints](core_actors.md). - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0002** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0003** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0004** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0005** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0006** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0007** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0008** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0009** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0010** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0011** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0012** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0013** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0014** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0015** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0016** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0017** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0018** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0019** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0020** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0021** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0022** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0023** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0024** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0025** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0026** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0027** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0028** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0029** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0030** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0031** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0032** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0033** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0034** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0035** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0036** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0037** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0038** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0039** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0040** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ - **walker.pedestrian.0041** - **Attributes:** - `age` (_String_) - `gender` (_String_) - `generation` (_Int_) - - `is_invincible` (_Bool_)_ – Modifiable_ - - `role_name` (_String_)_ – Modifiable_ - - `speed` (_Float_)_ – Modifiable_ + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ +- **walker.pedestrian.0042** + - **Attributes:** + - `age` (_String_) + - `gender` (_String_) + - `generation` (_Int_) + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ +- **walker.pedestrian.0043** + - **Attributes:** + - `age` (_String_) + - `gender` (_String_) + - `generation` (_Int_) + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ +- **walker.pedestrian.0044** + - **Attributes:** + - `age` (_String_) + - `gender` (_String_) + - `generation` (_Int_) + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ +- **walker.pedestrian.0045** + - **Attributes:** + - `age` (_String_) + - `gender` (_String_) + - `generation` (_Int_) + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ +- **walker.pedestrian.0046** + - **Attributes:** + - `age` (_String_) + - `gender` (_String_) + - `generation` (_Int_) + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ +- **walker.pedestrian.0047** + - **Attributes:** + - `age` (_String_) + - `gender` (_String_) + - `generation` (_Int_) + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ +- **walker.pedestrian.0048** + - **Attributes:** + - `age` (_String_) + - `gender` (_String_) + - `generation` (_Int_) + - `is_invincible` (_Bool_) _- Modifiable_ + - `role_name` (_String_) _- Modifiable_ + - `speed` (_Float_) _- Modifiable_ diff --git a/Docs/download.md b/Docs/download.md index b011270e38c..d0bbbea12c9 100644 --- a/Docs/download.md +++ b/Docs/download.md @@ -2,7 +2,7 @@ ### Latest Release -- [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.13](https://github.com/carla-simulator/carla/releases/tag/0.9.13/) - [Documentation](https://carla.readthedocs.io/en/0.9.13/) ### Nightly build @@ -17,6 +17,7 @@ > Here are the previous versions of CARLA with links to the specific documentation for each version: +- [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/) - [CARLA 0.9.10](https://github.com/carla-simulator/carla/releases/tag/0.9.10/) - [Documentation](https://carla.readthedocs.io/en/0.9.10/) - [CARLA 0.9.9](https://github.com/carla-simulator/carla/releases/tag/0.9.9/) - [Documentation](https://carla.readthedocs.io/en/0.9.9/) diff --git a/Docs/index.md b/Docs/index.md index 5e101e92537..a89f3e5cb25 100644 --- a/Docs/index.md +++ b/Docs/index.md @@ -100,7 +100,7 @@ CARLA forum [__Control walker skeletons__](tuto_G_control_walker_skeletons.md) — Animate walkers using skeletons. [__Generate maps with OpenStreetMap__](tuto_G_openstreetmap.md) — Use OpenStreetMap to generate maps for use in simulations. [__Retrieve simulation data__](tuto_G_retrieve_data.md) — A step by step guide to properly gather data using the recorder. -[__CarSim Integration (Beta)__](tuto_G_carsim_integration.md) — Tutorial on how to run a simulation using the CarSim vehicle dynamics engine. +[__CarSim Integration__](tuto_G_carsim_integration.md) — Tutorial on how to run a simulation using the CarSim vehicle dynamics engine. [__RLlib Integration__](tuto_G_rllib_integration.md) — Find out how to run your own experiment using the RLlib library. [__Chrono Integration__](tuto_G_chrono.md) — Use the Chrono integration to simulation physics [__Build Unreal Engine and CARLA in Docker__](build_docker_unreal.md) — Build Unreal Engine and CARLA in Docker diff --git a/Docs/python_api.md b/Docs/python_api.md index 1fef3aa4e54..fa8cd6f217b 100644 --- a/Docs/python_api.md +++ b/Docs/python_api.md @@ -22,19 +22,25 @@ The identifier of the blueprint this actor was based on, e.g. `vehicle.ford.must - **add_angular_impulse**(**self**, **angular_impulse**) Applies an angular impulse at the center of mass of the actor. This method should be used for instantaneous torques, usually applied once. Use __add_torque()__ to apply rotation forces over a period of time. - **Parameters:** - - `angular_impulse` (_[carla.Vector3D](#carla.Vector3D) – degrees*s_) – Angular impulse vector in global coordinates. + - `angular_impulse` (_[carla.Vector3D](#carla.Vector3D) - degrees*s_) - Angular impulse vector in global coordinates. - **add_force**(**self**, **force**) Applies a force at the center of mass of the actor. This method should be used for forces that are applied over a certain period of time. Use __add_impulse()__ to apply an impulse that only lasts an instant. - **Parameters:** - - `force` (_[carla.Vector3D](#carla.Vector3D) – N_) – Force vector in global coordinates. + - `force` (_[carla.Vector3D](#carla.Vector3D) - N_) - Force vector in global coordinates. - **add_impulse**(**self**, **impulse**) Applies an impulse at the center of mass of the actor. This method should be used for instantaneous forces, usually applied once. Use __add_force()__ to apply forces over a period of time. - **Parameters:** - - `impulse` (_[carla.Vector3D](#carla.Vector3D) – N*s_) – Impulse vector in global coordinates. + - `impulse` (_[carla.Vector3D](#carla.Vector3D) - N*s_) - Impulse vector in global coordinates. - **add_torque**(**self**, **torque**) 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. + - `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_ @@ -45,12 +51,12 @@ Disables any constant velocity previously set for a [carla.Vehicle](#carla.Vehic - **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). + - `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. @@ -58,11 +64,17 @@ _ - **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:** - - `velocity` (_[carla.Vector3D](#carla.Vector3D) – m/s_) – Velocity vector in local space. + - `velocity` (_[carla.Vector3D](#carla.Vector3D) - m/s_) - Velocity vector in local space. - **Note:** _Only [carla.Vehicle](#carla.Vehicle) actors can use this method. _ - **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:** @@ -71,13 +83,13 @@ Enables or disables the telemetry on this vehicle. This shows information about ##### Getters - **get_acceleration**(**self**) Returns the actor's 3D acceleration vector the client recieved during last tick. The method does not call the simulator. - - **Return:** _[carla.Vector3D](#carla.Vector3D) – m/s2_ + - **Return:** _[carla.Vector3D](#carla.Vector3D) - m/s2_ - **get_angular_velocity**(**self**) Returns the actor's angular velocity vector the client recieved during last tick. The method does not call the simulator. - - **Return:** _[carla.Vector3D](#carla.Vector3D) – deg/s_ + - **Return:** _[carla.Vector3D](#carla.Vector3D) - deg/s_ - **get_location**(**self**) Returns the actor's location the client recieved during last tick. The method does not call the simulator. - - **Return:** _[carla.Location](#carla.Location) – meters_ + - **Return:** _[carla.Location](#carla.Location) - meters_ - **Setter:** _[carla.Actor.set_location](#carla.Actor.set_location)_ - **get_transform**(**self**) Returns the actor's transform (location and rotation) the client recieved during last tick. The method does not call the simulator. @@ -85,7 +97,7 @@ Returns the actor's transform (location and rotation) the client recieved during - **Setter:** _[carla.Actor.set_transform](#carla.Actor.set_transform)_ - **get_velocity**(**self**) Returns the actor's velocity vector the client recieved during last tick. The method does not call the simulator. - - **Return:** _[carla.Vector3D](#carla.Vector3D) – m/s_ + - **Return:** _[carla.Vector3D](#carla.Vector3D) - m/s_ - **get_world**(**self**) Returns the world this actor belongs to. - **Return:** _[carla.World](#carla.World)_ @@ -98,7 +110,7 @@ Enables or disables gravity for the actor. __Default__ is True. - **set_location**(**self**, **location**) Teleports the actor to a given location. - **Parameters:** - - `location` (_[carla.Location](#carla.Location) – meters_) + - `location` (_[carla.Location](#carla.Location) - meters_) - **Getter:** _[carla.Actor.get_location](#carla.Actor.get_location)_ - **set_simulate_physics**(**self**, **enabled**=True) Enables or disables the simulation of physics on this actor. @@ -107,7 +119,7 @@ Enables or disables the simulation of physics on this actor. - **set_target_angular_velocity**(**self**, **angular_velocity**) Sets the actor's angular velocity vector. This is applied before the physics step so the resulting angular velocity will be affected by external forces such as friction. - **Parameters:** - - `angular_velocity` (_[carla.Vector3D](#carla.Vector3D) – deg/s_) + - `angular_velocity` (_[carla.Vector3D](#carla.Vector3D) - deg/s_) - **set_target_velocity**(**self**, **velocity**) Sets the actor's velocity vector. This is applied before the physics step so the resulting angular velocity will be affected by external forces such as friction. - **Parameters:** @@ -190,12 +202,12 @@ A list of tags each blueprint has that helps describing them. E.g. `['0001', 'pe - **has_attribute**(**self**, **id**) Returns True if the blueprint contains the attribute `id`. - **Parameters:** - - `id` (_str_) – e.g. `gender` would return **True** for pedestrians' blueprints. + - `id` (_str_) - e.g. `gender` would return **True** for pedestrians' blueprints. - **Return:** _bool_ - **has_tag**(**self**, **tag**) Returns True if the blueprint has the specified `tag` listed. - **Parameters:** - - `tag` (_str_) – e.g. 'walker'. + - `tag` (_str_) - e.g. 'walker'. - **Return:** _bool_ - **match_tags**(**self**, **wildcard_pattern**) Returns True if any of the tags listed for this blueprint matches `wildcard_pattern`. Matching follows [fnmatch](https://docs.python.org/2/library/fnmatch.html) standard. @@ -215,8 +227,8 @@ Returns the actor's attribute with `id` as identifier if existing. - **set_attribute**(**self**, **id**, **value**) If the `id` attribute is modifiable, changes its value to `value`. - **Parameters:** - - `id` (_str_) – The identifier for the attribute that is intended to be changed. - - `value` (_str_) – The new value for said attribute. + - `id` (_str_) - The identifier for the attribute that is intended to be changed. + - `value` (_str_) - The new value for said attribute. - **Getter:** _[carla.ActorBlueprint.get_attribute](#carla.ActorBlueprint.get_attribute)_ ##### Dunder methods @@ -270,16 +282,16 @@ An identifier for the snapshot itself. ##### Getters - **get_acceleration**(**self**) Returns the acceleration vector registered for an actor in that tick. - - **Return:** _[carla.Vector3D](#carla.Vector3D) – m/s2_ + - **Return:** _[carla.Vector3D](#carla.Vector3D) - m/s2_ - **get_angular_velocity**(**self**) Returns the angular velocity vector registered for an actor in that tick. - - **Return:** _[carla.Vector3D](#carla.Vector3D) – rad/s_ + - **Return:** _[carla.Vector3D](#carla.Vector3D) - rad/s_ - **get_transform**(**self**) Returns the actor's transform (location and rotation) for an actor in that tick. - **Return:** _[carla.Transform](#carla.Transform)_ - **get_velocity**(**self**) Returns the velocity vector registered for an actor in that tick. - - **Return:** _[carla.Vector3D](#carla.Vector3D) – m/s_ + - **Return:** _[carla.Vector3D](#carla.Vector3D) - m/s_ --- @@ -330,10 +342,10 @@ Parses the identifiers for every blueprint to string. Bounding boxes contain the geometry of an actor or an element in the scene. They can be used by [carla.DebugHelper](#carla.DebugHelper) or a [carla.Client](#carla.Client) to draw their shapes for debugging. Check out the snipet in [carla.DebugHelper.draw_box](#carla.DebugHelper.draw_box) where a snapshot of the world is used to draw bounding boxes for traffic lights. ### Instance Variables -- **extent** (_[carla.Vector3D](#carla.Vector3D) – meters_) +- **extent** (_[carla.Vector3D](#carla.Vector3D) - meters_) Vector from the center of the box to one vertex. The value in each axis equals half the size of the box for that axis. `extent.x * 2` would return the size of the box in the X-axis. -- **location** (_[carla.Location](#carla.Location) – meters_) +- **location** (_[carla.Location](#carla.Location) - meters_) The center of the bounding box. - **rotation** (_[carla.Rotation](#carla.Rotation)_) The orientation of the bounding box. @@ -341,13 +353,13 @@ The orientation of the bounding box. ### Methods - **\__init__**(**self**, **location**, **extent**) - **Parameters:** - - `location` (_[carla.Location](#carla.Location)_) – Center of the box, relative to its parent. - - `extent` (_[carla.Vector3D](#carla.Vector3D) – meters_) – Vector containing half the size of the box for every axis. + - `location` (_[carla.Location](#carla.Location)_) - Center of the box, relative to its parent. + - `extent` (_[carla.Vector3D](#carla.Vector3D) - meters_) - Vector containing half the size of the box for every axis. - **contains**(**self**, **world_point**, **transform**) Returns **True** if a point passed in world space is inside this bounding box. - **Parameters:** - - `world_point` (_[carla.Location](#carla.Location) – meters_) – The point in world space to be checked. - - `transform` (_[carla.Transform](#carla.Transform)_) – Contains location and rotation needed to convert this object's local space to world space. + - `world_point` (_[carla.Location](#carla.Location) - meters_) - The point in world space to be checked. + - `transform` (_[carla.Transform](#carla.Transform)_) - Contains location and rotation needed to convert this object's local space to world space. - **Return:** _bool_ ##### Getters @@ -357,7 +369,7 @@ Returns a list containing the locations of this object's vertices in local space - **get_world_vertices**(**self**, **transform**) Returns a list containing the locations of this object's vertices in world space. - **Parameters:** - - `transform` (_[carla.Transform](#carla.Transform)_) – Contains location and rotation needed to convert this object's local space to world space. + - `transform` (_[carla.Transform](#carla.Transform)_) - Contains location and rotation needed to convert this object's local space to world space. - **Return:** _list([carla.Location](#carla.Location))_ ##### Dunder methods @@ -413,56 +425,56 @@ The Client connects CARLA to the server which runs the simulation. Both server a - **\__init__**(**self**, **host**=127.0.0.1, **port**=2000, **worker_threads**=0) Client constructor. - **Parameters:** - - `host` (_str_) – IP address where a CARLA Simulator instance is running. Default is localhost (127.0.0.1). - - `port` (_int_) – TCP port where the CARLA Simulator instance is running. Default are 2000 and the subsequent 2001. - - `worker_threads` (_int_) – Number of working threads used for background updates. If 0, use all available concurrency. + - `host` (_str_) - IP address where a CARLA Simulator instance is running. Default is localhost (127.0.0.1). + - `port` (_int_) - TCP port where the CARLA Simulator instance is running. Default are 2000 and the subsequent 2001. + - `worker_threads` (_int_) - Number of working threads used for background updates. If 0, use all available concurrency. - **apply_batch**(**self**, **commands**) Executes a list of commands on a single simulation step and retrieves no information. If you need information about the response of each command, use the __apply_batch_sync()__ method. [Here](https://github.com/carla-simulator/carla/blob/master/PythonAPI/examples/generate_traffic.py) is an example on how to delete the actors that appear in [carla.ActorList](#carla.ActorList) all at once. - **Parameters:** - - `commands` (_list_) – A list of commands to execute in batch. Each command is different and has its own parameters. They appear listed at the bottom of this page. + - `commands` (_list_) - A list of commands to execute in batch. Each command is different and has its own parameters. They appear listed at the bottom of this page. - **apply_batch_sync**(**self**, **commands**, **due_tick_cue**=False) Executes a list of commands on a single simulation step, blocks until the commands are linked, and returns a list of command.Response that can be used to determine whether a single command succeeded or not. [Here](https://github.com/carla-simulator/carla/blob/master/PythonAPI/examples/generate_traffic.py) is an example of it being used to spawn actors. - **Parameters:** - - `commands` (_list_) – A list of commands to execute in batch. The commands available are listed right above, in the method **apply_batch()**. - - `due_tick_cue` (_bool_) – A boolean parameter to specify whether or not to perform a [carla.World.tick](#carla.World.tick) after applying the batch in _synchronous mode_. It is __False__ by default. + - `commands` (_list_) - A list of commands to execute in batch. The commands available are listed right above, in the method **apply_batch()**. + - `due_tick_cue` (_bool_) - A boolean parameter to specify whether or not to perform a [carla.World.tick](#carla.World.tick) after applying the batch in _synchronous mode_. It is __False__ by default. - **Return:** _list(command.Response)_ - **generate_opendrive_world**(**self**, **opendrive**, **parameters**=(2.0, 50.0, 1.0, 0.6, true, true), **reset_settings**=True) Loads a new world with a basic 3D topology generated from the content of an OpenDRIVE file. This content is passed as a `string` parameter. It is similar to `client.load_world(map_name)` but allows for custom OpenDRIVE maps in server side. Cars can drive around the map, but there are no graphics besides the road and sidewalks. - **Parameters:** - - `opendrive` (_str_) – Content of an OpenDRIVE file as `string`, __not the path to the `.xodr`__. - - `parameters` (_[carla.OpendriveGenerationParameters](#carla.OpendriveGenerationParameters)_) – Additional settings for the mesh generation. If none are provided, default values will be used. - - `reset_settings` (_bool_) – Option to reset the episode setting to default values, set to false to keep the current settings. This is useful to keep sync mode when changing map and to keep deterministic scenarios. + - `opendrive` (_str_) - Content of an OpenDRIVE file as `string`, __not the path to the `.xodr`__. + - `parameters` (_[carla.OpendriveGenerationParameters](#carla.OpendriveGenerationParameters)_) - Additional settings for the mesh generation. If none are provided, default values will be used. + - `reset_settings` (_bool_) - Option to reset the episode setting to default values, set to false to keep the current settings. This is useful to keep sync mode when changing map and to keep deterministic scenarios. - **load_world**(**self**, **map_name**, **reset_settings**=True, **map_layers**=[carla.MapLayer.All](#carla.MapLayer.All)) Creates a new world with default settings using `map_name` map. All actors in the current world will be destroyed. - **Parameters:** - - `map_name` (_str_) – Name of the map to be used in this world. Accepts both full paths and map names, e.g. '/Game/Carla/Maps/Town01' or 'Town01'. Remember that these paths are dynamic. - - `reset_settings` (_bool_) – Option to reset the episode setting to default values, set to false to keep the current settings. This is useful to keep sync mode when changing map and to keep deterministic scenarios. - - `map_layers` (_[carla.MapLayer](#carla.MapLayer)_) – Layers of the map that will be loaded. By default all layers are loaded. This parameter works like a flag mask. + - `map_name` (_str_) - Name of the map to be used in this world. Accepts both full paths and map names, e.g. '/Game/Carla/Maps/Town01' or 'Town01'. Remember that these paths are dynamic. + - `reset_settings` (_bool_) - Option to reset the episode setting to default values, set to false to keep the current settings. This is useful to keep sync mode when changing map and to keep deterministic scenarios. + - `map_layers` (_[carla.MapLayer](#carla.MapLayer)_) - Layers of the map that will be loaded. By default all layers are loaded. This parameter works like a flag mask. - **Warning:** _`map_layers` are only available for "Opt" maps _ - **reload_world**(**self**, **reset_settings**=True) Reload the current world, note that a new world is created with default settings using the same map. All actors present in the world will be destroyed, __but__ traffic manager instances will stay alive. - **Parameters:** - - `reset_settings` (_bool_) – Option to reset the episode setting to default values, set to false to keep the current settings. This is useful to keep sync mode when changing map and to keep deterministic scenarios. + - `reset_settings` (_bool_) - Option to reset the episode setting to default values, set to false to keep the current settings. This is useful to keep sync mode when changing map and to keep deterministic scenarios. - **Raises:** RuntimeError when corresponding. - **replay_file**(**self**, **name**, **start**, **duration**, **follow_id**, **replay_sensors**) Load a new world with default settings using `map_name` map. All actors present in the current world will be destroyed, __but__ traffic manager instances will stay alive. - **Parameters:** - - `name` (_str_) – Name of the file containing the information of the simulation. - - `start` (_float – seconds_) – Time where to start playing the simulation. Negative is read as beginning from the end, being -10 just 10 seconds before the recording finished. - - `duration` (_float – seconds_) – Time that will be reenacted using the information `name` file. If the end is reached, the simulation will continue. - - `follow_id` (_int_) – ID of the actor to follow. If this is 0 then camera is disabled. - - `replay_sensors` (_bool_) – Flag to enable or disable the spawn of sensors during playback. + - `name` (_str_) - Name of the file containing the information of the simulation. + - `start` (_float - seconds_) - Time where to start playing the simulation. Negative is read as beginning from the end, being -10 just 10 seconds before the recording finished. + - `duration` (_float - seconds_) - Time that will be reenacted using the information `name` file. If the end is reached, the simulation will continue. + - `follow_id` (_int_) - ID of the actor to follow. If this is 0 then camera is disabled. + - `replay_sensors` (_bool_) - Flag to enable or disable the spawn of sensors during playback. - **request_file**(**self**, **name**) Requests one of the required files returned by [carla.Client.get_required_files](#carla.Client.get_required_files). - **Parameters:** - - `name` (_str_) – Name of the file you are requesting. + - `name` (_str_) - Name of the file you are requesting. - **show_recorder_actors_blocked**(**self**, **filename**, **min_time**, **min_distance**) The terminal will show the information registered for actors considered blocked. An actor is considered blocked when it does not move a minimum distance in a period of time, being these `min_distance` and `min_time`. - **Parameters:** - - `filename` (_str_) – Name of the recorded file to load. - - `min_time` (_float – seconds_) – Minimum time the actor has to move a minimum distance before being considered blocked. Default is 60 seconds. - - `min_distance` (_float – centimeters_) – Minimum distance the actor has to move to not be considered blocked. Default is 100 centimeters. + - `filename` (_str_) - Name of the recorded file to load. + - `min_time` (_float - seconds_) - Minimum time the actor has to move a minimum distance before being considered blocked. Default is 60 seconds. + - `min_distance` (_float - centimeters_) - Minimum distance the actor has to move to not be considered blocked. Default is 100 centimeters. - **Return:** _string_ - **show_recorder_collisions**(**self**, **filename**, **category1**, **category2**) The terminal will show the collisions registered by the recorder. These can be filtered by specifying the type of actor involved. The categories will be specified in `category1` and `category2` as follows: @@ -474,27 +486,27 @@ The terminal will show the collisions registered by the recorder. These can be f 'a' = Any If you want to see only collisions between a vehicles and a walkers, use for `category1` as 'v' and `category2` as 'w' or vice versa. If you want to see all the collisions (filter off) you can use 'a' for both parameters. - **Parameters:** - - `filename` (_str_) – Name or absolute path of the file recorded, depending on your previous choice. - - `category1` (_single char_) – Character variable specifying a first type of actor involved in the collision. - - `category2` (_single char_) – Character variable specifying the second type of actor involved in the collision. + - `filename` (_str_) - Name or absolute path of the file recorded, depending on your previous choice. + - `category1` (_single char_) - Character variable specifying a first type of actor involved in the collision. + - `category2` (_single char_) - Character variable specifying the second type of actor involved in the collision. - **Return:** _string_ - **show_recorder_file_info**(**self**, **filename**, **show_all**) The information saved by the recorder will be parsed and shown in your terminal as text (frames, times, events, state, positions...). The information shown can be specified by using the `show_all` parameter. [Here](ref_recorder_binary_file_format.md) is some more information about how to read the recorder file. - **Parameters:** - - `filename` (_str_) – Name or absolute path of the file recorded, depending on your previous choice. - - `show_all` (_bool_) – If __True__, returns all the information stored for every frame (traffic light states, positions of all actors, orientation and animation data...). If __False__, returns a summary of key events and frames. + - `filename` (_str_) - Name or absolute path of the file recorded, depending on your previous choice. + - `show_all` (_bool_) - If __True__, returns all the information stored for every frame (traffic light states, positions of all actors, orientation and animation data...). If __False__, returns a summary of key events and frames. - **Return:** _string_ - **start_recorder**(**self**, **filename**, **additional_data**=False) Enables the recording feature, which will start saving every information possible needed by the server to replay the simulation. - **Parameters:** - - `filename` (_str_) – Name of the file to write the recorded data. A simple name will save the recording in 'CarlaUE4/Saved/recording.log'. Otherwise, if some folder appears in the name, it will be considered an absolute path. - - `additional_data` (_bool_) – Enables or disable recording non-essential data for reproducing the simulation (bounding box location, physics control parameters, etc). + - `filename` (_str_) - Name of the file to write the recorded data. A simple name will save the recording in 'CarlaUE4/Saved/recording.log'. Otherwise, if some folder appears in the name, it will be considered an absolute path. + - `additional_data` (_bool_) - Enables or disable recording non-essential data for reproducing the simulation (bounding box location, physics control parameters, etc). - **stop_recorder**(**self**) Stops the recording in progress. If you specified a path in `filename`, the recording will be there. If not, look inside `CarlaUE4/Saved/`. - **stop_replayer**(**self**, **keep_actors**) Stop current replayer. - **Parameters:** - - `keep_actors` (_bool_) – True if you want autoremove all actors from the replayer, or False to keep them. + - `keep_actors` (_bool_) - True if you want autoremove all actors from the replayer, or False to keep them. ##### Getters - **get_available_maps**(**self**) @@ -513,15 +525,15 @@ Returns the client libcarla version by consulting it in the "Version.h" file. Bo - **get_required_files**(**self**, **folder**, **download**=True) Asks the server which files are required by the client to use the current map. Option to download files automatically if they are not already in the cache. - **Parameters:** - - `folder` (_str_) – Folder where files required by the client will be downloaded to. - - `download` (_bool_) – If True, downloads files that are not already in cache. + - `folder` (_str_) - Folder where files required by the client will be downloaded to. + - `download` (_bool_) - If True, downloads files that are not already in cache. - **get_server_version**(**self**) Returns the server libcarla version by consulting it in the "Version.h" file. Both client and server should use the same libcarla version. - **Return:** _str_ - **get_trafficmanager**(**self**, **client_connection**=8000) Returns an instance of the traffic manager related to the specified port. If it does not exist, this will be created. - **Parameters:** - - `client_connection` (_int_) – Port that will be used by the traffic manager. Default is `8000`. + - `client_connection` (_int_) - Port that will be used by the traffic manager. Default is `8000`. - **Return:** _[carla.TrafficManager](#carla.TrafficManager)_ - **get_world**(**self**) Returns the world object currently active in the simulation. This world will be later used for example to load maps. @@ -530,18 +542,18 @@ Returns the world object currently active in the simulation. This world will be ##### Setters - **set_files_base_folder**(**self**, **path**) - **Parameters:** - - `path` (_str_) – Specifies the base folder where the local cache for required files will be placed. + - `path` (_str_) - Specifies the base folder where the local cache for required files will be placed. - **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. + - `ignore_hero` (_bool_) - Enables or disables playback of the hero vehicle during a playback of a recorded simulation. - **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). + - `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. - **Parameters:** - - `seconds` (_float – seconds_) – New timeout value. Default is 5 seconds. + - `seconds` (_float - seconds_) - New timeout value. Default is 5 seconds. --- @@ -554,7 +566,7 @@ Class that defines a collision data for sensor.other.collision. The senso The actor the sensor is attached to, the one that measured the collision. - **other_actor** (_[carla.Actor](#carla.Actor)_) The second actor involved in the collision. -- **normal_impulse** (_[carla.Vector3D](#carla.Vector3D) – N*s_) +- **normal_impulse** (_[carla.Vector3D](#carla.Vector3D) - N*s_) Normal impulse resulting of the collision. --- @@ -627,7 +639,7 @@ Polarity of the event. __True__ for positive and __False__ for negative. Class that defines a stream of events in [carla.DVSEvent](#carla.DVSEvent). Such stream is an array of arbitrary size depending on the number of events. This class also stores the field of view, the height and width of the image and the timestamp from convenience. Learn more about them [here](ref_sensors.md). ### Instance Variables -- **fov** (_float – degrees_) +- **fov** (_float - degrees_) Horizontal field of view of the image. - **height** (_int_) Image height in pixels. @@ -666,43 +678,43 @@ Helper class part of [carla.World](#carla.World) that defines methods for creati - **draw_arrow**(**self**, **begin**, **end**, **thickness**=0.1, **arrow_size**=0.1, **color**=(255,0,0), **life_time**=-1.0) Draws an arrow from `begin` to `end` pointing in that direction. - **Parameters:** - - `begin` (_[carla.Location](#carla.Location) – meters_) – Point in the coordinate system where the arrow starts. - - `end` (_[carla.Location](#carla.Location) – meters_) – Point in the coordinate system where the arrow ends and points towards to. - - `thickness` (_float – meters_) – Density of the line. - - `arrow_size` (_float – meters_) – Size of the tip of the arrow. - - `color` (_[carla.Color](#carla.Color)_) – RGB code to color the object. Red by default. - - `life_time` (_float – seconds_) – Shape's lifespan. By default it only lasts one frame. Set this to 0 for permanent shapes. + - `begin` (_[carla.Location](#carla.Location) - meters_) - Point in the coordinate system where the arrow starts. + - `end` (_[carla.Location](#carla.Location) - meters_) - Point in the coordinate system where the arrow ends and points towards to. + - `thickness` (_float - meters_) - Density of the line. + - `arrow_size` (_float - meters_) - Size of the tip of the arrow. + - `color` (_[carla.Color](#carla.Color)_) - RGB code to color the object. Red by default. + - `life_time` (_float - seconds_) - Shape's lifespan. By default it only lasts one frame. Set this to 0 for permanent shapes. - **draw_box**(**self**, **box**, **rotation**, **thickness**=0.1, **color**=(255,0,0), **life_time**=-1.0) Draws a box, ussually to act for object colliders. - **Parameters:** - - `box` (_[carla.BoundingBox](#carla.BoundingBox)_) – Object containing a location and the length of a box for every axis. - - `rotation` (_[carla.Rotation](#carla.Rotation) – degrees (pitch,yaw,roll)_) – Orientation of the box according to Unreal Engine's axis system. - - `thickness` (_float – meters_) – Density of the lines that define the box. - - `color` (_[carla.Color](#carla.Color)_) – RGB code to color the object. Red by default. - - `life_time` (_float – seconds_) – Shape's lifespan. By default it only lasts one frame. Set this to 0 for permanent shapes. + - `box` (_[carla.BoundingBox](#carla.BoundingBox)_) - Object containing a location and the length of a box for every axis. + - `rotation` (_[carla.Rotation](#carla.Rotation) - degrees (pitch,yaw,roll)_) - Orientation of the box according to Unreal Engine's axis system. + - `thickness` (_float - meters_) - Density of the lines that define the box. + - `color` (_[carla.Color](#carla.Color)_) - RGB code to color the object. Red by default. + - `life_time` (_float - seconds_) - Shape's lifespan. By default it only lasts one frame. Set this to 0 for permanent shapes. - **draw_line**(**self**, **begin**, **end**, **thickness**=0.1, **color**=(255,0,0), **life_time**=-1.0) Draws a line in between `begin` and `end`. - **Parameters:** - - `begin` (_[carla.Location](#carla.Location) – meters_) – Point in the coordinate system where the line starts. - - `end` (_[carla.Location](#carla.Location) – meters_) – Spot in the coordinate system where the line ends. - - `thickness` (_float – meters_) – Density of the line. - - `color` (_[carla.Color](#carla.Color)_) – RGB code to color the object. Red by default. - - `life_time` (_float – seconds_) – Shape's lifespan. By default it only lasts one frame. Set this to 0 for permanent shapes. + - `begin` (_[carla.Location](#carla.Location) - meters_) - Point in the coordinate system where the line starts. + - `end` (_[carla.Location](#carla.Location) - meters_) - Spot in the coordinate system where the line ends. + - `thickness` (_float - meters_) - Density of the line. + - `color` (_[carla.Color](#carla.Color)_) - RGB code to color the object. Red by default. + - `life_time` (_float - seconds_) - Shape's lifespan. By default it only lasts one frame. Set this to 0 for permanent shapes. - **draw_point**(**self**, **location**, **size**=0.1, **color**=(255,0,0), **life_time**=-1.0) Draws a point `location`. - **Parameters:** - - `location` (_[carla.Location](#carla.Location) – meters_) – Spot in the coordinate system to center the object. - - `size` (_float – meters_) – Density of the point. - - `color` (_[carla.Color](#carla.Color)_) – RGB code to color the object. Red by default. - - `life_time` (_float – seconds_) – Shape's lifespan. By default it only lasts one frame. Set this to 0 for permanent shapes. + - `location` (_[carla.Location](#carla.Location) - meters_) - Spot in the coordinate system to center the object. + - `size` (_float - meters_) - Density of the point. + - `color` (_[carla.Color](#carla.Color)_) - RGB code to color the object. Red by default. + - `life_time` (_float - seconds_) - Shape's lifespan. By default it only lasts one frame. Set this to 0 for permanent shapes. - **draw_string**(**self**, **location**, **text**, **draw_shadow**=False, **color**=(255,0,0), **life_time**=-1.0) Draws a string in a given location of the simulation which can only be seen server-side. - **Parameters:** - - `location` (_[carla.Location](#carla.Location) – meters_) – Spot in the simulation where the text will be centered. - - `text` (_str_) – Text intended to be shown in the world. - - `draw_shadow` (_bool_) – Casts a shadow for the string that could help in visualization. It is disabled by default. - - `color` (_[carla.Color](#carla.Color)_) – RGB code to color the string. Red by default. - - `life_time` (_float – seconds_) – Shape's lifespan. By default it only lasts one frame. Set this to 0 for permanent shapes. + - `location` (_[carla.Location](#carla.Location) - meters_) - Spot in the simulation where the text will be centered. + - `text` (_str_) - Text intended to be shown in the world. + - `draw_shadow` (_bool_) - Casts a shadow for the string that could help in visualization. It is disabled by default. + - `color` (_[carla.Color](#carla.Color)_) - RGB code to color the string. Red by default. + - `life_time` (_float - seconds_) - Shape's lifespan. By default it only lasts one frame. Set this to 0 for permanent shapes. --- @@ -730,6 +742,34 @@ Parses the EnvironmentObject to a string and shows them in command line. --- +## carla.FloatColor +Class that defines a float RGBA color. + +### Instance Variables +- **r** (_float_) +Red color. +- **g** (_float_) +Green color. +- **b** (_float_) +Blue color. +- **a** (_float_) +Alpha channel. + +### Methods +- **\__init__**(**self**, **r**=0, **g**=0, **b**=0, **a**=1.0) +Initializes a color, black by default. + - **Parameters:** + - `r` (_float_) + - `g` (_float_) + - `b` (_float_) + - `a` (_float_) + +##### Dunder methods +- **\__eq__**(**self**, **other**=[carla.FloatColor](#carla.FloatColor)) +- **\__ne__**(**self**, **other**=[carla.FloatColor](#carla.FloatColor)) + +--- + ## carla.GearPhysicsControl Class that provides access to vehicle transmission details by defining a gear and when to run on it. This will be later used by [carla.VehiclePhysicsControl](#carla.VehiclePhysicsControl) to help simulate physics. @@ -759,19 +799,19 @@ Quotient between current RPM and MaxRPM where the autonomous gear box should shi Class that contains geographical coordinates simulated data. The [carla.Map](#carla.Map) can convert simulation locations by using the tag in the OpenDRIVE file. ### Instance Variables -- **latitude** (_float – degrees_) +- **latitude** (_float - degrees_) North/South value of a point on the map. -- **longitude** (_float – degrees_) +- **longitude** (_float - degrees_) West/East value of a point on the map. -- **altitude** (_float – meters_) +- **altitude** (_float - meters_) Height regarding ground level. ### Methods - **\__init__**(**self**, **latitude**=0.0, **longitude**=0.0, **altitude**=0.0) - **Parameters:** - - `latitude` (_float – degrees_) - - `longitude` (_float – degrees_) - - `altitude` (_float – meters_) + - `latitude` (_float - degrees_) + - `longitude` (_float - degrees_) + - `altitude` (_float - meters_) ##### Dunder methods - **\__eq__**(**self**, **other**=[carla.GeoLocation](#carla.GeoLocation)) @@ -785,11 +825,11 @@ Height regarding ground level. Class that defines the Gnss data registered by a sensor.other.gnss. It essentially reports its position with the position of the sensor and an OpenDRIVE geo-reference. ### Instance Variables -- **altitude** (_float – meters_) +- **altitude** (_float - meters_) Height regarding ground level. -- **latitude** (_float – degrees_) +- **latitude** (_float - degrees_) North/South value of a point on the map. -- **longitude** (_float – degrees_) +- **longitude** (_float - degrees_) West/East value of a point on the map. ### Methods @@ -804,11 +844,11 @@ West/East value of a point on the map. Class that defines the data registered by a sensor.other.imu, regarding the sensor's transformation according to the current [carla.World](#carla.World). It essentially acts as accelerometer, gyroscope and compass. ### Instance Variables -- **accelerometer** (_[carla.Vector3D](#carla.Vector3D) – m/s2_) +- **accelerometer** (_[carla.Vector3D](#carla.Vector3D) - m/s2_) Linear acceleration. -- **compass** (_float – radians_) +- **compass** (_float - radians_) Orientation with regard to the North ([0.0, -1.0, 0.0] in Unreal Engine). -- **gyroscope** (_[carla.Vector3D](#carla.Vector3D) – rad/s_) +- **gyroscope** (_[carla.Vector3D](#carla.Vector3D) - rad/s_) Angular velocity. ### Methods @@ -823,7 +863,7 @@ Angular velocity. Class that defines an image of 32-bit BGRA colors that will be used as initial data retrieved by camera sensors. There are different camera sensors (currently three, RGB, depth and semantic segmentation) and each of these makes different use for the images. Learn more about them [here](ref_sensors.md). ### Instance Variables -- **fov** (_float – degrees_) +- **fov** (_float - degrees_) Horizontal field of view of the image. - **height** (_int_) Image height in pixels. @@ -839,8 +879,8 @@ Converts the image following the `color_converter` pattern. - **save_to_disk**(**self**, **path**, **color_converter**=Raw) Saves the image to disk using a converter pattern stated as `color_converter`. The default conversion pattern is Raw that will make no changes to the image. - **Parameters:** - - `path` (_str_) – Path that will contain the image. - - `color_converter` (_[carla.ColorConverter](#carla.ColorConverter)_) – Default Raw will make no changes. + - `path` (_str_) - Path that will contain the image. + - `color_converter` (_[carla.ColorConverter](#carla.ColorConverter)_) - Default Raw will make no changes. ##### Dunder methods - **\__getitem__**(**self**, **pos**=int) @@ -867,7 +907,7 @@ Bounding box encapsulating the junction lanes. - **get_waypoints**(**self**, **lane_type**) Returns a list of pairs of waypoints. Every tuple on the list contains first an initial and then a final waypoint within the intersection boundaries that describe the beginning and the end of said lane along the junction. Lanes follow their OpenDRIVE definitions so there may be many different tuples with the same starting waypoint due to possible deviations, as this are considered different lanes. - **Parameters:** - - `lane_type` (_[carla.LaneType](#carla.LaneType)_) – Type of lanes to get the waypoints. + - `lane_type` (_[carla.LaneType](#carla.LaneType)_) - Type of lanes to get the waypoints. - **Return:** _list(tuple([carla.Waypoint](#carla.Waypoint)))_ --- @@ -891,11 +931,11 @@ Landmarks will be accessed by [carla.Waypoint](#carla.Waypoint) objects trying t - **road_id** (_int_) The OpenDRIVE ID of the road where this landmark is defined. Due to OpenDRIVE road definitions, this road may be different from the road the landmark is currently affecting. It is mostly the case in junctions where the road diverges in different routes. Example: a traffic light is defined in one of the divergent roads in a junction, but it affects all the possible routes. -- **distance** (_float – meters_) +- **distance** (_float - meters_) Distance between the landmark and the waypoint creating the object (querying `get_landmarks` or `get_landmarks_of_type`). -- **s** (_float – meters_) +- **s** (_float - meters_) Distance where the landmark is positioned along the geometry of the road `road_id`. -- **t** (_float – meters_) +- **t** (_float - meters_) Lateral distance where the landmark is positioned from the edge of the road `road_id`. - **id** (_str_) Unique ID of the landmark in the OpenDRIVE file. @@ -903,9 +943,9 @@ Unique ID of the landmark in the OpenDRIVE file. Name of the landmark in the in the OpenDRIVE file. - **is_dynamic** (_bool_) Indicates if the landmark has state changes over time such as traffic lights. -- **orientation** (_[carla.LandmarkOrientation](#carla.LandmarkOrientation) – degrees_) +- **orientation** (_[carla.LandmarkOrientation](#carla.LandmarkOrientation) - degrees_) Indicates which lanes the landmark is facing towards to. -- **z_offset** (_float – meters_) +- **z_offset** (_float - meters_) Height where the landmark is placed. - **country** (_str_) Country code where the landmark is defined (default to OpenDRIVE is Germany 2017). @@ -917,15 +957,15 @@ Subtype identificator of the landmark according to the country code. Value printed in the signal (e.g. speed limit, maximum weight, etc). - **unit** (_str_) Units of measurement for the attribute `value`. -- **height** (_float – meters_) +- **height** (_float - meters_) Total height of the signal. -- **width** (_float – meters_) +- **width** (_float - meters_) Total width of the signal. - **text** (_str_) Additional text in the signal. -- **h_offset** (_float – meters_) +- **h_offset** (_float - meters_) Orientation offset of the signal relative to the the definition of `road_id` at `s` in OpenDRIVE. -- **pitch** (_float – meters_) +- **pitch** (_float - meters_) Pitch rotation of the signal (Y-axis in [UE coordinates system](https://[carla.readthedocs.io](#carla.readthedocs.io)/en/latest/python_api/#carlarotation)). - **roll** (_float_) Roll rotation of the signal (X-axis in [UE coordinates system](https://[carla.readthedocs.io](#carla.readthedocs.io)/en/latest/python_api/#carlarotation)). @@ -1149,7 +1189,7 @@ Every type except for NONE. 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. ### Instance Variables -- **point** (_[carla.Location](#carla.Location) – meters_) +- **point** (_[carla.Location](#carla.Location) - meters_) Point in xyz coordinates. - **intensity** (_float_) Computed intensity for this point as a scalar value between [0.0 , 1.0]. @@ -1168,7 +1208,7 @@ Class that defines the LIDAR data retrieved by a sensor.lidar.ray_cast. T ### Instance Variables - **channels** (_int_) Number of lasers shot. -- **horizontal_angle** (_float – radians_) +- **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. @@ -1204,11 +1244,11 @@ Lights are automatically turned on when the simulator enters night mode (sun alt Color of the light. - **id** (_int_) Identifier of the light. -- **intensity** (_float – lumens_) +- **intensity** (_float - lumens_) Intensity of the light. - **is_on** (_bool_) Switch of the light. It is __True__ when the light is on. When the night mode starts, this is set to __True__. -- **location** (_[carla.Location](#carla.Location) – meters_) +- **location** (_[carla.Location](#carla.Location) - meters_) Position of the light. - **light_group** (_[carla.LightGroup](#carla.LightGroup)_) Group the light belongs to. @@ -1229,7 +1269,7 @@ Changes the color of the light to `color`. - **set_intensity**(**self**, **intensity**) Changes the intensity of the light to `intensity`. - **Parameters:** - - `intensity` (_float – lumens_) + - `intensity` (_float - lumens_) - **set_light_group**(**self**, **light_group**) Changes the light to the group `light_group`. - **Parameters:** @@ -1265,108 +1305,108 @@ __Note.__ So far, though there is a `vehicle` group, vehicle lights are not avai - **is_active**(**self**, **lights**) Returns a list with booleans stating if the elements in `lights` are switched on/off. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be queried. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be queried. - **Return:** _list(bool)_ - **turn_off**(**self**, **lights**) Switches off all the lights in `lights`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be switched off. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be switched off. - **turn_on**(**self**, **lights**) Switches on all the lights in `lights`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be switched on. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be switched on. ##### Getters - **get_all_lights**(**self**, **light_group**=[carla.LightGroup.None](#carla.LightGroup.None)) Returns a list containing the lights in a certain group. By default, the group is `None`. - **Parameters:** - - `light_group` (_[carla.LightGroup](#carla.LightGroup)_) – Group to filter the lights returned. Default is `None`. + - `light_group` (_[carla.LightGroup](#carla.LightGroup)_) - Group to filter the lights returned. Default is `None`. - **Return:** _list([carla.Light](#carla.Light))_ - **get_color**(**self**, **lights**) Returns a list with the colors of every element in `lights`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be queried. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be queried. - **Return:** _list([carla.Color](#carla.Color))_ - **Setter:** _[carla.LightManager.set_color](#carla.LightManager.set_color)_ - **get_intensity**(**self**, **lights**) Returns a list with the intensity of every element in `lights`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be queried. - - **Return:** _list(float) – lumens_ + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be queried. + - **Return:** _list(float) - lumens_ - **Setter:** _[carla.LightManager.set_intensity](#carla.LightManager.set_intensity)_ - **get_light_group**(**self**, **lights**) Returns a list with the group of every element in `lights`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be queried. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be queried. - **Return:** _list([carla.LightGroup](#carla.LightGroup))_ - **Setter:** _[carla.LightManager.set_light_group](#carla.LightManager.set_light_group)_ - **get_light_state**(**self**, **lights**) Returns a list with the state of all the attributes of every element in `lights`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be queried. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be queried. - **Return:** _list([carla.LightState](#carla.LightState))_ - **Setter:** _[carla.LightManager.set_light_state](#carla.LightManager.set_light_state)_ - **get_turned_off_lights**(**self**, **light_group**) Returns a list containing lights switched off in the scene, filtered by group. - **Parameters:** - - `light_group` (_[carla.LightGroup](#carla.LightGroup)_) – List of lights to be queried. + - `light_group` (_[carla.LightGroup](#carla.LightGroup)_) - List of lights to be queried. - **Return:** _list([carla.Light](#carla.Light))_ - **get_turned_on_lights**(**self**, **light_group**) Returns a list containing lights switched on in the scene, filtered by group. - **Parameters:** - - `light_group` (_[carla.LightGroup](#carla.LightGroup)_) – List of lights to be queried. + - `light_group` (_[carla.LightGroup](#carla.LightGroup)_) - List of lights to be queried. - **Return:** _list([carla.Light](#carla.Light))_ ##### Setters - **set_active**(**self**, **lights**, **active**) Switches on/off the elements in `lights`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be switched on/off. - - `active` (_list(bool)_) – List of booleans to be applied. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be switched on/off. + - `active` (_list(bool)_) - List of booleans to be applied. - **set_color**(**self**, **lights**, **color**) Changes the color of the elements in `lights` to `color`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be changed. - - `color` (_[carla.Color](#carla.Color)_) – Color to be applied. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be changed. + - `color` (_[carla.Color](#carla.Color)_) - Color to be applied. - **Getter:** _[carla.LightManager.get_color](#carla.LightManager.get_color)_ - **set_colors**(**self**, **lights**, **colors**) Changes the color of each element in `lights` to the corresponding in `colors`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be changed. - - `colors` (_list([carla.Color](#carla.Color))_) – List of colors to be applied. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be changed. + - `colors` (_list([carla.Color](#carla.Color))_) - List of colors to be applied. - **set_intensities**(**self**, **lights**, **intensities**) Changes the intensity of each element in `lights` to the corresponding in `intensities`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be changed. - - `intensities` (_list(float) – lumens_) – List of intensities to be applied. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be changed. + - `intensities` (_list(float) - lumens_) - List of intensities to be applied. - **set_intensity**(**self**, **lights**, **intensity**) Changes the intensity of every element in `lights` to `intensity`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be changed. - - `intensity` (_float – lumens_) – Intensity to be applied. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be changed. + - `intensity` (_float - lumens_) - Intensity to be applied. - **Getter:** _[carla.LightManager.get_intensity](#carla.LightManager.get_intensity)_ - **set_light_group**(**self**, **lights**, **light_group**) Changes the group of every element in `lights` to `light_group`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be changed. - - `light_group` (_[carla.LightGroup](#carla.LightGroup)_) – Group to be applied. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be changed. + - `light_group` (_[carla.LightGroup](#carla.LightGroup)_) - Group to be applied. - **Getter:** _[carla.LightManager.get_light_group](#carla.LightManager.get_light_group)_ - **set_light_groups**(**self**, **lights**, **light_groups**) Changes the group of each element in `lights` to the corresponding in `light_groups`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be changed. - - `light_groups` (_list([carla.LightGroup](#carla.LightGroup))_) – List of groups to be applied. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be changed. + - `light_groups` (_list([carla.LightGroup](#carla.LightGroup))_) - List of groups to be applied. - **set_light_state**(**self**, **lights**, **light_state**) Changes the state of the attributes of every element in `lights` to `light_state`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be changed. - - `light_state` (_[carla.LightState](#carla.LightState)_) – State of the attributes to be applied. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be changed. + - `light_state` (_[carla.LightState](#carla.LightState)_) - State of the attributes to be applied. - **Getter:** _[carla.LightManager.get_light_state](#carla.LightManager.get_light_state)_ - **set_light_states**(**self**, **lights**, **light_states**) Changes the state of the attributes of each element in `lights` to the corresponding in `light_states`. - **Parameters:** - - `lights` (_list([carla.Light](#carla.Light))_) – List of lights to be changed. - - `light_states` (_list([carla.LightState](#carla.LightState))_) – List of state of the attributes to be applied. + - `lights` (_list([carla.Light](#carla.Light))_) - List of lights to be changed. + - `light_states` (_list([carla.LightState](#carla.LightState))_) - List of state of the attributes to be applied. --- @@ -1374,7 +1414,7 @@ Changes the state of the attributes of each element in `lights` to the correspon This class represents all the light variables except the identifier and the location, which are should to be static. Using this class allows to manage all the parametrization of the light in one call. ### Instance Variables -- **intensity** (_float – lumens_) +- **intensity** (_float - lumens_) Intensity of a light. - **color** (_[carla.Color](#carla.Color)_) Color of a light. @@ -1386,10 +1426,10 @@ Switch of a light. It is __True__ when the light is on. ### Methods - **\__init__**(**self**, **intensity**=0.0, **color**=[carla.Color](#carla.Color)(), **group**=[carla.LightGroup.None](#carla.LightGroup.None), **active**=False) - **Parameters:** - - `intensity` (_float – lumens_) – Intensity of the light. Default is `0.0`. - - `color` (_[carla.Color](#carla.Color)_) – Color of the light. Default is black. - - `group` (_[carla.LightGroup](#carla.LightGroup)_) – Group the light belongs to. Default is the generic group `None`. - - `active` (_bool_) – Swith of the light. Default is `False`, light is off. + - `intensity` (_float - lumens_) - Intensity of the light. Default is `0.0`. + - `color` (_[carla.Color](#carla.Color)_) - Color of the light. Default is black. + - `group` (_[carla.LightGroup](#carla.LightGroup)_) - Group the light belongs to. Default is the generic group `None`. + - `active` (_bool_) - Swith of the light. Default is `False`, light is off. --- @@ -1398,11 +1438,11 @@ Switch of a light. It is __True__ when the light is on. Represents a spot in the world. ### Instance Variables -- **x** (_float – meters_) +- **x** (_float - meters_) Distance from origin to spot on X axis. -- **y** (_float – meters_) +- **y** (_float - meters_) Distance from origin to spot on Y axis. -- **z** (_float – meters_) +- **z** (_float - meters_) Distance from origin to spot on Z axis. ### Methods @@ -1414,8 +1454,8 @@ Distance from origin to spot on Z axis. - **distance**(**self**, **location**) Returns Euclidean distance from this location to another one. - **Parameters:** - - `location` (_[carla.Location](#carla.Location)_) – The other point to compute the distance with. - - **Return:** _float – meters_ + - `location` (_[carla.Location](#carla.Location)_) - The other point to compute the distance with. + - **Return:** _float - meters_ ##### Dunder methods - **\__abs__**(**self**) @@ -1444,18 +1484,18 @@ The name of the map. It corresponds to the .umap from Unreal Engine that is load - **\__init__**(**self**, **name**, **xodr_content**) Constructor for this class. Though a map is automatically generated when initializing the world, using this method in no-rendering mode facilitates working with an .xodr without any CARLA server running. - **Parameters:** - - `name` (_str_) – Name of the current map. - - `xodr_content` (_str_) – .xodr content in string format. + - `name` (_str_) - Name of the current map. + - `xodr_content` (_str_) - .xodr content in string format. - **Return:** _list([carla.Transform](#carla.Transform))_ - **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:** - - `distance` (_float – meters_) – Approximate distance between waypoints. + - `distance` (_float - meters_) - Approximate distance between waypoints. - **Return:** _list([carla.Waypoint](#carla.Waypoint))_ - **save_to_disk**(**self**, **path**) Saves the .xodr OpenDRIVE file of the current map to disk. - **Parameters:** - - `path` – Path where the file will be saved. + - `path` - Path where the file will be saved. - **to_opendrive**(**self**) Returns the .xodr OpenDRIVe file of the current map as string. - **Return:** _str_ @@ -1472,12 +1512,12 @@ Returns all the landmarks in the map. Landmarks retrieved using this method have - **get_all_landmarks_from_id**(**self**, **opendrive_id**) Returns the landmarks with a certain OpenDRIVE ID. Landmarks retrieved using this method have a __null__ waypoint. - **Parameters:** - - `opendrive_id` (_string_) – The OpenDRIVE ID of the landmarks. + - `opendrive_id` (_string_) - The OpenDRIVE ID of the landmarks. - **Return:** _list([carla.Landmark](#carla.Landmark))_ - **get_all_landmarks_of_type**(**self**, **type**) Returns the landmarks of a specific type. Landmarks retrieved using this method have a __null__ waypoint. - **Parameters:** - - `type` (_string_) – The type of the landmarks. + - `type` (_string_) - The type of the landmarks. - **Return:** _list([carla.Landmark](#carla.Landmark))_ - **get_crosswalks**(**self**) Returns a list of locations with all crosswalk zones in the form of closed polygons. The first point is repeated, symbolizing where the polygon begins and ends. @@ -1485,7 +1525,7 @@ Returns a list of locations with all crosswalk zones in the form of closed polyg - **get_landmark_group**(**self**, **landmark**) Returns the landmarks in the same group as the specified landmark (including itself). Returns an empty list if the landmark does not belong to any group. - **Parameters:** - - `landmark` (_[carla.Landmark](#carla.Landmark)_) – A landmark that belongs to the group. + - `landmark` (_[carla.Landmark](#carla.Landmark)_) - A landmark that belongs to the group. - **Return:** _list([carla.Landmark](#carla.Landmark))_ - **get_spawn_points**(**self**) Returns a list of recommendations made by the creators of the map to be used as spawning points for the vehicles. The list includes [carla.Transform](#carla.Transform) objects with certain location and orientation. Said locations are slightly on-air in order to avoid Z-collisions, so vehicles fall for a bit before starting their way. @@ -1497,16 +1537,16 @@ Returns a list of tuples describing a minimal graph of the topology of the OpenD Returns a waypoint that can be located in an exact location or translated to the center of the nearest lane. Said lane type can be defined using flags such as `LaneType.Driving & LaneType.Shoulder`. The method will return None if the waypoint is not found, which may happen only when trying to retrieve a waypoint for an exact location. That eases checking if a point is inside a certain road, as otherwise, it will return the corresponding waypoint. - **Parameters:** - - `location` (_[carla.Location](#carla.Location) – meters_) – Location used as reference for the [carla.Waypoint](#carla.Waypoint). - - `project_to_road` (_bool_) – If **True**, the waypoint will be at the center of the closest lane. This is the default setting. If **False**, the waypoint will be exactly in `location`. None means said location does not belong to a road. - - `lane_type` (_[carla.LaneType](#carla.LaneType)_) – Limits the search for nearest lane to one or various lane types that can be flagged. + - `location` (_[carla.Location](#carla.Location) - meters_) - Location used as reference for the [carla.Waypoint](#carla.Waypoint). + - `project_to_road` (_bool_) - If **True**, the waypoint will be at the center of the closest lane. This is the default setting. If **False**, the waypoint will be exactly in `location`. None means said location does not belong to a road. + - `lane_type` (_[carla.LaneType](#carla.LaneType)_) - Limits the search for nearest lane to one or various lane types that can be flagged. - **Return:** _[carla.Waypoint](#carla.Waypoint)_ - **get_waypoint_xodr**(**self**, **road_id**, **lane_id**, **s**) Returns a waypoint if all the parameters passed are correct. Otherwise, returns __None__. - **Parameters:** - - `road_id` (_int_) – ID of the road to get the waypoint. - - `lane_id` (_int_) – ID of the lane to get the waypoint. - - `s` (_float – meters_) – Specify the length from the road start. + - `road_id` (_int_) - ID of the road to get the waypoint. + - `lane_id` (_int_) - ID of the lane to get the waypoint. + - `s` (_float - meters_) - Specify the length from the road start. - **Return:** _[carla.Waypoint](#carla.Waypoint)_ ##### Dunder methods @@ -1534,6 +1574,21 @@ All layers selected. --- +## carla.MaterialParameter +Class that represents material parameters. Not all objects in the scene contain all parameters. + +### Instance Variables +- **Normal** +The Normal map of the object. Present in all objects. +- **Diffuse** +The Diffuse texture of the object. Present in all objects. +- **AO_Roughness_Metallic_Emissive** +A texture where each color channel represent a property of the material (R: Ambien oclusion, G: Roughness, B: Metallic, A: Emissive/Height map in some objects). +- **Emissive** +Emissive texture. Present in a few objects. + +--- + ## carla.ObstacleDetectionEvent Inherited from _[carla.SensorData](#carla.SensorData)_
Class that defines the obstacle data for sensor.other.obstacle. Learn more about this [here](ref_sensors.md#obstacle-detector). @@ -1543,7 +1598,7 @@ Class that defines the obstacle data for sensor.other.obstacle. Learn mor The actor the sensor is attached to. - **other_actor** (_[carla.Actor](#carla.Actor)_) The actor or object considered to be an obstacle. -- **distance** (_float – meters_) +- **distance** (_float - meters_) Distance between `actor` and `other`. ### Methods @@ -1579,7 +1634,7 @@ If __True__, Pedestrian navigation will be enabled using Recast tool. For very l Class that defines an optical flow image of 2-Dimension float (32-bit) vectors representing the optical flow detected in the field of view. The components of the vector represents the displacement of an object in the image plane. Each component outputs values in the normalized range [-2,2] which scales to [-2 size, 2 size] with size being the total resolution in the corresponding component. ### Instance Variables -- **fov** (_float – degrees_) +- **fov** (_float - degrees_) Horizontal field of view of the image. - **height** (_int_) Image height in pixels. @@ -1634,8 +1689,8 @@ Class that converts an OpenStreetMap map to OpenDRIVE format, so that it can be - **convert**(**osm_file**, **settings**) Takes the content of an .osm file (OpenStreetMap format) and returns the content of the .xodr (OpenDRIVE format) describing said map. Some parameterization is passed to do the conversion. - **Parameters:** - - `osm_file` (_str_) – The content of the input OpenStreetMap file parsed as string. - - `settings` (_[carla.OSM2ODRSettings](#carla.OSM2ODRSettings)_) – Parameterization for the conversion. + - `osm_file` (_str_) - The content of the input OpenStreetMap file parsed as string. + - `settings` (_[carla.OSM2ODRSettings](#carla.OSM2ODRSettings)_) - Parameterization for the conversion. - **Return:** _str_ --- @@ -1646,13 +1701,13 @@ Helper class that contains the parameterization that will be used by [carla.Osm2 ### Instance Variables - **use_offsets** (_bool_) Enables the use of offset for the conversion. The offset will move the origin position of the map. Default value is __False__. -- **offset_x** (_float – meters_) +- **offset_x** (_float - meters_) Offset in the X axis. Default value is __0.0__. -- **offset_y** (_float – meters_) +- **offset_y** (_float - meters_) Offset in the Y axis. Default value is __0.0__. -- **default_lane_width** (_float – meters_) +- **default_lane_width** (_float - meters_) Width of the lanes described in the resulting XODR map. Default value is __4.0__. -- **elevation_layer_height** (_float – meters_) +- **elevation_layer_height** (_float - meters_) Defines the height separating two different [OpenStreetMap layers](https://wiki.openstreetmap.org/wiki/Key:layer). Default value is __0.0__. - **center_map** (_bool_) When this option is enabled, the geometry of the map will be displaced so that the origin of coordinates matches the center of the bounding box of the entire road map. @@ -1669,11 +1724,11 @@ When disabled, the converter will generate traffic light data from the OpenStree - **set_osm_way_types**(**self**, **way_types**) Defines the OpenStreetMaps road types that will be imported to OpenDRIVE. By default the road types imported are `motorway, motorway_link, trunk, trunk_link, primary, primary_link, secondary, secondary_link, tertiary, tertiary_link, unclassified, residential`. For a full list of road types check [here](https://wiki.openstreetmap.org/wiki/Main_Page). - **Parameters:** - - `way_types` (_list(str)_) – The list of road types. + - `way_types` (_list(str)_) - The list of road types. - **set_traffic_light_excluded_way_types**(**self**, **way_types**) Defines the OpenStreetMaps road types that will not generate traffic lights even if `generate_traffic_lights` is enabled. By default the road types excluded are `motorway_link, primary_link, secondary_link, tertiary_link`. - **Parameters:** - - `way_types` (_list(str)_) – The list of road types. + - `way_types` (_list(str)_) - The list of road types. --- @@ -1681,13 +1736,13 @@ Defines the OpenStreetMaps road types that will not generate traffic lights even Data contained inside a [carla.RadarMeasurement](#carla.RadarMeasurement). Each of these represents one of the points in the cloud that a sensor.other.radar registers and contains the distance, angle and velocity in relation to the radar. ### Instance Variables -- **altitude** (_float – radians_) +- **altitude** (_float - radians_) Altitude angle of the detection. -- **azimuth** (_float – radians_) +- **azimuth** (_float - radians_) Azimuth angle of the detection. -- **depth** (_float – meters_) +- **depth** (_float - meters_) Distance from the sensor to the detection position. -- **velocity** (_float – m/s_) +- **velocity** (_float - m/s_) The velocity of the detected object towards the sensor. ### Methods @@ -1726,19 +1781,19 @@ Class that represents a 3D rotation and therefore, an orientation in space. CARL
The constructor method follows a specific order of declaration: `(pitch, yaw, roll)`, which corresponds to `(Y-rotation,Z-rotation,X-rotation)`.

![UE4_Rotation](https://d26ilriwvtzlb.cloudfront.net/8/83/BRMC_9.jpg) *Unreal Engine's coordinates system*. ### Instance Variables -- **pitch** (_float – degrees_) +- **pitch** (_float - degrees_) Y-axis rotation angle. -- **yaw** (_float – degrees_) +- **yaw** (_float - degrees_) Z-axis rotation angle. -- **roll** (_float – degrees_) +- **roll** (_float - degrees_) X-axis rotation angle. ### Methods - **\__init__**(**self**, **pitch**=0.0, **yaw**=0.0, **roll**=0.0) - **Parameters:** - - `pitch` (_float – degrees_) – Y-axis rotation angle. - - `yaw` (_float – degrees_) – Z-axis rotation angle. - - `roll` (_float – degrees_) – X-axis rotation angle. + - `pitch` (_float - degrees_) - Y-axis rotation angle. + - `yaw` (_float - degrees_) - Z-axis rotation angle. + - `roll` (_float - degrees_) - X-axis rotation angle. - **Warning:** _The declaration order is different in CARLA (pitch,yaw,roll), and in the Unreal Engine Editor (roll,pitch,yaw). When working in a build from source, don't mix up the axes' rotations._ ##### Getters @@ -1898,12 +1953,18 @@ These objects apply restrictions to a [carla.VehicleControl](#carla.VehicleContr - **restrict_vehicle_control**(**self**, **vehicle_control**, **proper_response**, **ego_dynamics_on_route**, **vehicle_physics**) Applies the safety restrictions given by a [carla.RssSensor](#carla.RssSensor) to a [carla.VehicleControl](#carla.VehicleControl). - **Parameters:** - - `vehicle_control` (_[carla.VehicleControl](#carla.VehicleControl)_) – The input vehicle control to be restricted. - - `proper_response` (_ad.rss.state.ProperResponse_) – Part of the response generated by the sensor. Contains restrictions to be applied to the acceleration of the vehicle. - - `ego_dynamics_on_route` (_[carla.RssEgoDynamicsOnRoute](#carla.RssEgoDynamicsOnRoute)_) – Part of the response generated by the sensor. Contains dynamics and heading of the vehicle regarding its route. - - `vehicle_physics` (_[carla.VehiclePhysicsControl](#carla.VehiclePhysicsControl)_) – The current physics of the vehicle. Used to apply the restrictions properly. + - `vehicle_control` (_[carla.VehicleControl](#carla.VehicleControl)_) - The input vehicle control to be restricted. + - `proper_response` (_ad.rss.state.ProperResponse_) - Part of the response generated by the sensor. Contains restrictions to be applied to the acceleration of the vehicle. + - `ego_dynamics_on_route` (_[carla.RssEgoDynamicsOnRoute](#carla.RssEgoDynamicsOnRoute)_) - Part of the response generated by the sensor. Contains dynamics and heading of the vehicle regarding its route. + - `vehicle_physics` (_[carla.VehiclePhysicsControl](#carla.VehiclePhysicsControl)_) - The current physics of the vehicle. Used to apply the restrictions properly. - **Return:** _[carla.VehicleControl](#carla.VehicleControl)_ +##### Setters +- **set_log_level**(**self**, **log_level**) +Sets the log level. + - **Parameters:** + - `log_level` (_[carla.RssLogLevel](#carla.RssLogLevel)_) - New log level. + --- ## carla.RssRoadBoundariesMode @@ -1939,13 +2000,13 @@ The current list of targets considered to route the vehicle. If no routing targe - **append_routing_target**(**self**, **routing_target**) Appends a new target position to the current route of the vehicle. - **Parameters:** - - `routing_target` (_[carla.Transform](#carla.Transform)_) – New target point for the route. Choose these after the intersections to force the route to take the desired turn. + - `routing_target` (_[carla.Transform](#carla.Transform)_) - New target point for the route. Choose these after the intersections to force the route to take the desired turn. - **drop_route**(**self**) Discards the current route. If there are targets remaining in **routing_targets**, creates a new route using those. Otherwise, a new route is created at random. - **register_actor_constellation_callback**(**self**, **callback**) Register a callback to customize a [carla.RssActorConstellationResult](#carla.RssActorConstellationResult). By this callback the settings of RSS parameters are done per actor constellation and the settings (ego_vehicle_dynamics, other_vehicle_dynamics and pedestrian_dynamics) have no effect. - **Parameters:** - - `callback` – The function to be called whenever a RSS situation is about to be calculated. + - `callback` - The function to be called whenever a RSS situation is about to be calculated. - **reset_routing_targets**(**self**) Erases the targets that have been appended to the route. @@ -1953,11 +2014,11 @@ Erases the targets that have been appended to the route. - **set_log_level**(**self**, **log_level**) Sets the log level. - **Parameters:** - - `log_level` (_[carla.RssLogLevel](#carla.RssLogLevel)_) – New log level. + - `log_level` (_[carla.RssLogLevel](#carla.RssLogLevel)_) - New log level. - **set_map_log_level**(**self**, **log_level**) Sets the map log level. - **Parameters:** - - `log_level` (_[carla.RssLogLevel](#carla.RssLogLevel)_) – New map log level. + - `log_level` (_[carla.RssLogLevel](#carla.RssLogLevel)_) - New map log level. ##### Dunder methods - **\__str__**(**self**) @@ -1968,7 +2029,7 @@ Sets the map log level. Data contained inside a [carla.SemanticLidarMeasurement](#carla.SemanticLidarMeasurement). Each of these represents one of the points in the cloud with its location, the cosine of the incident angle, index of the object hit, and its semantic tag. ### Instance Variables -- **point** (_[carla.Location](#carla.Location) – meters_) +- **point** (_[carla.Location](#carla.Location) - meters_) [x,y,z] coordinates of the point. - **cos_inc_angle** (_float_) Cosine of the incident angle between the ray, and the normal of the hit object. @@ -1991,7 +2052,7 @@ Class that defines the semantic LIDAR data retrieved by a sensor.lidar.ray_ca ### Instance Variables - **channels** (_int_) Number of lasers shot. -- **horizontal_angle** (_float – radians_) +- **horizontal_angle** (_float - radians_) Horizontal angle the LIDAR is rotated at the time of the measurement. - **raw_data** (_bytes_) Received list of raw detection points. Each point consists of [x,y,z] coordinates plus the cosine of the incident angle, the index of the hit actor, and its semantic tag. @@ -2046,7 +2107,7 @@ When True the sensor will be waiting for data. - **listen**(**self**, **callback**) The function the sensor will be calling to every time a new measurement is received. This function needs for an argument containing an object type [carla.SensorData](#carla.SensorData) to work with. - **Parameters:** - - `callback` (_function_) – The called function with one argument containing the sensor data. + - `callback` (_function_) - The called function with one argument containing the sensor data. - **stop**(**self**) Commands the sensor to stop listening for data. @@ -2071,33 +2132,107 @@ Base class for all the objects containing data generated by a [carla.Sensor](#ca ### Instance Variables - **frame** (_int_) Frame count when the data was generated. -- **timestamp** (_float – seconds_) +- **timestamp** (_float - seconds_) Simulation-time when the data was generated. - **transform** (_[carla.Transform](#carla.Transform)_) Sensor's transform when the data was generated. --- +## carla.TextureColor +Class representing a texture object to be uploaded to the server. Pixel format is RGBA, uint8 per channel. + +### Instance Variables +- **width** (_int_) +X-coordinate size of the texture. +- **height** (_int_) +Y-coordinate size of the texture. + +### Methods +- **\__init__**(**self**, **width**, **height**) +Initializes a the texture with a (`width`, `height`) size. + - **Parameters:** + - `width` (_int_) + - `height` (_int_) +- **get**(**self**, **x**, **y**) +Get the (x,y) pixel data. + - **Parameters:** + - `x` (_int_) + - `y` (_int_) + - **Return:** _[carla.Color](#carla.Color)_ +- **set**(**self**, **x**, **y**, **value**) +Sets the (x,y) pixel data with `value`. + - **Parameters:** + - `x` (_int_) + - `y` (_int_) + - `value` (_[carla.Color](#carla.Color)_) + +##### Setters +- **set_dimensions**(**self**, **width**, **height**) +Resizes the texture to te specified dimensions. + - **Parameters:** + - `width` (_int_) + - `height` (_int_) + +--- + +## carla.TextureFloatColor +Class representing a texture object to be uploaded to the server. Pixel format is RGBA, float per channel. + +### Instance Variables +- **width** (_int_) +X-coordinate size of the texture. +- **height** (_int_) +Y-coordinate size of the texture. + +### Methods +- **\__init__**(**self**, **width**, **height**) +Initializes a the texture with a (`width`, `height`) size. + - **Parameters:** + - `width` (_int_) + - `height` (_int_) +- **get**(**self**, **x**, **y**) +Get the (x,y) pixel data. + - **Parameters:** + - `x` (_int_) + - `y` (_int_) + - **Return:** _[carla.FloatColor](#carla.FloatColor)_ +- **set**(**self**, **x**, **y**, **value**) +Sets the (x,y) pixel data with `value`. + - **Parameters:** + - `x` (_int_) + - `y` (_int_) + - `value` (_[carla.FloatColor](#carla.FloatColor)_) + +##### Setters +- **set_dimensions**(**self**, **width**, **height**) +Resizes the texture to te specified dimensions. + - **Parameters:** + - `width` (_int_) + - `height` (_int_) + +--- + ## carla.Timestamp Class that contains time information for simulated data. This information is automatically retrieved as part of the [carla.WorldSnapshot](#carla.WorldSnapshot) the client gets on every frame, but might also be used in many other situations such as a [carla.Sensor](#carla.Sensor) retrieveing data. ### Instance Variables - **frame** (_int_) The number of frames elapsed since the simulator was launched. -- **elapsed_seconds** (_float – seconds_) +- **elapsed_seconds** (_float - seconds_) Simulated seconds elapsed since the beginning of the current episode. -- **delta_seconds** (_float – seconds_) +- **delta_seconds** (_float - seconds_) Simulated seconds elapsed since the previous frame. -- **platform_timestamp** (_float – seconds_) +- **platform_timestamp** (_float - seconds_) Time register of the frame at which this measurement was taken given by the OS in seconds. ### Methods - **\__init__**(**self**, **frame**, **elapsed_seconds**, **delta_seconds**, **platform_timestamp**) - **Parameters:** - `frame` (_int_) - - `elapsed_seconds` (_float – seconds_) - - `delta_seconds` (_float – seconds_) - - `platform_timestamp` (_float – seconds_) + - `elapsed_seconds` (_float - seconds_) + - `delta_seconds` (_float - seconds_) + - `platform_timestamp` (_float - seconds_) ##### Dunder methods - **\__eq__**(**self**, **other**=[carla.Timestamp](#carla.Timestamp)) @@ -2135,10 +2270,10 @@ Returns a list of waypoints indicating the positions and lanes where the traffic - **Return:** _list([carla.Waypoint](#carla.Waypoint))_ - **get_elapsed_time**(**self**) The client returns the time in seconds since current light state started according to last tick. The method does not call the simulator. - - **Return:** _float – seconds_ + - **Return:** _float - seconds_ - **get_green_time**(**self**) The client returns the time set for the traffic light to be green, according to last tick. The method does not call the simulator. - - **Return:** _float – seconds_ + - **Return:** _float - seconds_ - **Setter:** _[carla.TrafficLight.set_green_time](#carla.TrafficLight.set_green_time)_ - **get_group_traffic_lights**(**self**) Returns all traffic lights in the group this one belongs to. @@ -2156,7 +2291,7 @@ Returns the index of the pole that identifies it as part of the traffic light gr - **Return:** _int_ - **get_red_time**(**self**) The client returns the time set for the traffic light to be red, according to last tick. The method does not call the simulator. - - **Return:** _float – seconds_ + - **Return:** _float - seconds_ - **Setter:** _[carla.TrafficLight.set_red_time](#carla.TrafficLight.set_red_time)_ - **get_state**(**self**) The client returns the state of the traffic light according to last tick. The method does not call the simulator. @@ -2167,18 +2302,18 @@ Returns a list of waypoints indicating the stop position for the traffic light. - **Return:** _list([carla.Waypoint](#carla.Waypoint))_ - **get_yellow_time**(**self**) The client returns the time set for the traffic light to be yellow, according to last tick. The method does not call the simulator. - - **Return:** _float – seconds_ + - **Return:** _float - seconds_ - **Setter:** _[carla.TrafficLight.set_yellow_time](#carla.TrafficLight.set_yellow_time)_ ##### Setters - **set_green_time**(**self**, **green_time**) - **Parameters:** - - `green_time` (_float – seconds_) – Sets a given time for the green light to be active. + - `green_time` (_float - seconds_) - Sets a given time for the green light to be active. - **Getter:** _[carla.TrafficLight.get_green_time](#carla.TrafficLight.get_green_time)_ - **set_red_time**(**self**, **red_time**) Sets a given time for the red state to be active. - **Parameters:** - - `red_time` (_float – seconds_) + - `red_time` (_float - seconds_) - **Getter:** _[carla.TrafficLight.get_red_time](#carla.TrafficLight.get_red_time)_ - **set_state**(**self**, **state**) Sets a given state to a traffic light actor. @@ -2188,7 +2323,7 @@ Sets a given state to a traffic light actor. - **set_yellow_time**(**self**, **yellow_time**) Sets a given time for the yellow light to be active. - **Parameters:** - - `yellow_time` (_float – seconds_) + - `yellow_time` (_float - seconds_) - **Getter:** _[carla.TrafficLight.get_yellow_time](#carla.TrafficLight.get_yellow_time)_ ##### Dunder methods @@ -2216,55 +2351,61 @@ In order to learn more, visit the [documentation](adv_traffic_manager.md) regard - **auto_lane_change**(**self**, **actor**, **enable**) Turns on or off lane changing behaviour for a vehicle. - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor)_) – The vehicle whose settings are changed. - - `enable` (_bool_) – __True__ is default and enables lane changes. __False__ will disable them. + - `actor` (_[carla.Actor](#carla.Actor)_) - The vehicle whose settings are changed. + - `enable` (_bool_) - __True__ is default and enables lane changes. __False__ will disable them. +- **auto_update_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__. + - **Parameters:** + - `actor` (_[carla.Actor](#carla.Actor)_) - Vehicle whose lights status is being changed. + - `do_update` (_bool_) - If __True__ the traffic manager will manage the vehicle lights for the specified vehicle. - **collision_detection**(**self**, **reference_actor**, **other_actor**, **detect_collision**) Tunes on/off collisions between a vehicle and another specific actor. In order to ignore all other vehicles, traffic lights or walkers, use the specific __ignore__ methods described in this same section. - **Parameters:** - - `reference_actor` (_[carla.Actor](#carla.Actor)_) – Vehicle that is going to ignore collisions. - - `other_actor` (_[carla.Actor](#carla.Actor)_) – The actor that `reference_actor` is going to ignore collisions with. - - `detect_collision` (_bool_) – __True__ is default and enables collisions. __False__ will disable them. + - `reference_actor` (_[carla.Actor](#carla.Actor)_) - Vehicle that is going to ignore collisions. + - `other_actor` (_[carla.Actor](#carla.Actor)_) - The actor that `reference_actor` is going to ignore collisions with. + - `detect_collision` (_bool_) - __True__ is default and enables collisions. __False__ will disable them. - **distance_to_leading_vehicle**(**self**, **actor**, **distance**) Sets the minimum distance in meters that a vehicle has to keep with the others. The distance is in meters and will affect the minimum moving distance. It is computed from front to back of the vehicle objects. - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor)_) – Vehicle whose minimum distance is being changed. - - `distance` (_float – meters_) – Meters between both vehicles. + - `actor` (_[carla.Actor](#carla.Actor)_) - Vehicle whose minimum distance is being changed. + - `distance` (_float - meters_) - Meters between both vehicles. - **force_lane_change**(**self**, **actor**, **direction**) Forces a vehicle to change either to the lane on its left or right, if existing, as indicated in `direction`. This method applies the lane change no matter what, disregarding possible collisions. - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor)_) – Vehicle being forced to change lanes. - - `direction` (_bool_) – Destination lane. __True__ is the one on the right and __False__ is the left one. + - `actor` (_[carla.Actor](#carla.Actor)_) - Vehicle being forced to change lanes. + - `direction` (_bool_) - Destination lane. __True__ is the one on the right and __False__ is the left one. - **global_percentage_speed_difference**(**self**, **percentage**) Sets the difference the vehicle's intended speed and its current speed limit. Speed limits can be exceeded by setting the `perc` to a negative value. Default is 30. Exceeding a speed limit can be done using negative percentages. - **Parameters:** - - `percentage` (_float_) – Percentage difference between intended speed and the current limit. + - `percentage` (_float_) - Percentage difference between intended speed and the current limit. - **ignore_lights_percentage**(**self**, **actor**, **perc**) During the traffic light stage, which runs every frame, this method sets the percent chance that traffic lights will be ignored for a vehicle. - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor)_) – The actor that is going to ignore traffic lights. - - `perc` (_float_) – Between 0 and 100. Amount of times traffic lights will be ignored. + - `actor` (_[carla.Actor](#carla.Actor)_) - The actor that is going to ignore traffic lights. + - `perc` (_float_) - Between 0 and 100. Amount of times traffic lights will be ignored. - **ignore_signs_percentage**(**self**, **actor**, **perc**) During the traffic light stage, which runs every frame, this method sets the percent chance that stop signs will be ignored for a vehicle. - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor)_) – The actor that is going to ignore stop signs. - - `perc` (_float_) – Between 0 and 100. Amount of times stop signs will be ignored. + - `actor` (_[carla.Actor](#carla.Actor)_) - The actor that is going to ignore stop signs. + - `perc` (_float_) - Between 0 and 100. Amount of times stop signs will be ignored. - **ignore_vehicles_percentage**(**self**, **actor**, **perc**) During the collision detection stage, which runs every frame, this method sets a percent chance that collisions with another vehicle will be ignored for a vehicle. - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor)_) – The vehicle that is going to ignore other vehicles. - - `perc` (_float_) – Between 0 and 100. Amount of times collisions will be ignored. + - `actor` (_[carla.Actor](#carla.Actor)_) - The vehicle that is going to ignore other vehicles. + - `perc` (_float_) - Between 0 and 100. Amount of times collisions will be ignored. - **ignore_walkers_percentage**(**self**, **actor**, **perc**) During the collision detection stage, which runs every frame, this method sets a percent chance that collisions with walkers will be ignored for a vehicle. - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor)_) – The vehicle that is going to ignore walkers on scene. - - `perc` (_float_) – Between 0 and 100. Amount of times collisions will be ignored. + - `actor` (_[carla.Actor](#carla.Actor)_) - The vehicle that is going to ignore walkers on scene. + - `perc` (_float_) - Between 0 and 100. Amount of times collisions will be ignored. - **vehicle_percentage_speed_difference**(**self**, **actor**, **percentage**) Sets the difference the vehicle's intended speed and its current speed limit. Speed limits can be exceeded by setting the `perc` to a negative value. Default is 30. Exceeding a speed limit can be done using negative percentages. - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor)_) – Vehicle whose speed behaviour is being changed. - - `percentage` (_float_) – Percentage difference between intended speed and the current limit. + - `actor` (_[carla.Actor](#carla.Actor)_) - Vehicle whose speed behaviour is being changed. + - `percentage` (_float_) - Percentage difference between intended speed and the current limit. ##### Getters - **get_port**(**self**) @@ -2275,35 +2416,35 @@ Returns the port where the Traffic Manager is connected. If the object is a TM-C - **set_boundaries_respawn_dormant_vehicles**(**self**, **lower_bound**=25.0, **upper_bound**=actor_active_distance) Sets the upper and lower boundaries for dormant actors to be respawned near the hero vehicle. - **Parameters:** - - `lower_bound` (_float_) – The minimum distance in meters from the hero vehicle that a dormant actor will be respawned. - - `upper_bound` (_float_) – The maximum distance in meters from the hero vehicle that a dormant actor will be respawned. + - `lower_bound` (_float_) - The minimum distance in meters from the hero vehicle that a dormant actor will be respawned. + - `upper_bound` (_float_) - The maximum distance in meters from the hero vehicle that a dormant actor will be respawned. - **Warning:** _The `upper_bound` cannot be higher than the `actor_active_distance`. The `lower_bound` cannot be less than 25. _ - **set_global_distance_to_leading_vehicle**(**self**, **distance**) Sets the minimum distance in meters that vehicles have to keep with the rest. The distance is in meters and will affect the minimum moving distance. It is computed from center to center of the vehicle objects. - **Parameters:** - - `distance` (_float – meters_) – Meters between vehicles. + - `distance` (_float - meters_) - Meters between vehicles. - **set_hybrid_physics_mode**(**self**, **enabled**=False) Enables or disables the hybrid physics mode. In this mode, vehicle's farther than a certain radius from the ego vehicle will have their physics disabled. Computation cost will be reduced by not calculating vehicle dynamics. Vehicles will be teleported. - **Parameters:** - - `enabled` (_bool_) – If __True__, enables the hybrid physics. + - `enabled` (_bool_) - If __True__, enables the hybrid physics. - **set_hybrid_physics_radius**(**self**, **r**=50.0) With hybrid physics on, changes the radius of the area of influence where physics are enabled. - **Parameters:** - - `r` (_float – meters_) – New radius where physics are enabled. + - `r` (_float - meters_) - New radius where physics are enabled. - **set_osm_mode**(**self**, **mode_switch**=True) Enables or disables the OSM mode. This mode allows the user to run TM in a map created with the [OSM feature](tuto_G_openstreetmap.md). These maps allow having dead-end streets. Normally, if vehicles cannot find the next waypoint, TM crashes. If OSM mode is enabled, it will show a warning, and destroy vehicles when necessary. - **Parameters:** - `mode_switch` (_bool_) – If __True__, the OSM mode is enabled. -- **set_percentage_keep_right_rule**(**self**, **actor**, **perc**) +- **keep_right_rule_percentage**(**self**, **actor**, **perc**) During the localization stage, this method sets a percent chance that vehicle will follow the *keep right* rule, and stay in the right lane. - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor)_) – Vehicle whose behaviour is being changed. - - `perc` (_float_) – Between 0 and 100. Amount of times the vehicle will follow the keep right rule. + - `actor` (_[carla.Actor](#carla.Actor)_) - Vehicle whose behaviour is being changed. + - `perc` (_float_) - Between 0 and 100. Amount of times the vehicle will follow the keep right rule. - **set_random_device_seed**(**self**, **value**) Sets a specific random seed for the Traffic Manager, thereby setting it to be deterministic. - **Parameters:** - - `value` (_int_) – Seed value for the random number generation of the Traffic Manager. + - `value` (_int_) - Seed value for the random number generation of the Traffic Manager. - **set_respawn_dormant_vehicles**(**self**, **mode_switch**=False) If __True__, vehicles in large maps will respawn near the hero vehicle when they become dormant. Otherwise, they will stay dormant until they are within `actor_active_distance` of the hero vehicle again. - **Parameters:** @@ -2311,7 +2452,7 @@ If __True__, vehicles in large maps will respawn near the hero vehicle when they - **set_synchronous_mode**(**self**, **mode_switch**=True) Sets the Traffic Manager to [synchronous mode](adv_traffic_manager.md#synchronous-mode). In a [multiclient situation](adv_traffic_manager.md#multiclient), only the TM-Server can tick. Similarly, in a [multiTM situation](adv_traffic_manager.md#multitm), only one TM-Server must tick. Use this method in the client that does the world tick, and right after setting the world to synchronous mode, to set which TM will be the master while in sync. - **Parameters:** - - `mode_switch` (_bool_) – If __True__, the TM synchronous mode is enabled. + - `mode_switch` (_bool_) - If __True__, the TM synchronous mode is enabled. - **Warning:** _If the server is set to synchronous mode, the TM must be set to synchronous mode too in the same client that does the tick. _ @@ -2333,18 +2474,18 @@ Class that defines a transformation, a combination of location and rotation, wit ### Instance Variables - **location** (_[carla.Location](#carla.Location)_) Describes a point in the coordinate system. -- **rotation** (_[carla.Rotation](#carla.Rotation) – degrees (pitch, yaw, roll)_) +- **rotation** (_[carla.Rotation](#carla.Rotation) - degrees (pitch, yaw, roll)_) Describes a rotation for an object according to Unreal Engine's axis system. ### Methods - **\__init__**(**self**, **location**, **rotation**) - **Parameters:** - `location` (_[carla.Location](#carla.Location)_) - - `rotation` (_[carla.Rotation](#carla.Rotation) – degrees (pitch, yaw, roll)_) + - `rotation` (_[carla.Rotation](#carla.Rotation) - degrees (pitch, yaw, roll)_) - **transform**(**self**, **in_point**) 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. + - `in_point` (_[carla.Location](#carla.Location)_) - Location in the space to which the transformation will be applied. ##### Getters - **get_forward_vector**(**self**) @@ -2390,6 +2531,15 @@ Y-axis value. - **Parameters:** - `x` (_float_) - `y` (_float_) +- **length**(**self**) +Computes the length of the vector. + - **Return:** _float_ +- **make_unit_vector**(**self**) +Returns a vector with the same direction and unitary length. + - **Return:** _[carla.Vector3D](#carla.Vector3D)_ +- **squared_length**(**self**) +Computes the squared length of the vector. + - **Return:** _float_ ##### Dunder methods - **\__add__**(**self**, **other**=[carla.Vector2D](#carla.Vector2D)) @@ -2425,6 +2575,50 @@ Z-axis value. - `x` (_float_) - `y` (_float_) - `z` (_float_) +- **cross**(**self**, **vector**) +Computes the cross product between two vectors. + - **Parameters:** + - `vector` (_[carla.Vector3D](#carla.Vector3D)_) + - **Return:** _[carla.Vector3D](#carla.Vector3D)_ +- **distance**(**self**, **vector**) +Computes the distance between two vectors. + - **Parameters:** + - `vector` (_[carla.Vector3D](#carla.Vector3D)_) + - **Return:** _float_ +- **distance_2d**(**self**, **vector**) +Computes the 2-dimensional distance between two vectors. + - **Parameters:** + - `vector` (_[carla.Vector3D](#carla.Vector3D)_) + - **Return:** _float_ +- **distance_squared**(**self**, **vector**) +Computes the squared distance between two vectors. + - **Parameters:** + - `vector` (_[carla.Vector3D](#carla.Vector3D)_) + - **Return:** _float_ +- **distance_squared_2d**(**self**, **vector**) +Computes the 2-dimensional squared distance between two vectors. + - **Parameters:** + - `vector` (_[carla.Vector3D](#carla.Vector3D)_) + - **Return:** _float_ +- **dot**(**self**, **vector**) +Computes the dot product between two vectors. + - **Parameters:** + - `vector` (_[carla.Vector3D](#carla.Vector3D)_) + - **Return:** _float_ +- **dot_2d**(**self**, **vector**) +Computes the 2-dimensional dot product between two vectors. + - **Parameters:** + - `vector` (_[carla.Vector3D](#carla.Vector3D)_) + - **Return:** _float_ +- **length**(**self**) +Computes the length of the vector. + - **Return:** _float_ +- **make_unit_vector**(**self**) +Returns a vector with the same direction and unitary length. + - **Return:** _[carla.Vector3D](#carla.Vector3D)_ +- **squared_length**(**self**) +Computes the squared length of the vector. + - **Return:** _float_ ##### Dunder methods - **\__abs__**(**self**) @@ -2466,7 +2660,7 @@ Applies a physics control object in the next tick containing the parameters that - **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. + - `simfile_path` (_str_) - Path to the `.simfile` file with the parameters of the simulation. - **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_ @@ -2489,7 +2683,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 - m/s_ - **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)_ @@ -2509,7 +2703,7 @@ _ Registers or deletes the vehicle from a Traffic Manager's list. When __True__, the Traffic Manager passed as parameter will move the vehicle around. The autopilot takes place client-side. - **Parameters:** - `enabled` (_bool_) - - `port` (_uint16_) – The port of the TM-Server where the vehicle is to be registered or unlisted. If __None__ is passed, it will consider a TM at default port `8000`. + - `port` (_uint16_) - The port of the TM-Server where the vehicle is to be registered or unlisted. If __None__ is passed, it will consider a TM at default port `8000`. - **set_light_state**(**self**, **light_state**) Sets the light state of a vehicle using a flag that represents the lights that are on and off. - **Parameters:** @@ -2550,9 +2744,9 @@ States which gear is the vehicle running on. ### Methods - **\__init__**(**self**, **throttle**=0.0, **steer**=0.0, **brake**=0.0, **hand_brake**=False, **reverse**=False, **manual_gear_shift**=False, **gear**=0) - **Parameters:** - - `throttle` (_float_) – Scalar value between [0.0,1.0]. - - `steer` (_float_) – Scalar value between [0.0,1.0]. - - `brake` (_float_) – Scalar value between [0.0,1.0]. + - `throttle` (_float_) - Scalar value between [0.0,1.0]. + - `steer` (_float_) - Scalar value between [0.0,1.0]. + - `brake` (_float_) - Scalar value between [0.0,1.0]. - `hand_brake` (_bool_) - `reverse` (_bool_) - `manual_gear_shift` (_bool_) @@ -2565,6 +2759,23 @@ States which gear is the vehicle running on. --- +## carla.VehicleDoor +Possible index representing the possible doors that can be open. Notice that not all possible doors are able to open in some vehicles. + +### Instance Variables +- **FL** +Front left door. +- **FR** +Front right door. +- **RL** +Back left door. +- **RR** +Back right door. +- **All** +Represents all doors. + +--- + ## carla.VehicleLightState Class that recaps the state of the lights of a vehicle, these can be used as a flags. E.g: `VehicleLightState.HighBeam & VehicleLightState.Brake` will return `True` when both are active. Lights are off by default in any situation and should be managed by the user via script. The blinkers blink automatically. _Warning: Right now, not all vehicles have been prepared to work with this functionality, this will be added to all of them in later updates_. @@ -2597,7 +2808,7 @@ Summarizes the parameters that will be used to simulate a [carla.Vehicle](#carla Curve that indicates the torque measured in Nm for a specific RPM of the vehicle's engine. - **max_rpm** (_float_) The maximum RPM of the vehicle's engine. -- **moi** (_float – kg*m2_) +- **moi** (_float - kg*m2_) The moment of inertia of the vehicle's engine. - **damping_rate_full_throttle** (_float_) Damping ratio when the throttle is maximum. @@ -2607,19 +2818,19 @@ Damping ratio when the throttle is zero with clutch engaged. Damping ratio when the throttle is zero with clutch disengaged. - **use_gear_autobox** (_bool_) If True, the vehicle will have an automatic transmission. -- **gear_switch_time** (_float – seconds_) +- **gear_switch_time** (_float - seconds_) Switching time between gears. -- **clutch_strength** (_float – kg*m2/s_) +- **clutch_strength** (_float - kg*m2/s_) Clutch strength of the vehicle. - **final_ratio** (_float_) Fixed ratio from transmission to wheels. - **forward_gears** (_list([carla.GearPhysicsControl](#carla.GearPhysicsControl))_) List of objects defining the vehicle's gears. -- **mass** (_float – kilograms_) +- **mass** (_float - kilograms_) Mass of the vehicle. - **drag_coefficient** (_float_) Drag coefficient of the vehicle's chassis. -- **center_of_mass** (_[carla.Vector3D](#carla.Vector3D) – meters_) +- **center_of_mass** (_[carla.Vector3D](#carla.Vector3D) - meters_) Center of mass of the vehicle. - **steering_curve** (_list([carla.Vector2D](#carla.Vector2D))_) Curve that indicates the maximum steering for a specific forward speed. @@ -2634,13 +2845,13 @@ VehiclePhysicsControl constructor. - **Parameters:** - `torque_curve` (_list([carla.Vector2D](#carla.Vector2D))_) - `max_rpm` (_float_) - - `moi` (_float – kg*m2_) + - `moi` (_float - kg*m2_) - `damping_rate_full_throttle` (_float_) - `damping_rate_zero_throttle_clutch_engaged` (_float_) - `damping_rate_zero_throttle_clutch_disengaged` (_float_) - `use_gear_autobox` (_bool_) - - `gear_switch_time` (_float – seconds_) - - `clutch_strength` (_float – kg*m2/s_) + - `gear_switch_time` (_float - seconds_) + - `clutch_strength` (_float - kg*m2/s_) - `final_ratio` (_float_) - `forward_gears` (_list([carla.GearPhysicsControl](#carla.GearPhysicsControl))_) - `drag_coefficient` (_float_) @@ -2648,7 +2859,7 @@ VehiclePhysicsControl constructor. - `steering_curve` (_[carla.Vector2D](#carla.Vector2D)_) - `wheels` (_list([carla.WheelPhysicsControl](#carla.WheelPhysicsControl))_) - `use_sweep_wheel_collision` (_bool_) - - `mass` (_float – kilograms_) + - `mass` (_float - kilograms_) ##### Dunder methods - **\__eq__**(**self**, **other**=[carla.VehiclePhysicsControl](#carla.VehiclePhysicsControl)) @@ -2689,15 +2900,41 @@ Bounding box containing the geometry of the walker. Its location and rotation ar On the next tick, the control will move the walker in a certain direction with a certain speed. Jumps can be commanded too. - **Parameters:** - `control` (_[carla.WalkerControl](#carla.WalkerControl)_) -- **apply_control**(**self**, **control**) -On the next tick, the control defines a list of bone transformations that will be applied to the walker's skeleton. - - **Parameters:** - - `control` (_[carla.WalkerBoneControl](#carla.WalkerBoneControl)_) +- **blend_pose**(**self**, **blend_value**) +Set the blending value of the custom pose with the animation. The values can be: + - 0: will show only the animation + - 1: will show only the custom pose (set by the user with set_bones()) + - any other: will interpolate all the bone positions between animation and the custom pose. + - **Parameters:** + - `blend_value` (_float - value from 0 to 1 with the blend percentage_) +- **hide_pose**(**self**) +Hide the custom pose and show the animation (same as calling blend_pose(0)). +- **show_pose**(**self**) +Show the custom pose and hide the animation (same as calling blend_pose(1)). ##### Getters +- **get_bones**(**self**) +Return the structure with all the bone transformations from the actor. For each bone, we get the name and its transform in three different spaces: + - name: bone name + - world: transform in world coordinates + - component: transform based on the pivot of the actor + - relative: transform based on the bone parent. + - **Return:** _[carla.WalkerBoneControlOut](#carla.WalkerBoneControlOut)_ + - **Setter:** _[carla.Walker.set_bones](#carla.Walker.set_bones)_ - **get_control**(**self**) The client returns the control applied to this walker during last tick. The method does not call the simulator. - **Return:** _[carla.WalkerControl](#carla.WalkerControl)_ +- **get_pose_from_animation**(**self**) +Make a copy of the current animation frame as the custom pose. Initially the custom pose is the neutral pedestrian pose. + +##### Setters +- **set_bones**(**self**, **bones**) +Set the bones of the actor. For each bone we want to set we use a relative transform. Only the bones in this list will be set. For each bone you need to setup this info: + - name: bone name + - relative: transform based on the bone parent. + - **Parameters:** + - `bones` (_[carla.WalkerBoneControlIn](#carla.WalkerBoneControlIn) - list of pairs (bone_name, transform) for the bones that we want to set_) + - **Getter:** _[carla.Walker.get_bones](#carla.Walker.get_bones)_ ##### Dunder methods - **\__str__**(**self**) @@ -2712,7 +2949,7 @@ Class that conducts AI control for a walker. The controllers are defined as acto - **go_to_location**(**self**, **destination**) Sets the destination that the pedestrian will reach. - **Parameters:** - - `destination` (_[carla.Location](#carla.Location) – meters_) + - `destination` (_[carla.Location](#carla.Location) - meters_) - **start**(**self**) Enables AI control for its parent walker. - **stop**(**self**) @@ -2722,40 +2959,60 @@ Disables AI control for its parent walker. - **set_max_speed**(**self**, **speed**=1.4) Sets a speed for the walker in meters per second. - **Parameters:** - - `speed` (_float – m/s_) – An easy walking speed is set by default. + - `speed` (_float - m/s_) - An easy walking speed is set by default. ##### Dunder methods - **\__str__**(**self**) --- -## carla.WalkerBoneControl +## carla.WalkerBoneControlIn This class grants bone specific manipulation for walker. The skeletons of walkers have been unified for clarity and the transform applied to each bone are always relative to its parent. Take a look [here](tuto_G_control_walker_skeletons.md) to learn more on how to create a walker and define its movement. ### Instance Variables -- **bone_transforms** (_list([name,transform])_) -List of tuples where the first value is the bone's name and the second value stores the transformation (changes in location and rotation) that will be applied to it. +- **bone_transforms** (_list([name,transform])_) +List with the data for each bone we want to set: + - name: bone name + - relative: transform based on the bone parent. ### Methods -- **\__init__**(**self**, **list(name,transform)**) +- **\__init__**(**self**, **list(name,transform)**) Initializes an object containing moves to be applied on tick. These are listed with the name of the bone and the transform that will be applied to it. - **Parameters:** - `list(name,transform)` (_tuple_) ##### Dunder methods -- **\__str__**(**self**) +- **\__str__**(**self**) + +--- + +## carla.WalkerBoneControlOut +This class is used to return all bone positions of a pedestrian. For each bone we get its _name_ and its transform in three different spaces (world, actor and relative). + +### Instance Variables +- **bone_transforms** (_list([name,world, actor, relative])_) +List of one entry per bone with this information: + - name: bone name + - world: transform in world coordinates + - component: transform based on the pivot of the actor + - relative: transform based on the bone parent. + +### Methods + +##### Dunder methods +- **\__str__**(**self**) --- ## carla.WalkerControl -This class defines specific directions that can be commanded to a [carla.Walker](#carla.Walker) to control it via script. The walker's animations will blend automatically with the parameters defined in this class when applied, though specific skeleton moves can be obtained through class.WalkerBoneControl. +This class defines specific directions that can be commanded to a [carla.Walker](#carla.Walker) to control it via script. AI control can be settled for walkers, but the control used to do so is [carla.WalkerAIController](#carla.WalkerAIController). ### Instance Variables - **direction** (_[carla.Vector3D](#carla.Vector3D)_) Vector using global coordinates that will correspond to the direction of the walker. -- **speed** (_float – m/s_) +- **speed** (_float - m/s_) A scalar value to control the walker's speed. - **jump** (_bool_) If True, the walker will perform a jump. @@ -2764,7 +3021,7 @@ If True, the walker will perform a jump. - **\__init__**(**self**, **direction**=[1.0, 0.0, 0.0], **speed**=0.0, **jump**=False) - **Parameters:** - `direction` (_[carla.Vector3D](#carla.Vector3D)_) - - `speed` (_float – m/s_) + - `speed` (_float - m/s_) - `jump` (_bool_) ##### Dunder methods @@ -2810,23 +3067,23 @@ The left lane marking information based on the direction of the Waypoint. Returns a list of waypoints at a certain approximate `distance` from the current one. It takes into account the road and its possible deviations without performing any lane change and returns one waypoint per option. The list may be empty if the lane is not connected to any other at the specified distance. - **Parameters:** - - `distance` (_float – meters_) – The approximate distance where to get the next waypoints. + - `distance` (_float - meters_) - The approximate distance where to get the next waypoints. - **Return:** _list([carla.Waypoint](#carla.Waypoint))_ - **next_until_lane_end**(**self**, **distance**) Returns a list of waypoints from this to the end of the lane separated by a certain `distance`. - **Parameters:** - - `distance` (_float – meters_) – The approximate distance between waypoints. + - `distance` (_float - meters_) - The approximate distance between waypoints. - **Return:** _list([carla.Waypoint](#carla.Waypoint))_ - **previous**(**self**, **distance**) This method does not return the waypoint previously visited by an actor, but a list of waypoints at an approximate `distance` but in the opposite direction of the lane. Similarly to **next()**, it takes into account the road and its possible deviations without performing any lane change and returns one waypoint per option. The list may be empty if the lane is not connected to any other at the specified distance. - **Parameters:** - - `distance` (_float – meters_) – The approximate distance where to get the previous waypoints. + - `distance` (_float - meters_) - The approximate distance where to get the previous waypoints. - **Return:** _list([carla.Waypoint](#carla.Waypoint))_ - **previous_until_lane_start**(**self**, **distance**) Returns a list of waypoints from this to the start of the lane separated by a certain `distance`. - **Parameters:** - - `distance` (_float – meters_) – The approximate distance between waypoints. + - `distance` (_float - meters_) - The approximate distance between waypoints. - **Return:** _list([carla.Waypoint](#carla.Waypoint))_ ##### Getters @@ -2836,15 +3093,15 @@ If the waypoint belongs to a junction this method returns the asociated 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. - **Parameters:** - - `distance` (_float – meters_) – The maximum distance to search for landmarks from the current waypoint. - - `stop_at_junction` (_bool_) – Enables or disables the landmark search through junctions. + - `distance` (_float - meters_) - The maximum distance to search for landmarks from the current waypoint. + - `stop_at_junction` (_bool_) - Enables or disables the landmark search through junctions. - **Return:** _list([carla.Landmark](#carla.Landmark))_ - **get_landmarks_of_type**(**self**, **distance**, **type**, **stop_at_junction**=False) Returns a list of landmarks in the road of a specified type from the current waypoint until the specified distance. - **Parameters:** - - `distance` (_float – meters_) – The maximum distance to search for landmarks from the current waypoint. - - `type` (_str_) – The type of landmarks to search. - - `stop_at_junction` (_bool_) – Enables or disables the landmark search through junctions. + - `distance` (_float - meters_) - The maximum distance to search for landmarks from the current waypoint. + - `type` (_str_) - The type of landmarks to search. + - `stop_at_junction` (_bool_) - Enables or disables the landmark search through junctions. - **Return:** _list([carla.Landmark](#carla.Landmark))_ - **get_left_lane**(**self**) Generates a Waypoint at the center of the left lane based on the direction of the current Waypoint, taking into account if the lane change is allowed in this location. @@ -2873,13 +3130,13 @@ Rain intensity values range from 0 to 100, being 0 none at all and 100 a heavy r Determines the creation of puddles. Values range from 0 to 100, being 0 none at all and 100 a road completely capped with water. Puddles are created with static noise, meaning that they will always appear at the same locations. - **wind_intensity** (_float_) Controls the strenght of the wind with values from 0, no wind at all, to 100, a strong wind. The wind does affect rain direction and leaves from trees, so this value is restricted to avoid animation issues. -- **sun_azimuth_angle** (_float – degrees_) +- **sun_azimuth_angle** (_float - degrees_) The azimuth angle of the sun. Values range from 0 to 360. Zero is an origin point in a sphere determined by Unreal Engine. -- **sun_altitude_angle** (_float – degrees_) +- **sun_altitude_angle** (_float - degrees_) Altitude angle of the sun. Values range from -90 to 90 corresponding to midnight and midday each. - **fog_density** (_float_) Fog concentration or thickness. It only affects the RGB camera sensor. Values range from 0 to 100. -- **fog_distance** (_float – meters_) +- **fog_distance** (_float - meters_) Fog start distance. Values range from 0 to infinite. - **wetness** (_float_) Wetness intensity. It only affects the RGB camera sensor. Values range from 0 to 100. @@ -2896,19 +3153,19 @@ Controls interaction of light with small particles like air molecules. Dependent - **\__init__**(**self**, **cloudiness**=0.0, **precipitation**=0.0, **precipitation_deposits**=0.0, **wind_intensity**=0.0, **sun_azimuth_angle**=0.0, **sun_altitude_angle**=0.0, **fog_density**=0.0, **fog_distance**=0.0, **wetness**=0.0, **fog_falloff**=0.0, **scattering_intensity**=0.0, **mie_scattering_scale**=0.0, **rayleigh_scattering_scale**=0.0331) Method to initialize an object defining weather conditions. This class has some presets for different noon and sunset conditions listed in a note below. - **Parameters:** - - `cloudiness` (_float_) – 0 is a clear sky, 100 complete overcast. - - `precipitation` (_float_) – 0 is no rain at all, 100 a heavy rain. - - `precipitation_deposits` (_float_) – 0 means no puddles on the road, 100 means roads completely capped by rain. - - `wind_intensity` (_float_) – 0 is calm, 100 a strong wind. - - `sun_azimuth_angle` (_float – degrees_) – 0 is an arbitrary North, 180 its corresponding South. - - `sun_altitude_angle` (_float – degrees_) – 90 is midday, -90 is midnight. - - `fog_density` (_float_) – Concentration or thickness of the fog, from 0 to 100. - - `fog_distance` (_float – meters_) – Distance where the fog starts in meters. - - `wetness` (_float_) – Humidity percentages of the road, from 0 to 100. - - `fog_falloff` (_float_) – Density (specific mass) of the fog, from 0 to infinity. - - `scattering_intensity` (_float_) – Controls how much the light will contribute to volumetric fog. When set to 0, there is no contribution. - - `mie_scattering_scale` (_float_) – Controls interaction of light with large particles like pollen or air pollution resulting in a hazy sky with halos around the light sources. When set to 0, there is no contribution. - - `rayleigh_scattering_scale` (_float_) – Controls interaction of light with small particles like air molecules. Dependent on light wavelength, resulting in a blue sky in the day or red sky in the evening. + - `cloudiness` (_float_) - 0 is a clear sky, 100 complete overcast. + - `precipitation` (_float_) - 0 is no rain at all, 100 a heavy rain. + - `precipitation_deposits` (_float_) - 0 means no puddles on the road, 100 means roads completely capped by rain. + - `wind_intensity` (_float_) - 0 is calm, 100 a strong wind. + - `sun_azimuth_angle` (_float - degrees_) - 0 is an arbitrary North, 180 its corresponding South. + - `sun_altitude_angle` (_float - degrees_) - 90 is midday, -90 is midnight. + - `fog_density` (_float_) - Concentration or thickness of the fog, from 0 to 100. + - `fog_distance` (_float - meters_) - Distance where the fog starts in meters. + - `wetness` (_float_) - Humidity percentages of the road, from 0 to 100. + - `fog_falloff` (_float_) - Density (specific mass) of the fog, from 0 to infinity. + - `scattering_intensity` (_float_) - Controls how much the light will contribute to volumetric fog. When set to 0, there is no contribution. + - `mie_scattering_scale` (_float_) - Controls interaction of light with large particles like pollen or air pollution resulting in a hazy sky with halos around the light sources. When set to 0, there is no contribution. + - `rayleigh_scattering_scale` (_float_) - Controls interaction of light with small particles like air molecules. Dependent on light wavelength, resulting in a blue sky in the day or red sky in the evening. - **Note:** _ClearNoon, CloudyNoon, WetNoon, WetCloudyNoon, SoftRainNoon, MidRainyNoon, HardRainNoon, ClearSunset, CloudySunset, WetSunset, WetCloudySunset, SoftRainSunset, MidRainSunset, HardRainSunset. _ @@ -2931,17 +3188,17 @@ Class that defines specific physical parameters for wheel objects that will be p A scalar value that indicates the friction of the wheel. - **damping_rate** (_float_) Damping rate of the wheel. -- **max_steer_angle** (_float – degrees_) +- **max_steer_angle** (_float - degrees_) Maximum angle that the wheel can steer. -- **radius** (_float – centimeters_) +- **radius** (_float - centimeters_) Radius of the wheel. -- **max_brake_torque** (_float – N*m_) +- **max_brake_torque** (_float - N*m_) Maximum brake torque. -- **max_handbrake_torque** (_float – N*m_) +- **max_handbrake_torque** (_float - N*m_) Maximum handbrake torque. - **position** (_[carla.Vector3D](#carla.Vector3D)_) World position of the wheel. This is a read-only parameter. -- **long_stiff_value** (_float – kg per radian_) +- **long_stiff_value** (_float - kg per radian_) Tire longitudinal stiffness per unit gravitational acceleration. Each vehicle has a custom value. - **lat_stiff_max_load** (_float_) Maximum normalized tire load at which the tire can deliver no more lateral stiffness no matter how much extra load is applied to the tire. Each vehicle has a custom value. @@ -2953,11 +3210,11 @@ Maximum stiffness per unit of lateral slip. Each vehicle has a custom value. - **Parameters:** - `tire_friction` (_float_) - `damping_rate` (_float_) - - `max_steer_angle` (_float – degrees_) - - `radius` (_float – centimerers_) - - `max_brake_torque` (_float – N*m_) - - `max_handbrake_torque` (_float – N*m_) - - `position` (_[carla.Vector3D](#carla.Vector3D) – meters_) + - `max_steer_angle` (_float - degrees_) + - `radius` (_float - centimerers_) + - `max_brake_torque` (_float - N*m_) + - `max_handbrake_torque` (_float - N*m_) + - `position` (_[carla.Vector3D](#carla.Vector3D) - meters_) ##### Dunder methods - **\__eq__**(**self**, **other**=[carla.WheelPhysicsControl](#carla.WheelPhysicsControl)) @@ -2976,6 +3233,30 @@ The ID of the episode associated with this world. Episodes are different session Responsible for creating different shapes for debugging. Take a look at its class to learn more about it. ### Methods +- **apply_color_texture_to_object**(**self**, **object_name**, **material_parameter**, **texture**) +Applies a `texture` object in the field corresponfing to `material_parameter` (normal, diffuse, etc) to the object in the scene corresponding to `object_name`. + - **Parameters:** + - `object_name` (_str_) + - `material_parameter` (_[carla.MaterialParameter](#carla.MaterialParameter)_) + - `texture` (_TextureColor_) +- **apply_color_texture_to_objects**(**self**, **objects_name_list**, **material_parameter**, **texture**) +Applies a `texture` object in the field corresponfing to `material_parameter` (normal, diffuse, etc) to the object in the scene corresponding to all objects in `objects_name_list`. + - **Parameters:** + - `objects_name_list` (_list(str)_) + - `material_parameter` (_[carla.MaterialParameter](#carla.MaterialParameter)_) + - `texture` (_TextureColor_) +- **apply_float_color_texture_to_object**(**self**, **object_name**, **material_parameter**, **texture**) +Applies a `texture` object in the field corresponfing to `material_parameter` (normal, diffuse, etc) to the object in the scene corresponding to `object_name`. + - **Parameters:** + - `object_name` (_str_) + - `material_parameter` (_[carla.MaterialParameter](#carla.MaterialParameter)_) + - `texture` (_TextureFloatColor_) +- **apply_float_color_texture_to_objects**(**self**, **objects_name_list**, **material_parameter**, **texture**) +Applies a `texture` object in the field corresponfing to `material_parameter` (normal, diffuse, etc) to the object in the scene corresponding to all objects in `objects_name_list`. + - **Parameters:** + - `objects_name_list` (_list(str)_) + - `material_parameter` (_[carla.MaterialParameter](#carla.MaterialParameter)_) + - `texture` (_TextureFloatColor_) - **apply_settings**(**self**, **world_settings**) This method applies settings contained in an object to the simulation running and returns the ID of the frame they were implemented. - **Parameters:** @@ -2983,17 +3264,33 @@ This method applies settings contained in an object to the simulation running an - **Return:** _int_ - **Warning:** _If synchronous mode is enabled, and there is a Traffic Manager running, this must be set to sync mode too. Read [this](adv_traffic_manager.md#synchronous-mode) to learn how to do it. _ +- **apply_textures_to_object**(**self**, **object_name**, **diffuse_texture**, **emissive_texture**, **normal_texture**, **ao_roughness_metallic_emissive_texture**) +Applies all texture fields in [carla.MaterialParameter](#carla.MaterialParameter) to the object `object_name`. Empty textures here will not be applied. + - **Parameters:** + - `object_name` (_str_) + - `diffuse_texture` (_TextureColor_) + - `emissive_texture` (_TextureFloatColor_) + - `normal_texture` (_TextureFloatColor_) + - `ao_roughness_metallic_emissive_texture` (_TextureFloatColor_) +- **apply_textures_to_objects**(**self**, **objects_name_list**, **diffuse_texture**, **emissive_texture**, **normal_texture**, **ao_roughness_metallic_emissive_texture**) +Applies all texture fields in [carla.MaterialParameter](#carla.MaterialParameter) to all objects in `objects_name_list`. Empty textures here will not be applied. + - **Parameters:** + - `objects_name_list` (_list(str)_) + - `diffuse_texture` (_TextureColor_) + - `emissive_texture` (_TextureFloatColor_) + - `normal_texture` (_TextureFloatColor_) + - `ao_roughness_metallic_emissive_texture` (_TextureFloatColor_) - **cast_ray**(**self**, **initial_location**, **final_location**) Casts a ray from the specified initial_location to final_location. The function then detects all geometries intersecting the ray and returns a list of [carla.LabelledPoint](#carla.LabelledPoint) in order. - **Parameters:** - - `initial_location` (_[carla.Location](#carla.Location)_) – The initial position of the ray. - - `final_location` (_[carla.Location](#carla.Location)_) – The final position of the ray. + - `initial_location` (_[carla.Location](#carla.Location)_) - The initial position of the ray. + - `final_location` (_[carla.Location](#carla.Location)_) - The final position of the ray. - **Return:** _list([carla.LabelledPoint](#carla.LabelledPoint))_ - **enable_environment_objects**(**self**, **env_objects_ids**, **enable**) Enable or disable a set of EnvironmentObject identified by their id. These objects will appear or disappear from the level. - **Parameters:** - - `env_objects_ids` (_set(int)_) – Set of EnvironmentObject ids to change. - - `enable` (_bool_) – State to be applied to all the EnvironmentObject of the set. + - `env_objects_ids` (_set(int)_) - Set of EnvironmentObject ids to change. + - `enable` (_bool_) - State to be applied to all the EnvironmentObject of the set. - **freeze_all_traffic_lights**(**self**, **frozen**) Freezes or unfreezes all traffic lights in the scene. Frozen traffic lights can be modified by the user but the time will not update them until unfrozen. - **Parameters:** @@ -3001,64 +3298,64 @@ Freezes or unfreezes all traffic lights in the scene. Frozen traffic lights can - **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`. - **Parameters:** - - `location` (_[carla.Location](#carla.Location)_) – The point to be projected. - - `search_distance` (_float_) – The maximum distance to perform the projection. + - `location` (_[carla.Location](#carla.Location)_) - The point to be projected. + - `search_distance` (_float_) - The maximum distance to perform the projection. - **Return:** _[carla.LabelledPoint](#carla.LabelledPoint)_ - **load_map_layer**(**self**, **map_layers**) Loads the selected layers to the level. If the layer is already loaded the call has no effect. - **Parameters:** - - `map_layers` (_[carla.MapLayer](#carla.MapLayer)_) – Mask of level layers to be loaded. + - `map_layers` (_[carla.MapLayer](#carla.MapLayer)_) - Mask of level layers to be loaded. - **Warning:** _This only affects "Opt" maps. The minimum layout includes roads, sidewalks, traffic lights and traffic signs._ - **on_tick**(**self**, **callback**) This method is used in [__asynchronous__ mode](https://[carla.readthedocs.io](#carla.readthedocs.io)/en/latest/adv_synchrony_timestep/). It starts callbacks from the client for the function defined as `callback`, and returns the ID of the callback. The function will be called everytime the server ticks. It requires a [carla.WorldSnapshot](#carla.WorldSnapshot) as argument, which can be retrieved from __wait_for_tick()__. Use __remove_on_tick()__ to stop the callbacks. - **Parameters:** - - `callback` (_[carla.WorldSnapshot](#carla.WorldSnapshot)_) – Function with a snapshot as compulsory parameter that will be called when the client receives a tick. + - `callback` (_[carla.WorldSnapshot](#carla.WorldSnapshot)_) - Function with a snapshot as compulsory parameter that will be called when the client receives a tick. - **Return:** _int_ - **project_point**(**self**, **location**, **direction**, **search_distance**) Projects the specified point to the desired direction in the scene. The functions casts a ray from location in a direction and returns a [carla.Labelled](#carla.Labelled) object with the first geometry this ray intersects. 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. - - `direction` (_[carla.Vector3D](#carla.Vector3D)_) – The direction of projection. - - `search_distance` (_float_) – The maximum distance to perform the projection. + - `location` (_[carla.Location](#carla.Location)_) - The point to be projected. + - `direction` (_[carla.Vector3D](#carla.Vector3D)_) - The direction of projection. + - `search_distance` (_float_) - The maximum distance to perform the projection. - **Return:** _[carla.LabelledPoint](#carla.LabelledPoint)_ - **remove_on_tick**(**self**, **callback_id**) Stops the callback for `callback_id` started with __on_tick()__. - **Parameters:** - - `callback_id` (_callback_) – The callback to be removed. The ID is returned when creating the callback. + - `callback_id` (_callback_) - The callback to be removed. The ID is returned when creating the callback. - **reset_all_traffic_lights**(**self**) Resets the cycle of all traffic lights in the map to the initial state. - **spawn_actor**(**self**, **blueprint**, **transform**, **attach_to**=None, **attachment**=Rigid) The method will create, return and spawn an actor into the world. The actor will need an available blueprint to be created and a transform (location and rotation). It can also be attached to a parent with a certain attachment type. - **Parameters:** - - `blueprint` (_[carla.ActorBlueprint](#carla.ActorBlueprint)_) – The reference from which the actor will be created. - - `transform` (_[carla.Transform](#carla.Transform)_) – Contains the location and orientation the actor will be spawned with. - - `attach_to` (_[carla.Actor](#carla.Actor)_) – The parent object that the spawned actor will follow around. - - `attachment` (_[carla.AttachmentType](#carla.AttachmentType)_) – Determines how fixed and rigorous should be the changes in position according to its parent object. + - `blueprint` (_[carla.ActorBlueprint](#carla.ActorBlueprint)_) - The reference from which the actor will be created. + - `transform` (_[carla.Transform](#carla.Transform)_) - Contains the location and orientation the actor will be spawned with. + - `attach_to` (_[carla.Actor](#carla.Actor)_) - The parent object that the spawned actor will follow around. + - `attachment` (_[carla.AttachmentType](#carla.AttachmentType)_) - Determines how fixed and rigorous should be the changes in position according to its parent object. - **Return:** _[carla.Actor](#carla.Actor)_ - **tick**(**self**, **seconds**=10.0) This method is used in [__synchronous__ mode](https://[carla.readthedocs.io](#carla.readthedocs.io)/en/latest/adv_synchrony_timestep/), when the server waits for a client tick before computing the next frame. This method will send the tick, and give way to the server. It returns the ID of the new frame computed by the server. - **Parameters:** - - `seconds` (_float – seconds_) – Maximum time the server should wait for a tick. It is set to 10.0 by default. + - `seconds` (_float - seconds_) - Maximum time the server should wait for a tick. It is set to 10.0 by default. - **Return:** _int_ - **Note:** _If no tick is received in synchronous mode, the simulation will freeze. Also, if many ticks are received from different clients, there may be synchronization issues. Please read the docs about [synchronous mode](https://[carla.readthedocs.io](#carla.readthedocs.io)/en/latest/adv_synchrony_timestep/) to learn more. _ - **try_spawn_actor**(**self**, **blueprint**, **transform**, **attach_to**=None, **attachment**=Rigid) Same as __spawn_actor()__ but returns None on failure instead of throwing an exception. - **Parameters:** - - `blueprint` (_[carla.ActorBlueprint](#carla.ActorBlueprint)_) – The reference from which the actor will be created. - - `transform` (_[carla.Transform](#carla.Transform)_) – Contains the location and orientation the actor will be spawned with. - - `attach_to` (_[carla.Actor](#carla.Actor)_) – The parent object that the spawned actor will follow around. - - `attachment` (_[carla.AttachmentType](#carla.AttachmentType)_) – Determines how fixed and rigorous should be the changes in position according to its parent object. + - `blueprint` (_[carla.ActorBlueprint](#carla.ActorBlueprint)_) - The reference from which the actor will be created. + - `transform` (_[carla.Transform](#carla.Transform)_) - Contains the location and orientation the actor will be spawned with. + - `attach_to` (_[carla.Actor](#carla.Actor)_) - The parent object that the spawned actor will follow around. + - `attachment` (_[carla.AttachmentType](#carla.AttachmentType)_) - Determines how fixed and rigorous should be the changes in position according to its parent object. - **Return:** _[carla.Actor](#carla.Actor)_ - **unload_map_layer**(**self**, **map_layers**) Unloads the selected layers to the level. If the layer is already unloaded the call has no effect. - **Parameters:** - - `map_layers` (_[carla.MapLayer](#carla.MapLayer)_) – Mask of level layers to be unloaded. + - `map_layers` (_[carla.MapLayer](#carla.MapLayer)_) - Mask of level layers to be unloaded. - **Warning:** _This only affects "Opt" maps. The minimum layout includes roads, sidewalks, traffic lights and traffic signs._ - **wait_for_tick**(**self**, **seconds**=10.0) This method is used in [__asynchronous__ mode](https://[carla.readthedocs.io](#carla.readthedocs.io)/en/latest/adv_synchrony_timestep/). It makes the client wait for a server tick. When the next frame is computed, the server will tick and return a snapshot describing the new state of the world. - **Parameters:** - - `seconds` (_float – seconds_) – Maximum time the server should wait for a tick. It is set to 10.0 by default. + - `seconds` (_float - seconds_) - Maximum time the server should wait for a tick. It is set to 10.0 by default. - **Return:** _[carla.WorldSnapshot](#carla.WorldSnapshot)_ ##### Getters @@ -3070,7 +3367,7 @@ Looks up for an actor by ID and returns None if not found. - **get_actors**(**self**, **actor_ids**=None) Retrieves a list of [carla.Actor](#carla.Actor) elements, either using a list of IDs provided or just listing everyone on stage. If an ID does not correspond with any actor, it will be excluded from the list returned, meaning that both the list of IDs and the list of actors may have different lengths. - **Parameters:** - - `actor_ids` (_list_) – The IDs of the actors being searched. By default it is set to None and returns every actor on scene. + - `actor_ids` (_list_) - The IDs of the actors being searched. By default it is set to None and returns every actor on scene. - **Return:** _[carla.ActorList](#carla.ActorList)_ - **get_blueprint_library**(**self**) Returns a list of actor blueprints available to ease the spawn of these into the world. @@ -3078,12 +3375,12 @@ Returns a list of actor blueprints available to ease the spawn of these into the - **get_environment_objects**(**self**, **object_type**=Any) Returns a list of EnvironmentObject with the requested semantic tag. The method returns all the EnvironmentObjects in the level by default, but the query can be filtered by semantic tags with the argument `object_type`. - **Parameters:** - - `object_type` (_[carla.CityObjectLabel](#carla.CityObjectLabel)_) – Semantic tag of the EnvironmentObjects that are returned. + - `object_type` (_[carla.CityObjectLabel](#carla.CityObjectLabel)_) - Semantic tag of the EnvironmentObjects that are returned. - **Return:** _array([carla.EnvironmentObject](#carla.EnvironmentObject))_ - **get_level_bbs**(**self**, **actor_type**=Any) Returns an array of bounding boxes with location and rotation in world space. The method returns all the bounding boxes in the level by default, but the query can be filtered by semantic tags with the argument `actor_type`. - **Parameters:** - - `actor_type` (_[carla.CityObjectLabel](#carla.CityObjectLabel)_) – Semantic tag of the elements contained in the bounding boxes that are returned. + - `actor_type` (_[carla.CityObjectLabel](#carla.CityObjectLabel)_) - Semantic tag of the elements contained in the bounding boxes that are returned. - **Return:** _array([carla.BoundingBox](#carla.BoundingBox))_ - **get_lightmanager**(**self**) Returns an instance of [carla.LightManager](#carla.LightManager) that can be used to handle the lights in the scene. @@ -3093,6 +3390,9 @@ Asks the server for the XODR containing the map file, and returns this parsed as - **Return:** _[carla.Map](#carla.Map)_ - **Warning:** _This method does call the simulation. It is expensive, and should only be called once. _ +- **get_names_of_all_objects**(**self**) +Returns a list of the names of all objects in the scene that can be painted with the apply texture functions. + - **Return:** _list(str)_ - **get_random_location_from_navigation**(**self**) This can only be used with walkers. It retrieves a random location to be used as a destination using the __go_to_location()__ method in [carla.WalkerAIController](#carla.WalkerAIController). This location will be part of a sidewalk. Roads, crosswalks and grass zones are excluded. The method does not take into consideration locations of existing actors so if a collision happens when trying to spawn an actor, it will return an error. Take a look at [`generate_traffic.py`](https://github.com/carla-simulator/carla/blob/master/PythonAPI/examples/generate_traffic.py) for an example. - **Return:** _[carla.Location](#carla.Location)_ @@ -3108,28 +3408,28 @@ Returns the spectator actor. The spectator is a special type of actor created by - **get_traffic_light**(**self**, **landmark**) Provided a landmark, returns the traffic light object it describes. - **Parameters:** - - `landmark` (_[carla.Landmark](#carla.Landmark)_) – The landmark object describing a traffic light. + - `landmark` (_[carla.Landmark](#carla.Landmark)_) - The landmark object describing a traffic light. - **Return:** _[carla.TrafficLight](#carla.TrafficLight)_ - **get_traffic_light_from_opendrive_id**(**self**, **traffic_light_id**) Returns the traffic light actor corresponding to the indicated OpenDRIVE id. - **Parameters:** - - `traffic_light_id` (_str_) – The OpenDRIVE id. + - `traffic_light_id` (_str_) - The OpenDRIVE id. - **Return:** _[carla.TrafficLight](#carla.TrafficLight)_ - **get_traffic_lights_from_waypoint**(**self**, **waypoint**, **distance**) This function performs a search along the road in front of the specified waypoint and returns a list of traffic light actors found in the specified search distance. - **Parameters:** - - `waypoint` (_[carla.Waypoint](#carla.Waypoint)_) – The input waypoint. - - `distance` (_float_) – Search distance. + - `waypoint` (_[carla.Waypoint](#carla.Waypoint)_) - The input waypoint. + - `distance` (_float_) - Search distance. - **Return:** _list([carla.TrafficLight](#carla.TrafficLight))_ - **get_traffic_lights_in_junction**(**self**, **junction_id**) Returns the list of traffic light actors affecting the junction indicated in `junction_id`. - **Parameters:** - - `junction_id` (_int_) – The id of the junction. + - `junction_id` (_int_) - The id of the junction. - **Return:** _list([carla.TrafficLight](#carla.TrafficLight))_ - **get_traffic_sign**(**self**, **landmark**) Provided a landmark, returns the traffic sign object it describes. - **Parameters:** - - `landmark` (_[carla.Landmark](#carla.Landmark)_) – The landmark object describing a traffic sign. + - `landmark` (_[carla.Landmark](#carla.Landmark)_) - The landmark object describing a traffic sign. - **Return:** _[carla.TrafficSign](#carla.TrafficSign)_ - **get_vehicles_light_states**(**self**) Returns a dict where the keys are [carla.Actor](#carla.Actor) IDs and the values are [carla.VehicleLightState](#carla.VehicleLightState) of that vehicle. @@ -3142,13 +3442,18 @@ Retrieves an object containing weather parameters currently active in the simula ##### Setters - **set_pedestrians_cross_factor**(**self**, **percentage**) - **Parameters:** - - `percentage` (_float_) – Sets the percentage of pedestrians that can walk on the road or cross at any point on the road. Value should be between `0.0` and `1.0`. For example, a value of `0.1` would allow 10% of pedestrians to walk on the road. __Default is `0.0`__. + - `percentage` (_float_) - Sets the percentage of pedestrians that can walk on the road or cross at any point on the road. Value should be between `0.0` and `1.0`. For example, a value of `0.1` would allow 10% of pedestrians to walk on the road. __Default is `0.0`__. - **Note:** _Should be set before pedestrians are spawned. _ +- **set_pedestrians_seed**(**self**, **seed**) + - **Parameters:** + - `seed` (_int_) - Sets the seed to use for any random number generated in relation to pedestrians. + - **Note:** _Should be set before pedestrians are spawned. If you want to repeat the same exact bodies (blueprint) for each pedestrian, then use the same seed in the Python code (where the blueprint is choosen randomly) and here, otherwise the pedestrians will repeat the same paths but the bodies will be different. +_ - **set_weather**(**self**, **weather**) Changes the weather parameteres ruling the simulation to another ones defined in an object. - **Parameters:** - - `weather` (_[carla.WeatherParameters](#carla.WeatherParameters)_) – New conditions to be applied. + - `weather` (_[carla.WeatherParameters](#carla.WeatherParameters)_) - New conditions to be applied. - **Getter:** _[carla.World.get_weather](#carla.World.get_weather)_ ##### Dunder methods @@ -3187,9 +3492,9 @@ Used for large maps only. Configures the distance from the hero vehicle to conve - **\__init__**(**self**, **synchronous_mode**=False, **no_rendering_mode**=False, **fixed_delta_seconds**=0.0) 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. + - `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. ##### Dunder methods - **\__eq__**(**self**, **other**=[carla.WorldSettings](#carla.WorldSettings)) @@ -3212,7 +3517,7 @@ This snapshot comprises all the information for every actor on scene at a certai A value unique for every snapshot to differenciate them. - **frame** (_int_) Simulation frame in which the snapshot was taken. -- **timestamp** (_[carla.Timestamp](#carla.Timestamp) – seconds_) +- **timestamp** (_[carla.Timestamp](#carla.Timestamp) - seconds_) Precise moment in time when snapshot was taken. This class works in seconds as given by the operative system. ### Methods @@ -3248,14 +3553,14 @@ Command adaptation of __add_angular_impulse()__ in ### Instance Variables - **actor_id** (_int_) Actor affected by the command. -- **impulse** (_[carla.Vector3D](#carla.Vector3D) – degrees*s_) +- **impulse** (_[carla.Vector3D](#carla.Vector3D) - degrees*s_) Angular impulse applied to the actor. ### Methods - **\__init__**(**self**, **actor**, **impulse**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. - - `impulse` (_[carla.Vector3D](#carla.Vector3D) – degrees*s_) + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. + - `impulse` (_[carla.Vector3D](#carla.Vector3D) - degrees*s_) --- @@ -3265,14 +3570,14 @@ Command adaptation of __add_force()__ in [carla.Act ### Instance Variables - **actor_id** (_int_) Actor affected by the command. -- **force** (_[carla.Vector3D](#carla.Vector3D) – N_) +- **force** (_[carla.Vector3D](#carla.Vector3D) - N_) Force applied to the actor over time. ### Methods - **\__init__**(**self**, **actor**, **force**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. - - `force` (_[carla.Vector3D](#carla.Vector3D) – N_) + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. + - `force` (_[carla.Vector3D](#carla.Vector3D) - N_) --- @@ -3282,14 +3587,14 @@ Command adaptation of __add_impulse()__ in [carla.A ### Instance Variables - **actor_id** (_int_) Actor affected by the command. -- **impulse** (_[carla.Vector3D](#carla.Vector3D) – N*s_) +- **impulse** (_[carla.Vector3D](#carla.Vector3D) - N*s_) Impulse applied to the actor. ### Methods - **\__init__**(**self**, **actor**, **impulse**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. - - `impulse` (_[carla.Vector3D](#carla.Vector3D) – N*s_) + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. + - `impulse` (_[carla.Vector3D](#carla.Vector3D) - N*s_) --- @@ -3299,14 +3604,14 @@ Command adaptation of __set_target_angular_velocity()**actor_id** (_int_) Actor affected by the command. -- **angular_velocity** (_[carla.Vector3D](#carla.Vector3D) – deg/s_) +- **angular_velocity** (_[carla.Vector3D](#carla.Vector3D) - deg/s_) The 3D angular velocity that will be applied to the actor. ### Methods - **\__init__**(**self**, **actor**, **angular_velocity**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. - - `angular_velocity` (_[carla.Vector3D](#carla.Vector3D) – deg/s_) – Angular velocity vector applied to the actor. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. + - `angular_velocity` (_[carla.Vector3D](#carla.Vector3D) - deg/s_) - Angular velocity vector applied to the actor. --- @@ -3316,14 +3621,14 @@ Command adaptation of __set_target_velocity()__ in ### Instance Variables - **actor_id** (_int_) Actor affected by the command. -- **velocity** (_[carla.Vector3D](#carla.Vector3D) – m/s_) +- **velocity** (_[carla.Vector3D](#carla.Vector3D) - m/s_) The 3D velocity applied to the actor. ### Methods - **\__init__**(**self**, **actor**, **velocity**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. - - `velocity` (_[carla.Vector3D](#carla.Vector3D) – m/s_) – Velocity vector applied to the actor. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. + - `velocity` (_[carla.Vector3D](#carla.Vector3D) - m/s_) - Velocity vector applied to the actor. --- @@ -3333,14 +3638,14 @@ Command adaptation of __add_torque()__ in [carla.Ac ### Instance Variables - **actor_id** (_int_) Actor affected by the command. -- **torque** (_[carla.Vector3D](#carla.Vector3D) – degrees_) +- **torque** (_[carla.Vector3D](#carla.Vector3D) - degrees_) Torque applied to the actor over time. ### Methods - **\__init__**(**self**, **actor**, **torque**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. - - `torque` (_[carla.Vector3D](#carla.Vector3D) – degrees_) + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. + - `torque` (_[carla.Vector3D](#carla.Vector3D) - degrees_) --- @@ -3356,7 +3661,7 @@ Transformation to be applied. ### Methods - **\__init__**(**self**, **actor**, **transform**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. - `transform` (_[carla.Transform](#carla.Transform)_) --- @@ -3373,7 +3678,7 @@ Vehicle 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. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. - `control` (_[carla.VehicleControl](#carla.VehicleControl)_) --- @@ -3390,7 +3695,7 @@ Physics 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. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. - `control` (_[carla.VehiclePhysicsControl](#carla.VehiclePhysicsControl)_) --- @@ -3407,7 +3712,7 @@ Walker 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. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. - `control` (_[carla.WalkerControl](#carla.WalkerControl)_) --- @@ -3420,15 +3725,15 @@ Apply a state to the walker actor. Specially useful to initialize an actor them Walker actor affected by the command. - **transform** (_[carla.Transform](#carla.Transform)_) Transform to be applied. -- **speed** (_float – m/s_) +- **speed** (_float - m/s_) Speed to be applied. ### Methods - **\__init__**(**self**, **actor**, **transform**, **speed**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. - `transform` (_[carla.Transform](#carla.Transform)_) - - `speed` (_float – m/s_) + - `speed` (_float - m/s_) --- @@ -3442,7 +3747,7 @@ Actor affected by the command. ### Methods - **\__init__**(**self**, **actor**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. --- @@ -3476,9 +3781,9 @@ Port of the Traffic Manager where the vehicle is to be registered or unlisted. ### Methods - **\__init__**(**self**, **actor**, **enabled**, **port**=8000) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. - `enabled` (_bool_) - - `port` (_uint16_) – The Traffic Manager port where the vehicle is to be registered or unlisted. If __None__ is passed, it will consider a TM at default port `8000`. + - `port` (_uint16_) - The Traffic Manager port where the vehicle is to be registered or unlisted. If __None__ is passed, it will consider a TM at default port `8000`. --- @@ -3493,7 +3798,7 @@ Actor that is affected by the command. ### Methods - **\__init__**(**self**, **actor**, **enabled**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or Actor ID to which the command will be applied to. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or Actor ID to which the command will be applied to. - `enabled` (_bool_) --- @@ -3510,7 +3815,7 @@ If physics should be activated or not. ### Methods - **\__init__**(**self**, **actor**, **enabled**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. - `enabled` (_bool_) --- @@ -3527,8 +3832,8 @@ Defines the light state of a vehicle. ### Methods - **\__init__**(**self**, **actor**, **light_state**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or its ID to whom the command will be applied to. - - `light_state` (_[carla.VehicleLightState](#carla.VehicleLightState)_) – Recaps the state of the lights of a vehicle, these can be used as a flags. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or its ID to whom the command will be applied to. + - `light_state` (_[carla.VehicleLightState](#carla.VehicleLightState)_) - Recaps the state of the lights of a vehicle, these can be used as a flags. --- @@ -3543,7 +3848,7 @@ Actor that is affected by the command. ### Methods - **\__init__**(**self**, **actor**, **enabled**) - **Parameters:** - - `actor` (_[carla.Actor](#carla.Actor) or int_) – Actor or Actor ID to which the command will be applied to. + - `actor` (_[carla.Actor](#carla.Actor) or int_) - Actor or Actor ID to which the command will be applied to. - `enabled` (_bool_) --- @@ -3571,7 +3876,7 @@ Identificator of the parent actor. - **then**(**self**, **command**) Links another command to be executed right after. It allows to ease very common flows such as spawning a set of vehicles by command and then using this method to set them to autopilot automatically. - **Parameters:** - - `command` (_any carla Command_) – a Carla command. + - `command` (_any carla Command_) - a Carla command. --- [comment]: <> (=========================) @@ -3628,146 +3933,37 @@ world.load_map_layer(carla.MapLayer.ParkedVehicles) -