2. 激光雷达基础
激光雷达(LiDAR)通过主动发射激光并接收回波来测量目标距离,再结合扫描角度与载体位姿,把离散测距值还原为三维点云。理解这一链路,是后续做点云滤波、配准、检测与感知优化的前提。本节从测距原理出发,串联扫描方式、数据格式、坐标系与标定基础,建立“从一束光到一个点、从一帧点到一场景”的完整认知。
一、测距原理:时间飞行与调频连续波
主流测距机制分为两类。第一类是脉冲飞行时间(ToF):发射短脉冲,记录回波到达时间差 Δt,距离 d = c·Δt/2,其中 c 为光速,除以 2 是因为光走了一个往返。第二类是调频连续波(FMCW):发射频率随时间线性变化的连续光,回波与本地参考光混频产生拍频,拍频与距离成正比,同时多普勒频移还能直接给出目标径向速度。ToF 结构简单、量程远,但易受环境光和强反射干扰;FMCW 抗干扰强、可测速,但系统复杂、成本高。
无论哪种机制,单点测距都只是“一维距离”。要得到三维坐标,还需要两个角度:水平方位角 θ 与垂直俯仰角 φ。在球坐标下,点坐标为:
x = d · cos(φ) · cos(θ)
y = d · cos(φ) · sin(θ)
z = d · sin(φ)
因此,测距精度、角度分辨率与扫描机构的稳定性,共同决定了点云的空间质量。距离越远,同样的角度误差带来的横向偏差越大,这也是远距离点云稀疏、边界模糊的根本原因。
二、扫描方式:机械、半固态与固态
扫描方式决定了点云的空间分布形态与帧率。机械旋转式通过电机带动激光头 360° 旋转,水平视场完整,但存在机械磨损、体积大、成本高的问题。半固态方案常见转镜式或 MEMS 微振镜式:转镜只旋转反射镜,MEMS 则用微米级振镜偏转光束,体积和成本显著下降,但视场角和扫描线数受限。固态方案以光学相控阵(OPA)或 Flash 面阵为代表,无宏观运动部件,可靠性高,但当前在探测距离与角分辨率上仍有挑战。
不同扫描方式带来的点云分布差异很大:机械式呈规则环状扫描线,MEMS 常呈非重复的“花瓣”或李萨如轨迹,Flash 则是一次成像的面阵点。做感知算法时,必须根据扫描模式设计特征提取与运动补偿策略,不能假设点云是均匀网格。
三、点云数据格式:从二进制帧到通用交换格式
原始点云通常以厂商私有二进制格式输出,每帧包含时间戳、点序号、距离、强度、方位角、俯仰角等字段。工程中更常用的是通用交换格式,便于跨工具链处理。常见格式对比如下:
| 格式 | 类型 | 典型字段 | 适用场景 |
|---|---|---|---|
| PCAP | 原始抓包 | UDP 包、时间戳、原始测距块 | 离线回放、算法复现 |
| PCD | 点云容器 | x, y, z, intensity, ring, time | PCL 处理、单帧调试 |
| PLY | 多边形/点 | 顶点坐标、颜色、法线 | 可视化、三维重建 |
| LAS/LAZ | 测绘标准 | 坐标、强度、回波次数、分类 | 测绘、地形建模 |
| ROS bag | 消息记录 | PointCloud2、TF、时间同步 | 机器人系统集成 |
以 PCD 的 ASCII 头为例,字段声明直接决定后续解析方式:
FIELDS x y z intensity ring time
SIZE 4 4 4 4 2 4
TYPE F F F F U F
COUNT 1 1 1 1 1 1
WIDTH 120000
HEIGHT 1
POINTS 120000
其中 ring 表示该点属于第几根扫描线,time 是相对帧起始的采集时刻,用于运动畸变校正。忽略这两个字段,往往会在高速运动场景中出现“拖影”和配准失败。
四、坐标系与标定基础
点云处理中至少涉及四类坐标系:激光雷达自身坐标系(LiDAR frame)、车辆/机体坐标系(base_link)、世界坐标系(map/odom)以及相机等传感器坐标系。它们之间通过外参(旋转 R 与平移 t)建立刚体变换:
P_base = R_lidar_to_base · P_lidar + t_lidar_to_base
标定的目标就是求取这些外参,并保证时间同步。空间标定常用方法包括:基于标定板/靶球的点云配准、基于平面约束的手眼标定、以及激光与相机之间的联合标定。时间标定则要估计传感器之间的固定延迟,常用方法是对同一运动目标做互相关或最小化重投影误差。
五、典型场景与常见误区
以一辆搭载 128 线机械式激光雷达的自动驾驶车辆为例:单帧约 12 万点,帧率 10 Hz,最远探测 200 m。原始数据先按 ring 与 time 做运动补偿,再转换到 base_link,随后与相机做外参投影,用于前融合感知。若外参偏差 0.5°,在 100 m 处横向误差约 0.87 m,足以让目标落到错误车道。
常见误区有三:其一,把点云当成均匀网格,忽略扫描线分布;其二,只做空间标定而忽略时间同步,导致高速场景配准漂移;其三,直接使用厂商输出的“已校正”点云,却不核对其坐标系定义与单位。复盘时应逐项确认:距离单位是米还是毫米、角度是弧度还是度、时间戳是帧首还是帧尾、外参方向是 LiDAR 到 base 还是相反。
把上述链路串起来看:测距给出距离,扫描给出角度,二者合成三维点;数据格式承载字段与时间信息;坐标系与标定把点放到统一参考系中。任何一环定义不清,都会在后续感知中放大为系统性误差。工程上建议为每一帧点云保留原始时间戳、ring 编号与标定版本号,做到问题可追溯、结果可复现。