04-传感器与感知-测距传感器
作者:姚博文 · 2026-09-15
测距传感器(Ranging Sensors:ToF / 相位法 / 超声 / 红外 / 2D·3D 激光雷达)
定位:讲透四类测距物理原理(dToF、相位/间接 ToF、激光三角、超声回波、红外强度反射),覆盖 2D 激光雷达(RPLIDAR A1/A2/A3/S1M)、3D 激光雷达(Livox 与车载级)选型,给出 VL53L0X / HC-SR04 可直接运行的 Python 代码与 rplidar\_ros2 驱动集成,外加安装要点与踩坑清单 | 适用:智能小车/移动机器人开发
1\. 概述
1.1 这篇解决什么问题
自主导航的核心问题之一是"**障碍和环境离我多远**"。测距传感器(Ranging Sensor)是车体最基本的"触觉",承担四类任务:
1. **建图与定位**:2D 激光雷达是 2D 激光 SLAM(cartographer / SLAM Toolbox)的主力传感器;
2. **避障**:障碍点云 → 局部代价地图(local costmap)→ Nav2 局部规划 + 紧急停车;
3. **低矮/边缘感知**:补 2D 激光"梁平面以下"的盲区(超声、红外悬崖);
4. **接触级兜底**:限位开关(Limit Switch)、触摸开关(Touch Switch)作为最后机械防线。
1.2 在自主导航链路中的位置
各测距技术的分工速览(对比与选型见第 3 节):
· **2D 激光雷达**:中远距 360° 主测距,定位建图骨干;
· **3D 激光雷达**:稠密 3D 点云,室外/复杂场景/进阶平台;
· **超声(Ultrasonic)**:0.2–4 m 低成本补盲,专治 2D 激光梁面以下的低矮障碍;
· **红外反射(IR Reflection)**:3–40 cm,巡线/悬崖/对接触发;
· **触摸/限位**:物理接触兜底,零误报。
1.3 测距原理速览
| 原理 | 测量的是什么 | 代表器件 | 典型量程 | 抗环境光 |
| --- | --- | --- | --- | --- |
| dToF(直接飞行时间, Direct ToF) | 单光脉冲往返时间 | VL53L0X、3D 激光雷达、RealSense D405 | 0.01 m – 100 m+ | 好(时间门控) |
| 相位法 / iToF(间接飞行时间, Phase / Indirect ToF) | 调制光往返相位差 | 车规 ADAS 相机、早期 ToF 相机 | 0.5 – 10 m | 差(940 nm 阳光) |
| 激光三角测量(Laser Triangulation) | 光斑在接收光学器件上的位移 | RPLIDAR A1/A2/A3 | 0.1 – 20 m | 好 |
| 超声回波(Ultrasonic Echo) | 55 kHz 声脉冲往返时间 | HC-SR04 | 0.02 – 4 m | 无影响 |
| 红外反射强度(IR Intensity) | 反射光强弱(不测时间) | TCRT5000、GR55 模块 | 0.03 – 0.4 m | 一般 |
| 机械接触(Contact) | 是否碰到 | 限位开关、微动开关 | 0 | 无影响 |
💡 一句话选型直觉:**要建图选 2D 激光,要远距选 dToF 3D 激光,要便宜补盲选超声,要判断"有没有东西"选红外,要绝对兜底选限位。** 深度相机(逐像素深度)是另一条路线,见同目录 `深度传感器.md`。
2\. 基本原理
2.1 直接飞行时间 dToF(Direct Time-of-Flight)
**原理**:发射一个纳秒级宽度的红外单脉冲,测其往返时间 $\Delta t$:
$$
d = \frac{c \cdot \Delta t}{2}
$$
其中 $c = 3 \times 10^8$ m/s。光速极快:1 m 距离光往返仅约 6.7 ns——所以 dToF 器件内部用**单光子雪崩二极管(SPAD, Single-Photon Avalanc