4. IMU传感器原理
各位同学,欢迎来到状态估计的基础章节。说实话,这部分内容看起来像是数学课,但它是整个传感器融合的“内功心法”。我在做第一个多传感器融合项目时,就是因为没吃透这些基础,结果数据融合出来全是噪声,定位轨迹像喝醉了酒。从那以后,我养成了一个习惯:任何融合算法,先问自己一句——它的概率模型是什么?
这一章,我们就把这些“内功”捋一遍。别怕,我会用项目里的实际例子帮你理解。
4.1 概率论:我们为什么要“赌”状态?
传感器数据天生带噪声。你测一个距离,10次有10个不同的值。那真实值到底是多少?
概率论就是用来描述这种“不确定性”的数学工具。说白了,我们不是在求一个确定的值,而是在求一个概率分布——真实值最可能落在哪里。
4.1.1 条件概率与全概率公式
这两个公式是贝叶斯滤波的基石。我建议你记牢它们,因为后面几乎每天都在用。
- 条件概率:P(A|B) = P(A∩B) / P(B)。意思是“已知B发生了,A发生的概率”。
- 全概率公式:P(B) = Σ P(B|A_i) * P(A_i)。意思是“B发生的总概率,等于所有可能原因下B发生的概率之和”。
4.1.2 独立性与协方差
两个传感器如果互相独立,它们的联合概率就是各自概率的乘积。但现实中,很多传感器是相关的——比如GPS和IMU,它们都受温度影响。这时候就要用协方差来描述这种相关性。
协方差矩阵是卡尔曼滤波里的核心参数。我见过不少新手直接把协方差矩阵设成对角阵(假设所有变量独立),结果融合效果很差。嗯,这里要注意:实际系统中,状态变量之间几乎总是相关的。
4.2 高斯分布:为什么它无处不在?
高斯分布,也叫正态分布,是传感器建模中最常用的分布。为什么?因为中心极限定理告诉我们:大量独立随机变量的和,趋近于高斯分布。传感器噪声恰好符合这个条件。
高斯分布有两个参数:均值 μ 和方差 σ²。均值是“最可能的值”,方差是“不确定度”。
核心公式:
p(x) = (1 / √(2πσ²)) * exp(-(x - μ)² / (2σ²))
在多维情况下,变成多元高斯分布:
p(x) = (1 / √((2π)^k |Σ|)) * exp(-0.5 * (x - μ)^T Σ^{-1} (x - μ))
其中 Σ 是协方差矩阵,|Σ| 是它的行列式。
4.2.1 高斯分布的两个重要性质
- 线性变换后仍是高斯分布:如果 x ~ N(μ, Σ),那么 y = Ax + b ~ N(Aμ + b, AΣA^T)。这个性质是卡尔曼滤波能解析求解的关键。
- 条件分布和边缘分布也是高斯分布:这意味着你可以从联合高斯分布中,轻松提取出某个子集的条件分布。我在做视觉SLAM时,经常用这个性质来“边缘化”掉路标点,只保留相机位姿。
4.3 贝叶斯滤波:状态估计的“灵魂”
贝叶斯滤波是所有递归状态估计方法(卡尔曼滤波、粒子滤波等)的底层框架。它的核心思想很简单:用先验知识 + 当前观测 = 后验估计。
公式长这样:
P(x_k | z_{1:k}) = [P(z_k | x_k) * P(x_k | z_{1:k-1})] / P(z_k | z_{1:k-1})
翻译成人话:
- 先验 P(x_k | z_{1:k-1}):根据之前所有观测,预测当前状态。
- 似然 P(z_k | x_k):如果状态是x_k,观测到z_k的可能性。
- 后验 P(x_k | z_{1:k}):结合观测后,对状态的修正。
贝叶斯滤波分两步:预测和更新。预测用运动模型,更新用观测模型。卡尔曼滤波就是在线性高斯假设下,对这两步的解析解。
4.4 最大似然估计与最大后验估计
这两个概念经常被混淆。我简单说说它们的区别。
4.4.1 最大似然估计
MLE的思想是:找一组参数,使得当前观测数据出现的概率最大。
公式:θ_MLE = argmax P(z | θ)
它只依赖观测数据,不依赖先验。在数据量足够大时,MLE是渐近无偏的。
举个例子:你测了10次距离,假设噪声是高斯分布,MLE给出的均值就是这10次测量的算术平均。
4.4.2 最大后验估计
MAP的思想是:找一组参数,使得在给定观测下,参数的后验概率最大。
公式:θ_MAP = argmax P(θ | z) = argmax P(z | θ) * P(θ)
它结合了似然和先验。当先验是均匀分布时,MAP退化为MLE。
我在做GPS/IMU融合时,IMU的零偏先验通常来自出厂标定。这个先验信息在MAP框架下可以自然地融入估计过程,让零偏估计更稳定。
| 对比项 | MLE | MAP |
|---|---|---|
| 依赖先验 | 否 | 是 |
| 数据量少时 | 容易过拟合 | 更鲁棒 |
| 计算复杂度 | 较低 | 略高(需乘先验) |
| 典型应用 | 传感器标定 | 实时状态估计 |
4.5 本章知识体系总览
下面这张图,把本章的核心概念串起来了。你可以把它当作一个“思维导图”,随时回来对照。
这张图里,从上到下是一个递进关系。概率论是语言,高斯分布是工具,贝叶斯滤波是框架,MLE/MAP是求解方法。你想想看,卡尔曼滤波、粒子滤波、甚至深度学习里的变分推断,都能在这个框架里找到位置。