如何使用卡尔曼滤波器组合三个传感器值加速度计,陀螺仪和磁力计?我们正在使用arm和avr uC。

我已经阅读了有关堆栈溢出的所有问题,并在网上进行了大量搜索,但是我没有获得有关使用卡尔曼滤波器组合值的基本信息的满意结果。

Extended Kalman Filter Magnetometer Yaw drifting

Combine Gyroscope and Accelerometer Data

最佳答案

令人遗憾的消息是,没有诸如“面向程序员的卡尔曼过滤器”之类的东西。不要希望您会盲目使用某些公式,并且一切都会神奇地起作用。

如果您对卡尔曼过滤器方法一无所知,请在Google上搜索此关键字(关键字:姿态,错误状态,卡尔曼过滤器):

http://scholar.google.com/scholar?q=attitude+%22error+state%22+kalman+filter

特别是,相对较轻的读取是Indirect Kalman filter for 3D attitude estimation。确保您对其中的数学感到满意并且完全理解它;否则您将无法实现它。 :(

如果您在理解上述内容时遇到困难,我强烈建议您

  • Direction Cosine Matrix IMU: Theory

  • 基本上,这是一个教程,我无法想象实现传感器融合的更简单方法。当作者将其开发为可在微 Controller 上运行时,它将很好地在微 Controller 上工作。

    只是一个旁注。卡尔曼滤波器之所以受欢迎,是因为
  • 在某些条件下是最佳选择,
  • 理论告诉您如何估计滤波器参数。

  • 至于过滤器参数,您可能最终会对其进行调整,因此在我看来,后者并不是一个很大的优势。请参阅SIGGRAPH Course Pack中的5.1参数估计或调整。

    至于最优性,在实际应用中,取决于领域,这些条件通常不再适用。卡尔曼滤波器降级为(良好)启发式算法。

    但是,无论如何,如果您使用的是启发式方法,为什么不选择一种更容易实现的方法呢?例如在方向余弦矩阵IMU:理论中提出的一种。

    关于kalman-filter - 如何使用卡尔曼滤波器组合三个传感器值加速度计,陀螺仪和磁力计?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17212460/

    10-11 00:13