使用循环神经网络对 IMU 中的错误进行建模

数据挖掘 rnn lstm 估计者
2021-09-29 03:48:55

惯性测量单元(IMU),通常由加速度计和陀螺仪组成;众所周知,它们的数据存在固有误差,源于偏差、随机游走噪声、温度依赖性等,从而产生高度非线性的依赖性。通常,扩展卡尔曼滤波器用于估计和消除这些误差,以稳定测量方向和角速度:但即使这样也不完全准确,因为一些高阶误差被忽略或近似,而且马尔可夫假设忽略了影响比前一个值更早的值,同时预测未来值。IMU 的最高精度通常是在经过严格的工厂校准后获得的(这反过来又使好产品非常昂贵)。

在这样的场景中,递归神经网络在对这些错误进行建模时的适用性如何?假设我的“训练数据”由加速度计和陀螺仪值组成,它们可以融合以获得嘈杂的方向估计,同时,来自另一个传感器(例如,非常准确的 GPS)的更精确的方向估计: 是否可以用 RNN 代替卡尔曼滤波器的功能来进行误差估计和传感器输出预测?

3个回答

找出答案的唯一方法是尝试一下,但我对此表示怀疑。卡尔曼对“先验”做出特定假设,即关于信号如何随时间相关的性质。这是基于关于运动物理特性以及它如何影响传感器值的知识,以及关于不同类型运动可能性的一些假设。假设模型和假设是准确的,这有助于提供更准确的方向估计。

相反,循环神经网络没有内置知识,也没有有用的“先验”。它没有关于运动物理的模型,也没有假设。原则上,这使它更通用。但在实践中,这意味着,如果你的数据量有限,它可能不太准确。

一般来说,一个强大的先验和有用的模型会很有帮助。在限制中,由于您拥有无限量的数据,您可能不需要模型。但是在数据量有限的情况下,该模型可能会有所帮助。卡尔曼滤波器提供了一个非常合理的模型,当尝试处理来自 IMU 的数据时,我们通常只有有限的数据量。

如果卡尔曼滤波器模型做出的假设与现实不符,则 RNN 可能更有效的地方。然后,您可以想象 RNN 可能会学习动力学,因为它们不假设特定模型,而卡尔曼滤波器被锁定到特定模型中。我并不特别期望这会在实践中发生,但这是有可能的。

总的来说,从第一原则来看,我预计/预测 RNN 不如卡尔曼滤波有效。但这只是猜测/猜测。如果你真的想知道,确定的方法是尝试一些实验。

的,您可以进行传感器融合,因为您可以在训练期间访问地面实况。

您不应该尝试使用您的 RNN 对错误进行建模。相反,您应该直接构建 MISO RNN 模型(多个输入 -> 你的传感器 | 单个输出 -> 地面实况的估计)。

实际上,您不需要 RNN 模型。在标准 ANN 的帮助下,如果您有训练数据,您可以将输入(陀螺仪、加速度计和初始角度和频率)映射到输出。