在位置估计中使用卡尔曼滤波器

Posted

技术标签:

【中文标题】在位置估计中使用卡尔曼滤波器【英文标题】:Use Kalman Filter in location estimating 【发布时间】:2016-10-21 19:15:23 【问题描述】:

我一直在尝试了解卡尔曼滤波器以及如何使用它。我打算用java写。

我有实时位置(经度、纬度)和速度数据。我需要找到移动物体的下一个位置。位置准确,位置数据中没有噪音。我想使用卡尔曼滤波器的原因是估计对象的下一个可能位置。我不明白如何将值赋予矩阵(转换、测量等)。

我需要您的帮助来创建和理解矩阵的结构。我也对新算法的建议持开放态度。

【问题讨论】:

【参考方案1】:

您可以查看一些开源实现。 ASF 提供以下内容:

http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/filter/KalmanFilter.html http://commons.apache.org/proper/commons-math/userguide/filter.html#a17.2_Kalman_Filter

以下代码说明了如何执行预测/纠正循环:

for (;;) 
   // predict the state estimate one time-step ahead
   // optionally provide some control input
   filter.predict();

   // obtain measurement vector z
   RealVector z = getMeasurement();

   // correct the state estimate with the latest measurement
   filter.correct(z);

   double[] stateEstimate = filter.getStateEstimation();
   // do something with it

【讨论】:

以上是关于在位置估计中使用卡尔曼滤波器的主要内容,如果未能解决你的问题,请参考以下文章

扩展卡尔曼滤波(EKF)实现三维位置估计

卡尔曼滤波器实现 - 可能有啥问题

翻译: 构建基于卡尔曼滤波器的 IMU 用速度数据改进 IMU 姿态估计

翻译: 构建基于卡尔曼滤波器的 IMU 用速度数据改进 IMU 姿态估计

卡尔曼滤波器matlab的输入位置/速度

高度预估基于matlab卡尔曼滤波和粒子滤波无人机离地高度估计含Matlab源码 2255期