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 知识体系总览

为了让你更直观地理解这三种传感器,我画了一张图:

传感器对比总览 激光雷达 原理:TOF / FMCW 输出:点云 (N×4) 优势:高精度 3D 建模 劣势:怕雨雾、怕强光 典型距离:0.5-200m 应用:目标检测、SLAM 毫米波雷达 原理:FMCW 输出:目标列表 优势:全天候、直接测速 劣势:角分辨率低 典型距离:0.5-250m 应用:ACC、AEB、FCW 超声波雷达 原理:TOF(声波) 输出:距离值 优势:成本低、近距离准 劣势:距离短、怕风 典型距离:0.2-5m 应用:自动泊车、盲区检测 三者互补:激光雷达负责精细建模,毫米波雷达负责全天候测速,超声波雷达负责近距泊车

这张图把三者的核心特点都列出来了。你仔细看,它们各有各的“舒适区”,没有哪个传感器是万能的。所以感知融合的本质,就是让它们互相补台。

3.5 本章小结

这一节我们聊了三种传感器:

  • 激光雷达:输出点云,精度高,但怕雨雾。
  • 毫米波雷达:直接测速,全天候,但角分辨率低。
  • 超声波雷达:近距离测距,成本低,但距离短。

我个人觉得,理解这些传感器的“脾气”比记住参数更重要。因为在实际工程中,你遇到的每一个问题,几乎都跟传感器的局限性有关。下一节,我们会把这些传感器组合起来,看看它们怎么协同工作。

一句话总结:激光雷达看“形”,毫米波雷达看“速”,超声波雷达看“近”。三者合一,才是真正的“感知”。

可可精品资料库