2、传感器基础与特性:常见传感器类型与误差模型
各位同学,今天我们来聊聊传感器。做机器人或者自动驾驶的朋友都知道,传感器就是系统的「眼睛」和「耳朵」。但说实话,这些眼睛耳朵都不完美。我做了十几年传感器融合,踩过的坑比走过的路还多。今天就把这些经验掰开揉碎了讲给你听。
2.1 常见传感器类型概览
先列个清单。我们常用的传感器就那么几种:IMU、GPS、摄像头、激光雷达、超声波。每种都有自己的脾气。
| 传感器 | 测量内容 | 典型频率 | 主要弱点 |
|---|---|---|---|
| IMU | 加速度、角速度 | 100-1000 Hz | 积分漂移 |
| GPS | 位置、速度 | 1-10 Hz | 多路径、遮挡 |
| 摄像头 | 图像、特征点 | 15-60 Hz | 光照、纹理 |
| 激光雷达 | 点云、距离 | 5-20 Hz | 雨雾、成本 |
| 超声波 | 近距离距离 | 20-50 Hz | 锥角大、串扰 |
嗯,这张表你最好记在心里。选型的时候,频率和弱点是最先要考虑的。
2.2 IMU:惯性测量单元
IMU 这东西,说白了就是加速度计加陀螺仪。加速度计测线加速度,陀螺仪测角速度。我习惯把 IMU 叫做「短跑冠军」——短时间内精度极高,但时间一长就飘。
为什么会飘?因为积分。你想想看,加速度积分一次得速度,再积分一次得位置。每次积分都会放大噪声。我在项目中遇到过,一个消费级 IMU 跑 10 秒,位置误差就能到几十米。所以 IMU 必须和其他传感器配合使用。
核心公式:
位置 = ∫(∫(加速度 dt)) dt
姿态 = ∫(角速度 dt)
每次积分,误差都在累积。这就是 IMU 的宿命。
我的经验:选 IMU 时别只看数据手册上的噪声密度。一定要看「零偏稳定性」和「角度随机游走」。这两个参数直接决定了你能融合多久。
2.3 GPS:全球定位系统
GPS 是「长跑冠军」。它不会漂移,但更新慢,而且容易受环境影响。我记得有一次在市区做测试,高楼把卫星信号挡得死死的,定位直接跳了 50 米。
GPS 的误差模型通常用高斯分布近似。但实际中,多路径效应会导致非高斯误差。你想想看,信号从楼面反射过来,路径变长了,算出来的位置自然就偏了。
避坑指南:我曾经在隧道里依赖 GPS,结果定位直接飞了。后来我加了一条规则:当卫星数少于 6 颗或者 HDOP 大于 2.0 时,降低 GPS 的权重。这个经验救了我很多次。
2.4 摄像头:视觉传感器
摄像头的信息量最大,但也是最难处理的。它给你的是像素,不是直接的距离。你需要通过三角测量或者深度学习才能得到三维信息。
摄像头的误差模型很复杂。光照变化、运动模糊、纹理缺失都会引入误差。我个人习惯把视觉误差分为两类:
- 特征提取误差:角点检测不准,通常 0.5-2 像素
- 匹配误差:特征点匹配错误,可能差几十个像素
嗯,这里要注意。视觉 SLAM 里最怕的就是「误匹配」。一个错误的匹配点,能把整个位姿估计带偏。
2.5 激光雷达:LiDAR
激光雷达直接给你距离信息,精度高,但受天气影响大。我做过一个项目,大雾天 LiDAR 的点云直接少了一半。
LiDAR 的误差模型通常包括:
- 测距误差:一般 ±2-5 cm,与距离成正比
- 角度误差:取决于编码器精度,通常 0.1° 左右
- 反射率误差:黑色物体吸收激光,测距会偏大
一个实用的噪声模型:
σ_range = a + b * range
σ_angle = c
其中 a 是固定误差,b 是比例误差,c 是角度误差。不同厂家参数不同,建议实测标定。
2.6 超声波传感器
超声波便宜、简单,但精度有限。它适合做近距离避障,比如倒车雷达。但要注意,超声波的波束角很大,大概 30-60 度。你测到的距离可能是锥形区域内最近的物体。
我在项目中遇到过一个问题:两个超声波同时发射,互相串扰,测距全乱了。后来加了时分复用,才解决。
2.7 传感器误差模型与噪声特性
好了,重点来了。做融合之前,你必须理解每种传感器的噪声特性。我习惯把噪声分为三类:
- 白噪声:高斯分布,均值零。比如 IMU 的高频噪声。
- 有色噪声:时间相关。比如 GPS 的多路径误差。
- 偏置误差:恒定偏移。比如 IMU 的零偏。
你想想看,如果只用白噪声模型去处理有色噪声,卡尔曼滤波会发散。这就是为什么很多初学者做融合,跑着跑着就炸了。
我的建议:拿到一个新传感器,先做 Allan 方差分析。它能帮你把噪声的各个成分拆开。我每次换传感器,第一件事就是跑 Allan 方差。
2.8 知识体系图
下面这张图,是我自己总结的传感器融合知识框架。你把它存下来,后面每节课都会用到。
这张图你看懂了吗?从传感器原始数据,到误差建模,再到融合算法,最后到应用。每一层都依赖上一层。如果传感器层没选好,后面再怎么调算法也没用。
2.9 本章小结
今天的内容就到这里。总结一下:
- 每种传感器都有自己的优势和弱点,没有万能方案
- IMU 短时准、长时飘;GPS 长时稳、短时跳
- 摄像头信息丰富但处理复杂;LiDAR 精度高但怕天气
- 误差模型是融合的基础,别跳过 Allan 方差
下一节课,我们会深入讲卡尔曼滤波。但今天这些基础,你一定要吃透。我在项目里见过太多人,算法写得飞起,结果传感器选型就错了,白忙活三个月。嗯,别做那种人。
课后作业:找一份你手头传感器的数据手册,找出它的噪声密度、零偏稳定性、角度随机游走。然后算一下,如果只用 IMU 积分 10 秒,位置误差大概是多少?