实际工程项目中是怎么用卡尔曼滤波的?

deer332025-07-27技术文章44

就是直接使用呀!

个人认为,卡尔曼滤波有三个个关键点,一个是测量,一个是预测,一个是加权

测量:通过传感器,获取传感器数据即可!

预测:基于模型来进行数据预测;那么问题来了,如何建模?有难有易。

加权:主要就是卡尔曼增益的计算。

比如开源的飞控APM中,就介绍了相关EKF的应用。

整个技术文档中,对整个EKF的使用进行了非常详细的介绍,主要的内容如下图,

整个文档的参考链接如下:

https://ardupilot.org/plane/docs/common-apm-navigation-extended-kalman-filter-overview.html#should-the-ekf2-or-ekf3-be-used

同时在github中也公开了相关的源码,能够更好地让我们通过理论和实际代码,更好地去理解卡尔曼滤波。

以及系统需要控制的22个状态,都有很详细的介绍,并且会在github上提供相关的程序代码。相关的文章和内容链接如下,

https://ardupilot.org/dev/docs/extended-kalman-filter.html#extended-kalman-filter

Matlab相关的代码实现,

相对应的代码截图,

代码在github上的参考链接:

https://github.com/priseborough/InertialNav/blob/master/code/estimator_22states.cpp

最后,再找Matlab中关于卡尔曼滤波使用的一些案例和卡尔曼滤波相关的原理内容。

What Is a Kalman Filter?

The Kalman filter is an algorithm that estimates the state of a system from measured data. It was primarily developed by the Hungarian engineer Rudolf Kalman, for whom the filter is named. The filter’s algorithm is a two-step process: the first step predicts the state of the system, and the second step uses noisy measurements to refine the estimate of system state.

主要的应用场景有,Guidance、Navigation、Control 和Computer Vision。

最核心的还是后面这些内容,在具体系统中的使用情况等,

整个matlab中关于KF的信息,相关链接如下,

https://ww2.mathworks.cn/en/discovery/kalman-filter.html

通过这些知识的学习,能够让我们更好地认识卡尔曼滤波,以及所产生的效果,从而能够更好地应用到我们实际的工程中,或产品。