10

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

我已经研究过卡尔曼滤波器和扩展卡尔曼滤波器,但到目前为止我还没有找到我能够使用或适应的解决方案。我认为卡尔曼滤波器可能是我需要去的方向。

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

所以我的问题是:虽然我现在使用未经过滤的原始 gps 数据来获取位置,但我需要如何过滤它(卡尔曼?扩展卡尔曼?)以及我需要使用哪些传感器(gps 位置?gps 速度?加速度计?) 以获得最准确的位置行人户外位置。

更新:我需要更新我的问题,因为不可能做我最初的问题,在平板电脑/手机 gps 上获得低于 1 米的精度。我现在的问题是:我如何应用过滤,以便后续的 gps 位置测量保持在可管理的距离内。例如,当我用我的设备向北 10m 时,我的 gps 也测量到我从初始位置向北 +/-1m (10%),而不是 gps 测量的跳跃/移动。

4

2 回答 2

8

确实,这是一项非常艰巨的任务,人们在这个主题上写他们的博士论文。我发现这些很有用:

另请参阅Android 加速度计精度(惯性导航)

于 2012-11-27T13:55:06.177 回答
3

在实际应用中,GPS 系统无法为您提供比 5 - 10 米更好的精度/准确度,尤其是在您使用智能手机或平板电脑作为接收器时。查看有关 GPS 的 Wikipedia 页面以获取详细说明:

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 天线作为辅助参考点。这种方法已经被谷歌地图和其他服务,以及安卓、苹果和 Windows 8 智能手机和平板电脑使用。您只需在代码中的可用位置提供程序中选择它。

即使您应用了大量的数据处理/过滤,基于 Wi-Fi/Cell 的系统也很少能为您提供比几米更好的精度(“房间级精度”)。

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

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

或者,您可以购买商业、即用型地磁系统,例如 Indoor Atlas。地磁系统可以非常精确。室内地图集声称精度为几厘米。

如果您正在寻找基于 wi-fi/cell-antennas 的系统来替代 Google Maps,您可以查看 Combain:

http://combain.com/

http://location-api.com/

我对 WiFiSLAM 也有很好的体验:

http://wifislam.com/

于 2012-11-27T14:12:21.053 回答