carla/PythonAPI/docs/sensor_data.yml

347 lines
13 KiB
YAML

---
- module_name: carla
# - CLASSES ------------------------------
classes:
- class_name: SensorData
# - DESCRIPTION ------------------------
doc: >
Base class for all the objects containing data generated by a carla.Sensor. This objects should be the argument of the function said sensor is listening to, in order to work with them. Each of these sensors needs for a specific type of sensor data. The relation between available sensors and their corresponding data goes like:
- Cameras (RGB, depth and semantic segmentation): carla.Image.
- Collision detector: carla.CollisionEvent.
- Gnss detector: carla.GnssMeasurement.
- IMU detector: carla.IMUMeasurement.
- Lane invasion detector: carla.LaneInvasionEvent.
- Lidar raycast: carla.LidarMeasurement.
- Obstacle detector: carla.ObstacleDetectionEvent.
- Radar detector: carla.RadarMeasurement.
# - PROPERTIES -------------------------
instance_variables:
- var_name: frame
type: int
doc: >
Frame count when the data was generated.
- var_name: timestamp
type: float
doc: >
Simulation-time when the data was generated.
- var_name: transform
type: carla.Transform
doc: >
Sensor's transform when the data was generated.
# --------------------------------------
- class_name: ColorConverter
# - DESCRIPTION ------------------------
doc: >
Class that defines conversion patterns that can be applied to a carla.Image in order to show information provided by carla.Sensor. Depth conversions cause a loss of accuracy, as sensors detect depth as <b>float</b> that is then converted to a grayscale value between 0 and 255. Take a look a this [recipe](ref_code_recipes.md#converted-image-recipe) to see an example of how to create and save image data for <b>sensor.camera.semantic_segmentation</b>.
# - PROPERTIES -------------------------
instance_variables:
- var_name: CityScapesPalette
doc: >
Converts the image to a segmentated map using tags provided by the blueprint library. Used by <b>sensor.camera.semantic_segmentation</b>.
- var_name: Depth
doc: >
Converts the image to a linear depth map. Used by <b>sensor.camera.depth</b>.
- var_name: LogarithmicDepth
doc: >
Converts the image to a depth map using a logarithmic scale, leading to better precision for small distances at the expense of losing it when further away.
- var_name: Raw
doc: >
No changes applied to the image.
- class_name: Image
parent: carla.SensorData
# - DESCRIPTION ------------------------
doc: >
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](/cameras_and_sensors/).
# - PROPERTIES -------------------------
instance_variables:
- var_name: fov
type: float
doc: >
Horizontal field of view of the image in degrees.
- var_name: height
type: int
doc: >
Image height in pixels.
- var_name: width
type: int
doc: >
Image width in pixels.
- var_name: raw_data
type: bytes
# - METHODS ----------------------------
methods:
- def_name: convert
params:
- param_name: color_converter
type: carla.ColorConverter
doc: >
Converts the image following the `color_converter` pattern.
# --------------------------------------
- def_name: save_to_disk
params:
- param_name: path
type: str
doc: >
Path that will contain the image.
- param_name: color_converter
type: carla.ColorConverter
default: Raw
doc: >
Default <b>Raw</b> will make no changes.
doc: >
Saves the image to disk using a converter pattern stated as `color_converter`. The default conversion pattern is <b>Raw</b> that will make no changes to the image.
# --------------------------------------
- def_name: __len__
# --------------------------------------
- def_name: __iter__
# --------------------------------------
- def_name: __getitem__
params:
- param_name: pos
type: int
# --------------------------------------
- def_name: __setitem__
params:
- param_name: pos
type: int
- param_name: color
type: carla.Color
# --------------------------------------
- def_name: __str__
# --------------------------------------
- class_name: LidarMeasurement
parent: carla.SensorData
# - DESCRIPTION ------------------------
doc: >
Class that defines the lidar data retrieved by a <b>sensor.lidar.ray_cast</b>. This essentially simulates a rotating lidar using ray-casting. Learn more about this [here](/cameras_and_sensors/#sensorlidarray_cast).
# - PROPERTIES -------------------------
instance_variables:
- var_name: channels
type: int
doc: >
Number of lasers shot.
- var_name: horizontal_angle
type: float
doc: >
Horizontal angle the Lidar is rotated at the time of the measurement (in radians).
- var_name: raw_data
type: bytes
doc: >
List of 3D points received as data.
# - METHODS ----------------------------
methods:
- def_name: get_point_count
params:
- param_name: channel
type: int
doc: >
Retrieves the number of points sorted by channel that are generated by this measure. Sorting by channel allows to identify the original channel for every point.
# --------------------------------------
- def_name: save_to_disk
params:
- param_name: path
type: str
doc: >
Saves the point cloud to disk as a <b>.ply</b> file describing data from 3D scanners. The files generated are ready to be used within [MeshLab](http://www.meshlab.net/), an open source system for processing said files. Just take into account that axis may differ from Unreal Engine and so, need to be reallocated.
# --------------------------------------
- def_name: __len__
# --------------------------------------
- def_name: __iter__
# --------------------------------------
- def_name: __getitem__
params:
- param_name: pos
type: int
# --------------------------------------
- def_name: __setitem__
params:
- param_name: pos
type: int
- param_name: location
type: carla.Location
# --------------------------------------
- def_name: __str__
# --------------------------------------
- class_name: CollisionEvent
parent: carla.SensorData
# - DESCRIPTION ------------------------
doc: >
Class that defines a collision data for <b>sensor.other.collision</b>. The sensor creates one of this for every collision detected which may be many for one simulation step. Learn more about this [here](/cameras_and_sensors/#sensorothercollision).
# - PROPERTIES -------------------------
instance_variables:
- var_name: actor
type: carla.Actor
doc: >
The actor the sensor is attached to, the one that measured the collision.
- var_name: other_actor
type: carla.Actor
doc: >
The second actor involved in the collision.
- var_name: normal_impulse
type: carla.Vector3D
doc: >
Normal impulse resulting of the collision.
- class_name: ObstacleDetectionEvent
parent: carla.SensorData
# - DESCRIPTION ------------------------
doc: >
Class that defines the obstacle data for <b>sensor.other.obstacle</b>. Learn more about this [here](/cameras_and_sensors/#sensorotherobstacle).
# - PROPERTIES -------------------------
instance_variables:
- var_name: actor
type: carla.Actor
doc: >
The actor the sensor is attached to.
- var_name: other_actor
type: carla.Actor
doc: >
The actor or object considered to be an obstacle.
- var_name: distance
type: float
doc: >
Distance between `actor` and `other`.
# - METHODS ----------------------------
methods:
- def_name: __str__
# --------------------------------------
- class_name: LaneInvasionEvent
parent: carla.SensorData
# - DESCRIPTION ------------------------
doc: >
Class that defines lanes invasion for <b>sensor.other.lane_invasion</b>. It works only client-side and is dependant on OpenDRIVE to provide reliable information. The sensor creates one of this every time there is a lane invasion, which may be more than once per simulation step. Learn more about this [here](/cameras_and_sensors/#sensorotherlane_invasion).
# - PROPERTIES -------------------------
instance_variables:
- var_name: actor
type: carla.Actor
doc: >
Gets the actor the sensor is attached to, the one that invaded another lane.
- var_name: crossed_lane_markings
type: list(carla.LaneMarking)
doc: >
List of lane markings that have been crossed and detected by the sensor.
# - METHODS ----------------------------
methods:
- def_name: __str__
# --------------------------------------
- class_name: GnssMeasurement
parent: carla.SensorData
# - DESCRIPTION ------------------------
doc: >
Class that defines the Gnss data registered by a <b>sensor.other.gnss</b>. It essentially reports its position with the position of the sensor and an OpenDRIVE geo-reference.
# - PROPERTIES -------------------------
instance_variables:
- var_name: altitude
type: float
doc: >
Height regarding ground level.
- var_name: latitude
type: float
doc: >
North/South value of a point on the map.
- var_name: longitude
type: float
doc: >
West/East value of a point on the map.
# - METHODS ----------------------------
methods:
- def_name: __str__
# --------------------------------------
- class_name: IMUMeasurement
parent: carla.SensorData
# - DESCRIPTION ------------------------
doc: >
Class that defines the data registered by a <b>sensor.other.imu</b>, regarding the sensor's transformation according to the current carla.World. It essentially acts as accelerometer, gyroscope and compass.
# - PROPERTIES -------------------------
instance_variables:
- var_name: accelerometer
type: carla.Vector3D
doc: >
Linear acceleration in m/s^2.
- var_name: compass
type: float
doc: >
Orientation with regard to the North ((0.0, -1.0, 0.0) in Unreal Engine) in radians.
- var_name: gyroscope
type: carla.Vector3D
doc: >
Angular velocity in rad/sec.
# - METHODS ----------------------------
methods:
- def_name: __str__
# --------------------------------------
- class_name: RadarMeasurement
parent: carla.SensorData
# - DESCRIPTION ------------------------
doc: >
Class that defines and gathers the measures registered by a <b>sensor.other.radar</b>, representing a wall of points in front of the sensor with a distance, angle and velocity in relation to it. The data consists of a carla.RadarDetection array.
# - PROPERTIES -------------------------
instance_variables:
- var_name: raw_data
type: bytes
doc: >
The complete information of the carla.RadarDetection the radar has registered.
# - METHODS ----------------------------
methods:
- def_name: get_detection_count
doc: >
Retrieves the number of entries generated, same as **<font color="#7fb800">\__str__()</font>**.
# --------------------------------------
- def_name: __len__
# --------------------------------------
- def_name: __iter__
# --------------------------------------
- def_name: __getitem__
params:
- param_name: pos
type: int
# --------------------------------------
- def_name: __setitem__
params:
- param_name: pos
type: int
- param_name: detection
type: carla.RadarDetection
# --------------------------------------
- def_name: __str__
# --------------------------------------
- class_name: RadarDetection
# - DESCRIPTION ------------------------
doc: >
Data contained inside a carla.RadarMeasurement. Each of these represents one of the points in the cloud that a <b>sensor.other.radar</b> registers and contains the distance, angle and velocity in relation to the radar.
# - PROPERTIES -------------------------
instance_variables:
- var_name: altitude
type: float
doc: >
Altitude angle of the detection in radians.
# --------------------------------------
- var_name: azimuth
type: float
doc: >
Azimuth angle of the detection in radians.
# --------------------------------------
- var_name: depth
type: float
doc: >
Distance in meters from the sensor to the detection position.
# --------------------------------------
- var_name: velocity
type: float
doc: >
The velocity of the detected object towards the sensor in m/s.
# - METHODS ----------------------------
methods:
- def_name: __str__
# --------------------------------------
...