首页 文章

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

提问于
浏览
0

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

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

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

值得注意的是,我已经补偿了静态时偏移(IMU中加速度计的重力和不对中)和加速度计数据的偏差 . 意味着当传感器不移动时,我的所有读数在进入卡尔曼滤波器之前都是恒定的零 .

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

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

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

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

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

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

1 回答

  • 0

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

    • 似乎检测静止不是重置速度,只是加速(根据您的图表)所以这应该是一个简单的解决方案

    • 如果我们正在谈论汽车/其他类型的接触/摩擦表面运动,可以通过表征运动中的噪声/自传感器噪声来设置静止

    • 卡尔曼参数可能已关闭

    • 运行多个内核和平均结果(也可以尝试粒子过滤器)

    • 如果不是在线应用,你也可以尝试拟合偏移/漂移,并通过假设没有恒定速度的运动或其他可以取代设计用于实时最佳估计的卡尔曼滤波器的方法来减少它们 .

    • 错误似乎在时间上是对称的,只需在两个方向上运行(:

    • 你在512赫兹测量什么?也许你可以更好地模拟它

    我可以继续,但如果你提供数据和代码,它会更容易 .

    祝你好运,列夫

相关问题