获取最精确的位置/定位?(GPS/Kalman/Android)

10

我正在为Android开发一个AR应用程序,并需要非常精确的位置(1米以下)。该应用是基于步行者的(户外)并需要实时获取位置。我知道这个问题可能非常困难,但希望其他人已经找到了解决方案。

我已经研究了卡尔曼滤波器和扩展卡尔曼滤波器,但迄今为止我没有找到可以使用或适应的解决方案。我认为卡尔曼滤波器可能是我需要走的方向。

现在我正在使用原始GPS数据来设置我的位置,但这太不准确了,当设备在同一位置静止时,它可以移动或甚至跳动约5-10米。

因此,我的问题是:虽然我现在正在使用未经过滤的原始GPS数据来获取位置,但我需要如何进行过滤(Kalman?扩展Kalman?),以及我需要使用哪些传感器(GPS位置?GPS速度?加速度计?)来获取可能最准确的步行者户外位置。

更新:我需要更新我的问题,因为在平板电脑/手机GPS上无法获得低于1米的精度。现在我的问题是:我该如何应用过滤器,以便随后的GPS位置测量始终保持在可管理的距离内。例如,当我用设备向北走10米时,我的GPS也要测量出我向北走了10米+/-1米(10%)从我的初始位置而不是GPS所测量的跳动/移动。


你真的需要在标题中使用那么多关键词吗?考虑删除一些?这就是标签的作用,而标签是有限制的。 - BuddhiP
谢谢您的评论,我编辑了一些内容。希望现在更好了 :) - Bernd Kampl
2个回答

8

谢谢您已经回答了我的问题,看起来您在这个领域有经验,因为我之前就看过您的一些其他答案 :)我需要的东西需要在户外工作,而不是室内。您认为能否改编这个解决方案:http://www.jayrambhia.com/blog/2012/07/26/kalman-filter/ 并将我的移动(通过GPS得出的速度)作为“过程”,将我的GPS位置作为“测量”来使用? - Bernd Kampl
@BerndKampl 行人跟踪和计步器适用于户外应用。我怀疑随便拿一些卡尔曼滤波器并盲目地插入您的“过程”是行不通的。如果您阅读链接材料,您将看到您想要的可能是可实现的(“应用过滤器,以使后续GPS位置测量保持在可管理的距离内”)。这需要精心调整的计步器算法(特定领域的假设)。再次阅读链接的PDF文件,您就会明白。 - Ali

3

在实际应用中,GPS系统无法提供比5-10米更高的精度/准确性,特别是如果您使用智能手机或平板电脑作为接收器。请查看维基百科关于GPS的页面以获取详细解释:

https://en.wikipedia.org/wiki/Gps

https://en.wikipedia.org/wiki/Error_analysis_for_the_Global_Positioning_System

https://en.wikipedia.org/wiki/GPS_augmentation

使用过滤或其他数学“数据处理”无法提高此准确性。您必须依赖于某些辅助定位系统(即:地理参考数据的辅助来源)。

最广泛使用的辅助定位系统是“网络”系统。它使用蜂窝电话天线和Wi-Fi天线作为辅助参考点。谷歌地图和其他服务以及Android、苹果和Windows 8智能手机和平板电脑已经采用了这种方法。您只需在代码中从可用的位置提供程序中选择它。

Wi-Fi/基站系统很少能给出比几米更好的精度(“房间级别的精度”),即使应用大量的数据处理/过滤。

如果要使用不同的系统,可以评估惯性导航系统或地磁导航系统(如Indoor Atlas:http://www.indooratlas.com/)。

编写惯性导航系统(INS)并不容易。您可以在网络上找到一些描述,但很可能需要自己编写所有代码。 INS通常不能提供比GPS更好的精度。

或者,您可以购买像Indoor Atlas这样的商业化、即用型地磁系统。地磁系统可以非常精确。Indoor Atlas声称其精度可达数厘米。

如果您正在寻找一种基于Wi-Fi/蜂窝天线的系统,作为Google Maps的替代方案,您可以看看Combain:

http://combain.com/

http://location-api.com/

我也有过与WiFiSLAM非常好的经验:

http://wifislam.com/


除非我理解有误,您提供了室内系统的帮助(或者额外的室内系统)。但是我的需求是在户外工作,需要获取GPS信号。无论如何,感谢您的回答。 - Bernd Kampl
1
不,问题不在于GPS信号的缺失,而在于其准确性。即使在户外,即使有最好和最强的GPS信号,你也无法获得所需的精度(至少不能使用普通的民用COTS系统,如智能手机或平板电脑)。这就是为什么Android还依赖于手机天线和Wi-Fi热点。当您在Google Maps上获得小于10米的精度时,很可能是因为您在城市中,您的Android设备依赖于手机/ Wi-Fi天线,而不仅仅是GPS卫星。 - AlexBottoni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接