问题标签 [kalman-filter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6225 浏览

android - 位置传感器融合代码

我正在为我正在做的一点虚拟现实 POC 寻找户外定位。我想用 GPS 和 IMU 传感器控制游戏角色的运动(不是用 IMU 完成的旋转)。

我需要融合 GPS 和 ACC 传感器以尽可能减少延迟和错误。周围有没有这样的融合,还是我必须从头开始发明它?

该代码将用于此开源项目https://github.com/AndersMalmgren/FreePIE

编辑: 这篇文章建议卡尔曼http://www.codeproject.com/Articles/326657/KalmanDemo 但是这里的人建议加速度计的误差太大,它不会工作。

0 投票
1 回答
1068 浏览

android - 位置跟踪 - 带有计步器和 WIFI 的 Sigma Point Kalman 滤波器

我正在使用 android 构建一个室内位置跟踪应用程序。

我已经成功实现了一个计步器,它可以计算步数并将它们转换为上一次 WIFI/GPS 修复的变化,以便更准确地跟踪用户在建筑物内的位置。

计步器就像魅力一样,我得到了非常准确的结果,但是,当获得新的 WIFI 修复时,路径变得不准确和跳跃。

我在网上搜索并阅读了许多论文和案例研究,我发现我需要某种过滤器来平滑结果。

我已经缩小范围,我需要使用粒子滤波器或 Sigma-Point 卡尔曼滤波器(或扩展卡尔曼滤波器)

我已经阅读了很多关于这些过滤器的文章,我已经在 UDACITY.com 上观看了课程,但我仍然无法理解。

简而言之,我的计步器输出是基于手机标题的步骤的新纬度和经度,WIFI位置管理器输出也是纬度和经度。

有人可以简要说明我应该做些什么来使新的 WIFI 修复平滑到我当前的计步器路径吗?

0 投票
1 回答
2864 浏览

android - 卡尔曼滤波器 - 指南针和陀螺仪

我正在尝试用陀螺仪、加速度计和磁力计构建指南针。

我将 acc 值与 magnometer 值融合以获取方向(使用旋转矩阵),它工作得很好。

但是现在我想添加陀螺仪来帮助补偿磁传感器不准确的情况。所以我想使用卡尔曼滤波器来融合这两个结果并得到一个很好的过滤结果(acc 和 mag 已经使用 lpf 过滤了)。

我的矩阵是:

这是我的卡尔曼滤波器实现:

首先给出这个起始值:

然后我观察两个结果(卡尔曼一号和罗盘一号)。卡尔曼一号从 0 开始并以某种速度增加,无论测量的一(罗盘)如何,它都不会停止,只是继续增加......

我不明白我做错了什么?

0 投票
5 回答
5893 浏览

matlab - 扩展卡尔曼滤波器收敛到不正确的值,这只是野兽的本性吗?(图片)

我设计了一个四元数扩展卡尔曼滤波器,用于融合陀螺仪和加速度计数据。估计图的形状似乎很完美,但估计似乎不断收敛到错误的解决方案。这仅仅是因为我没有使用像线性卡尔曼滤波器这样的最佳估计器,还是应该可以使用 EKF 获得无偏估计?到目前为止,我已经使用了两种不同的实现,并且两次都遇到了同样的问题。

这是滤波器输出的图:在此处输入图像描述

  • 绿色:仅从加速度计估计的角度
  • 蓝色:集成陀螺仪输出
  • 红色:线性 KF 输出
  • 青色:EKF输出,注意偏移

这是一次迭代的matlab代码:

0 投票
1 回答
1758 浏览

matlab - 卡尔曼滤波器 MLE 参数估计

我无法估计我想在 Matlab 中构建卡尔曼滤波器的状态空间模型的参数:

Y_t包含大约 20 个时间序列的观察矩阵在哪里,S_t应该是一个标量。我还没有找到任何估计我的B参数矩阵的示例代码,到目前为止我的所有测试都没有成功。

0 投票
1 回答
2058 浏览

c++ - opencv中基于卡尔曼滤波器的鼠标跟踪

我写了一个使用卡尔曼滤波器跟踪鼠标指针的代码。但它给出了一些错误。请帮帮我。

错误:

0 投票
1 回答
2745 浏览

python - OpenCV Kalman滤波器的实际实现与python?

我既不是 OpenCV 也不是 python 方面的专家,但是在对 cv 库的糟糕 c# 实现进行了太多弄乱之后,我决定冒险一试。

到目前为止,我已经按照我想要的方式进行了“blob”(读取轮廓)跟踪 - 我现在的问题是遮挡,正如我(和无数 youtube 视频)所理解的那样,卡尔曼滤波器可以解决这个问题。问题是,python 中的相关示例似乎不存在,示例代码很大程度上没有注释,所以一条红黄线遍布商店如何解决我的问题对我来说是个谜。

我想要实现的是这样的http://www.youtube.com/watch?v=lvmEE_LWPUchttp://www.youtube.com/watch?v=sG-h5ONsj9s

如果有人能指出(或提供)使用从网络摄像头或视频中提取的实际图像的示例,我将不胜感激。

提前致谢。

0 投票
1 回答
2497 浏览

visual-c++ - 如何在 CamShift 中平滑跟踪

我正在使用 OpenCV 库函数进行手头跟踪项目。通过使用Camshift()功能,我可以追踪我的手,但它不稳定,即使我让我的手稳定,追踪时也几乎没有运动。所以我无法在正确的位置执行鼠标点击操作。有人请帮我弄清楚这一点。

在上面的代码中,我通过参数获取被跟踪对象的位置,obectLocation并在被跟踪区域上绘制了矩形。通过获得它的中心,我做了鼠标移动。

在合掌做MouseDown事件时,被跟踪物体的位置发生了变化。

0 投票
3 回答
3696 浏览

filtering - 试图过滤来自加速度计和陀螺仪的(大量)噪声

我的项目:

我正在开发一款带有 3 轴加速度计和陀螺仪的老虎机,试图估计汽车的姿态(x、y、z、偏航、俯仰),但我的振动噪音有一个大问题(当汽车运行时,例如,齿轮会引起振动,而轨道也会变得更糟),因为加速度计的噪声值介于 ±4[g](其中 g = 9.81 [m/s^2])之间。

我知道(因为我观察到了),噪声与我所有的传感器相关

在我的第一次尝试中,我尝试使用卡尔曼滤波器来解决它,但它不起作用,因为我的状态向量的值有一个非常大的噪音。

EDIT2:在我的第二次尝试中,我在卡尔曼滤波器之前尝试了一个低通滤波器,但它只会减慢我的系统速度并且没有过滤噪声的低分量。此时我意识到这种噪声可能由低频和高频分量组成。

我正在学习自适应滤波器(LMS 和 RLS),但我意识到我没有噪声信号,如果我使用一个加速度计信号来过滤其他轴的加速度计,我不会得到绝对值,所以它不起作用.

编辑:我在尝试查找自适应滤波器的示例代码时遇到问题。如果有人知道类似的事情,我将非常感激。

这是我的问题:

有谁知道过滤器或知道如何修复它并正确过滤我的信号?

非常感谢你,

XNor

PD:我为我可能犯的任何错误道歉,英语不是我的母语

0 投票
0 回答
597 浏览

arrays - `KFAS`:如何在 `regSSM` 函数中拟合时变方差

请考虑以下KFAS包装中的示例:

你可以看到out$model$H是一个单一的值,也就是说这个模型在干扰项的方差上不是随时间变化的。

查看所有regSSM类型的参数:

regSSMhelp 说我可以提出H时变的论点:

...

H是观测方程的扰动项epsilon [ t ] 的p * p协方差矩阵(或时变情况下的p * p * n数组)。默认给出p * p零矩阵。

...

你能告诉我如何使用regSSMfitSSM函数拟合一个时变协方差状态空间模型吗?

如果您可以使用上面的相同示例,对我来说最好的。