如何将卡尔曼滤波器与旋转对象一起使用

Posted

技术标签:

【中文标题】如何将卡尔曼滤波器与旋转对象一起使用【英文标题】:How to use Kalman Filter with rotating object 【发布时间】:2021-06-02 10:20:32 【问题描述】:

我正在使用“kalmanjs”库从 GPS 数据中平滑航向,它在 0 到 360 度范围内正常工作,但我不明白如何管理从 360 到 0 的通道。

谁能帮帮我?

【问题讨论】:

【参考方案1】:

该库仅支持线性运动。

最简单的解决方法是:当您看到超过 180 度的增量变化(意味着您从 355 到 2 或从 2 到 350 传递)时,您在过滤器之前的值中添加/减去 360 度以使变化持续。在上面的第一个示例中,您将通过 362 度。

然后您对过滤器输出执行相反的操作。

这样,当您将值标准化回 0 到 360 度时,过滤器将始终处理线性变化。

【讨论】:

以上是关于如何将卡尔曼滤波器与旋转对象一起使用的主要内容,如果未能解决你的问题,请参考以下文章

单个多对象卡尔曼滤波器与多单对象卡尔曼滤波器(复数)

使用 Opencv C++ 中给定对象的 X,Y 进行卡尔曼滤波器跟踪

多目标卡尔曼滤波器:识别问题

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

如何将滚动卡尔曼滤波器应用于 DataFrame 中的列?

Opencv Python卡尔曼滤波器预测结果查询