激光雷达(LiDAR)
支持机械旋转式、固态与非重复扫描(Livox 风格)激光雷达仿真,提供 GPU 硬件光追(Inline RayQuery)与 CPU 多线程射线追踪双路径,输出包含三维坐标、物理反射强度、线束号、逐点时间偏移与回波序号的 PCD / NPY 点云及逐帧元数据。
1. 放置与快速配置
- 在关卡中放置
AIASDGLidarSensorActor(或挂载到载具 Pawn 下),在 Details 面板确认SensorName(默认"lidar")。 - 在
capture_config.json的sensors.lidar.instances[]中配置实例:
"sensors": {
"lidar": {
"instances": [
{
"name": "lidar",
"enabled": true,
"model": "vlp16",
"fps": 10,
"format": "pcd",
"use_rtx": true,
"max_returns": 2,
"value": "both",
"extra_fields": ["emitter_id", "material_id", "instance_id", "normal"]
}
]
}
}
2. 内置型号预设(model)
model 值 | 类型 | 线束 / 通道数 | 垂直视场角 | 默认水平角分辨率 |
|---|---|---|---|---|
vlp16 | Velodyne VLP-16 | 16 | −15° ~ +15° | 0.2° |
vlp32c | Velodyne Ultra Puck VLP-32C | 32 | −25° ~ +15° | 0.2° |
os1_64 | Ouster OS1-64 | 64 | −16.6° ~ +16.6° | 0.35° |
os1_128 | Ouster OS1-128 | 128 | −22.5° ~ +22.5° | 0.35° |
gen2mini | 64 线广角近距雷达 | 64 | −22.5° ~ +22.5° | 0.2° |
mid360 | Livox Mid-360 非重复扫描 | 非重复花瓣扫描 | −7° ~ +52°(360° 水平) | 多状态轮转 |
non_repetitive | 通用非重复扫描雷达 | 非重复花瓣扫描 | 可配置 | 多状态轮转 |
custom | 自定义线束与角度 | 1 ~ 512 | 可配置 | 可配置 |
3. 核心配置字段
| 字段名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
name | string | "lidar" | 对应关卡中 AIASDGLidarSensor 的 SensorName |
enabled | bool | true | 是否启用该激光雷达实例 |
model | string | "vlp16" | 预设型号(见上表) |
fps | float | 跟随相机 | 扫描帧率(Hz) |
target_frames | int | 自动推导 | 可选,显式指定采集扫描帧数 |
format | string | "pcd" | 输出点云格式:"pcd" 或 "npy" |
use_rtx | bool | true | true 启用 GPU Inline RayQuery 光追路径;不可用或设为 false 时走 CPU LineTrace |
min_range / max_range | float | 随型号 | 最小 / 最大探测距离(单位:cm,如 10000 = 100 m) |
max_returns | int | 1 | 单次发射最大回波数(1 = 单回波,2 = 双回波,支持半透明表面穿透衰减) |
organized | bool | false | true 时输出固定 WIDTH × HEIGHT 网格点云(未命中槽位填 NaN,保留 ring 与 emitter_id) |
intra_frame_interpolation | bool | true | 按单次扫描周期内的真实运动速度对每条激光做帧内运动畸变插值 |
extra_fields | string[] | [] | 可选附加点云列:"emitter_id"、"material_id"、"instance_id"、"normal" |
value | string | "sensor" | "gt"(无噪真值)、"sensor"(带噪观测)或 "both"(同时输出 pointcloud_N.pcd 与 pointcloud_N_groundtruth.pcd) |
time_offset_ms / jitter_sigma_ms | float | 0.0 | 输出时间戳偏移与抖动(毫秒) |
state_source | string | "auto" | 运动状态源:auto | plant | physics | movement | differenced |
randomization | object | {} | 实例级测量噪声与丢点配置(range_noise_cm、angular_jitter_deg、dropout_probability 等) |
4. 点云输出与材质绑定
- 输出文件:
{lidar}/pointcloud/pointcloud_000000.pcd(或.npy):默认包含(x, y, z, intensity, ring, time, echo),局部坐标系遵循 ISO 8855 右手系(+X前、+Y左、+Z上,单位:米)。{lidar}/metadata/scan_000000.json:记录扫描起止位姿(frame_start/frame_end,可用于运动去畸变)、精确采样时间戳、总点数与未授权材质点数统计。
- 非视觉材质反射率(
PM_NV_*):- 905 nm / 1550 nm 激光反射率与粗糙度由材质绑定的
UIANonVisualMaterial(PM_NV_*)物理材质资产决定(与热红外、毫米波雷达共用)。 - 采集报告
capture_report.json中的lidar_material_coverage会统计场景材质覆盖率与unresolved_point_ratio(未绑定物理材质的命中点占比),方便快速定位未配置物理材质的场景资产。
- 905 nm / 1550 nm 激光反射率与粗糙度由材质绑定的