使用卡尔曼滤波对线性加速度计数据进行积分的偏置/ Dirft补偿

时间:2018-02-09 11:32:50

标签: position integration accelerometer kalman-filter estimation

我已成为如何通过惯性测量单元实现的加速度计数据估计位置的无限问题的一部分。我想知道如何使用卡尔曼滤波在线性运动中补偿积分“漂移”。

此时我在固定坐标系中得到了加速度,所有运动都在知道方向,角位置没有变化。

因此,此时我们在已知方向上获得了3D(x-y-z)加速度,x中的加速度将在y和z中产生零加速度,依此类推。假设完美的条件,当然不是这种情况,当在一个方向上移动时,一些噪声会被添加到其他方向,但是在这一点上让它“离开”。此外,重要的是要注意系统只需使用512 Hz的采样频率估算一个有限的时间段,大约1秒钟。

同样重要的是要注意我已经补偿了偏移(IMU中加速度计的重力和未对准)以及静态时加速度计数据的偏差。当传感器不移动时的含义,所有读数在进入卡尔曼滤波器之前都是常数零。

为了更好地描述我的问题,我有这张图来说明我的漂移问题。这是5秒的估计,以显示我正在努力的事情。 Position-estimation-drift-problem

在这里,我们正在研究一个方向的运动,运动在y方向上是20厘米的运动,在我的情况下是相对于我的起始位置向前。

在积分信号时,有没有办法减少/消除这种漂移。例如,当我的传感器不移动时,假设有关于漂移的事情。或者使用我的卡尔曼算法中的一些校正来计算,以减去或增加我的估计速度和位置。系统不必实时运行,因此可以调整任何调谐偏置补偿以回溯数据。但如果可以采用略有不同的动作进行新的测量而不是根据需要进行调整,那么我会更受欢迎。

最后在卡尔曼算法中或之前/之后我在哪里/如何补偿这一点,或者我是否应该感到失望?

如果我遗漏了一些重要信息,请问我可以详细说明,最后欢迎任何想法/想法!

请记住,我只需要估计第二个时间的价值,所以我希望这能使它更容易实现,但我可能错了?

1 个答案:

答案 0 :(得分:0)

我只能猜测/建议一些技巧,但如果你只是基于加速度计,你可能会遇到一些重大错误。

  1. 似乎检测静止不是重置速度,只是加速(根据你的图表)所以这应该是一个简单的解决方案
  2. 如果我们正在谈论汽车/其他类型的接触/摩擦表面运动,可以通过表征运动中的噪声/自身传感器噪声来设置您的静止
  3. 卡尔曼参数可能已关闭
  4. 运行多个内核和平均结果(也可以尝试粒子过滤器)
  5. 如果不是在线应用,你也可以尝试拟合偏移/漂移,并通过假设没有恒定速度的运动或其他可以取代为实时最佳估计而设计的卡尔曼滤波器的方法来减少它们。
  6. 错误似乎在时间上是对称的,只需在两个方向上运行(:
  7. 你在512赫兹测量什么?也许你可以更好地建模它
  8. 我可以继续,但如果你提供数据和代码,那就容易多了。

    祝你好运, 列夫