3. 选型篇:传感器选型(超声波 vs 红外 vs 激光雷达)的精度与场景匹配问题

传感器选型这事儿,说白了就是「在合适的地方用合适的眼睛」。我见过太多项目,花大价钱买了激光雷达,结果在透明玻璃墙前面撞得鼻青脸肿;也有人图便宜用红外,结果在阳光底下直接瞎掉。

今天咱们就把这三种最常见的测距传感器掰开揉碎了讲。我会结合自己踩过的坑,告诉你什么时候该用什么。

核心观点:没有最好的传感器,只有最匹配场景的传感器。选型的第一步,是搞清楚你的机器人要在什么环境下干活。

3.1 三种传感器的工作原理与先天特性

先简单过一遍原理,这样你才能理解后面那些「怪毛病」是怎么来的。

传感器类型 工作原理 典型测距范围 核心局限
超声波 发射40kHz声波,计算回波时间 2cm – 5m 声波锥角大,分辨率低,软材料吸音
红外 (Sharp/TOF) 发射红外光,三角测量或飞行时间 10cm – 2m (三角)
0.5m – 12m (TOF)
强光干扰,黑色物体吸光,镜面透射
激光雷达 (LiDAR) 旋转或固态发射激光束,TOF测距 0.1m – 40m+ 成本高,透明物体失效,怕灰尘

嗯,这里有个关键点你可能没注意到——超声波和红外其实都是「锥形」探测,不是一条线。激光雷达虽然也是锥形,但它的角分辨率高得多。

3.2 精度对比:别被数据表骗了

我刚开始做机器人时,看到超声波数据表上写着「精度±1cm」,心想这不错啊。结果实际一测,同一个距离,读数能跳±3cm。为什么会这样?

因为数据表上的精度是在理想条件下测的:垂直对准、硬质平面、室温静风。你的机器人一跑起来,条件全变了。

我的经验法则:
  • 超声波:实际精度 ≈ 标称精度的 3 倍(±1cm → ±3cm)
  • 红外(三角法):实际精度 ≈ 标称精度的 2 倍
  • 激光雷达:实际精度 ≈ 标称精度的 1.2~1.5 倍
留足余量,别卡着极限用。

再说一个坑:红外的「盲区」问题。Sharp 系列的 GP2Y0A21,数据表写 10cm~80cm,但你真把物体放到 10cm 处,输出值已经飘了。我习惯留出 20% 的余量,也就是实际可用范围从 12cm 开始算。

3.3 场景匹配:一张图说清楚

下面这张图是我自己总结的选型决策流程。每次做新项目,我都会先过一遍这个逻辑。

传感器选型决策流程图 传感器选型决策流程 开始选型 工作环境:室内还是室外? 室内 室外 超声波 / 红外 注意: 避开镜面、黑色物体 激光雷达 注意: 防水防尘等级 精度需求:±1cm 还是 ±5cm? 高精度 → 激光雷达 | 低精度 → 超声波/红外

3.4 常见场景的选型建议

下面这几个场景,是我在实际项目中反复验证过的。你可以直接拿来参考。

场景一:室内避障(扫地机器人、服务机器人)

  • 首选:超声波 + 红外组合。超声波负责远距离(1~3m)粗探测,红外负责近距离(10~30cm)精细避障。
  • 避坑:我曾经只用超声波做避障,结果机器人在窗帘前面反复横跳——因为布料吸收了声波,根本没回波。
  • 建议:至少装 3 个超声波(左、中、右),配合 2 个红外(左右斜前方),形成交叉覆盖。
注意:超声波传感器之间有串扰问题。如果两个超声波靠得太近,一个发射的信号可能被另一个接收。我习惯让它们分时触发,或者用不同频率的型号。

场景二:室外导航(巡检机器人、割草机器人)

  • 首选:激光雷达。室外光线变化大,红外基本废掉;超声波受风噪影响,精度也不够。
  • 避坑:我见过有人把室内用的 RPLIDAR 直接装到室外巡检车上,结果一下雨就烧了。室外必须选 IP65 以上的工业级 LiDAR。
  • 建议:预算有限的话,可以选单线 LiDAR + 超声波做补盲。单线 LiDAR 负责建图和定位,超声波负责检测低矮障碍物。

场景三:透明/镜面物体检测(仓储机器人、展示柜机器人)

  • 首选:超声波。激光和红外遇到透明玻璃直接穿透,根本测不到。
  • 避坑:但超声波也有问题——如果玻璃太薄(<3mm),声波会穿透一部分,导致测距偏大。我一般会在软件里加一个「玻璃补偿系数」。
  • 建议:超声波探头安装时,要稍微倾斜 5~10 度,避免声波垂直反射回来造成干扰。

3.5 选型检查清单

每次选型前,我都会过一遍这个清单。你也试试看。

  1. 环境光线:强光/直射阳光?→ 避开红外
  2. 目标材质:透明/镜面/黑色?→ 避开激光和红外
  3. 测距范围:需要 >5m?→ 上激光雷达
  4. 精度要求:需要 ±1cm 以内?→ 上激光雷达
  5. 成本预算:单个传感器 <50 元?→ 超声波或红外
  6. 防护等级:室外/多尘/潮湿?→ 选工业级封装
  7. 安装空间:空间狭小?→ 选小型红外 TOF 传感器
一个小技巧:如果你不确定选哪个,可以买几个便宜的超声波和红外先做原型测试。花 200 块钱买一堆传感器,跑一遍实际场景,比看一个月数据表都管用。我每次做新项目都是这么干的。

3.6 我踩过的三个坑

最后分享几个真实教训,希望能帮你省点学费。

坑一:超声波装在电机旁边。电机产生的电磁噪声会干扰超声波接收电路,导致测距值乱跳。后来我把超声波移到了远离电机的位置,并且加了屏蔽罩,问题才解决。

坑二:红外传感器装在阳光直射的位置。有一次做户外机器人,红外传感器在正午时分直接输出满量程——因为太阳光里的红外成分太强了。解决方案是加一个遮光罩,或者换用带滤光片的 TOF 传感器。

坑三:激光雷达装在振动大的底盘上。旋转式 LiDAR 对振动很敏感,振动会导致扫描点云扭曲。后来我加了减震支架,并且在算法里做了运动畸变补偿。