第1章:激光雷达基础

大家好,我是你们这门课的主讲。今天咱们聊聊激光雷达——这个SLAM系统里最核心的传感器之一。

说实话,我最早接触激光雷达是在2016年,那时候一台16线机械雷达要十几万,现在想想真是贵得离谱。但没办法,做SLAM离不开它。你想想看,没有好的数据输入,再牛的算法也是白搭。

1.1 激光雷达工作原理

激光雷达怎么测距的?说白了就两种主流方案:TOF(飞行时间法)三角测距法

TOF测距原理

TOF的原理特别简单:发射一束激光,打到物体上反射回来,记录时间差。距离 = 光速 × 时间差 / 2。

嗯,这里要注意,除以2是因为光走了个来回。

核心公式:

d = c × Δt / 2

其中:
d  = 距离(米)
c  = 光速(≈ 3×10⁸ m/s)
Δt = 发射到接收的时间差(秒)

我在项目中遇到过一个问题:TOF雷达在强光环境下容易受干扰。特别是正午太阳直射的时候,测量值会跳来跳去。后来我加了滤波和曝光时间自适应,才算稳住。

我的经验:TOF雷达适合中远距离(几十米到上百米),精度一般在厘米级。室内外都能用,但强光下要注意。

三角测距原理

三角测距就有点不一样了。它利用激光发射器和接收器之间的固定基线,通过几何三角关系算距离。

具体来说:激光打到物体上,反射光落在接收器(一般是CMOS或CCD)的某个像素位置。物体越近,光斑偏移越大。用相似三角形就能算出来。

核心公式:

d = b × f / x

其中:
d  = 距离
b  = 基线长度(发射器与接收器间距)
f  = 透镜焦距
x  = 光斑在成像面上的偏移量

三角测距有个特点:近距离精度高,远距离精度下降很快。我做过对比测试,5米以内三角测距能到毫米级,但超过10米就开始飘了。

避坑指南:我曾经在室外项目里用了三角测距雷达,结果阳光一强,接收器上的光斑根本看不清。后来我换成了TOF方案。所以,室外场景优先选TOF。

1.2 激光雷达分类

激光雷达按结构分,主要有三大类:机械式固态MEMS。我一个个说。

机械式激光雷达

机械式就是有个旋转电机,带着激光收发模块转圈。最典型的就是Velodyne的HDL-64E,64线,转一圈能扫几十万个点。

  • 优点:视场角360°,点云密度高,技术成熟
  • 缺点:有机械旋转部件,寿命有限,体积大,成本高
  • 典型应用:自动驾驶测试车、高精度地图采集

我记得2018年做园区无人车时,用的就是16线机械雷达。那玩意儿转起来嗡嗡响,但数据是真稳。

固态激光雷达

固态激光雷达没有旋转部件,靠电子扫描或者面阵成像。比如Flash LiDAR,一次发射照亮整个视场,用焦平面阵列接收。

  • 优点:体积小,寿命长,成本低
  • 缺点:视场角有限(一般120°以内),探测距离较短
  • 典型应用:服务机器人、AGV、消费级产品

我的建议:如果你做室内机器人,固态雷达性价比很高。但要做自动驾驶,还是得机械式或者混合固态。

MEMS激光雷达

MEMS(微机电系统)算是机械式和固态的混合体。它用微小的振镜来偏转激光束,实现扫描。

  • 优点:体积小,成本适中,可靠性比机械式好
  • 缺点:振镜容易受振动影响,视场角有限
  • 典型应用:车载辅助驾驶、低速无人车

说实话,MEMS是我个人比较看好的方向。它平衡了性能和成本,未来可能会成为主流。

1.3 激光雷达点云数据格式

激光雷达输出的数据叫点云。每个点包含三维坐标和强度信息。

最常见的格式是PCDLAS,但在SLAM里,我们更多直接处理二进制流。

标准点云结构

// 一个典型的点云点结构
struct PointXYZI {
    float x;      // X坐标(米)
    float y;      // Y坐标(米)
    float z;      // Z坐标(米)
    float intensity; // 反射强度(0-255)
};

嗯,这里要注意,不同雷达的坐标系定义可能不一样。有的雷达Z轴朝上,有的朝前。我踩过这个坑——第一次融合IMU数据时,发现坐标系对不上,查了半天才发现是雷达坐标系定义不同。

常见数据格式对比

格式 特点 适用场景
PCD 文本/二进制,支持多种字段 PCL库处理、可视化
LAS 二进制,压缩率高 测绘、地理信息系统
PLY 支持颜色和法向量 三维重建、渲染
BIN 纯二进制,无头信息 实时SLAM、嵌入式系统

核心知识点总结:

  • TOF测距:适合中远距离,室外首选
  • 三角测距:近距离精度高,室内好用
  • 机械式:360°视场,但贵且寿命有限
  • 固态/MEMS:体积小,成本低,视场有限
  • 点云格式:PCD最常用,BIN最轻量

好了,这一章的内容就这些。下一章我们会深入讲点云预处理——怎么去噪、怎么降采样、怎么提取地面。这些都是SLAM里绕不开的基础操作。


公众号:蓝海资料掘金营,微信 deep3321