传感器融合
传感器融合是一门手艺:把几个各有缺陷的传感器合在一起,得出一个比其中任何一个单独都更好的估计。每个传感器都有短板:摄像头看得到丰富的细节,却在黑暗中睁眼瞎;GPS 大致知道你在哪,却会抖动好几米;惯性传感器对运动反应即时,却会慢慢漂离正轨。融合就像一个陪审团在掂量几位都不太可靠的证人——没有哪一份证词被完全采信,但拼凑在一起,它们会汇聚出一个比任何一位证人单独所能给出的、都更接近真相的版本。
巧妙之处在于,融合并不只是把各个传感器取平均;它会按照每个传感器此刻有多可信来加权,并让它们互相补上彼此的盲区。反应快的惯性传感器填补 GPS 缓慢更新之间的空当,而 GPS 又不断把漂移的惯性传感器拉回正轨——各自的长处补上对方的短处。自动驾驶汽车就是这样把摄像头、雷达、激光雷达和车轮传感器掺在一起,于是浓雾让其中一个失明,也不会让整辆车失明。你的手机则融合它的加速度计、陀螺仪和磁力计,才能知道哪边朝上、你正面朝哪个方向。
把这件事做好,本质上是一个「在不确定中做估计」的问题,而真正实现它的数学机器——卡尔曼滤波器、粒子滤波器及其同类——属于状态估计的天地。所以不妨把传感器融合看作这个目标的日常叫法(把许多带噪声的感知,变成对世界一个干净的判断),而状态估计则是真正把它办成的、更深一层的方法工具箱。
走进隧道时,即使 GPS 信号没了,你手机里的地图仍在显示你在前进。手机已经悄悄改用它的运动传感器来做融合,靠航位推算续上你的轨迹,直到卫星重新出现在视野里。
当 GPS 掉线时,融合就转而倚靠惯性传感器,让位置估计不至于断掉。
一条粗略的经验法则:当各个传感器以不同方式失灵时,融合最能大放异彩。把两个有完全相同盲区的传感器凑在一起几乎没什么用,但把一个会漂移但反应快的传感器,和一个稳定但反应慢的传感器配成一对,就能两头的好处都拿到。