3. 传感器基础(下):激光雷达工作原理、点云数据格式、毫米波雷达与超声波雷达简介
好,咱们接着聊传感器。上一节我们把摄像头聊透了,这一节轮到另外三个硬核角色:激光雷达、毫米波雷达和超声波雷达。说实话,在自动驾驶圈子里,这三兄弟各有各的脾气,也各有各的绝活。
3.1 激光雷达:点云世界的“天眼”
激光雷达,英文叫 LiDAR(Light Detection And Ranging)。说白了,它就是靠发射激光束,然后测量反射回来的时间,算出目标距离。你想想看,一秒钟发射几十万甚至上百万个激光点,每个点都带着三维坐标信息,拼在一起就是所谓的“点云”。
我个人习惯把激光雷达比作“盲人的手杖”——它不依赖环境光照,黑夜、逆光、隧道口,它都能稳定工作。摄像头在暗光下容易“瞎”,但激光雷达不会。
3.1.1 工作原理:TOF 与 FMCW
目前主流的激光雷达有两种测距原理:
- TOF(Time of Flight,飞行时间法):发射激光脉冲,测量往返时间。简单粗暴,精度高。市面上 90% 的激光雷达都用这个方案。
- FMCW(调频连续波):发射频率连续变化的激光,通过测量回波与发射波的频率差来算距离。这个方案抗干扰能力强,还能直接测速度,但成本高,目前还在爬坡阶段。
核心公式:
距离 = (光速 × 飞行时间) / 2
注意除以 2,因为激光走了个来回。
我在项目中遇到过一个问题:TOF 激光雷达在雨雾天气下,激光会被水滴反射,产生大量“噪点”。后来我们加了滤波算法,才把那些乱飘的点去掉。嗯,这里要注意,环境对激光雷达的影响比你想象的大。
3.1.2 点云数据格式
点云数据长什么样?说白了就是一个 N×4 的矩阵。每一行代表一个激光点,包含四个字段:
| 字段 | 含义 | 示例值 |
|---|---|---|
| x | 三维空间 X 坐标(米) | 2.34 |
| y | 三维空间 Y 坐标(米) | -1.56 |
| z | 三维空间 Z 坐标(米) | 0.78 |
| intensity | 反射强度(0-255) | 128 |
我建议你记住这个格式。因为后续做感知融合时,点云数据几乎都长这样。常见的点云文件格式有 .pcd、.bin、.ply 等。我们项目里最常用的是 .bin 格式,因为它不压缩,读取快。
小技巧:用 Python 读取 .bin 点云文件,只需要一行代码:
import numpy as np
points = np.fromfile('scan.bin', dtype=np.float32).reshape(-1, 4)
返回的 points 就是 N×4 的数组,直接拿来用。
3.1.3 激光雷达的“软肋”
激光雷达不是万能的。我曾经踩过一个坑:在强阳光下,激光雷达的接收器会饱和,导致测距不准。还有,它对高反射物体(比如镜面、黑色车辆)的检测效果很差——激光打上去要么被反射走,要么被吸收掉。
避坑指南:我曾经在高速场景下,激光雷达把一辆黑色轿车“漏检”了,因为车漆吸收了大部分激光能量。后来我们不得不融合毫米波雷达来兜底。
3.2 毫米波雷达:全天候的“速度狂魔”
毫米波雷达,工作频率在 24GHz、77GHz 或 79GHz。它发射的是电磁波,不是激光。所以它不怕雨、不怕雾、不怕灰尘。说白了,它是自动驾驶里最“皮实”的传感器。
毫米波雷达最大的优势是——直接测速度。利用多普勒效应,它能精确测量目标的径向速度。这一点激光雷达做不到,摄像头也做不到。
3.2.1 工作原理:FMCW 模式
毫米波雷达几乎清一色用 FMCW(调频连续波)。它发射频率随时间线性变化的电磁波,回波与发射波混频后,得到中频信号。通过分析中频信号的频率,就能同时算出距离和速度。
核心公式:
距离 = (中频频率 × 光速) / (2 × 调频斜率)
速度 = (多普勒频移 × 光速) / (2 × 载波频率)
嗯,公式看着有点吓人,但实际工程中,雷达芯片内部已经帮你算好了。你拿到的是现成的目标列表:距离、速度、角度、信号强度。
3.2.2 毫米波雷达的“槽点”
毫米波雷达也有让人头疼的地方。我印象最深的是——静止目标检测差。为什么?因为静止目标的多普勒频移为零,雷达很难把它从背景杂波中区分出来。你想想看,路边的护栏、静止的车辆,毫米波雷达经常“视而不见”。
另外,毫米波雷达的角分辨率低。它只能告诉你“前方大概 30 度方向有个目标”,但没法像激光雷达那样精确到厘米级。所以它适合做跟踪,不适合做精细建模。
3.3 超声波雷达:短距离的“贴身保镖”
超声波雷达,就是倒车雷达上用的那种。它发射 40kHz 左右的超声波,靠回波时间测距。原理和 TOF 激光雷达类似,但精度低、距离短(一般 0.2-5 米)。
在自动驾驶里,超声波雷达主要用于低速泊车场景。它不怕灰尘、不怕光线,但怕风——强风会干扰超声波传播。
个人经验:我做过一个自动泊车项目,超声波雷达在雨天表现还行,但遇到大雪天,雪花会反射超声波,导致误报。后来我们在算法里加了“置信度阈值”,低于一定强度的回波直接丢弃。
3.4 知识体系总览
为了让你更直观地理解这三种传感器,我画了一张图:
这张图把三者的核心特点都列出来了。你仔细看,它们各有各的“舒适区”,没有哪个传感器是万能的。所以感知融合的本质,就是让它们互相补台。
3.5 本章小结
这一节我们聊了三种传感器:
- 激光雷达:输出点云,精度高,但怕雨雾。
- 毫米波雷达:直接测速,全天候,但角分辨率低。
- 超声波雷达:近距离测距,成本低,但距离短。
我个人觉得,理解这些传感器的“脾气”比记住参数更重要。因为在实际工程中,你遇到的每一个问题,几乎都跟传感器的局限性有关。下一节,我们会把这些传感器组合起来,看看它们怎么协同工作。
一句话总结:激光雷达看“形”,毫米波雷达看“速”,超声波雷达看“近”。三者合一,才是真正的“感知”。