我正在用android开发一个室内位置跟踪应用程序。
我已经成功地实现了一个计步器,它可以计算步数,并将步数转换为上次wifi/gps定位的变化,以便更准确地跟踪用户在建筑物内的位置。
计步器工作起来很有魅力,我得到了很高的准确度,但是,
当获得一个新的wifi修复程序时,路径将变得不稳定和不稳定。
我在网上搜索了很多论文和案例,发现我需要某种过滤器来平滑结果。
我已经缩小了范围,我需要使用粒子滤波器或西格玛点卡尔曼滤波器(或扩展卡尔曼滤波器)
我读过很多关于这些过滤器的文章,我在udacity.com上看过这门课程,但还是没能拿到。
简而言之,我的计步器输出是基于手机标题的新纬度和经度,wifi位置管理器输出也是纬度和经度。
有人能给我提供一个简短的解释,我应该做什么,以使新的wifi修复到我目前的计步器路径平滑?

最佳答案

要使用卡尔曼滤波器(线性或扩展),您需要:
定义状态空间:假设这是
人(经验法则:只有在实际测量时才包括加速度)。
你可以在纬度/经度坐标系下做,而不用担心
非线性,因为人们不会走那么远。
定义您的测量空间:即您的传感器告诉您的信息以及它们之间的关系
到州空间。
定义植物噪声模型:确定真实世界的运动特性
你的目标;通常这只是一个协方差矩阵,从统计学上描述
目标的运动可以在两次观测之间改变。
定义测量噪声模型:估计传感器报告的数据中的误差;
同样,这是一个统计模型,通常用测量误差的协方差来表示。
我的猜测是你的问题来自(4):你没有适当地建模你的基于计步器的子系统和基于gps固定的子系统的测量误差。
对于你的问题,尝试一个基本的线性kalman滤波器也是值得的;所涉及的数学不那么复杂,而且或多或少可以用作黑盒(一旦你定义了上面的模型);扩展的方法(sigma点kf或粒子滤波)通常需要更多的问题域特定的调整。

关于android - 位置跟踪-带计步器和WIFI的Sigma Point Kalman滤波器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15092644/

10-11 21:00