我正在为我正在做的一个小型虚拟现实POC进行室外定位。我想用GPS和IMU传感器来控制游戏角色的移动(而不是用IMU完成的旋转)。
我需要融合GPS和ACC传感器,以获得尽可能少的延迟和错误。周围有这样的核聚变吗?还是我必须从头开始发明?
该代码将用于此开放源码项目https://github.com/AndersMalmgren/FreePIE
编辑:本文建议使用Kalman http://www.codeproject.com/Articles/326657/KalmanDemo,但是这里的人认为加速度计的误差太大了,不能工作。
发布于 2013-03-04 11:35:47
你当然不需要从头开始“发明”它-- GPS/INS融合是一个很好地被文字所涵盖的话题。只有两本著名的书:
正如其他人所指出的(例如Android系统的卡尔曼滤波),在Java / for中也有卡尔曼滤波器的实现。
在您的具体情况下,卡尔曼滤波的问题是需要满足实现Kalman滤波器*的几个要求。理论上,您需要确保噪声(未建模的测量误差)是白色,并且在任何时候都是不相关的。问题是,您没有从内部接收器获得原始的GPS测量值(这可以近似地认为是白色的),而是一个已经过滤的解决方案(这肯定显示出时间相关性)。
另一个问题是,在卡尔曼滤波器中,你需要做一些调整,也就是说,你需要设置像测量噪声这样的参数。这些参数取决于所使用的传感器的质量,因此它们在不同的设备之间有所不同。这可能会降低您对某些设备的估计质量。
尽管如此,可能有几种解决办法:
*从理论的角度看,你总是可以忽略理论,只需尝试。有时它仍然有效:)
发布于 2016-05-20 14:28:15
我知道这有点晚了,但是我有一个开源项目,它使用卡尔曼滤波和Java的Rauch桐-Striebel平滑(向后kalman)。如果您的过程模型和/或度量模型是非线性的,也支持扩展和无味滤波和平滑。
https://github.com/karnstrand/Kalman4J
莱卡直到安德斯!:-)
https://stackoverflow.com/questions/15006684
复制相似问题