Principle:CARLA simulator Carla Sensor Placement Geometry
| Knowledge Sources | |
|---|---|
| Domains | Simulation, Perception, Sensor_Fusion |
| Last Updated | 2026-02-15 00:00 GMT |
Overview
Sensor placement geometry defines the 3D rigid body transformation (position and orientation) that specifies where a sensor is mounted relative to its parent actor's reference frame.
Description
Every sensor in CARLA is spawned at a specific pose defined by a Transform object, which combines a Location (x, y, z translation in meters) and a Rotation (pitch, yaw, roll in degrees). When a sensor is attached to a vehicle, these coordinates are relative to the vehicle's local reference frame, where:
- x-axis points forward (positive = front of vehicle)
- y-axis points right (positive = right side)
- z-axis points up (positive = above vehicle)
The rotation follows the Unreal Engine convention:
- Pitch: rotation around the y-axis (positive = nose up)
- Yaw: rotation around the z-axis (positive = clockwise from above)
- Roll: rotation around the x-axis (positive = right side down)
Correct sensor placement is critical because the transform determines the sensor's field of view coverage, the coordinate system of its output data, and the extrinsic calibration parameters needed for multi-sensor fusion.
Usage
Sensor placement geometry is defined whenever spawning a sensor and attaching it to a vehicle or other actor. Common mounting configurations include:
- Forward-facing camera: Mounted on the roof or windshield area, looking ahead.
- Surround cameras: Multiple cameras at different yaw angles for 360-degree coverage.
- Roof-mounted LiDAR: Centered on the roof for unobstructed 360-degree scanning.
- Front radar: Low mounting behind the front bumper.
- GNSS/IMU: Typically at the vehicle's center of gravity.
Theoretical Basis
3D Rigid Body Transformations: A sensor's pose in 3D space is described by a rigid body transformation belonging to the Special Euclidean group SE(3). This transformation is composed of a rotation R in SO(3) and a translation t in R^3. In homogeneous coordinates, the 4x4 transformation matrix is:
T = [ R t ]
[ 0 1 ]
CARLA decomposes R into Euler angles (pitch, yaw, roll) using the Tait-Bryan convention (intrinsic ZYX). The Location provides the translation vector t.
Extrinsic Calibration: In sensor fusion, the transform between any two sensors defines their extrinsic calibration. Given sensor A at transform T_A and sensor B at transform T_B (both relative to the vehicle), the transformation from B's frame to A's frame is T_A_inv * T_B. This is essential for projecting LiDAR points into camera images or fusing radar detections with visual data.
Reference Frame Hierarchy: CARLA uses a hierarchical reference frame system. When a sensor is attached to a vehicle, its world-space transform is the composition of the vehicle's world transform and the sensor's local transform: T_world_sensor = T_world_vehicle * T_vehicle_sensor. This composition is computed automatically by the engine, but understanding it is necessary for interpreting sensor data in world coordinates.
Field of View Coverage: The sensor's orientation directly determines its coverage volume. For a camera with horizontal FOV theta, the visible region forms a frustum. For a LiDAR with vertical FOV from lower_fov to upper_fov and 360-degree horizontal scanning, the coverage is a hollow cone. Placement geometry must be chosen to maximize coverage of the region of interest while minimizing occlusion by the vehicle body.