第2章:传感器基础与选型

各位同学,咱们今天聊聊传感器选型。说实话,我见过太多项目死在第一步——传感器没选对。你想想看,算法再牛,数据源不行,后面全是白搭。

这一章,我带你过一遍常见的传感器类型,聊聊关键指标,最后给出一套我这些年总结的选型原则。

2.1 常见传感器类型

先列个清单,看看我们做多传感器融合时,手里都有哪些牌可以打。

2.1.1 IMU(惯性测量单元)

IMU 包含加速度计和陀螺仪,有的还带磁力计。它测量的是物体自身的运动——加速度和角速度。

  • 加速度计:测线性加速度。我习惯用它来算俯仰角和横滚角。
  • 陀螺仪:测角速度。积分后能得到角度,但漂移问题很头疼。
  • 磁力计:测磁场方向,辅助修正航向角。不过室内环境容易受干扰。
我的经验:IMU 数据一定要做低通滤波。高频噪声太多,直接拿来用会出大问题。我曾经在一个无人机项目里,没做滤波,结果姿态解算直接炸了。

2.1.2 摄像头

摄像头获取的是图像信息,说白了就是「看」。它能识别车道线、行人、交通标志,信息量巨大。

  • 单目摄像头:成本低,但缺少深度信息。
  • 双目/立体摄像头:通过视差算深度,但计算量大。
  • RGB-D 摄像头:直接输出深度图,适合室内场景。

嗯,这里要注意:摄像头非常依赖光照条件。大太阳底下过曝,晚上又看不清。我做过一个夜间辅助驾驶项目,最后不得不加红外补光。

2.1.3 激光雷达(LiDAR)

激光雷达通过发射激光束,测量反射时间来计算距离。它直接输出点云数据,精度很高。

  • 机械式:旋转扫描,360度视野。但体积大、寿命短。
  • 固态/半固态:没有旋转部件,可靠性高。现在车规级 LiDAR 基本都是这种。
  • 单线/多线:线数越多,点云越密,但价格也越贵。
避坑指南:我曾经在雨雾天气测试 LiDAR,发现点云质量下降非常严重。激光会被水滴反射,产生大量噪点。如果你要做全天候系统,一定要考虑这一点。

2.1.4 毫米波雷达

毫米波雷达发射毫米波段的电磁波。它不怕雨雾,能直接测距和测速。

  • 24GHz:老一代,带宽窄,分辨率低。
  • 77GHz:新一代,带宽大,分辨率高。现在主流方案。
  • 4D 成像雷达:能测高度,输出点云,有点像低配 LiDAR。

我个人觉得,毫米波雷达是「性价比之王」。它不像 LiDAR 那么贵,又比摄像头稳定。但缺点也很明显——角分辨率低,很难区分两个紧挨着的目标。

2.1.5 超声波传感器

超声波传感器发射声波,靠回波测距。它成本极低,但探测距离短(一般 0.2-5 米)。

  • 常用于倒车雷达、自动泊车。
  • 对透明物体(比如玻璃)检测效果差。
  • 受温度、湿度影响较大。

我记得有一次,客户反馈超声波在冬天经常误报。查了半天,原来是温度补偿没做好。嗯,这个坑大家注意一下。

2.1.6 温湿度与气压计

这些传感器看起来不起眼,但在融合系统中经常扮演关键角色。

  • 温湿度传感器:用于环境补偿。比如 IMU 的零偏会随温度漂移。
  • 气压计:测大气压,可以推算高度。无人机定高、室内楼层检测都会用到。

气压计有个特点:它测的是相对高度,不是绝对高度。而且受天气影响,一天之内气压变化可能让你误以为上下移动了好几米。

2.2 关键性能指标

选传感器不能只看类型,还得看参数。我列几个核心指标,你选型时一定要盯着看。

指标 说明 我的建议
精度 测量值与真实值的偏差 别盲目追求高精度,够用就行。精度每提高一个数量级,价格可能翻十倍。
分辨率 能感知的最小变化量 分辨率高不一定精度高,但分辨率太低肯定不行。
采样率 每秒输出多少组数据 IMU 一般要 100Hz 以上,摄像头 30Hz 就够。采样率太低,运动快的物体就抓不住。
量程 能测量的范围 比如加速度计量程 ±2g 还是 ±16g,看你用在什么场景。无人机做特技飞行,就得选大量程。
噪声密度 单位带宽内的噪声水平 这个指标直接影响滤波效果。噪声大的传感器,后面要花更多功夫去处理。
功耗 传感器工作时的功率 电池供电的设备,功耗是硬约束。我做过一个手持设备,LiDAR 一开,电池半小时就没了。
接口 SPI、I2C、UART、CAN 等 接口决定了你能不能用。有些传感器只有 I2C,但你的主控 SPI 口多,那就得加转接。

2.3 选型实战原则

好了,理论讲完了。咱们聊聊怎么落地。我总结了五条原则,你照着做,基本不会翻车。

原则一:先定需求,再选传感器

别上来就问「哪个传感器最好?」。你得先问自己:我要测什么?精度要求多少?工作环境什么样?成本预算多少?

举个例子:做室内扫地机器人,超声波+红外就够用了。但做自动驾驶,LiDAR+摄像头+毫米波雷达一个都不能少。

原则二:冗余不是浪费,是保障

多传感器融合的核心思想就是冗余。一个传感器失效,另一个能顶上。但冗余也要有度,不是越多越好。

我习惯的做法是:每个关键物理量至少有两个不同原理的传感器来测量。比如测距,用 LiDAR 和摄像头视觉都能算,互相校验。

原则三:关注「系统级」指标,而非「器件级」

传感器 datasheet 上的指标,都是在理想条件下测的。实际用起来,温度、振动、老化都会让性能下降。

你想想看,一个标称精度 0.1 度的 IMU,在 85 度高温下可能漂到 1 度。所以选型时,一定要看全温度范围内的指标,而不是 25 度下的。

原则四:接口和时序要匹配

这个坑我踩过好几次。传感器数据采集需要时间,处理也需要时间。如果多个传感器共用一条总线,时序冲突就会导致数据不同步。

我的建议是:尽量给高速传感器(如 IMU、LiDAR)分配独立 SPI 或 CAN 接口。摄像头用 MIPI 或 USB。低速传感器(如温湿度)可以挂 I2C 总线上。

原则五:留好余量,方便迭代

选型时,别把资源用满。比如主控的算力、内存、接口数量,最好只用到 60%-70%。

为什么?因为项目后期一定会加新功能。你想想看,如果一开始就把所有引脚都用完了,后面想加个传感器都没地方接,那多尴尬。

总结一下:传感器选型没有标准答案,只有最适合你项目的方案。多看看 datasheet,多跑跑实际测试,多听听过来人的经验。嗯,这一章就到这里,下一章我们聊聊数据同步与时间戳对齐,那才是真正头疼的地方。