一、激光雷达基础:从原理到实战
大家好,我是老张。在自动驾驶这个行当摸爬滚打了七八年,激光雷达算是我最熟悉的传感器了。今天咱们聊聊它的基础——别小看这些基础,我见过太多项目栽在原理理解不透上。
1.1 激光雷达工作原理:TOF vs 三角测距
激光雷达怎么测距的?说白了就两种主流方案:TOF(飞行时间法)和三角测距法。
TOF(Time of Flight)
TOF的原理特别简单:激光发射器打出一束光,碰到物体反射回来,接收器捕捉到。记录下这段时间差,乘以光速再除以2,就是距离。
公式:距离 = (光速 × 飞行时间) / 2
我刚开始做项目时,总觉得这公式太简单了。直到有一次在强光环境下测试,发现测距值老是跳变。后来才意识到——环境光噪声会干扰接收器,得加滤波算法。嗯,这里要注意,TOF对时间测量精度要求极高,皮秒级别的误差都会导致厘米级的距离偏差。
三角测距法
三角测距就更有意思了。它利用激光发射器和接收器之间的固定基线,通过几何三角关系计算距离。说白了就是:已知发射点和接收点的位置,以及激光打到物体上的角度,就能算出距离。
我在项目中遇到过用三角测距做近距离避障的案例。优点是成本低、近距离精度高,但远距离就不行了——基线长度限制了测量范围。
| 对比项 | TOF | 三角测距 |
|---|---|---|
| 测量范围 | 远(可达200m+) | 近(通常<10m) |
| 精度 | 厘米级 | 毫米级(近距离) |
| 成本 | 高 | 低 |
| 典型应用 | 自动驾驶主雷达 | 扫地机器人、工业避障 |
个人建议:做自动驾驶感知,主传感器一定要选TOF。三角测距适合做补盲或近距离感知,别指望它看远。
1.2 主流品牌:Velodyne、Hesai、速腾聚创
现在市面上激光雷达品牌不少,但真正在自动驾驶领域站稳脚跟的,我重点说三个。
Velodyne(威力登)
老牌劲旅了。我2018年做项目时用的就是HDL-64E,64线,360°视场角。那家伙个头大、功耗高,但数据质量确实好。现在Velodyne主推的是VLS-128,128线,探测距离300米。
不过说实话,Velodyne的价格一直下不来。我记得当时一套HDL-64E要七八万美金,项目预算直接吃掉一大块。
Hesai(禾赛科技)
国产之光。禾赛的Pandar系列我用了好几年。Pandar64性价比很高,64线,200米探测距离,价格只有Velodyne的一半。最近他们出的AT128是固态激光雷达,体积小、可靠性高,很适合量产车。
我曾经在雨雾天气测试过Pandar128,表现比预期好。点云密度虽然下降了一些,但关键目标都能检测到。
速腾聚创(RoboSense)
另一家国产头部厂商。速腾的RS-LiDAR-M1是MEMS固态方案,体积特别小,可以直接嵌入车顶。我去年帮朋友调试过一台搭载M1的测试车,点云效果在近距离表现不错,远距离略逊于机械式。
| 品牌 | 代表型号 | 线数 | 探测距离 | 价格区间 |
|---|---|---|---|---|
| Velodyne | VLS-128 | 128 | 300m | 高 |
| Hesai | Pandar64 | 64 | 200m | 中 |
| 速腾聚创 | RS-M1 | 125(等效) | 150m | 中低 |
避坑指南:我曾经在选型时只看参数没考虑实际工况。结果发现某款雷达在高温下性能衰减严重。选型时一定要看工作温度范围、防护等级这些工程参数。
1.3 点云数据格式:PCD vs PCAP
拿到激光雷达数据后,怎么存、怎么读?这里我重点说两种最常见的格式。
PCD(Point Cloud Data)格式
PCD是PCL库的标准格式,也是我平时用得最多的。它用ASCII或二进制存储点云数据,结构清晰。
# 一个典型的PCD文件头
VERSION .7
FIELDS x y z intensity
SIZE 4 4 4 4
TYPE F F F F
COUNT 1 1 1 1
WIDTH 1000
HEIGHT 1
POINTS 1000
DATA ascii
0.1 0.2 0.3 50
0.4 0.5 0.6 120
...
我个人习惯用二进制PCD,读取速度快,文件体积小。但调试时用ASCII格式更方便,可以直接用文本编辑器查看。
PCAP(Packet Capture)格式
PCAP是网络抓包格式。激光雷达通常通过UDP协议发送数据包,PCAP就是把这些原始网络包存下来。
为什么要用PCAP?你想想看,实际车上激光雷达是实时流式数据的。PCAP能完整保留时间戳、数据包顺序,方便离线回放和调试。
我曾经遇到过一个bug:某款雷达在特定场景下会丢包。用PCAP抓包分析后,发现是UDP接收缓冲区太小。调整后问题解决——这种问题用PCD格式根本发现不了。
实用技巧:我建议你两种格式都掌握。PCD用于算法开发和可视化,PCAP用于数据采集和问题排查。工具方面,PCL库处理PCD,Wireshark或tcpdump处理PCAP。
知识体系总览
下面这张图是我自己整理的激光雷达基础知识框架,帮你快速建立整体认知。
这张图把今天的内容串起来了。你想想看,从工作原理到品牌选型,再到数据格式处理,每一步都环环相扣。理解不透原理,选型就容易踩坑;格式用不对,后面算法开发全是麻烦。
核心要点:
- TOF适合远距离,三角测距适合近距离
- Velodyne数据质量好但贵,禾赛和速腾性价比高
- PCD用于算法开发,PCAP用于数据采集和问题排查
好了,这一章就到这里。记住我一句话:激光雷达基础打不牢,后面做目标识别和跟踪会非常痛苦。我自己就是吃了这个亏才回头补课的。