1. 激光雷达基础:从原理到选型
大家好,我是这门课的主讲。做了这么多年机器人,我始终觉得激光雷达是自主导航里最「实在」的传感器。它不像视觉那样需要复杂的算法去猜深度,也不像超声波那样精度堪忧。激光雷达给你的,就是一个个精确的坐标点——说白了,它就是机器人的「尺子」。
这一章,我们先把这把尺子的底牌摸清楚。我会从工作原理讲起,再带你看看单线和多线到底差在哪,最后给出一份我这些年总结的选型指南。
1.1 激光雷达工作原理
市面上主流的激光雷达,按测距原理分就两大类:TOF(飞行时间法)和三角测距法。两种我都用过,各有各的脾气。
1.1.1 TOF 飞行时间法
TOF 的原理特别直白:激光发射器发出一束光,打到物体表面再反射回来,接收器捕获回波。测出这段时间差,乘以光速再除以 2,就是距离。
核心公式:
距离 = (光速 × 飞行时间) / 2
光速 ≈ 3×10⁸ m/s,所以时间测量精度直接决定了距离精度。
我最早接触 TOF 雷达是在一个户外巡检项目上。当时阳光很强,三角测距雷达直接罢工了,换成 TOF 之后稳如老狗。为什么?因为 TOF 测量的是时间,对环境光的抗干扰能力天生就强。
TOF 雷达的典型参数:
- 测距范围:几十米到上百米
- 精度:厘米级(±1~3cm 常见)
- 刷新率:10~100Hz
- 抗环境光:强,可在室外使用
我的经验:TOF 雷达的精度瓶颈不在激光器,而在计时芯片。现在很多国产方案用 TDC(时间数字转换器)能做到皮秒级计时,成本也降下来了。选型时别只看距离,多问问「时间测量分辨率」这个参数。
1.1.2 三角测距法
三角测距的原理稍微绕一点。激光器以固定角度发射光束,接收器(一般是 CMOS 或 CCD)在另一侧接收反射光。物体距离不同,光斑在接收器上的位置就不同。通过几何三角关系,就能算出距离。
说白了,这就是个「已知两边一角,求第三边」的初中几何题。但实际做起来,麻烦事不少。
注意:三角测距的有效距离通常只有几米到十几米。距离越远,光斑位移越小,精度下降得厉害。我见过有人拿三角测距雷达做室外导航,结果 5 米外数据全是噪声——这就是没搞清楚原理的后果。
三角测距的优势在哪?
- 近距离精度高:1 米以内能做到毫米级
- 成本低:不需要昂贵的计时芯片
- 适合室内:扫地机器人、AGV 的标配
它的短板也很明显:
- 远距离精度差:超过 10 米基本没法用
- 怕强光:室外阳光下容易饱和
- 刷新率受限:需要处理图像,帧率上不去
1.1.3 两种原理对比
| 对比项 | TOF | 三角测距 |
|---|---|---|
| 测距原理 | 时间差 | 几何三角 |
| 典型距离 | 10~200m | 0.1~10m |
| 近距离精度 | 厘米级 | 毫米级 |
| 远距离精度 | 稳定 | 急剧下降 |
| 抗环境光 | 强 | 弱 |
| 成本 | 中高 | 低 |
| 典型应用 | 自动驾驶、户外导航 | 扫地机、室内 AGV |
你想想看,如果你的机器人只在室内跑,三角测距完全够用,还省钱。但要做户外无人车,老老实实上 TOF。
1.2 单线与多线雷达的区别
这个问题,我每次上课都会被问到。其实一句话就能说清楚:单线雷达只扫一个平面,多线雷达扫多个平面。
1.2.1 单线雷达
单线雷达内部只有一个激光发射器和接收器,通过旋转机构扫描 360°。它输出的是一圈二维点云——只有 x 和 y 坐标,没有高度信息。
我在做仓储 AGV 时用的就是单线雷达。地面平整,障碍物都在同一高度,单线完全够用。而且数据量小,算法简单,跑起来特别稳。
单线雷达的特点:
- 数据量小:一圈几百到几千个点
- 算法简单:2D SLAM 成熟度高
- 成本低:几百到几千元
- 局限:只能检测同一高度的物体
避坑指南:单线雷达装在机器人上时,安装高度很讲究。装高了,矮的障碍物(比如台阶)检测不到;装低了,高的障碍物(比如桌面)可能撞上去。我一般建议装在机器人高度的 1/3 到 1/2 处。
1.2.2 多线雷达
多线雷达内部有多个激光收发对,同时扫描多个角度。比如 16 线雷达,就是 16 个激光器同时工作,输出的是 3D 点云——有 x、y、z 三个维度。
多线雷达能干什么?它能区分地面和墙壁,能检测悬空的障碍物,还能做 3D SLAM。自动驾驶汽车上用的就是 64 线、128 线的激光雷达。
但代价也很明显:
- 数据量大:每秒几十万到上百万个点
- 算法复杂:3D SLAM 比 2D 难一个数量级
- 成本高:几千到几十万不等
- 功耗大:发热问题需要专门处理
1.2.3 怎么选?
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 室内平地导航 | 单线 | 够用、便宜、算法成熟 |
| 室内多层/斜坡 | 单线 + 超声波 | 单线检测平面,超声波补盲区 |
| 室外无人车 | 多线(16线起) | 需要 3D 感知和地形识别 |
| 高精度建图 | 多线 | 3D 点云信息更丰富 |
我个人习惯是:能用单线解决的问题,绝不上多线。多线雷达带来的数据量和计算压力,很多时候是得不偿失的。
1.3 激光雷达选型指南
选型这件事,我踩过的坑比你们想象的多。下面是我总结的「五步选型法」,照着走基本不会错。
1.3.1 第一步:明确应用场景
先问自己三个问题:
- 室内还是室外?——室外必须 TOF,室内两者皆可
- 需要 3D 信息吗?——需要就上多线,不需要就单线
- 预算多少?——这决定了你能选什么档次的货
1.3.2 第二步:看核心参数
选型时重点关注这几个参数:
- 测距范围:不是越大越好,够用就行。室内 10m 足够,室外至少 30m
- 精度:导航用 ±3cm 以内,建图用 ±1cm 以内
- 刷新率:移动机器人建议 10Hz 以上
- 角分辨率:0.1°~1° 常见,越小细节越丰富
- 抗环境光:室外必须看这个指标,至少 100klux
我的经验:别只看宣传页上的「最大距离」。那个通常是在 90% 反射率(白墙)下测的。实际场景中黑色物体、玻璃、水面的反射率很低,有效距离会打对折甚至更多。我一般按标称值的 60% 来估算实际可用距离。
1.3.3 第三步:考虑接口和协议
ROS2 下常用的激光雷达接口:
- UART/串口:低速、简单,适合单线雷达
- USB:即插即用,适合开发调试
- 以太网:高速、远距离,多线雷达标配
- CAN:工业场景常用,抗干扰强
协议方面,ROS2 的 sensor_msgs/LaserScan 和 sensor_msgs/PointCloud2 是标准格式。选雷达时最好确认它有没有现成的 ROS2 驱动,不然你得自己写——那工作量可不小。
1.3.4 第四步:看品牌和售后
市面上常见的品牌:
- 进口:Velodyne、SICK、Hokuyo——贵但稳
- 国产:禾赛、速腾聚创、思岚、镭神——性价比高
我个人的建议是:教学和原型验证用国产,量产和关键项目用进口。不是崇洋媚外,而是进口雷达的标定和一致性确实更好。但国产这几年进步很快,尤其是禾赛和速腾,已经大量上车了。
1.3.5 第五步:做实测
别只看 datasheet。借一台样机,在你的实际场景里跑一跑。我见过太多「参数漂亮、实际拉胯」的案例了。
我曾经踩过的坑:有一款雷达标称 30m 测距,我在室内白墙下测确实能到。结果拿到室外对着黑色柏油路面,5m 就开始丢点了。后来才发现它的回波检测算法对低反射率物体处理得不好。所以,一定要在你的真实场景里测。
1.4 本章知识体系
下面这张图,把本章的核心知识点串起来了。你可以把它当作一个快速索引。